opentrade лет назад: 4
Родитель
Сommit
25554dd318
5 измененных файлов с 578 добавлено и 30 удалено
  1. 558 27
      Cargo.lock
  2. 1 1
      Cargo.toml
  3. 7 1
      src/hbbr.rs
  4. 6 0
      src/lic.rs
  5. 6 1
      src/main.rs

+ 558 - 27
Cargo.lock

@@ -124,6 +124,12 @@ version = "0.5.6"
124 124
 source = "registry+https://github.com/rust-lang/crates.io-index"
125 125
 checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38"
126 126
 
127
+[[package]]
128
+name = "bytes"
129
+version = "1.0.1"
130
+source = "registry+https://github.com/rust-lang/crates.io-index"
131
+checksum = "b700ce4376041dcd0a327fd0097c41095743c4c8af8887265942faf1100bd040"
132
+
127 133
 [[package]]
128 134
 name = "cc"
129 135
 version = "1.0.65"
@@ -202,7 +208,17 @@ version = "0.7.0"
202 208
 source = "registry+https://github.com/rust-lang/crates.io-index"
203 209
 checksum = "57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171"
204 210
 dependencies = [
205
- "core-foundation-sys",
211
+ "core-foundation-sys 0.7.0",
212
+ "libc",
213
+]
214
+
215
+[[package]]
216
+name = "core-foundation"
217
+version = "0.9.1"
218
+source = "registry+https://github.com/rust-lang/crates.io-index"
219
+checksum = "0a89e2ae426ea83155dccf10c0fa6b1463ef6d5fcb44cee0b224a408fa640a62"
220
+dependencies = [
221
+ "core-foundation-sys 0.8.2",
206 222
  "libc",
207 223
 ]
208 224
 
@@ -212,6 +228,12 @@ version = "0.7.0"
212 228
 source = "registry+https://github.com/rust-lang/crates.io-index"
213 229
 checksum = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac"
214 230
 
231
+[[package]]
232
+name = "core-foundation-sys"
233
+version = "0.8.2"
234
+source = "registry+https://github.com/rust-lang/crates.io-index"
235
+checksum = "ea221b5284a47e40033bf9b66f35f984ec0ea2931eb03505246cd27a963f981b"
236
+
215 237
 [[package]]
216 238
 name = "crossbeam-utils"
217 239
 version = "0.8.1"
@@ -290,7 +312,7 @@ version = "0.2.2"
290 312
 source = "registry+https://github.com/rust-lang/crates.io-index"
291 313
 checksum = "1b391911b9a786312a10cb9d2b3d0735adfd5a8113eb3648de26a75e91b0826c"
292 314
 dependencies = [
293
- "rand",
315
+ "rand 0.7.3",
294 316
 ]
295 317
 
296 318
 [[package]]
@@ -299,6 +321,15 @@ version = "1.6.1"
299 321
 source = "registry+https://github.com/rust-lang/crates.io-index"
300 322
 checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
301 323
 
324
+[[package]]
325
+name = "encoding_rs"
326
+version = "0.8.28"
327
+source = "registry+https://github.com/rust-lang/crates.io-index"
328
+checksum = "80df024fbc5ac80f87dfef0d9f5209a252f2a497f7f42944cff24d8253cac065"
329
+dependencies = [
330
+ "cfg-if 1.0.0",
331
+]
332
+
302 333
 [[package]]
303 334
 name = "env_logger"
304 335
 version = "0.7.1"
@@ -347,7 +378,7 @@ checksum = "0c122a393ea57648015bf06fbd3d372378992e86b9ff5a7a497b076a28c79efe"
347 378
 dependencies = [
348 379
  "cfg-if 1.0.0",
349 380
  "libc",
350
- "redox_syscall",
381
+ "redox_syscall 0.1.57",
351 382
  "winapi 0.3.9",
352 383
 ]
353 384
 
@@ -357,6 +388,31 @@ version = "1.0.7"
357 388
 source = "registry+https://github.com/rust-lang/crates.io-index"
358 389
 checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
359 390
 
391
+[[package]]
392
+name = "foreign-types"
393
+version = "0.3.2"
394
+source = "registry+https://github.com/rust-lang/crates.io-index"
395
+checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
396
+dependencies = [
397
+ "foreign-types-shared",
398
+]
399
+
400
+[[package]]
401
+name = "foreign-types-shared"
402
+version = "0.1.1"
403
+source = "registry+https://github.com/rust-lang/crates.io-index"
404
+checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
405
+
406
+[[package]]
407
+name = "form_urlencoded"
408
+version = "1.0.1"
409
+source = "registry+https://github.com/rust-lang/crates.io-index"
410
+checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191"
411
+dependencies = [
412
+ "matches",
413
+ "percent-encoding",
414
+]
415
+
360 416
 [[package]]
361 417
 name = "fuchsia-zircon"
362 418
 version = "0.3.3"
@@ -476,7 +532,18 @@ checksum = "fc587bc0ec293155d5bfa6b9891ec18a1e330c234f896ea47fbada4cadbe47e6"
476 532
 dependencies = [
477 533
  "cfg-if 0.1.10",
478 534
  "libc",
479
- "wasi",
535
+ "wasi 0.9.0+wasi-snapshot-preview1",
536
+]
537
+
538
+[[package]]
539
+name = "getrandom"
540
+version = "0.2.2"
541
+source = "registry+https://github.com/rust-lang/crates.io-index"
542
+checksum = "c9495705279e7140bf035dde1f6e750c162df8b625267cd52cc44e0b156732c8"
543
+dependencies = [
544
+ "cfg-if 1.0.0",
545
+ "libc",
546
+ "wasi 0.10.2+wasi-snapshot-preview1",
480 547
 ]
481 548
 
482 549
 [[package]]
@@ -485,6 +552,26 @@ version = "0.3.0"
485 552
 source = "registry+https://github.com/rust-lang/crates.io-index"
486 553
 checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
487 554
 
555
+[[package]]
556
+name = "h2"
557
+version = "0.2.7"
558
+source = "registry+https://github.com/rust-lang/crates.io-index"
559
+checksum = "5e4728fd124914ad25e99e3d15a9361a879f6620f63cb56bbb08f95abb97a535"
560
+dependencies = [
561
+ "bytes 0.5.6",
562
+ "fnv",
563
+ "futures-core",
564
+ "futures-sink",
565
+ "futures-util",
566
+ "http",
567
+ "indexmap",
568
+ "slab",
569
+ "tokio",
570
+ "tokio-util",
571
+ "tracing",
572
+ "tracing-futures",
573
+]
574
+
488 575
 [[package]]
489 576
 name = "hashbrown"
490 577
 version = "0.9.1"
@@ -499,7 +586,7 @@ name = "hbb_common"
499 586
 version = "0.1.0"
500 587
 dependencies = [
501 588
  "anyhow",
502
- "bytes",
589
+ "bytes 0.5.6",
503 590
  "confy",
504 591
  "directories-next",
505 592
  "dirs-next",
@@ -513,7 +600,7 @@ dependencies = [
513 600
  "protobuf",
514 601
  "protobuf-codegen-pure",
515 602
  "quinn",
516
- "rand",
603
+ "rand 0.7.3",
517 604
  "regex",
518 605
  "serde",
519 606
  "serde_derive",
@@ -531,10 +618,10 @@ dependencies = [
531 618
 name = "hbbs"
532 619
 version = "1.1.3"
533 620
 dependencies = [
534
- "cc",
535 621
  "clap",
536 622
  "hbb_common",
537 623
  "lazy_static",
624
+ "reqwest",
538 625
  "rocksdb",
539 626
  "rust-ini",
540 627
  "serde",
@@ -551,6 +638,39 @@ dependencies = [
551 638
  "libc",
552 639
 ]
553 640
 
641
+[[package]]
642
+name = "http"
643
+version = "0.2.4"
644
+source = "registry+https://github.com/rust-lang/crates.io-index"
645
+checksum = "527e8c9ac747e28542699a951517aa9a6945af506cd1f2e1b53a576c17b6cc11"
646
+dependencies = [
647
+ "bytes 1.0.1",
648
+ "fnv",
649
+ "itoa",
650
+]
651
+
652
+[[package]]
653
+name = "http-body"
654
+version = "0.3.1"
655
+source = "registry+https://github.com/rust-lang/crates.io-index"
656
+checksum = "13d5ff830006f7646652e057693569bfe0d51760c0085a071769d142a205111b"
657
+dependencies = [
658
+ "bytes 0.5.6",
659
+ "http",
660
+]
661
+
662
+[[package]]
663
+name = "httparse"
664
+version = "1.3.6"
665
+source = "registry+https://github.com/rust-lang/crates.io-index"
666
+checksum = "bc35c995b9d93ec174cf9a27d425c7892722101e14993cd227fdb51d70cf9589"
667
+
668
+[[package]]
669
+name = "httpdate"
670
+version = "0.3.2"
671
+source = "registry+https://github.com/rust-lang/crates.io-index"
672
+checksum = "494b4d60369511e7dea41cf646832512a94e542f68bb9c49e54518e0f468eb47"
673
+
554 674
 [[package]]
555 675
 name = "humantime"
556 676
 version = "1.3.0"
@@ -566,6 +686,64 @@ version = "2.0.1"
566 686
 source = "registry+https://github.com/rust-lang/crates.io-index"
567 687
 checksum = "3c1ad908cc71012b7bea4d0c53ba96a8cba9962f048fa68d143376143d863b7a"
568 688
 
689
+[[package]]
690
+name = "hyper"
691
+version = "0.13.10"
692
+source = "registry+https://github.com/rust-lang/crates.io-index"
693
+checksum = "8a6f157065790a3ed2f88679250419b5cdd96e714a0d65f7797fd337186e96bb"
694
+dependencies = [
695
+ "bytes 0.5.6",
696
+ "futures-channel",
697
+ "futures-core",
698
+ "futures-util",
699
+ "h2",
700
+ "http",
701
+ "http-body",
702
+ "httparse",
703
+ "httpdate",
704
+ "itoa",
705
+ "pin-project",
706
+ "socket2",
707
+ "tokio",
708
+ "tower-service",
709
+ "tracing",
710
+ "want",
711
+]
712
+
713
+[[package]]
714
+name = "hyper-tls"
715
+version = "0.4.3"
716
+source = "registry+https://github.com/rust-lang/crates.io-index"
717
+checksum = "d979acc56dcb5b8dddba3917601745e877576475aa046df3226eabdecef78eed"
718
+dependencies = [
719
+ "bytes 0.5.6",
720
+ "hyper",
721
+ "native-tls",
722
+ "tokio",
723
+ "tokio-tls",
724
+]
725
+
726
+[[package]]
727
+name = "idna"
728
+version = "0.2.2"
729
+source = "registry+https://github.com/rust-lang/crates.io-index"
730
+checksum = "89829a5d69c23d348314a7ac337fe39173b61149a9864deabd260983aed48c21"
731
+dependencies = [
732
+ "matches",
733
+ "unicode-bidi",
734
+ "unicode-normalization",
735
+]
736
+
737
+[[package]]
738
+name = "indexmap"
739
+version = "1.6.2"
740
+source = "registry+https://github.com/rust-lang/crates.io-index"
741
+checksum = "824845a0bf897a9042383849b02c1bc219c2383772efcd5c6f9766fa4b81aef3"
742
+dependencies = [
743
+ "autocfg",
744
+ "hashbrown",
745
+]
746
+
569 747
 [[package]]
570 748
 name = "iovec"
571 749
 version = "0.1.4"
@@ -575,6 +753,12 @@ dependencies = [
575 753
  "libc",
576 754
 ]
577 755
 
756
+[[package]]
757
+name = "ipnet"
758
+version = "2.3.0"
759
+source = "registry+https://github.com/rust-lang/crates.io-index"
760
+checksum = "47be2f14c678be2fdcab04ab1171db51b2762ce6f0a8ee87c8dd4a04ed216135"
761
+
578 762
 [[package]]
579 763
 name = "itertools"
580 764
 version = "0.9.0"
@@ -688,12 +872,34 @@ dependencies = [
688 872
  "winapi 0.3.9",
689 873
 ]
690 874
 
875
+[[package]]
876
+name = "matches"
877
+version = "0.1.8"
878
+source = "registry+https://github.com/rust-lang/crates.io-index"
879
+checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
880
+
691 881
 [[package]]
692 882
 name = "memchr"
693 883
 version = "2.3.4"
694 884
 source = "registry+https://github.com/rust-lang/crates.io-index"
695 885
 checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525"
696 886
 
887
+[[package]]
888
+name = "mime"
889
+version = "0.3.16"
890
+source = "registry+https://github.com/rust-lang/crates.io-index"
891
+checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d"
892
+
893
+[[package]]
894
+name = "mime_guess"
895
+version = "2.0.3"
896
+source = "registry+https://github.com/rust-lang/crates.io-index"
897
+checksum = "2684d4c2e97d99848d30b324b00c8fcc7e5c897b7cbb5819b09e7c90e8baf212"
898
+dependencies = [
899
+ "mime",
900
+ "unicase",
901
+]
902
+
697 903
 [[package]]
698 904
 name = "mio"
699 905
 version = "0.6.22"
@@ -758,6 +964,24 @@ dependencies = [
758 964
  "winapi 0.3.9",
759 965
 ]
760 966
 
967
+[[package]]
968
+name = "native-tls"
969
+version = "0.2.7"
970
+source = "registry+https://github.com/rust-lang/crates.io-index"
971
+checksum = "b8d96b2e1c8da3957d58100b09f102c6d9cfdfced01b7ec5a8974044bb09dbd4"
972
+dependencies = [
973
+ "lazy_static",
974
+ "libc",
975
+ "log",
976
+ "openssl",
977
+ "openssl-probe",
978
+ "openssl-sys",
979
+ "schannel",
980
+ "security-framework 2.2.0",
981
+ "security-framework-sys 2.2.0",
982
+ "tempfile",
983
+]
984
+
761 985
 [[package]]
762 986
 name = "net2"
763 987
 version = "0.2.36"
@@ -807,12 +1031,39 @@ version = "1.5.2"
807 1031
 source = "registry+https://github.com/rust-lang/crates.io-index"
808 1032
 checksum = "13bd41f508810a131401606d54ac32a467c97172d74ba7662562ebba5ad07fa0"
809 1033
 
1034
+[[package]]
1035
+name = "openssl"
1036
+version = "0.10.33"
1037
+source = "registry+https://github.com/rust-lang/crates.io-index"
1038
+checksum = "a61075b62a23fef5a29815de7536d940aa35ce96d18ce0cc5076272db678a577"
1039
+dependencies = [
1040
+ "bitflags",
1041
+ "cfg-if 1.0.0",
1042
+ "foreign-types",
1043
+ "libc",
1044
+ "once_cell",
1045
+ "openssl-sys",
1046
+]
1047
+
810 1048
 [[package]]
811 1049
 name = "openssl-probe"
812 1050
 version = "0.1.2"
813 1051
 source = "registry+https://github.com/rust-lang/crates.io-index"
814 1052
 checksum = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de"
815 1053
 
1054
+[[package]]
1055
+name = "openssl-sys"
1056
+version = "0.9.61"
1057
+source = "registry+https://github.com/rust-lang/crates.io-index"
1058
+checksum = "313752393519e876837e09e1fa183ddef0be7735868dced3196f4472d536277f"
1059
+dependencies = [
1060
+ "autocfg",
1061
+ "cc",
1062
+ "libc",
1063
+ "pkg-config",
1064
+ "vcpkg",
1065
+]
1066
+
816 1067
 [[package]]
817 1068
 name = "ordered-multimap"
818 1069
 version = "0.3.1"
@@ -829,6 +1080,12 @@ version = "0.1.2"
829 1080
 source = "registry+https://github.com/rust-lang/crates.io-index"
830 1081
 checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
831 1082
 
1083
+[[package]]
1084
+name = "percent-encoding"
1085
+version = "2.1.0"
1086
+source = "registry+https://github.com/rust-lang/crates.io-index"
1087
+checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
1088
+
832 1089
 [[package]]
833 1090
 name = "pin-project"
834 1091
 version = "1.0.2"
@@ -958,7 +1215,7 @@ version = "0.6.1"
958 1215
 source = "registry+https://github.com/rust-lang/crates.io-index"
959 1216
 checksum = "88de58d76d8f82fb28e5c89302119c102bb5b9ce57b034186b559b63ba147a0f"
960 1217
 dependencies = [
961
- "bytes",
1218
+ "bytes 0.5.6",
962 1219
  "err-derive",
963 1220
  "futures",
964 1221
  "libc",
@@ -976,10 +1233,10 @@ version = "0.6.1"
976 1233
 source = "registry+https://github.com/rust-lang/crates.io-index"
977 1234
 checksum = "f0ea0a358c179c6b7af34805c675d1664a9c6a234a7acd7efdbb32d2f39d3d2a"
978 1235
 dependencies = [
979
- "bytes",
1236
+ "bytes 0.5.6",
980 1237
  "ct-logs",
981 1238
  "err-derive",
982
- "rand",
1239
+ "rand 0.7.3",
983 1240
  "ring",
984 1241
  "rustls",
985 1242
  "rustls-native-certs",
@@ -1003,11 +1260,23 @@ version = "0.7.3"
1003 1260
 source = "registry+https://github.com/rust-lang/crates.io-index"
1004 1261
 checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
1005 1262
 dependencies = [
1006
- "getrandom",
1263
+ "getrandom 0.1.15",
1264
+ "libc",
1265
+ "rand_chacha 0.2.2",
1266
+ "rand_core 0.5.1",
1267
+ "rand_hc 0.2.0",
1268
+]
1269
+
1270
+[[package]]
1271
+name = "rand"
1272
+version = "0.8.3"
1273
+source = "registry+https://github.com/rust-lang/crates.io-index"
1274
+checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e"
1275
+dependencies = [
1007 1276
  "libc",
1008
- "rand_chacha",
1009
- "rand_core",
1010
- "rand_hc",
1277
+ "rand_chacha 0.3.0",
1278
+ "rand_core 0.6.2",
1279
+ "rand_hc 0.3.0",
1011 1280
 ]
1012 1281
 
1013 1282
 [[package]]
@@ -1017,7 +1286,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1017 1286
 checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
1018 1287
 dependencies = [
1019 1288
  "ppv-lite86",
1020
- "rand_core",
1289
+ "rand_core 0.5.1",
1290
+]
1291
+
1292
+[[package]]
1293
+name = "rand_chacha"
1294
+version = "0.3.0"
1295
+source = "registry+https://github.com/rust-lang/crates.io-index"
1296
+checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d"
1297
+dependencies = [
1298
+ "ppv-lite86",
1299
+ "rand_core 0.6.2",
1021 1300
 ]
1022 1301
 
1023 1302
 [[package]]
@@ -1026,7 +1305,16 @@ version = "0.5.1"
1026 1305
 source = "registry+https://github.com/rust-lang/crates.io-index"
1027 1306
 checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
1028 1307
 dependencies = [
1029
- "getrandom",
1308
+ "getrandom 0.1.15",
1309
+]
1310
+
1311
+[[package]]
1312
+name = "rand_core"
1313
+version = "0.6.2"
1314
+source = "registry+https://github.com/rust-lang/crates.io-index"
1315
+checksum = "34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7"
1316
+dependencies = [
1317
+ "getrandom 0.2.2",
1030 1318
 ]
1031 1319
 
1032 1320
 [[package]]
@@ -1035,7 +1323,16 @@ version = "0.2.0"
1035 1323
 source = "registry+https://github.com/rust-lang/crates.io-index"
1036 1324
 checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
1037 1325
 dependencies = [
1038
- "rand_core",
1326
+ "rand_core 0.5.1",
1327
+]
1328
+
1329
+[[package]]
1330
+name = "rand_hc"
1331
+version = "0.3.0"
1332
+source = "registry+https://github.com/rust-lang/crates.io-index"
1333
+checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73"
1334
+dependencies = [
1335
+ "rand_core 0.6.2",
1039 1336
 ]
1040 1337
 
1041 1338
 [[package]]
@@ -1044,14 +1341,23 @@ version = "0.1.57"
1044 1341
 source = "registry+https://github.com/rust-lang/crates.io-index"
1045 1342
 checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"
1046 1343
 
1344
+[[package]]
1345
+name = "redox_syscall"
1346
+version = "0.2.5"
1347
+source = "registry+https://github.com/rust-lang/crates.io-index"
1348
+checksum = "94341e4e44e24f6b591b59e47a8a027df12e008d73fd5672dbea9cc22f4507d9"
1349
+dependencies = [
1350
+ "bitflags",
1351
+]
1352
+
1047 1353
 [[package]]
1048 1354
 name = "redox_users"
1049 1355
 version = "0.3.5"
1050 1356
 source = "registry+https://github.com/rust-lang/crates.io-index"
1051 1357
 checksum = "de0737333e7a9502c789a36d7c7fa6092a49895d4faa31ca5df163857ded2e9d"
1052 1358
 dependencies = [
1053
- "getrandom",
1054
- "redox_syscall",
1359
+ "getrandom 0.1.15",
1360
+ "redox_syscall 0.1.57",
1055 1361
  "rust-argon2",
1056 1362
 ]
1057 1363
 
@@ -1073,6 +1379,50 @@ version = "0.6.21"
1073 1379
 source = "registry+https://github.com/rust-lang/crates.io-index"
1074 1380
 checksum = "3b181ba2dcf07aaccad5448e8ead58db5b742cf85dfe035e2227f137a539a189"
1075 1381
 
1382
+[[package]]
1383
+name = "remove_dir_all"
1384
+version = "0.5.3"
1385
+source = "registry+https://github.com/rust-lang/crates.io-index"
1386
+checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
1387
+dependencies = [
1388
+ "winapi 0.3.9",
1389
+]
1390
+
1391
+[[package]]
1392
+name = "reqwest"
1393
+version = "0.10.10"
1394
+source = "registry+https://github.com/rust-lang/crates.io-index"
1395
+checksum = "0718f81a8e14c4dbb3b34cf23dc6aaf9ab8a0dfec160c534b3dbca1aaa21f47c"
1396
+dependencies = [
1397
+ "base64 0.13.0",
1398
+ "bytes 0.5.6",
1399
+ "encoding_rs",
1400
+ "futures-core",
1401
+ "futures-util",
1402
+ "http",
1403
+ "http-body",
1404
+ "hyper",
1405
+ "hyper-tls",
1406
+ "ipnet",
1407
+ "js-sys",
1408
+ "lazy_static",
1409
+ "log",
1410
+ "mime",
1411
+ "mime_guess",
1412
+ "native-tls",
1413
+ "percent-encoding",
1414
+ "pin-project-lite 0.2.0",
1415
+ "serde",
1416
+ "serde_urlencoded",
1417
+ "tokio",
1418
+ "tokio-tls",
1419
+ "url",
1420
+ "wasm-bindgen",
1421
+ "wasm-bindgen-futures",
1422
+ "web-sys",
1423
+ "winreg",
1424
+]
1425
+
1076 1426
 [[package]]
1077 1427
 name = "ring"
1078 1428
 version = "0.16.18"
@@ -1148,7 +1498,7 @@ dependencies = [
1148 1498
  "openssl-probe",
1149 1499
  "rustls",
1150 1500
  "schannel",
1151
- "security-framework",
1501
+ "security-framework 0.4.4",
1152 1502
 ]
1153 1503
 
1154 1504
 [[package]]
@@ -1190,10 +1540,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1190 1540
 checksum = "64808902d7d99f78eaddd2b4e2509713babc3dc3c85ad6f4c447680f3c01e535"
1191 1541
 dependencies = [
1192 1542
  "bitflags",
1193
- "core-foundation",
1194
- "core-foundation-sys",
1543
+ "core-foundation 0.7.0",
1544
+ "core-foundation-sys 0.7.0",
1195 1545
  "libc",
1196
- "security-framework-sys",
1546
+ "security-framework-sys 0.4.3",
1547
+]
1548
+
1549
+[[package]]
1550
+name = "security-framework"
1551
+version = "2.2.0"
1552
+source = "registry+https://github.com/rust-lang/crates.io-index"
1553
+checksum = "3670b1d2fdf6084d192bc71ead7aabe6c06aa2ea3fbd9cc3ac111fa5c2b1bd84"
1554
+dependencies = [
1555
+ "bitflags",
1556
+ "core-foundation 0.9.1",
1557
+ "core-foundation-sys 0.8.2",
1558
+ "libc",
1559
+ "security-framework-sys 2.2.0",
1197 1560
 ]
1198 1561
 
1199 1562
 [[package]]
@@ -1202,7 +1565,17 @@ version = "0.4.3"
1202 1565
 source = "registry+https://github.com/rust-lang/crates.io-index"
1203 1566
 checksum = "17bf11d99252f512695eb468de5516e5cf75455521e69dfe343f3b74e4748405"
1204 1567
 dependencies = [
1205
- "core-foundation-sys",
1568
+ "core-foundation-sys 0.7.0",
1569
+ "libc",
1570
+]
1571
+
1572
+[[package]]
1573
+name = "security-framework-sys"
1574
+version = "2.2.0"
1575
+source = "registry+https://github.com/rust-lang/crates.io-index"
1576
+checksum = "3676258fd3cfe2c9a0ec99ce3038798d847ce3e4bb17746373eb9f0f1ac16339"
1577
+dependencies = [
1578
+ "core-foundation-sys 0.8.2",
1206 1579
  "libc",
1207 1580
 ]
1208 1581
 
@@ -1234,6 +1607,18 @@ dependencies = [
1234 1607
  "serde",
1235 1608
 ]
1236 1609
 
1610
+[[package]]
1611
+name = "serde_urlencoded"
1612
+version = "0.7.0"
1613
+source = "registry+https://github.com/rust-lang/crates.io-index"
1614
+checksum = "edfa57a7f8d9c1d260a549e7224100f6c43d43f9103e06dd8b4095a9b2b43ce9"
1615
+dependencies = [
1616
+ "form_urlencoded",
1617
+ "itoa",
1618
+ "ryu",
1619
+ "serde",
1620
+]
1621
+
1237 1622
 [[package]]
1238 1623
 name = "shlex"
1239 1624
 version = "0.1.1"
@@ -1263,7 +1648,7 @@ checksum = "2c29947abdee2a218277abeca306f25789c938e500ea5a9d4b12a5a504466902"
1263 1648
 dependencies = [
1264 1649
  "cfg-if 1.0.0",
1265 1650
  "libc",
1266
- "redox_syscall",
1651
+ "redox_syscall 0.1.57",
1267 1652
  "winapi 0.3.9",
1268 1653
 ]
1269 1654
 
@@ -1313,6 +1698,20 @@ dependencies = [
1313 1698
  "unicode-xid",
1314 1699
 ]
1315 1700
 
1701
+[[package]]
1702
+name = "tempfile"
1703
+version = "3.2.0"
1704
+source = "registry+https://github.com/rust-lang/crates.io-index"
1705
+checksum = "dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22"
1706
+dependencies = [
1707
+ "cfg-if 1.0.0",
1708
+ "libc",
1709
+ "rand 0.8.3",
1710
+ "redox_syscall 0.2.5",
1711
+ "remove_dir_all",
1712
+ "winapi 0.3.9",
1713
+]
1714
+
1316 1715
 [[package]]
1317 1716
 name = "termcolor"
1318 1717
 version = "1.1.2"
@@ -1340,13 +1739,28 @@ dependencies = [
1340 1739
  "lazy_static",
1341 1740
 ]
1342 1741
 
1742
+[[package]]
1743
+name = "tinyvec"
1744
+version = "1.2.0"
1745
+source = "registry+https://github.com/rust-lang/crates.io-index"
1746
+checksum = "5b5220f05bb7de7f3f53c7c065e1199b3172696fe2db9f9c4d8ad9b4ee74c342"
1747
+dependencies = [
1748
+ "tinyvec_macros",
1749
+]
1750
+
1751
+[[package]]
1752
+name = "tinyvec_macros"
1753
+version = "0.1.0"
1754
+source = "registry+https://github.com/rust-lang/crates.io-index"
1755
+checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
1756
+
1343 1757
 [[package]]
1344 1758
 name = "tokio"
1345 1759
 version = "0.2.23"
1346 1760
 source = "registry+https://github.com/rust-lang/crates.io-index"
1347 1761
 checksum = "a6d7ad61edd59bfcc7e80dababf0f4aed2e6d5e0ba1659356ae889752dfc12ff"
1348 1762
 dependencies = [
1349
- "bytes",
1763
+ "bytes 0.5.6",
1350 1764
  "fnv",
1351 1765
  "futures-core",
1352 1766
  "iovec",
@@ -1375,13 +1789,23 @@ dependencies = [
1375 1789
  "syn",
1376 1790
 ]
1377 1791
 
1792
+[[package]]
1793
+name = "tokio-tls"
1794
+version = "0.3.1"
1795
+source = "registry+https://github.com/rust-lang/crates.io-index"
1796
+checksum = "9a70f4fcd7b3b24fb194f837560168208f669ca8cb70d0c4b862944452396343"
1797
+dependencies = [
1798
+ "native-tls",
1799
+ "tokio",
1800
+]
1801
+
1378 1802
 [[package]]
1379 1803
 name = "tokio-util"
1380 1804
 version = "0.3.1"
1381 1805
 source = "registry+https://github.com/rust-lang/crates.io-index"
1382 1806
 checksum = "be8242891f2b6cbef26a2d7e8605133c2c554cd35b3e4948ea892d6d68436499"
1383 1807
 dependencies = [
1384
- "bytes",
1808
+ "bytes 0.5.6",
1385 1809
  "futures-core",
1386 1810
  "futures-io",
1387 1811
  "futures-sink",
@@ -1399,6 +1823,12 @@ dependencies = [
1399 1823
  "serde",
1400 1824
 ]
1401 1825
 
1826
+[[package]]
1827
+name = "tower-service"
1828
+version = "0.3.1"
1829
+source = "registry+https://github.com/rust-lang/crates.io-index"
1830
+checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6"
1831
+
1402 1832
 [[package]]
1403 1833
 name = "tracing"
1404 1834
 version = "0.1.22"
@@ -1406,6 +1836,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1406 1836
 checksum = "9f47026cdc4080c07e49b37087de021820269d996f581aac150ef9e5583eefe3"
1407 1837
 dependencies = [
1408 1838
  "cfg-if 1.0.0",
1839
+ "log",
1409 1840
  "pin-project-lite 0.2.0",
1410 1841
  "tracing-attributes",
1411 1842
  "tracing-core",
@@ -1431,6 +1862,49 @@ dependencies = [
1431 1862
  "lazy_static",
1432 1863
 ]
1433 1864
 
1865
+[[package]]
1866
+name = "tracing-futures"
1867
+version = "0.2.5"
1868
+source = "registry+https://github.com/rust-lang/crates.io-index"
1869
+checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2"
1870
+dependencies = [
1871
+ "pin-project",
1872
+ "tracing",
1873
+]
1874
+
1875
+[[package]]
1876
+name = "try-lock"
1877
+version = "0.2.3"
1878
+source = "registry+https://github.com/rust-lang/crates.io-index"
1879
+checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642"
1880
+
1881
+[[package]]
1882
+name = "unicase"
1883
+version = "2.6.0"
1884
+source = "registry+https://github.com/rust-lang/crates.io-index"
1885
+checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6"
1886
+dependencies = [
1887
+ "version_check",
1888
+]
1889
+
1890
+[[package]]
1891
+name = "unicode-bidi"
1892
+version = "0.3.5"
1893
+source = "registry+https://github.com/rust-lang/crates.io-index"
1894
+checksum = "eeb8be209bb1c96b7c177c7420d26e04eccacb0eeae6b980e35fcb74678107e0"
1895
+dependencies = [
1896
+ "matches",
1897
+]
1898
+
1899
+[[package]]
1900
+name = "unicode-normalization"
1901
+version = "0.1.17"
1902
+source = "registry+https://github.com/rust-lang/crates.io-index"
1903
+checksum = "07fbfce1c8a97d547e8b5334978438d9d6ec8c20e38f56d4a4374d181493eaef"
1904
+dependencies = [
1905
+ "tinyvec",
1906
+]
1907
+
1434 1908
 [[package]]
1435 1909
 name = "unicode-width"
1436 1910
 version = "0.1.8"
@@ -1449,6 +1923,24 @@ version = "0.7.1"
1449 1923
 source = "registry+https://github.com/rust-lang/crates.io-index"
1450 1924
 checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
1451 1925
 
1926
+[[package]]
1927
+name = "url"
1928
+version = "2.2.1"
1929
+source = "registry+https://github.com/rust-lang/crates.io-index"
1930
+checksum = "9ccd964113622c8e9322cfac19eb1004a07e636c545f325da085d5cdde6f1f8b"
1931
+dependencies = [
1932
+ "form_urlencoded",
1933
+ "idna",
1934
+ "matches",
1935
+ "percent-encoding",
1936
+]
1937
+
1938
+[[package]]
1939
+name = "vcpkg"
1940
+version = "0.2.11"
1941
+source = "registry+https://github.com/rust-lang/crates.io-index"
1942
+checksum = "b00bca6106a5e23f3eee943593759b7fcddb00554332e856d990c893966879fb"
1943
+
1452 1944
 [[package]]
1453 1945
 name = "vec_map"
1454 1946
 version = "0.8.2"
@@ -1461,12 +1953,28 @@ version = "0.9.2"
1461 1953
 source = "registry+https://github.com/rust-lang/crates.io-index"
1462 1954
 checksum = "b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed"
1463 1955
 
1956
+[[package]]
1957
+name = "want"
1958
+version = "0.3.0"
1959
+source = "registry+https://github.com/rust-lang/crates.io-index"
1960
+checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0"
1961
+dependencies = [
1962
+ "log",
1963
+ "try-lock",
1964
+]
1965
+
1464 1966
 [[package]]
1465 1967
 name = "wasi"
1466 1968
 version = "0.9.0+wasi-snapshot-preview1"
1467 1969
 source = "registry+https://github.com/rust-lang/crates.io-index"
1468 1970
 checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
1469 1971
 
1972
+[[package]]
1973
+name = "wasi"
1974
+version = "0.10.2+wasi-snapshot-preview1"
1975
+source = "registry+https://github.com/rust-lang/crates.io-index"
1976
+checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
1977
+
1470 1978
 [[package]]
1471 1979
 name = "wasm-bindgen"
1472 1980
 version = "0.2.68"
@@ -1474,6 +1982,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1474 1982
 checksum = "1ac64ead5ea5f05873d7c12b545865ca2b8d28adfc50a49b84770a3a97265d42"
1475 1983
 dependencies = [
1476 1984
  "cfg-if 0.1.10",
1985
+ "serde",
1986
+ "serde_json",
1477 1987
  "wasm-bindgen-macro",
1478 1988
 ]
1479 1989
 
@@ -1492,6 +2002,18 @@ dependencies = [
1492 2002
  "wasm-bindgen-shared",
1493 2003
 ]
1494 2004
 
2005
+[[package]]
2006
+name = "wasm-bindgen-futures"
2007
+version = "0.4.18"
2008
+source = "registry+https://github.com/rust-lang/crates.io-index"
2009
+checksum = "b7866cab0aa01de1edf8b5d7936938a7e397ee50ce24119aef3e1eaa3b6171da"
2010
+dependencies = [
2011
+ "cfg-if 0.1.10",
2012
+ "js-sys",
2013
+ "wasm-bindgen",
2014
+ "web-sys",
2015
+]
2016
+
1495 2017
 [[package]]
1496 2018
 name = "wasm-bindgen-macro"
1497 2019
 version = "0.2.68"
@@ -1593,6 +2115,15 @@ version = "0.4.0"
1593 2115
 source = "registry+https://github.com/rust-lang/crates.io-index"
1594 2116
 checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
1595 2117
 
2118
+[[package]]
2119
+name = "winreg"
2120
+version = "0.7.0"
2121
+source = "registry+https://github.com/rust-lang/crates.io-index"
2122
+checksum = "0120db82e8a1e0b9fb3345a539c478767c0048d842860994d96113d5b667bd69"
2123
+dependencies = [
2124
+ "winapi 0.3.9",
2125
+]
2126
+
1596 2127
 [[package]]
1597 2128
 name = "ws2_32-sys"
1598 2129
 version = "0.2.1"

+ 1 - 1
Cargo.toml

@@ -19,9 +19,9 @@ serde_json = "1.0"
19 19
 lazy_static = "1.4"
20 20
 clap = "2.33"
21 21
 rust-ini = "0.16"
22
+reqwest = "0.10"
22 23
 
23 24
 [build-dependencies]
24
-cc = "1.0"
25 25
 hbb_common = { path = "libs/hbb_common" }
26 26
 
27 27
 [workspace]

+ 7 - 1
src/hbbr.rs

@@ -3,14 +3,17 @@ mod relay_server;
3 3
 use hbb_common::{env_logger::*, ResultType};
4 4
 use relay_server::*;
5 5
 use std::sync::{Arc, Mutex};
6
+mod lic;
6 7
 
7 8
 fn main() -> ResultType<()> {
8 9
     init_from_env(Env::default().filter_or(DEFAULT_FILTER_ENV, "info"));
9 10
     let args = format!(
10 11
         "-p, --port=[NUMBER(default={})] 'Sets the listening port'
11 12
         -k, --key=[KEY] 'Only allow the client with the same key'
13
+        {}
12 14
         ",
13
-        DEFAULT_PORT
15
+        DEFAULT_PORT,
16
+        lic::EMAIL_ARG
14 17
     );
15 18
     let matches = App::new("hbbr")
16 19
         .version(hbbs::VERSION)
@@ -18,6 +21,9 @@ fn main() -> ResultType<()> {
18 21
         .about("RustDesk Relay Server")
19 22
         .args_from_usage(&args)
20 23
         .get_matches();
24
+    if !lic::check_lic(matches.value_of("email").unwrap_or("")) {
25
+        return Ok(());
26
+    }
21 27
     let stop: Arc<Mutex<bool>> = Default::default();
22 28
     start(
23 29
         matches.value_of("port").unwrap_or(DEFAULT_PORT),

+ 6 - 0
src/lic.rs

@@ -0,0 +1,6 @@
1
+pub fn check_lic(email: &str) -> bool {
2
+    true
3
+}
4
+
5
+pub const EMAIL_ARG: &'static str =
6
+    "-m, --email=[EMAIL] 'Sets your email address registered with RustDesk'";

+ 6 - 1
src/main.rs

@@ -4,6 +4,7 @@
4 4
 use clap::App;
5 5
 use hbb_common::{env_logger::*, log, ResultType};
6 6
 use hbbs::*;
7
+mod lic;
7 8
 use ini::Ini;
8 9
 use std::sync::{Arc, Mutex};
9 10
 
@@ -17,8 +18,9 @@ fn main() -> ResultType<()> {
17 18
         -u, --software-url=[URL] 'Sets download url of RustDesk software of newest version'
18 19
         -r, --relay-servers=[HOST] 'Sets the default relay servers, seperated by colon'
19 20
         -C, --change-id=[BOOL(default=Y)] 'Sets if support to change id'
21
+        {}
20 22
         -k, --key=[KEY] 'Only allow the client with the same key'",
21
-        DEFAULT_PORT,
23
+        DEFAULT_PORT, lic::EMAIL_ARG
22 24
     );
23 25
     let matches = App::new("hbbs")
24 26
         .version(crate::VERSION)
@@ -62,6 +64,9 @@ fn main() -> ResultType<()> {
62 64
     log::info!("serial={}", serial);
63 65
     log::info!("rendezvous-servers={:?}", rendezvous_servers);
64 66
     let stop: Arc<Mutex<bool>> = Default::default();
67
+    if !lic::check_lic(&get_arg("email", "")) {
68
+        return Ok(());
69
+    }
65 70
     RendezvousServer::start(
66 71
         &addr,
67 72
         &addr2,