+786
-104
Cargo.lock
+786
-104
Cargo.lock
···
1
1
# This file is automatically @generated by Cargo.
2
2
# It is not intended for manual editing.
3
-
version = 3
3
+
version = 4
4
4
5
5
[[package]]
6
6
name = "aead"
···
97
97
]
98
98
99
99
[[package]]
100
+
name = "android-tzdata"
101
+
version = "0.1.1"
102
+
source = "registry+https://github.com/rust-lang/crates.io-index"
103
+
checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
104
+
105
+
[[package]]
106
+
name = "android_system_properties"
107
+
version = "0.1.5"
108
+
source = "registry+https://github.com/rust-lang/crates.io-index"
109
+
checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
110
+
dependencies = [
111
+
"libc",
112
+
]
113
+
114
+
[[package]]
100
115
name = "anyhow"
101
116
version = "1.0.69"
102
117
source = "registry+https://github.com/rust-lang/crates.io-index"
···
113
128
version = "0.7.2"
114
129
source = "registry+https://github.com/rust-lang/crates.io-index"
115
130
checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6"
131
+
132
+
[[package]]
133
+
name = "async-attributes"
134
+
version = "1.1.2"
135
+
source = "registry+https://github.com/rust-lang/crates.io-index"
136
+
checksum = "a3203e79f4dd9bdda415ed03cf14dae5a2bf775c683a00f94e9cd1faf0f596e5"
137
+
dependencies = [
138
+
"quote",
139
+
"syn 1.0.107",
140
+
]
116
141
117
142
[[package]]
118
143
name = "async-channel"
···
162
187
"blocking",
163
188
"futures-lite",
164
189
"once_cell",
190
+
"tokio",
165
191
]
166
192
167
193
[[package]]
···
195
221
"parking",
196
222
"polling",
197
223
"slab",
198
-
"socket2",
224
+
"socket2 0.4.7",
199
225
"waker-fn",
200
226
"windows-sys 0.42.0",
201
227
]
···
211
237
]
212
238
213
239
[[package]]
240
+
name = "async-process"
241
+
version = "1.7.0"
242
+
source = "registry+https://github.com/rust-lang/crates.io-index"
243
+
checksum = "7a9d28b1d97e08915212e2e45310d47854eafa69600756fc735fb788f75199c9"
244
+
dependencies = [
245
+
"async-io",
246
+
"async-lock",
247
+
"autocfg",
248
+
"blocking",
249
+
"cfg-if",
250
+
"event-listener",
251
+
"futures-lite",
252
+
"rustix",
253
+
"signal-hook",
254
+
"windows-sys 0.48.0",
255
+
]
256
+
257
+
[[package]]
214
258
name = "async-std"
215
259
version = "1.12.0"
216
260
source = "registry+https://github.com/rust-lang/crates.io-index"
217
261
checksum = "62565bb4402e926b29953c785397c6dc0391b7b446e45008b0049eb43cec6f5d"
218
262
dependencies = [
263
+
"async-attributes",
219
264
"async-channel",
220
265
"async-global-executor",
221
266
"async-io",
222
267
"async-lock",
268
+
"async-process",
223
269
"crossbeam-utils",
224
270
"futures-channel",
225
271
"futures-core",
···
237
283
]
238
284
239
285
[[package]]
286
+
name = "async-std-resolver"
287
+
version = "0.24.2"
288
+
source = "registry+https://github.com/rust-lang/crates.io-index"
289
+
checksum = "fa5ee46ec0c518414838d2fdc7dd18f6ba7d934b6e728005c958621da450682d"
290
+
dependencies = [
291
+
"async-std",
292
+
"async-trait",
293
+
"futures-io",
294
+
"futures-util",
295
+
"hickory-resolver",
296
+
"pin-utils",
297
+
"socket2 0.5.8",
298
+
]
299
+
300
+
[[package]]
240
301
name = "async-stream"
241
302
version = "0.3.4"
242
303
source = "registry+https://github.com/rust-lang/crates.io-index"
···
273
334
"futures-core",
274
335
"futures-io",
275
336
"rustls 0.18.1",
276
-
"webpki 0.21.4",
337
+
"webpki",
277
338
"webpki-roots 0.20.0",
278
339
]
279
340
280
341
[[package]]
281
342
name = "async-trait"
282
-
version = "0.1.64"
343
+
version = "0.1.85"
283
344
source = "registry+https://github.com/rust-lang/crates.io-index"
284
-
checksum = "1cd7fce9ba8c3c042128ce72d8b2ddbf3a05747efb67ea0313c635e10bda47a2"
345
+
checksum = "3f934833b4b7233644e5848f235df3f57ed8c80f1528a26c3dfa13d2147fa056"
285
346
dependencies = [
286
347
"proc-macro2",
287
348
"quote",
288
-
"syn 1.0.107",
349
+
"syn 2.0.51",
289
350
]
290
351
291
352
[[package]]
···
329
390
"matchit",
330
391
"memchr",
331
392
"mime",
332
-
"percent-encoding 2.2.0",
393
+
"percent-encoding 2.3.1",
333
394
"pin-project-lite",
334
395
"rustversion",
335
396
"serde",
···
506
567
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
507
568
508
569
[[package]]
570
+
name = "chrono"
571
+
version = "0.4.39"
572
+
source = "registry+https://github.com/rust-lang/crates.io-index"
573
+
checksum = "7e36cc9d416881d2e24f9a963be5fb1cd90966419ac844274161d10488b3e825"
574
+
dependencies = [
575
+
"android-tzdata",
576
+
"iana-time-zone",
577
+
"js-sys",
578
+
"num-traits",
579
+
"serde",
580
+
"wasm-bindgen",
581
+
"windows-targets 0.52.6",
582
+
]
583
+
584
+
[[package]]
509
585
name = "cipher"
510
586
version = "0.2.5"
511
587
source = "registry+https://github.com/rust-lang/crates.io-index"
···
620
696
"base64 0.13.1",
621
697
"hkdf",
622
698
"hmac",
623
-
"percent-encoding 2.2.0",
699
+
"percent-encoding 2.3.1",
624
700
"rand 0.8.5",
625
701
"sha2",
626
702
"time",
···
628
704
]
629
705
630
706
[[package]]
707
+
name = "core-foundation"
708
+
version = "0.9.3"
709
+
source = "registry+https://github.com/rust-lang/crates.io-index"
710
+
checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
711
+
dependencies = [
712
+
"core-foundation-sys",
713
+
"libc",
714
+
]
715
+
716
+
[[package]]
631
717
name = "core-foundation-sys"
632
718
version = "0.8.3"
633
719
source = "registry+https://github.com/rust-lang/crates.io-index"
···
743
829
dependencies = [
744
830
"generic-array",
745
831
"subtle",
746
-
]
747
-
748
-
[[package]]
749
-
name = "ctor"
750
-
version = "0.1.26"
751
-
source = "registry+https://github.com/rust-lang/crates.io-index"
752
-
checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096"
753
-
dependencies = [
754
-
"quote",
755
-
"syn 1.0.107",
756
832
]
757
833
758
834
[[package]]
···
784
860
]
785
861
786
862
[[package]]
863
+
name = "data-encoding"
864
+
version = "2.7.0"
865
+
source = "registry+https://github.com/rust-lang/crates.io-index"
866
+
checksum = "0e60eed09d8c01d3cee5b7d30acb059b76614c918fa0f992e0dd6eeb10daad6f"
867
+
868
+
[[package]]
787
869
name = "deadpool"
788
870
version = "0.7.0"
789
871
source = "registry+https://github.com/rust-lang/crates.io-index"
···
826
908
checksum = "212d0f5754cb6769937f4501cc0e67f4f4483c8d2c3e1e922ee9edbe4ab4c7c0"
827
909
828
910
[[package]]
911
+
name = "displaydoc"
912
+
version = "0.2.5"
913
+
source = "registry+https://github.com/rust-lang/crates.io-index"
914
+
checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
915
+
dependencies = [
916
+
"proc-macro2",
917
+
"quote",
918
+
"syn 2.0.51",
919
+
]
920
+
921
+
[[package]]
829
922
name = "either"
830
923
version = "1.8.1"
831
924
source = "registry+https://github.com/rust-lang/crates.io-index"
···
841
934
]
842
935
843
936
[[package]]
937
+
name = "enum-as-inner"
938
+
version = "0.6.1"
939
+
source = "registry+https://github.com/rust-lang/crates.io-index"
940
+
checksum = "a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc"
941
+
dependencies = [
942
+
"heck 0.5.0",
943
+
"proc-macro2",
944
+
"quote",
945
+
"syn 2.0.51",
946
+
]
947
+
948
+
[[package]]
949
+
name = "errno"
950
+
version = "0.3.10"
951
+
source = "registry+https://github.com/rust-lang/crates.io-index"
952
+
checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d"
953
+
dependencies = [
954
+
"libc",
955
+
"windows-sys 0.59.0",
956
+
]
957
+
958
+
[[package]]
844
959
name = "event-listener"
845
960
version = "2.5.3"
846
961
source = "registry+https://github.com/rust-lang/crates.io-index"
···
869
984
870
985
[[package]]
871
986
name = "form_urlencoded"
872
-
version = "1.1.0"
987
+
version = "1.2.1"
873
988
source = "registry+https://github.com/rust-lang/crates.io-index"
874
-
checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
989
+
checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
875
990
dependencies = [
876
-
"percent-encoding 2.2.0",
991
+
"percent-encoding 2.3.1",
877
992
]
878
993
879
994
[[package]]
···
1082
1197
checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
1083
1198
1084
1199
[[package]]
1200
+
name = "heck"
1201
+
version = "0.5.0"
1202
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1203
+
checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
1204
+
1205
+
[[package]]
1085
1206
name = "hermit-abi"
1086
1207
version = "0.1.19"
1087
1208
source = "registry+https://github.com/rust-lang/crates.io-index"
···
1100
1221
]
1101
1222
1102
1223
[[package]]
1224
+
name = "hermit-abi"
1225
+
version = "0.3.9"
1226
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1227
+
checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
1228
+
1229
+
[[package]]
1230
+
name = "hickory-proto"
1231
+
version = "0.24.2"
1232
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1233
+
checksum = "447afdcdb8afb9d0a852af6dc65d9b285ce720ed7a59e42a8bf2e931c67bc1b5"
1234
+
dependencies = [
1235
+
"async-trait",
1236
+
"cfg-if",
1237
+
"data-encoding",
1238
+
"enum-as-inner",
1239
+
"futures-channel",
1240
+
"futures-io",
1241
+
"futures-util",
1242
+
"idna 1.0.3",
1243
+
"ipnet",
1244
+
"once_cell",
1245
+
"rand 0.8.5",
1246
+
"thiserror",
1247
+
"tinyvec",
1248
+
"tracing",
1249
+
"url 2.5.4",
1250
+
]
1251
+
1252
+
[[package]]
1253
+
name = "hickory-resolver"
1254
+
version = "0.24.2"
1255
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1256
+
checksum = "0a2e2aba9c389ce5267d31cf1e4dace82390ae276b0b364ea55630b1fa1b44b4"
1257
+
dependencies = [
1258
+
"cfg-if",
1259
+
"futures-util",
1260
+
"hickory-proto",
1261
+
"ipconfig",
1262
+
"lru-cache",
1263
+
"once_cell",
1264
+
"parking_lot",
1265
+
"rand 0.8.5",
1266
+
"resolv-conf",
1267
+
"smallvec",
1268
+
"thiserror",
1269
+
"tracing",
1270
+
]
1271
+
1272
+
[[package]]
1103
1273
name = "hkdf"
1104
1274
version = "0.10.0"
1105
1275
source = "registry+https://github.com/rust-lang/crates.io-index"
···
1117
1287
dependencies = [
1118
1288
"crypto-mac",
1119
1289
"digest",
1290
+
]
1291
+
1292
+
[[package]]
1293
+
name = "hostname"
1294
+
version = "0.3.1"
1295
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1296
+
checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867"
1297
+
dependencies = [
1298
+
"libc",
1299
+
"match_cfg",
1300
+
"winapi",
1120
1301
]
1121
1302
1122
1303
[[package]]
···
1191
1372
"serde_json",
1192
1373
"serde_qs",
1193
1374
"serde_urlencoded",
1194
-
"url 2.3.1",
1375
+
"url 2.5.4",
1195
1376
]
1196
1377
1197
1378
[[package]]
···
1223
1404
"httpdate",
1224
1405
"itoa",
1225
1406
"pin-project-lite",
1226
-
"socket2",
1407
+
"socket2 0.4.7",
1227
1408
"tokio",
1228
1409
"tower-service",
1229
1410
"tracing",
···
1232
1413
1233
1414
[[package]]
1234
1415
name = "hyper-rustls"
1235
-
version = "0.23.2"
1416
+
version = "0.24.2"
1236
1417
source = "registry+https://github.com/rust-lang/crates.io-index"
1237
-
checksum = "1788965e61b367cd03a62950836d5cd41560c3577d90e40e0819373194d1661c"
1418
+
checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590"
1238
1419
dependencies = [
1420
+
"futures-util",
1239
1421
"http",
1240
1422
"hyper",
1241
-
"rustls 0.20.9",
1423
+
"rustls 0.21.12",
1242
1424
"tokio",
1243
1425
"tokio-rustls",
1244
1426
]
···
1256
1438
]
1257
1439
1258
1440
[[package]]
1441
+
name = "iana-time-zone"
1442
+
version = "0.1.61"
1443
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1444
+
checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220"
1445
+
dependencies = [
1446
+
"android_system_properties",
1447
+
"core-foundation-sys",
1448
+
"iana-time-zone-haiku",
1449
+
"js-sys",
1450
+
"wasm-bindgen",
1451
+
"windows-core",
1452
+
]
1453
+
1454
+
[[package]]
1455
+
name = "iana-time-zone-haiku"
1456
+
version = "0.1.2"
1457
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1458
+
checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
1459
+
dependencies = [
1460
+
"cc",
1461
+
]
1462
+
1463
+
[[package]]
1464
+
name = "icu_collections"
1465
+
version = "1.5.0"
1466
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1467
+
checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526"
1468
+
dependencies = [
1469
+
"displaydoc",
1470
+
"yoke",
1471
+
"zerofrom",
1472
+
"zerovec",
1473
+
]
1474
+
1475
+
[[package]]
1476
+
name = "icu_locid"
1477
+
version = "1.5.0"
1478
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1479
+
checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637"
1480
+
dependencies = [
1481
+
"displaydoc",
1482
+
"litemap",
1483
+
"tinystr",
1484
+
"writeable",
1485
+
"zerovec",
1486
+
]
1487
+
1488
+
[[package]]
1489
+
name = "icu_locid_transform"
1490
+
version = "1.5.0"
1491
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1492
+
checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e"
1493
+
dependencies = [
1494
+
"displaydoc",
1495
+
"icu_locid",
1496
+
"icu_locid_transform_data",
1497
+
"icu_provider",
1498
+
"tinystr",
1499
+
"zerovec",
1500
+
]
1501
+
1502
+
[[package]]
1503
+
name = "icu_locid_transform_data"
1504
+
version = "1.5.0"
1505
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1506
+
checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e"
1507
+
1508
+
[[package]]
1509
+
name = "icu_normalizer"
1510
+
version = "1.5.0"
1511
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1512
+
checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f"
1513
+
dependencies = [
1514
+
"displaydoc",
1515
+
"icu_collections",
1516
+
"icu_normalizer_data",
1517
+
"icu_properties",
1518
+
"icu_provider",
1519
+
"smallvec",
1520
+
"utf16_iter",
1521
+
"utf8_iter",
1522
+
"write16",
1523
+
"zerovec",
1524
+
]
1525
+
1526
+
[[package]]
1527
+
name = "icu_normalizer_data"
1528
+
version = "1.5.0"
1529
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1530
+
checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516"
1531
+
1532
+
[[package]]
1533
+
name = "icu_properties"
1534
+
version = "1.5.1"
1535
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1536
+
checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5"
1537
+
dependencies = [
1538
+
"displaydoc",
1539
+
"icu_collections",
1540
+
"icu_locid_transform",
1541
+
"icu_properties_data",
1542
+
"icu_provider",
1543
+
"tinystr",
1544
+
"zerovec",
1545
+
]
1546
+
1547
+
[[package]]
1548
+
name = "icu_properties_data"
1549
+
version = "1.5.0"
1550
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1551
+
checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569"
1552
+
1553
+
[[package]]
1554
+
name = "icu_provider"
1555
+
version = "1.5.0"
1556
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1557
+
checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9"
1558
+
dependencies = [
1559
+
"displaydoc",
1560
+
"icu_locid",
1561
+
"icu_provider_macros",
1562
+
"stable_deref_trait",
1563
+
"tinystr",
1564
+
"writeable",
1565
+
"yoke",
1566
+
"zerofrom",
1567
+
"zerovec",
1568
+
]
1569
+
1570
+
[[package]]
1571
+
name = "icu_provider_macros"
1572
+
version = "1.5.0"
1573
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1574
+
checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6"
1575
+
dependencies = [
1576
+
"proc-macro2",
1577
+
"quote",
1578
+
"syn 2.0.51",
1579
+
]
1580
+
1581
+
[[package]]
1259
1582
name = "idna"
1260
1583
version = "0.1.5"
1261
1584
source = "registry+https://github.com/rust-lang/crates.io-index"
···
1268
1591
1269
1592
[[package]]
1270
1593
name = "idna"
1271
-
version = "0.3.0"
1594
+
version = "1.0.3"
1272
1595
source = "registry+https://github.com/rust-lang/crates.io-index"
1273
-
checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
1596
+
checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e"
1597
+
dependencies = [
1598
+
"idna_adapter",
1599
+
"smallvec",
1600
+
"utf8_iter",
1601
+
]
1602
+
1603
+
[[package]]
1604
+
name = "idna_adapter"
1605
+
version = "1.2.0"
1606
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1607
+
checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71"
1274
1608
dependencies = [
1275
-
"unicode-bidi",
1276
-
"unicode-normalization",
1609
+
"icu_normalizer",
1610
+
"icu_properties",
1277
1611
]
1278
1612
1279
1613
[[package]]
···
1305
1639
checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
1306
1640
dependencies = [
1307
1641
"cfg-if",
1642
+
]
1643
+
1644
+
[[package]]
1645
+
name = "io-lifetimes"
1646
+
version = "1.0.11"
1647
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1648
+
checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
1649
+
dependencies = [
1650
+
"hermit-abi 0.3.9",
1651
+
"libc",
1652
+
"windows-sys 0.48.0",
1653
+
]
1654
+
1655
+
[[package]]
1656
+
name = "ipconfig"
1657
+
version = "0.3.2"
1658
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1659
+
checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f"
1660
+
dependencies = [
1661
+
"socket2 0.5.8",
1662
+
"widestring",
1663
+
"windows-sys 0.48.0",
1664
+
"winreg",
1308
1665
]
1309
1666
1310
1667
[[package]]
···
1368
1725
1369
1726
[[package]]
1370
1727
name = "js-sys"
1371
-
version = "0.3.61"
1728
+
version = "0.3.77"
1372
1729
source = "registry+https://github.com/rust-lang/crates.io-index"
1373
-
checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730"
1730
+
checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f"
1374
1731
dependencies = [
1732
+
"once_cell",
1375
1733
"wasm-bindgen",
1376
1734
]
1377
1735
···
1422
1780
1423
1781
[[package]]
1424
1782
name = "libc"
1425
-
version = "0.2.139"
1783
+
version = "0.2.169"
1426
1784
source = "registry+https://github.com/rust-lang/crates.io-index"
1427
-
checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79"
1785
+
checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a"
1428
1786
1429
1787
[[package]]
1430
1788
name = "libloading"
···
1437
1795
]
1438
1796
1439
1797
[[package]]
1798
+
name = "linked-hash-map"
1799
+
version = "0.5.6"
1800
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1801
+
checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
1802
+
1803
+
[[package]]
1804
+
name = "linux-raw-sys"
1805
+
version = "0.3.8"
1806
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1807
+
checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
1808
+
1809
+
[[package]]
1810
+
name = "litemap"
1811
+
version = "0.7.4"
1812
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1813
+
checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104"
1814
+
1815
+
[[package]]
1440
1816
name = "lock_api"
1441
1817
version = "0.4.9"
1442
1818
source = "registry+https://github.com/rust-lang/crates.io-index"
···
1448
1824
1449
1825
[[package]]
1450
1826
name = "log"
1451
-
version = "0.4.17"
1827
+
version = "0.4.25"
1452
1828
source = "registry+https://github.com/rust-lang/crates.io-index"
1453
-
checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
1829
+
checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f"
1454
1830
dependencies = [
1455
-
"cfg-if",
1456
1831
"value-bag",
1457
1832
]
1458
1833
···
1466
1841
]
1467
1842
1468
1843
[[package]]
1844
+
name = "lru-cache"
1845
+
version = "0.1.2"
1846
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1847
+
checksum = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c"
1848
+
dependencies = [
1849
+
"linked-hash-map",
1850
+
]
1851
+
1852
+
[[package]]
1469
1853
name = "m3u"
1470
1854
version = "1.0.0"
1471
1855
source = "registry+https://github.com/rust-lang/crates.io-index"
···
1482
1866
dependencies = [
1483
1867
"libc",
1484
1868
]
1869
+
1870
+
[[package]]
1871
+
name = "match_cfg"
1872
+
version = "0.1.0"
1873
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1874
+
checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4"
1485
1875
1486
1876
[[package]]
1487
1877
name = "matches"
···
1844
2234
1845
2235
[[package]]
1846
2236
name = "percent-encoding"
1847
-
version = "2.2.0"
2237
+
version = "2.3.1"
1848
2238
source = "registry+https://github.com/rust-lang/crates.io-index"
1849
-
checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
2239
+
checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
1850
2240
1851
2241
[[package]]
1852
2242
name = "petgraph"
···
1997
2387
checksum = "2c828f93f5ca4826f97fedcbd3f9a536c16b12cff3dbbb4a007f932bbad95b12"
1998
2388
dependencies = [
1999
2389
"bytes",
2000
-
"heck",
2390
+
"heck 0.4.1",
2001
2391
"itertools 0.10.5",
2002
2392
"lazy_static",
2003
2393
"log",
···
2035
2425
]
2036
2426
2037
2427
[[package]]
2428
+
name = "quick-error"
2429
+
version = "1.2.3"
2430
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2431
+
checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
2432
+
2433
+
[[package]]
2038
2434
name = "quote"
2039
2435
version = "1.0.35"
2040
2436
source = "registry+https://github.com/rust-lang/crates.io-index"
2041
2437
checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
2042
2438
dependencies = [
2043
2439
"proc-macro2",
2440
+
]
2441
+
2442
+
[[package]]
2443
+
name = "radiobrowser"
2444
+
version = "0.6.1"
2445
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2446
+
checksum = "763ad5f847e3d2e3221dac4e87370297a970e3f9eb8f2760b915001b9c79023b"
2447
+
dependencies = [
2448
+
"async-std",
2449
+
"async-std-resolver",
2450
+
"chrono",
2451
+
"log",
2452
+
"rand 0.8.5",
2453
+
"reqwest",
2454
+
"serde",
2044
2455
]
2045
2456
2046
2457
[[package]]
···
2187
2598
2188
2599
[[package]]
2189
2600
name = "reqwest"
2190
-
version = "0.11.14"
2601
+
version = "0.11.27"
2191
2602
source = "registry+https://github.com/rust-lang/crates.io-index"
2192
-
checksum = "21eed90ec8570952d53b772ecf8f206aa1ec9a3d76b2521c56c42973f2d91ee9"
2603
+
checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62"
2193
2604
dependencies = [
2194
2605
"base64 0.21.0",
2195
2606
"bytes",
···
2206
2617
"log",
2207
2618
"mime",
2208
2619
"once_cell",
2209
-
"percent-encoding 2.2.0",
2620
+
"percent-encoding 2.3.1",
2210
2621
"pin-project-lite",
2211
-
"rustls 0.20.9",
2622
+
"rustls 0.21.12",
2212
2623
"rustls-pemfile",
2213
2624
"serde",
2214
2625
"serde_json",
2215
2626
"serde_urlencoded",
2627
+
"sync_wrapper",
2628
+
"system-configuration",
2216
2629
"tokio",
2217
2630
"tokio-rustls",
2218
2631
"tower-service",
2219
-
"url 2.3.1",
2632
+
"url 2.5.4",
2220
2633
"wasm-bindgen",
2221
2634
"wasm-bindgen-futures",
2222
2635
"web-sys",
2223
-
"webpki-roots 0.22.6",
2636
+
"webpki-roots 0.25.4",
2224
2637
"winreg",
2638
+
]
2639
+
2640
+
[[package]]
2641
+
name = "resolv-conf"
2642
+
version = "0.7.0"
2643
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2644
+
checksum = "52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00"
2645
+
dependencies = [
2646
+
"hostname",
2647
+
"quick-error",
2225
2648
]
2226
2649
2227
2650
[[package]]
···
2309
2732
"strength_reduce",
2310
2733
"transpose",
2311
2734
"version_check",
2735
+
]
2736
+
2737
+
[[package]]
2738
+
name = "rustix"
2739
+
version = "0.37.28"
2740
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2741
+
checksum = "519165d378b97752ca44bbe15047d5d3409e875f39327546b42ac81d7e18c1b6"
2742
+
dependencies = [
2743
+
"bitflags 1.3.2",
2744
+
"errno",
2745
+
"io-lifetimes",
2746
+
"libc",
2747
+
"linux-raw-sys",
2748
+
"windows-sys 0.48.0",
2312
2749
]
2313
2750
2314
2751
[[package]]
···
2321
2758
"log",
2322
2759
"ring 0.16.20",
2323
2760
"sct 0.6.1",
2324
-
"webpki 0.21.4",
2761
+
"webpki",
2325
2762
]
2326
2763
2327
2764
[[package]]
2328
2765
name = "rustls"
2329
-
version = "0.20.9"
2766
+
version = "0.21.12"
2330
2767
source = "registry+https://github.com/rust-lang/crates.io-index"
2331
-
checksum = "1b80e3dec595989ea8510028f30c408a4630db12c9cbb8de34203b89d6577e99"
2768
+
checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e"
2332
2769
dependencies = [
2333
2770
"log",
2334
-
"ring 0.16.20",
2771
+
"ring 0.17.3",
2772
+
"rustls-webpki",
2335
2773
"sct 0.7.1",
2336
-
"webpki 0.22.4",
2337
2774
]
2338
2775
2339
2776
[[package]]
···
2346
2783
]
2347
2784
2348
2785
[[package]]
2786
+
name = "rustls-webpki"
2787
+
version = "0.101.7"
2788
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2789
+
checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765"
2790
+
dependencies = [
2791
+
"ring 0.17.3",
2792
+
"untrusted 0.9.0",
2793
+
]
2794
+
2795
+
[[package]]
2349
2796
name = "rustversion"
2350
2797
version = "1.0.11"
2351
2798
source = "registry+https://github.com/rust-lang/crates.io-index"
···
2450
2897
source = "registry+https://github.com/rust-lang/crates.io-index"
2451
2898
checksum = "c7715380eec75f029a4ef7de39a9200e0a63823176b759d055b613f5a87df6a6"
2452
2899
dependencies = [
2453
-
"percent-encoding 2.2.0",
2900
+
"percent-encoding 2.3.1",
2454
2901
"serde",
2455
2902
"thiserror",
2456
2903
]
···
2562
3009
2563
3010
[[package]]
2564
3011
name = "smallvec"
2565
-
version = "1.10.0"
3012
+
version = "1.13.2"
2566
3013
source = "registry+https://github.com/rust-lang/crates.io-index"
2567
-
checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
3014
+
checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
2568
3015
2569
3016
[[package]]
2570
3017
name = "socket2"
···
2577
3024
]
2578
3025
2579
3026
[[package]]
3027
+
name = "socket2"
3028
+
version = "0.5.8"
3029
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3030
+
checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8"
3031
+
dependencies = [
3032
+
"libc",
3033
+
"windows-sys 0.52.0",
3034
+
]
3035
+
3036
+
[[package]]
2580
3037
name = "spin"
2581
3038
version = "0.5.2"
2582
3039
source = "registry+https://github.com/rust-lang/crates.io-index"
···
2597
3054
"quote",
2598
3055
"syn 1.0.107",
2599
3056
]
3057
+
3058
+
[[package]]
3059
+
name = "stable_deref_trait"
3060
+
version = "1.2.0"
3061
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3062
+
checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
2600
3063
2601
3064
[[package]]
2602
3065
name = "standback"
···
2689
3152
source = "registry+https://github.com/rust-lang/crates.io-index"
2690
3153
checksum = "7a3417fc93d76740d974a01654a09777cb500428cc874ca9f45edfe0c4d4cd18"
2691
3154
dependencies = [
2692
-
"heck",
3155
+
"heck 0.4.1",
2693
3156
"proc-macro2",
2694
3157
"quote",
2695
3158
"rustversion",
···
2936
3399
checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160"
2937
3400
2938
3401
[[package]]
3402
+
name = "synstructure"
3403
+
version = "0.13.1"
3404
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3405
+
checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971"
3406
+
dependencies = [
3407
+
"proc-macro2",
3408
+
"quote",
3409
+
"syn 2.0.51",
3410
+
]
3411
+
3412
+
[[package]]
3413
+
name = "system-configuration"
3414
+
version = "0.5.1"
3415
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3416
+
checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7"
3417
+
dependencies = [
3418
+
"bitflags 1.3.2",
3419
+
"core-foundation",
3420
+
"system-configuration-sys",
3421
+
]
3422
+
3423
+
[[package]]
3424
+
name = "system-configuration-sys"
3425
+
version = "0.5.0"
3426
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3427
+
checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9"
3428
+
dependencies = [
3429
+
"core-foundation-sys",
3430
+
"libc",
3431
+
]
3432
+
3433
+
[[package]]
2939
3434
name = "tempfile"
2940
3435
version = "3.3.0"
2941
3436
source = "registry+https://github.com/rust-lang/crates.io-index"
···
3035
3530
]
3036
3531
3037
3532
[[package]]
3533
+
name = "tinystr"
3534
+
version = "0.7.6"
3535
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3536
+
checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f"
3537
+
dependencies = [
3538
+
"displaydoc",
3539
+
"zerovec",
3540
+
]
3541
+
3542
+
[[package]]
3038
3543
name = "tinyvec"
3039
3544
version = "1.6.0"
3040
3545
source = "registry+https://github.com/rust-lang/crates.io-index"
···
3062
3567
"mio",
3063
3568
"num_cpus",
3064
3569
"pin-project-lite",
3065
-
"socket2",
3570
+
"socket2 0.4.7",
3066
3571
"tokio-macros",
3067
3572
"windows-sys 0.42.0",
3068
3573
]
···
3090
3595
3091
3596
[[package]]
3092
3597
name = "tokio-rustls"
3093
-
version = "0.23.4"
3598
+
version = "0.24.1"
3094
3599
source = "registry+https://github.com/rust-lang/crates.io-index"
3095
-
checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59"
3600
+
checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081"
3096
3601
dependencies = [
3097
-
"rustls 0.20.9",
3602
+
"rustls 0.21.12",
3098
3603
"tokio",
3099
-
"webpki 0.22.4",
3100
3604
]
3101
3605
3102
3606
[[package]]
···
3159
3663
"http-body",
3160
3664
"hyper",
3161
3665
"hyper-timeout",
3162
-
"percent-encoding 2.2.0",
3666
+
"percent-encoding 2.3.1",
3163
3667
"pin-project",
3164
3668
"prost",
3165
3669
"prost-derive",
···
3334
3838
version = "0.2.6"
3335
3839
dependencies = [
3336
3840
"anyhow",
3841
+
"async-trait",
3337
3842
"clap",
3338
3843
"cpal",
3339
3844
"crossterm",
···
3346
3851
"owo-colors",
3347
3852
"pls",
3348
3853
"prost",
3854
+
"radiobrowser",
3349
3855
"ratatui",
3350
3856
"reqwest",
3351
3857
"rodio",
···
3360
3866
"tonic-build",
3361
3867
"tonic-web",
3362
3868
"tunein",
3363
-
"url 2.3.1",
3869
+
"url 2.5.4",
3364
3870
]
3365
3871
3366
3872
[[package]]
···
3446
3952
3447
3953
[[package]]
3448
3954
name = "url"
3449
-
version = "2.3.1"
3955
+
version = "2.5.4"
3450
3956
source = "registry+https://github.com/rust-lang/crates.io-index"
3451
-
checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643"
3957
+
checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60"
3452
3958
dependencies = [
3453
3959
"form_urlencoded",
3454
-
"idna 0.3.0",
3455
-
"percent-encoding 2.2.0",
3960
+
"idna 1.0.3",
3961
+
"percent-encoding 2.3.1",
3456
3962
"serde",
3457
3963
]
3458
3964
3459
3965
[[package]]
3966
+
name = "utf16_iter"
3967
+
version = "1.0.5"
3968
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3969
+
checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246"
3970
+
3971
+
[[package]]
3972
+
name = "utf8_iter"
3973
+
version = "1.0.4"
3974
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3975
+
checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be"
3976
+
3977
+
[[package]]
3460
3978
name = "value-bag"
3461
-
version = "1.0.0-alpha.9"
3979
+
version = "1.10.0"
3462
3980
source = "registry+https://github.com/rust-lang/crates.io-index"
3463
-
checksum = "2209b78d1249f7e6f3293657c9779fe31ced465df091bbd433a1cf88e916ec55"
3464
-
dependencies = [
3465
-
"ctor",
3466
-
"version_check",
3467
-
]
3981
+
checksum = "3ef4c4aa54d5d05a279399bfa921ec387b7aba77caf7a682ae8d86785b8fdad2"
3468
3982
3469
3983
[[package]]
3470
3984
name = "version_check"
···
3513
4027
3514
4028
[[package]]
3515
4029
name = "wasm-bindgen"
3516
-
version = "0.2.84"
4030
+
version = "0.2.100"
3517
4031
source = "registry+https://github.com/rust-lang/crates.io-index"
3518
-
checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b"
4032
+
checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5"
3519
4033
dependencies = [
3520
4034
"cfg-if",
4035
+
"once_cell",
4036
+
"rustversion",
3521
4037
"wasm-bindgen-macro",
3522
4038
]
3523
4039
3524
4040
[[package]]
3525
4041
name = "wasm-bindgen-backend"
3526
-
version = "0.2.84"
4042
+
version = "0.2.100"
3527
4043
source = "registry+https://github.com/rust-lang/crates.io-index"
3528
-
checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9"
4044
+
checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6"
3529
4045
dependencies = [
3530
4046
"bumpalo",
3531
4047
"log",
3532
-
"once_cell",
3533
4048
"proc-macro2",
3534
4049
"quote",
3535
-
"syn 1.0.107",
4050
+
"syn 2.0.51",
3536
4051
"wasm-bindgen-shared",
3537
4052
]
3538
4053
···
3550
4065
3551
4066
[[package]]
3552
4067
name = "wasm-bindgen-macro"
3553
-
version = "0.2.84"
4068
+
version = "0.2.100"
3554
4069
source = "registry+https://github.com/rust-lang/crates.io-index"
3555
-
checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5"
4070
+
checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407"
3556
4071
dependencies = [
3557
4072
"quote",
3558
4073
"wasm-bindgen-macro-support",
···
3560
4075
3561
4076
[[package]]
3562
4077
name = "wasm-bindgen-macro-support"
3563
-
version = "0.2.84"
4078
+
version = "0.2.100"
3564
4079
source = "registry+https://github.com/rust-lang/crates.io-index"
3565
-
checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6"
4080
+
checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de"
3566
4081
dependencies = [
3567
4082
"proc-macro2",
3568
4083
"quote",
3569
-
"syn 1.0.107",
4084
+
"syn 2.0.51",
3570
4085
"wasm-bindgen-backend",
3571
4086
"wasm-bindgen-shared",
3572
4087
]
3573
4088
3574
4089
[[package]]
3575
4090
name = "wasm-bindgen-shared"
3576
-
version = "0.2.84"
4091
+
version = "0.2.100"
3577
4092
source = "registry+https://github.com/rust-lang/crates.io-index"
3578
-
checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d"
4093
+
checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d"
4094
+
dependencies = [
4095
+
"unicode-ident",
4096
+
]
3579
4097
3580
4098
[[package]]
3581
4099
name = "web-sys"
···
3598
4116
]
3599
4117
3600
4118
[[package]]
3601
-
name = "webpki"
3602
-
version = "0.22.4"
3603
-
source = "registry+https://github.com/rust-lang/crates.io-index"
3604
-
checksum = "ed63aea5ce73d0ff405984102c42de94fc55a6b75765d621c65262469b3c9b53"
3605
-
dependencies = [
3606
-
"ring 0.17.3",
3607
-
"untrusted 0.9.0",
3608
-
]
3609
-
3610
-
[[package]]
3611
4119
name = "webpki-roots"
3612
4120
version = "0.20.0"
3613
4121
source = "registry+https://github.com/rust-lang/crates.io-index"
3614
4122
checksum = "0f20dea7535251981a9670857150d571846545088359b28e4951d350bdaf179f"
3615
4123
dependencies = [
3616
-
"webpki 0.21.4",
4124
+
"webpki",
3617
4125
]
3618
4126
3619
4127
[[package]]
3620
4128
name = "webpki-roots"
3621
-
version = "0.22.6"
4129
+
version = "0.25.4"
3622
4130
source = "registry+https://github.com/rust-lang/crates.io-index"
3623
-
checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87"
3624
-
dependencies = [
3625
-
"webpki 0.22.4",
3626
-
]
4131
+
checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1"
3627
4132
3628
4133
[[package]]
3629
4134
name = "wepoll-ffi"
···
3646
4151
]
3647
4152
3648
4153
[[package]]
4154
+
name = "widestring"
4155
+
version = "1.1.0"
4156
+
source = "registry+https://github.com/rust-lang/crates.io-index"
4157
+
checksum = "7219d36b6eac893fa81e84ebe06485e7dcbb616177469b142df14f1f4deb1311"
4158
+
4159
+
[[package]]
3649
4160
name = "winapi"
3650
4161
version = "0.3.9"
3651
4162
source = "registry+https://github.com/rust-lang/crates.io-index"
···
3690
4201
]
3691
4202
3692
4203
[[package]]
4204
+
name = "windows-core"
4205
+
version = "0.52.0"
4206
+
source = "registry+https://github.com/rust-lang/crates.io-index"
4207
+
checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
4208
+
dependencies = [
4209
+
"windows-targets 0.52.6",
4210
+
]
4211
+
4212
+
[[package]]
3693
4213
name = "windows-sys"
3694
4214
version = "0.42.0"
3695
4215
source = "registry+https://github.com/rust-lang/crates.io-index"
···
3723
4243
]
3724
4244
3725
4245
[[package]]
4246
+
name = "windows-sys"
4247
+
version = "0.52.0"
4248
+
source = "registry+https://github.com/rust-lang/crates.io-index"
4249
+
checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
4250
+
dependencies = [
4251
+
"windows-targets 0.52.6",
4252
+
]
4253
+
4254
+
[[package]]
4255
+
name = "windows-sys"
4256
+
version = "0.59.0"
4257
+
source = "registry+https://github.com/rust-lang/crates.io-index"
4258
+
checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
4259
+
dependencies = [
4260
+
"windows-targets 0.52.6",
4261
+
]
4262
+
4263
+
[[package]]
3726
4264
name = "windows-targets"
3727
4265
version = "0.42.1"
3728
4266
source = "registry+https://github.com/rust-lang/crates.io-index"
···
3753
4291
]
3754
4292
3755
4293
[[package]]
4294
+
name = "windows-targets"
4295
+
version = "0.52.6"
4296
+
source = "registry+https://github.com/rust-lang/crates.io-index"
4297
+
checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
4298
+
dependencies = [
4299
+
"windows_aarch64_gnullvm 0.52.6",
4300
+
"windows_aarch64_msvc 0.52.6",
4301
+
"windows_i686_gnu 0.52.6",
4302
+
"windows_i686_gnullvm",
4303
+
"windows_i686_msvc 0.52.6",
4304
+
"windows_x86_64_gnu 0.52.6",
4305
+
"windows_x86_64_gnullvm 0.52.6",
4306
+
"windows_x86_64_msvc 0.52.6",
4307
+
]
4308
+
4309
+
[[package]]
3756
4310
name = "windows_aarch64_gnullvm"
3757
4311
version = "0.42.1"
3758
4312
source = "registry+https://github.com/rust-lang/crates.io-index"
···
3765
4319
checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
3766
4320
3767
4321
[[package]]
4322
+
name = "windows_aarch64_gnullvm"
4323
+
version = "0.52.6"
4324
+
source = "registry+https://github.com/rust-lang/crates.io-index"
4325
+
checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
4326
+
4327
+
[[package]]
3768
4328
name = "windows_aarch64_msvc"
3769
4329
version = "0.37.0"
3770
4330
source = "registry+https://github.com/rust-lang/crates.io-index"
···
3783
4343
checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
3784
4344
3785
4345
[[package]]
4346
+
name = "windows_aarch64_msvc"
4347
+
version = "0.52.6"
4348
+
source = "registry+https://github.com/rust-lang/crates.io-index"
4349
+
checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
4350
+
4351
+
[[package]]
3786
4352
name = "windows_i686_gnu"
3787
4353
version = "0.37.0"
3788
4354
source = "registry+https://github.com/rust-lang/crates.io-index"
···
3801
4367
checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
3802
4368
3803
4369
[[package]]
4370
+
name = "windows_i686_gnu"
4371
+
version = "0.52.6"
4372
+
source = "registry+https://github.com/rust-lang/crates.io-index"
4373
+
checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
4374
+
4375
+
[[package]]
4376
+
name = "windows_i686_gnullvm"
4377
+
version = "0.52.6"
4378
+
source = "registry+https://github.com/rust-lang/crates.io-index"
4379
+
checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
4380
+
4381
+
[[package]]
3804
4382
name = "windows_i686_msvc"
3805
4383
version = "0.37.0"
3806
4384
source = "registry+https://github.com/rust-lang/crates.io-index"
···
3817
4395
version = "0.48.5"
3818
4396
source = "registry+https://github.com/rust-lang/crates.io-index"
3819
4397
checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
4398
+
4399
+
[[package]]
4400
+
name = "windows_i686_msvc"
4401
+
version = "0.52.6"
4402
+
source = "registry+https://github.com/rust-lang/crates.io-index"
4403
+
checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
3820
4404
3821
4405
[[package]]
3822
4406
name = "windows_x86_64_gnu"
···
3837
4421
checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
3838
4422
3839
4423
[[package]]
4424
+
name = "windows_x86_64_gnu"
4425
+
version = "0.52.6"
4426
+
source = "registry+https://github.com/rust-lang/crates.io-index"
4427
+
checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
4428
+
4429
+
[[package]]
3840
4430
name = "windows_x86_64_gnullvm"
3841
4431
version = "0.42.1"
3842
4432
source = "registry+https://github.com/rust-lang/crates.io-index"
···
3849
4439
checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
3850
4440
3851
4441
[[package]]
4442
+
name = "windows_x86_64_gnullvm"
4443
+
version = "0.52.6"
4444
+
source = "registry+https://github.com/rust-lang/crates.io-index"
4445
+
checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
4446
+
4447
+
[[package]]
3852
4448
name = "windows_x86_64_msvc"
3853
4449
version = "0.37.0"
3854
4450
source = "registry+https://github.com/rust-lang/crates.io-index"
···
3867
4463
checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
3868
4464
3869
4465
[[package]]
4466
+
name = "windows_x86_64_msvc"
4467
+
version = "0.52.6"
4468
+
source = "registry+https://github.com/rust-lang/crates.io-index"
4469
+
checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
4470
+
4471
+
[[package]]
3870
4472
name = "winreg"
3871
-
version = "0.10.1"
4473
+
version = "0.50.0"
4474
+
source = "registry+https://github.com/rust-lang/crates.io-index"
4475
+
checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1"
4476
+
dependencies = [
4477
+
"cfg-if",
4478
+
"windows-sys 0.48.0",
4479
+
]
4480
+
4481
+
[[package]]
4482
+
name = "write16"
4483
+
version = "1.0.0"
4484
+
source = "registry+https://github.com/rust-lang/crates.io-index"
4485
+
checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936"
4486
+
4487
+
[[package]]
4488
+
name = "writeable"
4489
+
version = "0.5.5"
4490
+
source = "registry+https://github.com/rust-lang/crates.io-index"
4491
+
checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51"
4492
+
4493
+
[[package]]
4494
+
name = "yoke"
4495
+
version = "0.7.5"
4496
+
source = "registry+https://github.com/rust-lang/crates.io-index"
4497
+
checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40"
4498
+
dependencies = [
4499
+
"serde",
4500
+
"stable_deref_trait",
4501
+
"yoke-derive",
4502
+
"zerofrom",
4503
+
]
4504
+
4505
+
[[package]]
4506
+
name = "yoke-derive"
4507
+
version = "0.7.5"
3872
4508
source = "registry+https://github.com/rust-lang/crates.io-index"
3873
-
checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d"
4509
+
checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154"
3874
4510
dependencies = [
3875
-
"winapi",
4511
+
"proc-macro2",
4512
+
"quote",
4513
+
"syn 2.0.51",
4514
+
"synstructure",
3876
4515
]
3877
4516
3878
4517
[[package]]
···
3894
4533
"quote",
3895
4534
"syn 2.0.51",
3896
4535
]
4536
+
4537
+
[[package]]
4538
+
name = "zerofrom"
4539
+
version = "0.1.5"
4540
+
source = "registry+https://github.com/rust-lang/crates.io-index"
4541
+
checksum = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e"
4542
+
dependencies = [
4543
+
"zerofrom-derive",
4544
+
]
4545
+
4546
+
[[package]]
4547
+
name = "zerofrom-derive"
4548
+
version = "0.1.5"
4549
+
source = "registry+https://github.com/rust-lang/crates.io-index"
4550
+
checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808"
4551
+
dependencies = [
4552
+
"proc-macro2",
4553
+
"quote",
4554
+
"syn 2.0.51",
4555
+
"synstructure",
4556
+
]
4557
+
4558
+
[[package]]
4559
+
name = "zerovec"
4560
+
version = "0.10.4"
4561
+
source = "registry+https://github.com/rust-lang/crates.io-index"
4562
+
checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079"
4563
+
dependencies = [
4564
+
"yoke",
4565
+
"zerofrom",
4566
+
"zerovec-derive",
4567
+
]
4568
+
4569
+
[[package]]
4570
+
name = "zerovec-derive"
4571
+
version = "0.10.3"
4572
+
source = "registry+https://github.com/rust-lang/crates.io-index"
4573
+
checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6"
4574
+
dependencies = [
4575
+
"proc-macro2",
4576
+
"quote",
4577
+
"syn 2.0.51",
4578
+
]
+2
Cargo.toml
+2
Cargo.toml
···
24
24
25
25
[dependencies]
26
26
anyhow = "1.0.69"
27
+
async-trait = "0.1.85"
27
28
clap = "3.2.20"
28
29
cpal = "0.14.0"
29
30
crossterm = "0.27.0"
···
36
37
owo-colors = "3.5.0"
37
38
pls = "0.2.2"
38
39
prost = "0.11.8"
40
+
radiobrowser = { version = "0.6.1", features = ["default-rustls"], default-features = false }
39
41
ratatui = "0.26.1"
40
42
reqwest = {version = "0.11.14", features = ["blocking", "rustls-tls"], default-features = false}
41
43
rodio = {version = "0.16"}
+2
src/main.rs
+2
src/main.rs
+13
src/provider/mod.rs
+13
src/provider/mod.rs
···
1
+
pub mod radiobrowser;
2
+
pub mod tunein;
3
+
4
+
use crate::types::Station;
5
+
use anyhow::Error;
6
+
use async_trait::async_trait;
7
+
8
+
#[async_trait]
9
+
pub trait Provider {
10
+
async fn search(&self, name: String) -> Result<Vec<Station>, Error>;
11
+
async fn get_station(&self, id: String) -> Result<(), Error>;
12
+
async fn browse(&self, category: String) -> Result<Vec<Station>, Error>;
13
+
}
+97
src/provider/radiobrowser.rs
+97
src/provider/radiobrowser.rs
···
1
+
use crate::types::Station;
2
+
3
+
use super::Provider;
4
+
use anyhow::Error;
5
+
use async_trait::async_trait;
6
+
use radiobrowser::RadioBrowserAPI;
7
+
use std::process::exit;
8
+
9
+
pub struct Radiobrowser {
10
+
client: RadioBrowserAPI,
11
+
}
12
+
13
+
impl Radiobrowser {
14
+
pub async fn new() -> Self {
15
+
let client = RadioBrowserAPI::new().await;
16
+
17
+
if client.is_err() {
18
+
eprintln!("Failed to create a RadioBrowserAPI client");
19
+
exit(1);
20
+
}
21
+
22
+
let client = client.unwrap();
23
+
Self { client }
24
+
}
25
+
}
26
+
27
+
#[async_trait]
28
+
impl Provider for Radiobrowser {
29
+
async fn search(&self, name: String) -> Result<Vec<Station>, Error> {
30
+
let stations = self
31
+
.client
32
+
.get_stations()
33
+
.name(&name)
34
+
.send()
35
+
.await
36
+
.map_err(|e| anyhow::anyhow!(format!("{}", e)))?;
37
+
let stations = stations.into_iter().map(|x| Station::from(x)).collect();
38
+
Ok(stations)
39
+
}
40
+
41
+
async fn get_station(&self, name: String) -> Result<(), Error> {
42
+
let station = self
43
+
.client
44
+
.get_stations()
45
+
.name(&name)
46
+
.name_exact(true)
47
+
.send()
48
+
.await
49
+
.map_err(|e| anyhow::anyhow!(format!("{}", e)))?;
50
+
println!("Station: {:#?}", station);
51
+
Ok(())
52
+
}
53
+
54
+
async fn browse(&self, category: String) -> Result<Vec<Station>, Error> {
55
+
let stations = self
56
+
.client
57
+
.get_stations()
58
+
.tag(&category)
59
+
.limit("20")
60
+
.send()
61
+
.await
62
+
.map_err(|e| anyhow::anyhow!(format!("{}", e)))?;
63
+
let stations = stations.into_iter().map(|x| Station::from(x)).collect();
64
+
Ok(stations)
65
+
}
66
+
}
67
+
68
+
#[cfg(test)]
69
+
mod tests {
70
+
use super::*;
71
+
72
+
#[tokio::test]
73
+
pub async fn test_search() {
74
+
let provider = Radiobrowser::new().await;
75
+
let name = "alternativeradio";
76
+
let stations = provider.search(name.to_string()).await.unwrap();
77
+
assert!(stations.len() == 1)
78
+
}
79
+
80
+
#[tokio::test]
81
+
pub async fn test_get_station() {
82
+
let provider = Radiobrowser::new().await;
83
+
let name = "alternariveradio.us".to_string();
84
+
provider.get_station(name).await.unwrap();
85
+
}
86
+
87
+
#[tokio::test]
88
+
pub async fn test_browse() {
89
+
let provider = Radiobrowser::new().await;
90
+
let stations = provider.browse("music".to_string()).await.unwrap();
91
+
let stations = stations
92
+
.into_iter()
93
+
.map(|x| Station::from(x))
94
+
.collect::<Vec<Station>>();
95
+
assert!(stations.len() == 20)
96
+
}
97
+
}
+22
src/provider/tunein.rs
+22
src/provider/tunein.rs
···
1
+
use crate::types::Station;
2
+
3
+
use super::Provider;
4
+
use anyhow::Error;
5
+
use async_trait::async_trait;
6
+
7
+
pub struct Tunein {}
8
+
9
+
#[async_trait]
10
+
impl Provider for Tunein {
11
+
async fn search(&self, name: String) -> Result<Vec<Station>, Error> {
12
+
Ok(vec![])
13
+
}
14
+
15
+
async fn get_station(&self, id: String) -> Result<(), Error> {
16
+
Ok(())
17
+
}
18
+
19
+
async fn browse(&self, category: String) -> Result<Vec<Station>, Error> {
20
+
Ok(vec![])
21
+
}
22
+
}
+22
src/types.rs
+22
src/types.rs
···
1
+
use radiobrowser::ApiStation;
2
+
3
+
#[derive(Debug, Clone)]
4
+
pub struct Station {
5
+
pub id: String,
6
+
pub name: String,
7
+
pub codec: String,
8
+
pub bitrate: u32,
9
+
pub stream_url: String,
10
+
}
11
+
12
+
impl From<ApiStation> for Station {
13
+
fn from(station: ApiStation) -> Station {
14
+
Station {
15
+
id: station.stationuuid,
16
+
name: station.name,
17
+
codec: station.codec,
18
+
bitrate: station.bitrate,
19
+
stream_url: station.url_resolved,
20
+
}
21
+
}
22
+
}