Codebase list feroxbuster / upstream/2.7.1+git20220920.1.e9d283b
Import upstream version 2.7.1+git20220920.1.e9d283b Kali Janitor 1 year, 7 months ago
28 changed file(s) with 707 addition(s) and 606 deletion(s). Raw diff Collapse all Expand all
390390 "avatar_url": "https://avatars.githubusercontent.com/u/3488554?v=4",
391391 "profile": "https://twitter.com/Jhaddix",
392392 "contributions": [
393 "ideas"
393 "ideas",
394 "bug"
394395 ]
395396 },
396397 {
419420 "profile": "https://github.com/Flangyver",
420421 "contributions": [
421422 "ideas"
423 ]
424 },
425 {
426 "login": "DonatoReis",
427 "name": "PeakyBlinder",
428 "avatar_url": "https://avatars.githubusercontent.com/u/93531354?v=4",
429 "profile": "https://github.com/DonatoReis",
430 "contributions": [
431 "ideas"
432 ]
433 },
434 {
435 "login": "postmodern",
436 "name": "Postmodern",
437 "avatar_url": "https://avatars.githubusercontent.com/u/12671?v=4",
438 "profile": "https://postmodern.github.io/",
439 "contributions": [
440 "ideas"
441 ]
442 },
443 {
444 "login": "herrcykel",
445 "name": "O",
446 "avatar_url": "https://avatars.githubusercontent.com/u/1936757?v=4",
447 "profile": "https://github.com/herrcykel",
448 "contributions": [
449 "code"
422450 ]
423451 }
424452 ],
33
44 [[package]]
55 name = "aho-corasick"
6 version = "0.7.18"
7 source = "registry+https://github.com/rust-lang/crates.io-index"
8 checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
6 version = "0.7.19"
7 source = "registry+https://github.com/rust-lang/crates.io-index"
8 checksum = "b4f55bd91a0978cbfd91c457a164bab8b4001c833b7f323132c0a4e1922dd44e"
99 dependencies = [
1010 "memchr",
1111 ]
1212
1313 [[package]]
1414 name = "anyhow"
15 version = "1.0.56"
16 source = "registry+https://github.com/rust-lang/crates.io-index"
17 checksum = "4361135be9122e0870de935d7c439aef945b9f9ddd4199a553b5270b49c82a27"
15 version = "1.0.65"
16 source = "registry+https://github.com/rust-lang/crates.io-index"
17 checksum = "98161a4e3e2184da77bb14f02184cdd111e83bbbcc9979dfee3c44b9a85f5602"
1818
1919 [[package]]
2020 name = "ascii-canvas"
2727
2828 [[package]]
2929 name = "assert-json-diff"
30 version = "2.0.1"
31 source = "registry+https://github.com/rust-lang/crates.io-index"
32 checksum = "50f1c3703dd33532d7f0ca049168930e9099ecac238e23cf932f3a69c42f06da"
30 version = "2.0.2"
31 source = "registry+https://github.com/rust-lang/crates.io-index"
32 checksum = "47e4f2b81832e72834d7518d8487a0396a28cc408186a2e8854c0f98011faf12"
3333 dependencies = [
3434 "serde",
3535 "serde_json",
5151
5252 [[package]]
5353 name = "async-channel"
54 version = "1.6.1"
55 source = "registry+https://github.com/rust-lang/crates.io-index"
56 checksum = "2114d64672151c0c5eaa5e131ec84a74f06e1e559830dabba01ca30605d66319"
54 version = "1.7.1"
55 source = "registry+https://github.com/rust-lang/crates.io-index"
56 checksum = "e14485364214912d3b19cc3435dde4df66065127f05fa0d75c712f36f12c2f28"
5757 dependencies = [
5858 "concurrent-queue",
5959 "event-listener",
7676
7777 [[package]]
7878 name = "async-global-executor"
79 version = "2.0.4"
80 source = "registry+https://github.com/rust-lang/crates.io-index"
81 checksum = "c290043c9a95b05d45e952fb6383c67bcb61471f60cfa21e890dba6654234f43"
79 version = "2.3.0"
80 source = "registry+https://github.com/rust-lang/crates.io-index"
81 checksum = "0da5b41ee986eed3f524c380e6d64965aea573882a8907682ad100f7859305ca"
8282 dependencies = [
8383 "async-channel",
8484 "async-executor",
8585 "async-io",
86 "async-mutex",
86 "async-lock",
8787 "blocking",
8888 "futures-lite",
89 "num_cpus",
9089 "once_cell",
9190 ]
9291
9392 [[package]]
9493 name = "async-io"
95 version = "1.6.0"
96 source = "registry+https://github.com/rust-lang/crates.io-index"
97 checksum = "a811e6a479f2439f0c04038796b5cfb3d2ad56c230e0f2d3f7b04d68cfee607b"
98 dependencies = [
94 version = "1.9.0"
95 source = "registry+https://github.com/rust-lang/crates.io-index"
96 checksum = "83e21f3a490c72b3b0cf44962180e60045de2925d8dff97918f7ee43c8f637c7"
97 dependencies = [
98 "autocfg",
9999 "concurrent-queue",
100100 "futures-lite",
101101 "libc",
119119 ]
120120
121121 [[package]]
122 name = "async-mutex"
123 version = "1.4.0"
124 source = "registry+https://github.com/rust-lang/crates.io-index"
125 checksum = "479db852db25d9dbf6204e6cb6253698f175c15726470f78af0d918e99d6156e"
126 dependencies = [
127 "event-listener",
128 ]
129
130 [[package]]
131122 name = "async-object-pool"
132123 version = "0.1.4"
133124 source = "registry+https://github.com/rust-lang/crates.io-index"
138129
139130 [[package]]
140131 name = "async-process"
141 version = "1.3.0"
142 source = "registry+https://github.com/rust-lang/crates.io-index"
143 checksum = "83137067e3a2a6a06d67168e49e68a0957d215410473a740cea95a2425c0b7c6"
132 version = "1.5.0"
133 source = "registry+https://github.com/rust-lang/crates.io-index"
134 checksum = "02111fd8655a613c25069ea89fc8d9bb89331fa77486eb3bc059ee757cfa481c"
144135 dependencies = [
145136 "async-io",
137 "autocfg",
146138 "blocking",
147139 "cfg-if",
148140 "event-listener",
155147
156148 [[package]]
157149 name = "async-std"
158 version = "1.11.0"
159 source = "registry+https://github.com/rust-lang/crates.io-index"
160 checksum = "52580991739c5cdb36cde8b2a516371c0a3b70dda36d916cc08b82372916808c"
150 version = "1.12.0"
151 source = "registry+https://github.com/rust-lang/crates.io-index"
152 checksum = "62565bb4402e926b29953c785397c6dc0391b7b446e45008b0049eb43cec6f5d"
161153 dependencies = [
162154 "async-channel",
163155 "async-global-executor",
173165 "kv-log-macro",
174166 "log",
175167 "memchr",
176 "num_cpus",
177168 "once_cell",
178169 "pin-project-lite",
179170 "pin-utils",
183174
184175 [[package]]
185176 name = "async-task"
186 version = "4.2.0"
187 source = "registry+https://github.com/rust-lang/crates.io-index"
188 checksum = "30696a84d817107fc028e049980e09d5e140e8da8f1caeb17e8e950658a3cea9"
177 version = "4.3.0"
178 source = "registry+https://github.com/rust-lang/crates.io-index"
179 checksum = "7a40729d2133846d9ed0ea60a8b9541bccddab49cd30f0715a1da672fe9a2524"
189180
190181 [[package]]
191182 name = "async-trait"
192 version = "0.1.53"
193 source = "registry+https://github.com/rust-lang/crates.io-index"
194 checksum = "ed6aa3524a2dfcf9fe180c51eae2b58738348d819517ceadf95789c51fff7600"
183 version = "0.1.57"
184 source = "registry+https://github.com/rust-lang/crates.io-index"
185 checksum = "76464446b8bc32758d7e88ee1a804d9914cd9b1cb264c029899680b0be29826f"
195186 dependencies = [
196187 "proc-macro2",
197188 "quote",
240231
241232 [[package]]
242233 name = "bit-set"
243 version = "0.5.2"
244 source = "registry+https://github.com/rust-lang/crates.io-index"
245 checksum = "6e11e16035ea35e4e5997b393eacbf6f63983188f7a2ad25bfb13465f5ad59de"
234 version = "0.5.3"
235 source = "registry+https://github.com/rust-lang/crates.io-index"
236 checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1"
246237 dependencies = [
247238 "bit-vec",
248239 ]
286277
287278 [[package]]
288279 name = "bumpalo"
289 version = "3.9.1"
290 source = "registry+https://github.com/rust-lang/crates.io-index"
291 checksum = "a4a45a46ab1f2412e53d3a0ade76ffad2025804294569aae387231a0cd6e0899"
280 version = "3.11.0"
281 source = "registry+https://github.com/rust-lang/crates.io-index"
282 checksum = "c1ad822118d20d2c234f427000d5acc36eabe1e29a348c89b63dd60b13f28e5d"
292283
293284 [[package]]
294285 name = "byteorder"
298289
299290 [[package]]
300291 name = "bytes"
301 version = "1.1.0"
302 source = "registry+https://github.com/rust-lang/crates.io-index"
303 checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8"
292 version = "1.2.1"
293 source = "registry+https://github.com/rust-lang/crates.io-index"
294 checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db"
304295
305296 [[package]]
306297 name = "cache-padded"
328319
329320 [[package]]
330321 name = "clap"
331 version = "3.1.8"
332 source = "registry+https://github.com/rust-lang/crates.io-index"
333 checksum = "71c47df61d9e16dc010b55dba1952a57d8c215dbb533fd13cdd13369aac73b1c"
322 version = "3.2.22"
323 source = "registry+https://github.com/rust-lang/crates.io-index"
324 checksum = "86447ad904c7fb335a790c9d7fe3d0d971dc523b8ccd1561a520de9a85302750"
334325 dependencies = [
335326 "atty",
336327 "bitflags",
328 "clap_lex",
337329 "indexmap",
338 "lazy_static",
339 "os_str_bytes",
330 "once_cell",
340331 "strsim",
341332 "termcolor",
342 "terminal_size",
333 "terminal_size 0.2.1",
343334 "textwrap",
344335 ]
345336
346337 [[package]]
347338 name = "clap_complete"
348 version = "3.1.1"
349 source = "registry+https://github.com/rust-lang/crates.io-index"
350 checksum = "df6f3613c0a3cddfd78b41b10203eb322cb29b600cbdf808a7d3db95691b8e25"
339 version = "3.2.5"
340 source = "registry+https://github.com/rust-lang/crates.io-index"
341 checksum = "3f7a2e0a962c45ce25afce14220bc24f9dade0a1787f185cecf96bfba7847cd8"
351342 dependencies = [
352343 "clap",
353344 ]
354345
355346 [[package]]
347 name = "clap_lex"
348 version = "0.2.4"
349 source = "registry+https://github.com/rust-lang/crates.io-index"
350 checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
351 dependencies = [
352 "os_str_bytes",
353 ]
354
355 [[package]]
356356 name = "concurrent-queue"
357 version = "1.2.2"
358 source = "registry+https://github.com/rust-lang/crates.io-index"
359 checksum = "30ed07550be01594c6026cff2a1d7fe9c8f683caa798e12b68694ac9e88286a3"
357 version = "1.2.4"
358 source = "registry+https://github.com/rust-lang/crates.io-index"
359 checksum = "af4780a44ab5696ea9e28294517f1fffb421a83a25af521333c838635509db9c"
360360 dependencies = [
361361 "cache-padded",
362362 ]
363363
364364 [[package]]
365365 name = "console"
366 version = "0.15.0"
367 source = "registry+https://github.com/rust-lang/crates.io-index"
368 checksum = "a28b32d32ca44b70c3e4acd7db1babf555fa026e385fb95f18028f88848b3c31"
366 version = "0.15.1"
367 source = "registry+https://github.com/rust-lang/crates.io-index"
368 checksum = "89eab4d20ce20cea182308bca13088fecea9c05f6776cf287205d41a0ed3c847"
369369 dependencies = [
370370 "encode_unicode",
371371 "libc",
372372 "once_cell",
373 "regex",
374 "terminal_size",
373 "terminal_size 0.1.17",
375374 "unicode-width",
376375 "winapi",
377376 ]
400399
401400 [[package]]
402401 name = "crossbeam-utils"
403 version = "0.8.8"
404 source = "registry+https://github.com/rust-lang/crates.io-index"
405 checksum = "0bf124c720b7686e3c2663cf54062ab0f68a88af2fb6a030e87e30bf721fcb38"
402 version = "0.8.11"
403 source = "registry+https://github.com/rust-lang/crates.io-index"
404 checksum = "51887d4adc7b564537b15adcfb307936f8075dfcd5f00dde9a9f1d29383682bc"
406405 dependencies = [
407406 "cfg-if",
408 "lazy_static",
407 "once_cell",
409408 ]
410409
411410 [[package]]
412411 name = "crossterm"
413 version = "0.23.2"
414 source = "registry+https://github.com/rust-lang/crates.io-index"
415 checksum = "a2102ea4f781910f8a5b98dd061f4c2023f479ce7bb1236330099ceb5a93cf17"
412 version = "0.25.0"
413 source = "registry+https://github.com/rust-lang/crates.io-index"
414 checksum = "e64e6c0fbe2c17357405f7c758c1ef960fce08bdfb2c03d88d2a18d7e09c4b67"
416415 dependencies = [
417416 "bitflags",
418417 "crossterm_winapi",
449448 "dtoa-short",
450449 "itoa 0.4.8",
451450 "matches",
452 "phf",
451 "phf 0.8.0",
453452 "proc-macro2",
454453 "quote",
455454 "smallvec",
468467
469468 [[package]]
470469 name = "ctor"
471 version = "0.1.22"
472 source = "registry+https://github.com/rust-lang/crates.io-index"
473 checksum = "f877be4f7c9f246b183111634f75baa039715e3f46ce860677d3b19a69fb229c"
470 version = "0.1.23"
471 source = "registry+https://github.com/rust-lang/crates.io-index"
472 checksum = "cdffe87e1d521a10f9696f833fe502293ea446d7f256c06128293a4119bdf4cb"
474473 dependencies = [
475474 "quote",
476475 "syn",
478477
479478 [[package]]
480479 name = "ctrlc"
481 version = "3.2.1"
482 source = "registry+https://github.com/rust-lang/crates.io-index"
483 checksum = "a19c6cedffdc8c03a3346d723eb20bd85a13362bb96dc2ac000842c6381ec7bf"
480 version = "3.2.3"
481 source = "registry+https://github.com/rust-lang/crates.io-index"
482 checksum = "1d91974fbbe88ec1df0c24a4f00f99583667a7e2e6272b2b92d294d81e462173"
484483 dependencies = [
485484 "nix",
486485 "winapi",
488487
489488 [[package]]
490489 name = "curl"
491 version = "0.4.43"
492 source = "registry+https://github.com/rust-lang/crates.io-index"
493 checksum = "37d855aeef205b43f65a5001e0997d81f8efca7badad4fad7d897aa7f0d0651f"
490 version = "0.4.44"
491 source = "registry+https://github.com/rust-lang/crates.io-index"
492 checksum = "509bd11746c7ac09ebd19f0b17782eae80aadee26237658a6b4808afb5c11a22"
494493 dependencies = [
495494 "curl-sys",
496495 "libc",
503502
504503 [[package]]
505504 name = "curl-sys"
506 version = "0.4.53+curl-7.82.0"
507 source = "registry+https://github.com/rust-lang/crates.io-index"
508 checksum = "8092905a5a9502c312f223b2775f57ec5c5b715f9a15ee9d2a8591d1364a0352"
505 version = "0.4.56+curl-7.83.1"
506 source = "registry+https://github.com/rust-lang/crates.io-index"
507 checksum = "6093e169dd4de29e468fa649fbae11cdcd5551c81fe5bf1b0677adad7ef3d26f"
509508 dependencies = [
510509 "cc",
511510 "libc",
532531
533532 [[package]]
534533 name = "diff"
535 version = "0.1.12"
536 source = "registry+https://github.com/rust-lang/crates.io-index"
537 checksum = "0e25ea47919b1560c4e3b7fe0aaab9becf5b84a10325ddf7db0f0ba5e1026499"
534 version = "0.1.13"
535 source = "registry+https://github.com/rust-lang/crates.io-index"
536 checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8"
538537
539538 [[package]]
540539 name = "difflib"
612611
613612 [[package]]
614613 name = "either"
615 version = "1.6.1"
616 source = "registry+https://github.com/rust-lang/crates.io-index"
617 checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
614 version = "1.8.0"
615 source = "registry+https://github.com/rust-lang/crates.io-index"
616 checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797"
618617
619618 [[package]]
620619 name = "ena"
642641
643642 [[package]]
644643 name = "env_logger"
645 version = "0.9.0"
646 source = "registry+https://github.com/rust-lang/crates.io-index"
647 checksum = "0b2cf0344971ee6c64c31be0d530793fba457d322dfec2810c453d0ef228f9c3"
644 version = "0.9.1"
645 source = "registry+https://github.com/rust-lang/crates.io-index"
646 checksum = "c90bf5f19754d10198ccb95b70664fc925bd1fc090a0fd9a6ebc54acc8cd6272"
648647 dependencies = [
649648 "atty",
650649 "humantime",
654653 ]
655654
656655 [[package]]
656 name = "errno"
657 version = "0.2.8"
658 source = "registry+https://github.com/rust-lang/crates.io-index"
659 checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1"
660 dependencies = [
661 "errno-dragonfly",
662 "libc",
663 "winapi",
664 ]
665
666 [[package]]
667 name = "errno-dragonfly"
668 version = "0.1.2"
669 source = "registry+https://github.com/rust-lang/crates.io-index"
670 checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
671 dependencies = [
672 "cc",
673 "libc",
674 ]
675
676 [[package]]
657677 name = "event-listener"
658 version = "2.5.2"
659 source = "registry+https://github.com/rust-lang/crates.io-index"
660 checksum = "77f3309417938f28bf8228fcff79a4a37103981e3e186d2ccd19c74b38f4eb71"
678 version = "2.5.3"
679 source = "registry+https://github.com/rust-lang/crates.io-index"
680 checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
661681
662682 [[package]]
663683 name = "fastrand"
664 version = "1.7.0"
665 source = "registry+https://github.com/rust-lang/crates.io-index"
666 checksum = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf"
684 version = "1.8.0"
685 source = "registry+https://github.com/rust-lang/crates.io-index"
686 checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499"
667687 dependencies = [
668688 "instant",
669689 ]
670690
671691 [[package]]
672692 name = "feroxbuster"
673 version = "2.7.0"
693 version = "2.7.1"
674694 dependencies = [
675695 "anyhow",
676696 "assert_cmd",
707727
708728 [[package]]
709729 name = "fixedbitset"
710 version = "0.2.0"
711 source = "registry+https://github.com/rust-lang/crates.io-index"
712 checksum = "37ab347416e802de484e4d03c7316c48f1ecb56574dfd4a46a80f173ce1de04d"
730 version = "0.4.2"
731 source = "registry+https://github.com/rust-lang/crates.io-index"
732 checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80"
713733
714734 [[package]]
715735 name = "float-cmp"
743763
744764 [[package]]
745765 name = "form_urlencoded"
746 version = "1.0.1"
747 source = "registry+https://github.com/rust-lang/crates.io-index"
748 checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191"
749 dependencies = [
750 "matches",
766 version = "1.1.0"
767 source = "registry+https://github.com/rust-lang/crates.io-index"
768 checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
769 dependencies = [
751770 "percent-encoding",
752771 ]
753772
763782
764783 [[package]]
765784 name = "futures"
766 version = "0.3.21"
767 source = "registry+https://github.com/rust-lang/crates.io-index"
768 checksum = "f73fe65f54d1e12b726f517d3e2135ca3125a437b6d998caf1962961f7172d9e"
785 version = "0.3.24"
786 source = "registry+https://github.com/rust-lang/crates.io-index"
787 checksum = "7f21eda599937fba36daeb58a22e8f5cee2d14c4a17b5b7739c7c8e5e3b8230c"
769788 dependencies = [
770789 "futures-channel",
771790 "futures-core",
778797
779798 [[package]]
780799 name = "futures-channel"
781 version = "0.3.21"
782 source = "registry+https://github.com/rust-lang/crates.io-index"
783 checksum = "c3083ce4b914124575708913bca19bfe887522d6e2e6d0952943f5eac4a74010"
800 version = "0.3.24"
801 source = "registry+https://github.com/rust-lang/crates.io-index"
802 checksum = "30bdd20c28fadd505d0fd6712cdfcb0d4b5648baf45faef7f852afb2399bb050"
784803 dependencies = [
785804 "futures-core",
786805 "futures-sink",
788807
789808 [[package]]
790809 name = "futures-core"
791 version = "0.3.21"
792 source = "registry+https://github.com/rust-lang/crates.io-index"
793 checksum = "0c09fd04b7e4073ac7156a9539b57a484a8ea920f79c7c675d05d289ab6110d3"
810 version = "0.3.24"
811 source = "registry+https://github.com/rust-lang/crates.io-index"
812 checksum = "4e5aa3de05362c3fb88de6531e6296e85cde7739cccad4b9dfeeb7f6ebce56bf"
794813
795814 [[package]]
796815 name = "futures-executor"
797 version = "0.3.21"
798 source = "registry+https://github.com/rust-lang/crates.io-index"
799 checksum = "9420b90cfa29e327d0429f19be13e7ddb68fa1cccb09d65e5706b8c7a749b8a6"
816 version = "0.3.24"
817 source = "registry+https://github.com/rust-lang/crates.io-index"
818 checksum = "9ff63c23854bee61b6e9cd331d523909f238fc7636290b96826e9cfa5faa00ab"
800819 dependencies = [
801820 "futures-core",
802821 "futures-task",
805824
806825 [[package]]
807826 name = "futures-io"
808 version = "0.3.21"
809 source = "registry+https://github.com/rust-lang/crates.io-index"
810 checksum = "fc4045962a5a5e935ee2fdedaa4e08284547402885ab326734432bed5d12966b"
827 version = "0.3.24"
828 source = "registry+https://github.com/rust-lang/crates.io-index"
829 checksum = "bbf4d2a7a308fd4578637c0b17c7e1c7ba127b8f6ba00b29f717e9655d85eb68"
811830
812831 [[package]]
813832 name = "futures-lite"
826845
827846 [[package]]
828847 name = "futures-macro"
829 version = "0.3.21"
830 source = "registry+https://github.com/rust-lang/crates.io-index"
831 checksum = "33c1e13800337f4d4d7a316bf45a567dbcb6ffe087f16424852d97e97a91f512"
848 version = "0.3.24"
849 source = "registry+https://github.com/rust-lang/crates.io-index"
850 checksum = "42cd15d1c7456c04dbdf7e88bcd69760d74f3a798d6444e16974b505b0e62f17"
832851 dependencies = [
833852 "proc-macro2",
834853 "quote",
837856
838857 [[package]]
839858 name = "futures-sink"
840 version = "0.3.21"
841 source = "registry+https://github.com/rust-lang/crates.io-index"
842 checksum = "21163e139fa306126e6eedaf49ecdb4588f939600f0b1e770f4205ee4b7fa868"
859 version = "0.3.24"
860 source = "registry+https://github.com/rust-lang/crates.io-index"
861 checksum = "21b20ba5a92e727ba30e72834706623d94ac93a725410b6a6b6fbc1b07f7ba56"
843862
844863 [[package]]
845864 name = "futures-task"
846 version = "0.3.21"
847 source = "registry+https://github.com/rust-lang/crates.io-index"
848 checksum = "57c66a976bf5909d801bbef33416c41372779507e7a6b3a5e25e4749c58f776a"
865 version = "0.3.24"
866 source = "registry+https://github.com/rust-lang/crates.io-index"
867 checksum = "a6508c467c73851293f390476d4491cf4d227dbabcd4170f3bb6044959b294f1"
849868
850869 [[package]]
851870 name = "futures-util"
852 version = "0.3.21"
853 source = "registry+https://github.com/rust-lang/crates.io-index"
854 checksum = "d8b7abd5d659d9b90c8cba917f6ec750a74e2dc23902ef9cd4cc8c8b22e6036a"
871 version = "0.3.24"
872 source = "registry+https://github.com/rust-lang/crates.io-index"
873 checksum = "44fb6cb1be61cc1d2e43b262516aafcf63b241cffdb1d3fa115f91d9c7b09c90"
855874 dependencies = [
856875 "futures-channel",
857876 "futures-core",
902921
903922 [[package]]
904923 name = "getrandom"
905 version = "0.2.6"
906 source = "registry+https://github.com/rust-lang/crates.io-index"
907 checksum = "9be70c98951c83b8d2f8f60d7065fa6d5146873094452a1008da8c2f1e4205ad"
924 version = "0.2.7"
925 source = "registry+https://github.com/rust-lang/crates.io-index"
926 checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6"
908927 dependencies = [
909928 "cfg-if",
910929 "libc",
911 "wasi 0.10.2+wasi-snapshot-preview1",
930 "wasi 0.11.0+wasi-snapshot-preview1",
912931 ]
913932
914933 [[package]]
915934 name = "gloo-timers"
916 version = "0.2.3"
917 source = "registry+https://github.com/rust-lang/crates.io-index"
918 checksum = "4d12a7f4e95cfe710f1d624fb1210b7d961a5fb05c4fd942f4feab06e61f590e"
935 version = "0.2.4"
936 source = "registry+https://github.com/rust-lang/crates.io-index"
937 checksum = "5fb7d06c1c8cc2a29bee7ec961009a0b2caa0793ee4900c2ffb348734ba1c8f9"
919938 dependencies = [
920939 "futures-channel",
921940 "futures-core",
925944
926945 [[package]]
927946 name = "h2"
928 version = "0.3.13"
929 source = "registry+https://github.com/rust-lang/crates.io-index"
930 checksum = "37a82c6d637fc9515a4694bbf1cb2457b79d81ce52b3108bdeea58b07dd34a57"
947 version = "0.3.14"
948 source = "registry+https://github.com/rust-lang/crates.io-index"
949 checksum = "5ca32592cf21ac7ccab1825cd87f6c9b3d9022c44d086172ed0966bec8af30be"
931950 dependencies = [
932951 "bytes",
933952 "fnv",
944963
945964 [[package]]
946965 name = "hashbrown"
947 version = "0.11.2"
948 source = "registry+https://github.com/rust-lang/crates.io-index"
949 checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e"
966 version = "0.12.3"
967 source = "registry+https://github.com/rust-lang/crates.io-index"
968 checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
950969
951970 [[package]]
952971 name = "hermit-abi"
959978
960979 [[package]]
961980 name = "html5ever"
962 version = "0.25.2"
963 source = "registry+https://github.com/rust-lang/crates.io-index"
964 checksum = "e5c13fb08e5d4dfc151ee5e88bae63f7773d61852f3bdc73c9f4b9e1bde03148"
981 version = "0.26.0"
982 source = "registry+https://github.com/rust-lang/crates.io-index"
983 checksum = "bea68cab48b8459f17cf1c944c67ddc572d272d9f2b274140f223ecb1da4a3b7"
965984 dependencies = [
966985 "log",
967986 "mac",
973992
974993 [[package]]
975994 name = "http"
976 version = "0.2.6"
977 source = "registry+https://github.com/rust-lang/crates.io-index"
978 checksum = "31f4c6746584866f0feabcc69893c5b51beef3831656a968ed7ae254cdc4fd03"
995 version = "0.2.8"
996 source = "registry+https://github.com/rust-lang/crates.io-index"
997 checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399"
979998 dependencies = [
980999 "bytes",
9811000 "fnv",
982 "itoa 1.0.1",
1001 "itoa 1.0.3",
9831002 ]
9841003
9851004 [[package]]
9861005 name = "http-body"
987 version = "0.4.4"
988 source = "registry+https://github.com/rust-lang/crates.io-index"
989 checksum = "1ff4f84919677303da5f147645dbea6b1881f368d03ac84e1dc09031ebd7b2c6"
1006 version = "0.4.5"
1007 source = "registry+https://github.com/rust-lang/crates.io-index"
1008 checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
9901009 dependencies = [
9911010 "bytes",
9921011 "http",
9951014
9961015 [[package]]
9971016 name = "httparse"
998 version = "1.6.0"
999 source = "registry+https://github.com/rust-lang/crates.io-index"
1000 checksum = "9100414882e15fb7feccb4897e5f0ff0ff1ca7d1a86a23208ada4d7a18e6c6c4"
1017 version = "1.8.0"
1018 source = "registry+https://github.com/rust-lang/crates.io-index"
1019 checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
10011020
10021021 [[package]]
10031022 name = "httpdate"
10411060
10421061 [[package]]
10431062 name = "hyper"
1044 version = "0.14.18"
1045 source = "registry+https://github.com/rust-lang/crates.io-index"
1046 checksum = "b26ae0a80afebe130861d90abf98e3814a4f28a4c6ffeb5ab8ebb2be311e0ef2"
1063 version = "0.14.20"
1064 source = "registry+https://github.com/rust-lang/crates.io-index"
1065 checksum = "02c929dc5c39e335a03c405292728118860721b10190d98c2a0f0efd5baafbac"
10471066 dependencies = [
10481067 "bytes",
10491068 "futures-channel",
10541073 "http-body",
10551074 "httparse",
10561075 "httpdate",
1057 "itoa 1.0.1",
1076 "itoa 1.0.3",
10581077 "pin-project-lite",
10591078 "socket2",
10601079 "tokio",
10781097
10791098 [[package]]
10801099 name = "idna"
1081 version = "0.2.3"
1082 source = "registry+https://github.com/rust-lang/crates.io-index"
1083 checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8"
1084 dependencies = [
1085 "matches",
1100 version = "0.3.0"
1101 source = "registry+https://github.com/rust-lang/crates.io-index"
1102 checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
1103 dependencies = [
10861104 "unicode-bidi",
10871105 "unicode-normalization",
10881106 ]
10891107
10901108 [[package]]
10911109 name = "indexmap"
1092 version = "1.8.1"
1093 source = "registry+https://github.com/rust-lang/crates.io-index"
1094 checksum = "0f647032dfaa1f8b6dc29bd3edb7bbef4861b8b8007ebb118d6db284fd59f6ee"
1110 version = "1.9.1"
1111 source = "registry+https://github.com/rust-lang/crates.io-index"
1112 checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e"
10951113 dependencies = [
10961114 "autocfg",
10971115 "hashbrown",
11191137 ]
11201138
11211139 [[package]]
1140 name = "io-lifetimes"
1141 version = "0.7.3"
1142 source = "registry+https://github.com/rust-lang/crates.io-index"
1143 checksum = "1ea37f355c05dde75b84bba2d767906ad522e97cd9e2eef2be7a4ab7fb442c06"
1144
1145 [[package]]
11221146 name = "ipnet"
1123 version = "2.4.0"
1124 source = "registry+https://github.com/rust-lang/crates.io-index"
1125 checksum = "35e70ee094dc02fd9c13fdad4940090f22dbd6ac7c9e7094a46cf0232a50bc7c"
1147 version = "2.5.0"
1148 source = "registry+https://github.com/rust-lang/crates.io-index"
1149 checksum = "879d54834c8c76457ef4293a689b2a8c59b076067ad77b15efafbb05f92a592b"
11261150
11271151 [[package]]
11281152 name = "isahc"
1129 version = "1.7.0"
1130 source = "registry+https://github.com/rust-lang/crates.io-index"
1131 checksum = "437f8808009c031df3c1d532c8fd7e3d73239dfe522ebf0b94b5e34d5d01044b"
1153 version = "1.7.2"
1154 source = "registry+https://github.com/rust-lang/crates.io-index"
1155 checksum = "334e04b4d781f436dc315cb1e7515bd96826426345d498149e4bde36b67f8ee9"
11321156 dependencies = [
11331157 "async-channel",
11341158 "castaway",
11531177
11541178 [[package]]
11551179 name = "itertools"
1156 version = "0.10.3"
1157 source = "registry+https://github.com/rust-lang/crates.io-index"
1158 checksum = "a9a9d19fa1e79b6215ff29b9d6880b706147f16e9b1dbb1e4e5947b5b02bc5e3"
1180 version = "0.10.4"
1181 source = "registry+https://github.com/rust-lang/crates.io-index"
1182 checksum = "d8bf247779e67a9082a4790b45e71ac7cfd1321331a5c856a74a9faebdab78d0"
11591183 dependencies = [
11601184 "either",
11611185 ]
11681192
11691193 [[package]]
11701194 name = "itoa"
1171 version = "1.0.1"
1172 source = "registry+https://github.com/rust-lang/crates.io-index"
1173 checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35"
1195 version = "1.0.3"
1196 source = "registry+https://github.com/rust-lang/crates.io-index"
1197 checksum = "6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754"
11741198
11751199 [[package]]
11761200 name = "js-sys"
1177 version = "0.3.56"
1178 source = "registry+https://github.com/rust-lang/crates.io-index"
1179 checksum = "a38fc24e30fd564ce974c02bf1d337caddff65be6cc4735a1f7eab22a7440f04"
1201 version = "0.3.60"
1202 source = "registry+https://github.com/rust-lang/crates.io-index"
1203 checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47"
11801204 dependencies = [
11811205 "wasm-bindgen",
11821206 ]
11921216
11931217 [[package]]
11941218 name = "lalrpop"
1195 version = "0.19.7"
1196 source = "registry+https://github.com/rust-lang/crates.io-index"
1197 checksum = "852b75a095da6b69da8c5557731c3afd06525d4f655a4fc1c799e2ec8bc4dce4"
1219 version = "0.19.8"
1220 source = "registry+https://github.com/rust-lang/crates.io-index"
1221 checksum = "b30455341b0e18f276fa64540aff54deafb54c589de6aca68659c63dd2d5d823"
11981222 dependencies = [
11991223 "ascii-canvas",
12001224 "atty",
12151239
12161240 [[package]]
12171241 name = "lalrpop-util"
1218 version = "0.19.7"
1219 source = "registry+https://github.com/rust-lang/crates.io-index"
1220 checksum = "d6d265705249fe209280676d8f68887859fa42e1d34f342fc05bd47726a5e188"
1242 version = "0.19.8"
1243 source = "registry+https://github.com/rust-lang/crates.io-index"
1244 checksum = "bcf796c978e9b4d983414f4caedc9273aa33ee214c5b887bd55fde84c85d2dc4"
12211245 dependencies = [
12221246 "regex",
12231247 ]
12301254
12311255 [[package]]
12321256 name = "leaky-bucket"
1233 version = "0.10.0"
1234 source = "registry+https://github.com/rust-lang/crates.io-index"
1235 checksum = "152656838516227a1aeeafa54e6c5997f5dbeb625d2ed01e0732b97bbca4574e"
1236 dependencies = [
1237 "futures-util",
1238 "lazy_static",
1239 "log",
1240 "thiserror",
1257 version = "0.12.1"
1258 source = "registry+https://github.com/rust-lang/crates.io-index"
1259 checksum = "28d6c39b1cdaa514a898cd9cfcfbdb03a220264fb9ee08931495291cdda3fe7e"
1260 dependencies = [
1261 "parking_lot",
12411262 "tokio",
1242 "tokio-stream",
1263 "tracing",
12431264 ]
12441265
12451266 [[package]]
12501271
12511272 [[package]]
12521273 name = "libc"
1253 version = "0.2.122"
1254 source = "registry+https://github.com/rust-lang/crates.io-index"
1255 checksum = "ec647867e2bf0772e28c8bcde4f0d19a9216916e890543b5a03ed8ef27b8f259"
1274 version = "0.2.132"
1275 source = "registry+https://github.com/rust-lang/crates.io-index"
1276 checksum = "8371e4e5341c3a96db127eb2465ac681ced4c433e01dd0e938adbef26ba93ba5"
12561277
12571278 [[package]]
12581279 name = "libnghttp2-sys"
12661287
12671288 [[package]]
12681289 name = "libz-sys"
1269 version = "1.1.5"
1270 source = "registry+https://github.com/rust-lang/crates.io-index"
1271 checksum = "6f35facd4a5673cb5a48822be2be1d4236c1c99cb4113cab7061ac720d5bf859"
1290 version = "1.1.8"
1291 source = "registry+https://github.com/rust-lang/crates.io-index"
1292 checksum = "9702761c3935f8cc2f101793272e202c72b99da8f4224a19ddcf1279a6450bbf"
12721293 dependencies = [
12731294 "cc",
12741295 "libc",
12771298 ]
12781299
12791300 [[package]]
1301 name = "linux-raw-sys"
1302 version = "0.0.46"
1303 source = "registry+https://github.com/rust-lang/crates.io-index"
1304 checksum = "d4d2456c373231a208ad294c33dc5bff30051eafd954cd4caae83a712b12854d"
1305
1306 [[package]]
12801307 name = "lock_api"
1281 version = "0.4.7"
1282 source = "registry+https://github.com/rust-lang/crates.io-index"
1283 checksum = "327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53"
1308 version = "0.4.8"
1309 source = "registry+https://github.com/rust-lang/crates.io-index"
1310 checksum = "9f80bf5aacaf25cbfc8210d1cfb718f2bf3b11c4c54e5afe36c236853a8ec390"
12841311 dependencies = [
12851312 "autocfg",
12861313 "scopeguard",
12881315
12891316 [[package]]
12901317 name = "log"
1291 version = "0.4.16"
1292 source = "registry+https://github.com/rust-lang/crates.io-index"
1293 checksum = "6389c490849ff5bc16be905ae24bc913a9c8892e19b2341dbc175e14c341c2b8"
1318 version = "0.4.17"
1319 source = "registry+https://github.com/rust-lang/crates.io-index"
1320 checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
12941321 dependencies = [
12951322 "cfg-if",
12961323 "value-bag",
13041331
13051332 [[package]]
13061333 name = "markup5ever"
1307 version = "0.10.1"
1308 source = "registry+https://github.com/rust-lang/crates.io-index"
1309 checksum = "a24f40fb03852d1cdd84330cddcaf98e9ec08a7b7768e952fad3b4cf048ec8fd"
1334 version = "0.11.0"
1335 source = "registry+https://github.com/rust-lang/crates.io-index"
1336 checksum = "7a2629bb1404f3d34c2e921f21fd34ba00b206124c81f65c50b43b6aaefeb016"
13101337 dependencies = [
13111338 "log",
1312 "phf",
1313 "phf_codegen",
1339 "phf 0.10.1",
1340 "phf_codegen 0.10.0",
13141341 "string_cache",
13151342 "string_cache_codegen",
13161343 "tendril",
13241351
13251352 [[package]]
13261353 name = "memchr"
1327 version = "2.4.1"
1328 source = "registry+https://github.com/rust-lang/crates.io-index"
1329 checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a"
1330
1331 [[package]]
1332 name = "memoffset"
1333 version = "0.6.5"
1334 source = "registry+https://github.com/rust-lang/crates.io-index"
1335 checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
1336 dependencies = [
1337 "autocfg",
1338 ]
1354 version = "2.5.0"
1355 source = "registry+https://github.com/rust-lang/crates.io-index"
1356 checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
13391357
13401358 [[package]]
13411359 name = "mime"
13451363
13461364 [[package]]
13471365 name = "mio"
1348 version = "0.8.2"
1349 source = "registry+https://github.com/rust-lang/crates.io-index"
1350 checksum = "52da4364ffb0e4fe33a9841a98a3f3014fb964045ce4f7a45a398243c8d6b0c9"
1366 version = "0.8.4"
1367 source = "registry+https://github.com/rust-lang/crates.io-index"
1368 checksum = "57ee1c23c7c63b0c9250c339ffdc69255f110b298b901b9f6c82547b7b87caaf"
13511369 dependencies = [
13521370 "libc",
13531371 "log",
1354 "miow",
1355 "ntapi",
13561372 "wasi 0.11.0+wasi-snapshot-preview1",
1357 "winapi",
1358 ]
1359
1360 [[package]]
1361 name = "miow"
1362 version = "0.3.7"
1363 source = "registry+https://github.com/rust-lang/crates.io-index"
1364 checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21"
1365 dependencies = [
1366 "winapi",
1373 "windows-sys",
13671374 ]
13681375
13691376 [[package]]
13921399
13931400 [[package]]
13941401 name = "nix"
1395 version = "0.23.1"
1396 source = "registry+https://github.com/rust-lang/crates.io-index"
1397 checksum = "9f866317acbd3a240710c63f065ffb1e4fd466259045ccb504130b7f668f35c6"
1398 dependencies = [
1402 version = "0.25.0"
1403 source = "registry+https://github.com/rust-lang/crates.io-index"
1404 checksum = "e322c04a9e3440c327fca7b6c8a63e6890a32fa2ad689db972425f07e0d22abb"
1405 dependencies = [
1406 "autocfg",
13991407 "bitflags",
1400 "cc",
14011408 "cfg-if",
14021409 "libc",
1403 "memoffset",
14041410 ]
14051411
14061412 [[package]]
14161422 checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be"
14171423
14181424 [[package]]
1419 name = "ntapi"
1420 version = "0.3.7"
1421 source = "registry+https://github.com/rust-lang/crates.io-index"
1422 checksum = "c28774a7fd2fbb4f0babd8237ce554b73af68021b5f695a3cebd6c59bac0980f"
1423 dependencies = [
1424 "winapi",
1425 ]
1426
1427 [[package]]
14281425 name = "num-traits"
1429 version = "0.2.14"
1430 source = "registry+https://github.com/rust-lang/crates.io-index"
1431 checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290"
1426 version = "0.2.15"
1427 source = "registry+https://github.com/rust-lang/crates.io-index"
1428 checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
14321429 dependencies = [
14331430 "autocfg",
14341431 ]
14511448
14521449 [[package]]
14531450 name = "once_cell"
1454 version = "1.10.0"
1455 source = "registry+https://github.com/rust-lang/crates.io-index"
1456 checksum = "87f3e037eac156d1775da914196f0f37741a274155e34a0b7e427c35d2a2ecb9"
1451 version = "1.14.0"
1452 source = "registry+https://github.com/rust-lang/crates.io-index"
1453 checksum = "2f7254b99e31cad77da24b08ebf628882739a608578bb1bcdfc1f9c21260d7c0"
14571454
14581455 [[package]]
14591456 name = "openssl"
1460 version = "0.10.38"
1461 source = "registry+https://github.com/rust-lang/crates.io-index"
1462 checksum = "0c7ae222234c30df141154f159066c5093ff73b63204dcda7121eb082fc56a95"
1457 version = "0.10.41"
1458 source = "registry+https://github.com/rust-lang/crates.io-index"
1459 checksum = "618febf65336490dfcf20b73f885f5651a0c89c64c2d4a8c3662585a70bf5bd0"
14631460 dependencies = [
14641461 "bitflags",
14651462 "cfg-if",
14661463 "foreign-types",
14671464 "libc",
14681465 "once_cell",
1466 "openssl-macros",
14691467 "openssl-sys",
1468 ]
1469
1470 [[package]]
1471 name = "openssl-macros"
1472 version = "0.1.0"
1473 source = "registry+https://github.com/rust-lang/crates.io-index"
1474 checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c"
1475 dependencies = [
1476 "proc-macro2",
1477 "quote",
1478 "syn",
14701479 ]
14711480
14721481 [[package]]
14771486
14781487 [[package]]
14791488 name = "openssl-src"
1480 version = "111.18.0+1.1.1n"
1481 source = "registry+https://github.com/rust-lang/crates.io-index"
1482 checksum = "7897a926e1e8d00219127dc020130eca4292e5ca666dd592480d72c3eca2ff6c"
1489 version = "111.22.0+1.1.1q"
1490 source = "registry+https://github.com/rust-lang/crates.io-index"
1491 checksum = "8f31f0d509d1c1ae9cada2f9539ff8f37933831fd5098879e482aa687d659853"
14831492 dependencies = [
14841493 "cc",
14851494 ]
14861495
14871496 [[package]]
14881497 name = "openssl-sys"
1489 version = "0.9.72"
1490 source = "registry+https://github.com/rust-lang/crates.io-index"
1491 checksum = "7e46109c383602735fa0a2e48dd2b7c892b048e1bf69e5c3b1d804b7d9c203cb"
1498 version = "0.9.75"
1499 source = "registry+https://github.com/rust-lang/crates.io-index"
1500 checksum = "e5f9bd0c2710541a3cda73d6f9ac4f1b240de4ae261065d309dbe73d9dceb42f"
14921501 dependencies = [
14931502 "autocfg",
14941503 "cc",
15001509
15011510 [[package]]
15021511 name = "os_str_bytes"
1503 version = "6.0.0"
1504 source = "registry+https://github.com/rust-lang/crates.io-index"
1505 checksum = "8e22443d1643a904602595ba1cd8f7d896afe56d26712531c5ff73a15b2fbf64"
1506 dependencies = [
1507 "memchr",
1508 ]
1512 version = "6.3.0"
1513 source = "registry+https://github.com/rust-lang/crates.io-index"
1514 checksum = "9ff7415e9ae3fff1225851df9e0d9e4e5479f947619774677a63572e55e80eff"
15091515
15101516 [[package]]
15111517 name = "parking"
15151521
15161522 [[package]]
15171523 name = "parking_lot"
1518 version = "0.12.0"
1519 source = "registry+https://github.com/rust-lang/crates.io-index"
1520 checksum = "87f5ec2493a61ac0506c0f4199f99070cbe83857b0337006a30f3e6719b8ef58"
1524 version = "0.12.1"
1525 source = "registry+https://github.com/rust-lang/crates.io-index"
1526 checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
15211527 dependencies = [
15221528 "lock_api",
15231529 "parking_lot_core",
15251531
15261532 [[package]]
15271533 name = "parking_lot_core"
1528 version = "0.9.2"
1529 source = "registry+https://github.com/rust-lang/crates.io-index"
1530 checksum = "995f667a6c822200b0433ac218e05582f0e2efa1b922a3fd2fbaadc5f87bab37"
1534 version = "0.9.3"
1535 source = "registry+https://github.com/rust-lang/crates.io-index"
1536 checksum = "09a279cbf25cb0757810394fbc1e359949b59e348145c643a939a525692e6929"
15311537 dependencies = [
15321538 "cfg-if",
15331539 "libc",
15381544
15391545 [[package]]
15401546 name = "percent-encoding"
1541 version = "2.1.0"
1542 source = "registry+https://github.com/rust-lang/crates.io-index"
1543 checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
1547 version = "2.2.0"
1548 source = "registry+https://github.com/rust-lang/crates.io-index"
1549 checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
15441550
15451551 [[package]]
15461552 name = "petgraph"
1547 version = "0.5.1"
1548 source = "registry+https://github.com/rust-lang/crates.io-index"
1549 checksum = "467d164a6de56270bd7c4d070df81d07beace25012d5103ced4e9ff08d6afdb7"
1553 version = "0.6.2"
1554 source = "registry+https://github.com/rust-lang/crates.io-index"
1555 checksum = "e6d5014253a1331579ce62aa67443b4a658c5e7dd03d4bc6d302b94474888143"
15501556 dependencies = [
15511557 "fixedbitset",
15521558 "indexmap",
15641570 ]
15651571
15661572 [[package]]
1573 name = "phf"
1574 version = "0.10.1"
1575 source = "registry+https://github.com/rust-lang/crates.io-index"
1576 checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259"
1577 dependencies = [
1578 "phf_shared 0.10.0",
1579 ]
1580
1581 [[package]]
15671582 name = "phf_codegen"
15681583 version = "0.8.0"
15691584 source = "registry+https://github.com/rust-lang/crates.io-index"
15711586 dependencies = [
15721587 "phf_generator 0.8.0",
15731588 "phf_shared 0.8.0",
1589 ]
1590
1591 [[package]]
1592 name = "phf_codegen"
1593 version = "0.10.0"
1594 source = "registry+https://github.com/rust-lang/crates.io-index"
1595 checksum = "4fb1c3a8bc4dd4e5cfce29b44ffc14bedd2ee294559a294e2a4d4c9e9a6a13cd"
1596 dependencies = [
1597 "phf_generator 0.10.0",
1598 "phf_shared 0.10.0",
15741599 ]
15751600
15761601 [[package]]
16331658
16341659 [[package]]
16351660 name = "pin-project"
1636 version = "1.0.10"
1637 source = "registry+https://github.com/rust-lang/crates.io-index"
1638 checksum = "58ad3879ad3baf4e44784bc6a718a8698867bb991f8ce24d1bcbe2cfb4c3a75e"
1661 version = "1.0.12"
1662 source = "registry+https://github.com/rust-lang/crates.io-index"
1663 checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc"
16391664 dependencies = [
16401665 "pin-project-internal",
16411666 ]
16421667
16431668 [[package]]
16441669 name = "pin-project-internal"
1645 version = "1.0.10"
1646 source = "registry+https://github.com/rust-lang/crates.io-index"
1647 checksum = "744b6f092ba29c3650faf274db506afd39944f48420f6c86b17cfe0ee1cb36bb"
1670 version = "1.0.12"
1671 source = "registry+https://github.com/rust-lang/crates.io-index"
1672 checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55"
16481673 dependencies = [
16491674 "proc-macro2",
16501675 "quote",
16531678
16541679 [[package]]
16551680 name = "pin-project-lite"
1656 version = "0.2.8"
1657 source = "registry+https://github.com/rust-lang/crates.io-index"
1658 checksum = "e280fbe77cc62c91527259e9442153f4688736748d24660126286329742b4c6c"
1681 version = "0.2.9"
1682 source = "registry+https://github.com/rust-lang/crates.io-index"
1683 checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
16591684
16601685 [[package]]
16611686 name = "pin-utils"
16711696
16721697 [[package]]
16731698 name = "polling"
1674 version = "2.2.0"
1675 source = "registry+https://github.com/rust-lang/crates.io-index"
1676 checksum = "685404d509889fade3e86fe3a5803bca2ec09b0c0778d5ada6ec8bf7a8de5259"
1677 dependencies = [
1699 version = "2.3.0"
1700 source = "registry+https://github.com/rust-lang/crates.io-index"
1701 checksum = "899b00b9c8ab553c743b3e11e87c5c7d423b2a2de229ba95b24a756344748011"
1702 dependencies = [
1703 "autocfg",
16781704 "cfg-if",
16791705 "libc",
16801706 "log",
17321758
17331759 [[package]]
17341760 name = "proc-macro2"
1735 version = "1.0.37"
1736 source = "registry+https://github.com/rust-lang/crates.io-index"
1737 checksum = "ec757218438d5fda206afc041538b2f6d889286160d649a86a24d37e1235afd1"
1738 dependencies = [
1739 "unicode-xid",
1761 version = "1.0.43"
1762 source = "registry+https://github.com/rust-lang/crates.io-index"
1763 checksum = "0a2ca2c61bc9f3d74d2886294ab7b9853abd9c1ad903a3ac7815c58989bb7bab"
1764 dependencies = [
1765 "unicode-ident",
17401766 ]
17411767
17421768 [[package]]
17431769 name = "quote"
1744 version = "1.0.17"
1745 source = "registry+https://github.com/rust-lang/crates.io-index"
1746 checksum = "632d02bff7f874a36f33ea8bb416cd484b90cc66c1194b1a1110d067a7013f58"
1770 version = "1.0.21"
1771 source = "registry+https://github.com/rust-lang/crates.io-index"
1772 checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179"
17471773 dependencies = [
17481774 "proc-macro2",
17491775 ]
17701796 dependencies = [
17711797 "libc",
17721798 "rand_chacha 0.3.1",
1773 "rand_core 0.6.3",
1799 "rand_core 0.6.4",
17741800 ]
17751801
17761802 [[package]]
17901816 checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
17911817 dependencies = [
17921818 "ppv-lite86",
1793 "rand_core 0.6.3",
1819 "rand_core 0.6.4",
17941820 ]
17951821
17961822 [[package]]
18041830
18051831 [[package]]
18061832 name = "rand_core"
1807 version = "0.6.3"
1808 source = "registry+https://github.com/rust-lang/crates.io-index"
1809 checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"
1810 dependencies = [
1811 "getrandom 0.2.6",
1833 version = "0.6.4"
1834 source = "registry+https://github.com/rust-lang/crates.io-index"
1835 checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
1836 dependencies = [
1837 "getrandom 0.2.7",
18121838 ]
18131839
18141840 [[package]]
18311857
18321858 [[package]]
18331859 name = "redox_syscall"
1834 version = "0.2.13"
1835 source = "registry+https://github.com/rust-lang/crates.io-index"
1836 checksum = "62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42"
1860 version = "0.2.16"
1861 source = "registry+https://github.com/rust-lang/crates.io-index"
1862 checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
18371863 dependencies = [
18381864 "bitflags",
18391865 ]
18441870 source = "registry+https://github.com/rust-lang/crates.io-index"
18451871 checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
18461872 dependencies = [
1847 "getrandom 0.2.6",
1873 "getrandom 0.2.7",
18481874 "redox_syscall",
18491875 "thiserror",
18501876 ]
18511877
18521878 [[package]]
18531879 name = "regex"
1854 version = "1.5.5"
1855 source = "registry+https://github.com/rust-lang/crates.io-index"
1856 checksum = "1a11647b6b25ff05a515cb92c365cec08801e83423a235b51e231e1808747286"
1880 version = "1.6.0"
1881 source = "registry+https://github.com/rust-lang/crates.io-index"
1882 checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b"
18571883 dependencies = [
18581884 "aho-corasick",
18591885 "memchr",
18681894
18691895 [[package]]
18701896 name = "regex-syntax"
1871 version = "0.6.25"
1872 source = "registry+https://github.com/rust-lang/crates.io-index"
1873 checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b"
1897 version = "0.6.27"
1898 source = "registry+https://github.com/rust-lang/crates.io-index"
1899 checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244"
18741900
18751901 [[package]]
18761902 name = "remove_dir_all"
18831909
18841910 [[package]]
18851911 name = "reqwest"
1886 version = "0.11.10"
1887 source = "registry+https://github.com/rust-lang/crates.io-index"
1888 checksum = "46a1f7aa4f35e5e8b4160449f51afc758f0ce6454315a9fa7d0d113e958c41eb"
1912 version = "0.11.11"
1913 source = "registry+https://github.com/rust-lang/crates.io-index"
1914 checksum = "b75aa69a3f06bbcc66ede33af2af253c6f7a86b1ca0033f60c580a27074fbf92"
18891915 dependencies = [
18901916 "base64",
18911917 "bytes",
19111937 "tokio",
19121938 "tokio-native-tls",
19131939 "tokio-socks",
1940 "tower-service",
19141941 "url",
19151942 "wasm-bindgen",
19161943 "wasm-bindgen-futures",
19371964 ]
19381965
19391966 [[package]]
1967 name = "rustix"
1968 version = "0.35.9"
1969 source = "registry+https://github.com/rust-lang/crates.io-index"
1970 checksum = "72c825b8aa8010eb9ee99b75f05e10180b9278d161583034d7574c9d617aeada"
1971 dependencies = [
1972 "bitflags",
1973 "errno",
1974 "io-lifetimes",
1975 "libc",
1976 "linux-raw-sys",
1977 "windows-sys",
1978 ]
1979
1980 [[package]]
19401981 name = "rustversion"
1941 version = "1.0.6"
1942 source = "registry+https://github.com/rust-lang/crates.io-index"
1943 checksum = "f2cc38e8fa666e2de3c4aba7edeb5ffc5246c1c2ed0e3d17e560aeeba736b23f"
1982 version = "1.0.9"
1983 source = "registry+https://github.com/rust-lang/crates.io-index"
1984 checksum = "97477e48b4cf8603ad5f7aaf897467cf42ab4218a38ef76fb14c2d6773a6d6a8"
19441985
19451986 [[package]]
19461987 name = "ryu"
1947 version = "1.0.9"
1948 source = "registry+https://github.com/rust-lang/crates.io-index"
1949 checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f"
1988 version = "1.0.11"
1989 source = "registry+https://github.com/rust-lang/crates.io-index"
1990 checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09"
19501991
19511992 [[package]]
19521993 name = "schannel"
1953 version = "0.1.19"
1954 source = "registry+https://github.com/rust-lang/crates.io-index"
1955 checksum = "8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75"
1994 version = "0.1.20"
1995 source = "registry+https://github.com/rust-lang/crates.io-index"
1996 checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2"
19561997 dependencies = [
19571998 "lazy_static",
1958 "winapi",
1999 "windows-sys",
19592000 ]
19602001
19612002 [[package]]
19662007
19672008 [[package]]
19682009 name = "scraper"
1969 version = "0.12.0"
1970 source = "registry+https://github.com/rust-lang/crates.io-index"
1971 checksum = "48e02aa790c80c2e494130dec6a522033b6a23603ffc06360e9fe6c611ea2c12"
2010 version = "0.13.0"
2011 source = "registry+https://github.com/rust-lang/crates.io-index"
2012 checksum = "5684396b456f3eb69ceeb34d1b5cb1a2f6acf7ca4452131efa3ba0ee2c2d0a70"
19722013 dependencies = [
19732014 "cssparser",
19742015 "ego-tree",
19822023
19832024 [[package]]
19842025 name = "security-framework"
1985 version = "2.6.1"
1986 source = "registry+https://github.com/rust-lang/crates.io-index"
1987 checksum = "2dc14f172faf8a0194a3aded622712b0de276821addc574fa54fc0a1167e10dc"
2026 version = "2.7.0"
2027 source = "registry+https://github.com/rust-lang/crates.io-index"
2028 checksum = "2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c"
19882029 dependencies = [
19892030 "bitflags",
19902031 "core-foundation",
20152056 "fxhash",
20162057 "log",
20172058 "matches",
2018 "phf",
2019 "phf_codegen",
2059 "phf 0.8.0",
2060 "phf_codegen 0.8.0",
20202061 "precomputed-hash",
20212062 "servo_arc",
20222063 "smallvec",
20252066
20262067 [[package]]
20272068 name = "semver"
2028 version = "1.0.7"
2029 source = "registry+https://github.com/rust-lang/crates.io-index"
2030 checksum = "d65bd28f48be7196d222d95b9243287f48d27aca604e08497513019ff0502cc4"
2069 version = "1.0.14"
2070 source = "registry+https://github.com/rust-lang/crates.io-index"
2071 checksum = "e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4"
20312072
20322073 [[package]]
20332074 name = "serde"
2034 version = "1.0.136"
2035 source = "registry+https://github.com/rust-lang/crates.io-index"
2036 checksum = "ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789"
2075 version = "1.0.144"
2076 source = "registry+https://github.com/rust-lang/crates.io-index"
2077 checksum = "0f747710de3dcd43b88c9168773254e809d8ddbdf9653b84e2554ab219f17860"
20372078 dependencies = [
20382079 "serde_derive",
20392080 ]
20402081
20412082 [[package]]
20422083 name = "serde_derive"
2043 version = "1.0.136"
2044 source = "registry+https://github.com/rust-lang/crates.io-index"
2045 checksum = "08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9"
2084 version = "1.0.144"
2085 source = "registry+https://github.com/rust-lang/crates.io-index"
2086 checksum = "94ed3a816fb1d101812f83e789f888322c34e291f894f19590dc310963e87a00"
20462087 dependencies = [
20472088 "proc-macro2",
20482089 "quote",
20512092
20522093 [[package]]
20532094 name = "serde_json"
2054 version = "1.0.79"
2055 source = "registry+https://github.com/rust-lang/crates.io-index"
2056 checksum = "8e8d9fa5c3b304765ce1fd9c4c8a3de2c8db365a5b91be52f186efc675681d95"
2057 dependencies = [
2058 "itoa 1.0.1",
2095 version = "1.0.85"
2096 source = "registry+https://github.com/rust-lang/crates.io-index"
2097 checksum = "e55a28e3aaef9d5ce0506d0a14dbba8054ddc7e499ef522dd8b26859ec9d4a44"
2098 dependencies = [
2099 "itoa 1.0.3",
20592100 "ryu",
20602101 "serde",
20612102 ]
20772118 checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
20782119 dependencies = [
20792120 "form_urlencoded",
2080 "itoa 1.0.1",
2121 "itoa 1.0.3",
20812122 "ryu",
20822123 "serde",
20832124 ]
20942135
20952136 [[package]]
20962137 name = "signal-hook"
2097 version = "0.3.13"
2098 source = "registry+https://github.com/rust-lang/crates.io-index"
2099 checksum = "647c97df271007dcea485bb74ffdb57f2e683f1306c854f468a0c244badabf2d"
2138 version = "0.3.14"
2139 source = "registry+https://github.com/rust-lang/crates.io-index"
2140 checksum = "a253b5e89e2698464fc26b545c9edceb338e18a89effeeecfea192c3025be29d"
21002141 dependencies = [
21012142 "libc",
21022143 "signal-hook-registry",
21242165
21252166 [[package]]
21262167 name = "similar"
2127 version = "2.1.0"
2128 source = "registry+https://github.com/rust-lang/crates.io-index"
2129 checksum = "2e24979f63a11545f5f2c60141afe249d4f19f84581ea2138065e400941d83d3"
2168 version = "2.2.0"
2169 source = "registry+https://github.com/rust-lang/crates.io-index"
2170 checksum = "62ac7f900db32bf3fd12e0117dd3dc4da74bc52ebaac97f39668446d89694803"
21302171
21312172 [[package]]
21322173 name = "siphasher"
21362177
21372178 [[package]]
21382179 name = "slab"
2139 version = "0.4.6"
2140 source = "registry+https://github.com/rust-lang/crates.io-index"
2141 checksum = "eb703cfe953bccee95685111adeedb76fabe4e97549a58d16f03ea7b9367bb32"
2180 version = "0.4.7"
2181 source = "registry+https://github.com/rust-lang/crates.io-index"
2182 checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef"
2183 dependencies = [
2184 "autocfg",
2185 ]
21422186
21432187 [[package]]
21442188 name = "sluice"
21532197
21542198 [[package]]
21552199 name = "smallvec"
2156 version = "1.8.0"
2157 source = "registry+https://github.com/rust-lang/crates.io-index"
2158 checksum = "f2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83"
2200 version = "1.9.0"
2201 source = "registry+https://github.com/rust-lang/crates.io-index"
2202 checksum = "2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1"
21592203
21602204 [[package]]
21612205 name = "socket2"
2162 version = "0.4.4"
2163 source = "registry+https://github.com/rust-lang/crates.io-index"
2164 checksum = "66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0"
2206 version = "0.4.7"
2207 source = "registry+https://github.com/rust-lang/crates.io-index"
2208 checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd"
21652209 dependencies = [
21662210 "libc",
21672211 "winapi",
22072251
22082252 [[package]]
22092253 name = "syn"
2210 version = "1.0.91"
2211 source = "registry+https://github.com/rust-lang/crates.io-index"
2212 checksum = "b683b2b825c8eef438b77c36a06dc262294da3d5a5813fac20da149241dcd44d"
2254 version = "1.0.99"
2255 source = "registry+https://github.com/rust-lang/crates.io-index"
2256 checksum = "58dbef6ec655055e20b86b15a8cc6d439cca19b667537ac6a1369572d151ab13"
22132257 dependencies = [
22142258 "proc-macro2",
22152259 "quote",
2216 "unicode-xid",
2260 "unicode-ident",
22172261 ]
22182262
22192263 [[package]]
22722316 ]
22732317
22742318 [[package]]
2319 name = "terminal_size"
2320 version = "0.2.1"
2321 source = "registry+https://github.com/rust-lang/crates.io-index"
2322 checksum = "8440c860cf79def6164e4a0a983bcc2305d82419177a0e0c71930d049e3ac5a1"
2323 dependencies = [
2324 "rustix",
2325 "windows-sys",
2326 ]
2327
2328 [[package]]
22752329 name = "termtree"
22762330 version = "0.2.4"
22772331 source = "registry+https://github.com/rust-lang/crates.io-index"
22792333
22802334 [[package]]
22812335 name = "textwrap"
2282 version = "0.15.0"
2283 source = "registry+https://github.com/rust-lang/crates.io-index"
2284 checksum = "b1141d4d61095b28419e22cb0bbf02755f5e54e0526f97f1e3d1d160e60885fb"
2285 dependencies = [
2286 "terminal_size",
2336 version = "0.15.1"
2337 source = "registry+https://github.com/rust-lang/crates.io-index"
2338 checksum = "949517c0cf1bf4ee812e2e07e08ab448e3ae0d23472aee8a06c985f0c8815b16"
2339 dependencies = [
2340 "terminal_size 0.2.1",
22872341 ]
22882342
22892343 [[package]]
22942348
22952349 [[package]]
22962350 name = "thiserror"
2297 version = "1.0.30"
2298 source = "registry+https://github.com/rust-lang/crates.io-index"
2299 checksum = "854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417"
2351 version = "1.0.35"
2352 source = "registry+https://github.com/rust-lang/crates.io-index"
2353 checksum = "c53f98874615aea268107765aa1ed8f6116782501d18e53d08b471733bea6c85"
23002354 dependencies = [
23012355 "thiserror-impl",
23022356 ]
23032357
23042358 [[package]]
23052359 name = "thiserror-impl"
2306 version = "1.0.30"
2307 source = "registry+https://github.com/rust-lang/crates.io-index"
2308 checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b"
2360 version = "1.0.35"
2361 source = "registry+https://github.com/rust-lang/crates.io-index"
2362 checksum = "f8b463991b4eab2d801e724172285ec4195c650e8ec79b149e6c2a8e6dd3f783"
23092363 dependencies = [
23102364 "proc-macro2",
23112365 "quote",
23232377
23242378 [[package]]
23252379 name = "tinyvec"
2326 version = "1.5.1"
2327 source = "registry+https://github.com/rust-lang/crates.io-index"
2328 checksum = "2c1c1d5a42b6245520c249549ec267180beaffcc0615401ac8e31853d4b6d8d2"
2380 version = "1.6.0"
2381 source = "registry+https://github.com/rust-lang/crates.io-index"
2382 checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
23292383 dependencies = [
23302384 "tinyvec_macros",
23312385 ]
23382392
23392393 [[package]]
23402394 name = "tokio"
2341 version = "1.17.0"
2342 source = "registry+https://github.com/rust-lang/crates.io-index"
2343 checksum = "2af73ac49756f3f7c01172e34a23e5d0216f6c32333757c2c61feb2bbff5a5ee"
2344 dependencies = [
2395 version = "1.21.1"
2396 source = "registry+https://github.com/rust-lang/crates.io-index"
2397 checksum = "0020c875007ad96677dcc890298f4b942882c5d4eb7cc8f439fc3bf813dc9c95"
2398 dependencies = [
2399 "autocfg",
23452400 "bytes",
23462401 "libc",
23472402 "memchr",
23582413
23592414 [[package]]
23602415 name = "tokio-macros"
2361 version = "1.7.0"
2362 source = "registry+https://github.com/rust-lang/crates.io-index"
2363 checksum = "b557f72f448c511a979e2564e55d74e6c4432fc96ff4f6241bc6bded342643b7"
2416 version = "1.8.0"
2417 source = "registry+https://github.com/rust-lang/crates.io-index"
2418 checksum = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484"
23642419 dependencies = [
23652420 "proc-macro2",
23662421 "quote",
23902445 ]
23912446
23922447 [[package]]
2393 name = "tokio-stream"
2394 version = "0.1.8"
2395 source = "registry+https://github.com/rust-lang/crates.io-index"
2396 checksum = "50145484efff8818b5ccd256697f36863f587da82cf8b409c53adf1e840798e3"
2397 dependencies = [
2398 "futures-core",
2399 "pin-project-lite",
2400 "tokio",
2401 ]
2402
2403 [[package]]
24042448 name = "tokio-util"
2405 version = "0.7.1"
2406 source = "registry+https://github.com/rust-lang/crates.io-index"
2407 checksum = "0edfdeb067411dba2044da6d1cb2df793dd35add7888d73c16e3381ded401764"
2449 version = "0.7.4"
2450 source = "registry+https://github.com/rust-lang/crates.io-index"
2451 checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740"
24082452 dependencies = [
24092453 "bytes",
24102454 "futures-core",
24162460
24172461 [[package]]
24182462 name = "toml"
2419 version = "0.5.8"
2420 source = "registry+https://github.com/rust-lang/crates.io-index"
2421 checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa"
2463 version = "0.5.9"
2464 source = "registry+https://github.com/rust-lang/crates.io-index"
2465 checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7"
24222466 dependencies = [
24232467 "serde",
24242468 ]
24252469
24262470 [[package]]
24272471 name = "tower-service"
2428 version = "0.3.1"
2429 source = "registry+https://github.com/rust-lang/crates.io-index"
2430 checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6"
2472 version = "0.3.2"
2473 source = "registry+https://github.com/rust-lang/crates.io-index"
2474 checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
24312475
24322476 [[package]]
24332477 name = "tracing"
2434 version = "0.1.32"
2435 source = "registry+https://github.com/rust-lang/crates.io-index"
2436 checksum = "4a1bdf54a7c28a2bbf701e1d2233f6c77f473486b94bee4f9678da5a148dca7f"
2478 version = "0.1.36"
2479 source = "registry+https://github.com/rust-lang/crates.io-index"
2480 checksum = "2fce9567bd60a67d08a16488756721ba392f24f29006402881e43b19aac64307"
24372481 dependencies = [
24382482 "cfg-if",
24392483 "log",
24442488
24452489 [[package]]
24462490 name = "tracing-attributes"
2447 version = "0.1.20"
2448 source = "registry+https://github.com/rust-lang/crates.io-index"
2449 checksum = "2e65ce065b4b5c53e73bb28912318cb8c9e9ad3921f1d669eb0e68b4c8143a2b"
2491 version = "0.1.22"
2492 source = "registry+https://github.com/rust-lang/crates.io-index"
2493 checksum = "11c75893af559bc8e10716548bdef5cb2b983f8e637db9d0e15126b61b484ee2"
24502494 dependencies = [
24512495 "proc-macro2",
24522496 "quote",
24552499
24562500 [[package]]
24572501 name = "tracing-core"
2458 version = "0.1.24"
2459 source = "registry+https://github.com/rust-lang/crates.io-index"
2460 checksum = "90442985ee2f57c9e1b548ee72ae842f4a9a20e3f417cc38dbc5dc684d9bb4ee"
2461 dependencies = [
2462 "lazy_static",
2502 version = "0.1.29"
2503 source = "registry+https://github.com/rust-lang/crates.io-index"
2504 checksum = "5aeea4303076558a00714b823f9ad67d58a3bbda1df83d8827d21193156e22f7"
2505 dependencies = [
2506 "once_cell",
24632507 ]
24642508
24652509 [[package]]
24802524
24812525 [[package]]
24822526 name = "unicode-bidi"
2483 version = "0.3.7"
2484 source = "registry+https://github.com/rust-lang/crates.io-index"
2485 checksum = "1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f"
2527 version = "0.3.8"
2528 source = "registry+https://github.com/rust-lang/crates.io-index"
2529 checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992"
2530
2531 [[package]]
2532 name = "unicode-ident"
2533 version = "1.0.4"
2534 source = "registry+https://github.com/rust-lang/crates.io-index"
2535 checksum = "dcc811dc4066ac62f84f11307873c4850cb653bfa9b1719cee2bd2204a4bc5dd"
24862536
24872537 [[package]]
24882538 name = "unicode-normalization"
2489 version = "0.1.19"
2490 source = "registry+https://github.com/rust-lang/crates.io-index"
2491 checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9"
2539 version = "0.1.22"
2540 source = "registry+https://github.com/rust-lang/crates.io-index"
2541 checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
24922542 dependencies = [
24932543 "tinyvec",
24942544 ]
24952545
24962546 [[package]]
24972547 name = "unicode-width"
2498 version = "0.1.9"
2499 source = "registry+https://github.com/rust-lang/crates.io-index"
2500 checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973"
2548 version = "0.1.10"
2549 source = "registry+https://github.com/rust-lang/crates.io-index"
2550 checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
25012551
25022552 [[package]]
25032553 name = "unicode-xid"
2504 version = "0.2.2"
2505 source = "registry+https://github.com/rust-lang/crates.io-index"
2506 checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
2554 version = "0.2.4"
2555 source = "registry+https://github.com/rust-lang/crates.io-index"
2556 checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
25072557
25082558 [[package]]
25092559 name = "url"
2510 version = "2.2.2"
2511 source = "registry+https://github.com/rust-lang/crates.io-index"
2512 checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c"
2560 version = "2.3.1"
2561 source = "registry+https://github.com/rust-lang/crates.io-index"
2562 checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643"
25132563 dependencies = [
25142564 "form_urlencoded",
25152565 "idna",
2516 "matches",
25172566 "percent-encoding",
25182567 "serde",
25192568 ]
25262575
25272576 [[package]]
25282577 name = "uuid"
2529 version = "0.8.2"
2530 source = "registry+https://github.com/rust-lang/crates.io-index"
2531 checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
2532 dependencies = [
2533 "getrandom 0.2.6",
2578 version = "1.1.2"
2579 source = "registry+https://github.com/rust-lang/crates.io-index"
2580 checksum = "dd6469f4314d5f1ffec476e05f17cc9a78bc7a27a6a857842170bdf8d6f98d2f"
2581 dependencies = [
2582 "getrandom 0.2.7",
25342583 ]
25352584
25362585 [[package]]
25372586 name = "value-bag"
2538 version = "1.0.0-alpha.8"
2539 source = "registry+https://github.com/rust-lang/crates.io-index"
2540 checksum = "79923f7731dc61ebfba3633098bf3ac533bbd35ccd8c57e7088d9a5eebe0263f"
2587 version = "1.0.0-alpha.9"
2588 source = "registry+https://github.com/rust-lang/crates.io-index"
2589 checksum = "2209b78d1249f7e6f3293657c9779fe31ced465df091bbd433a1cf88e916ec55"
25412590 dependencies = [
25422591 "ctor",
25432592 "version_check",
25882637
25892638 [[package]]
25902639 name = "wasi"
2591 version = "0.10.2+wasi-snapshot-preview1"
2592 source = "registry+https://github.com/rust-lang/crates.io-index"
2593 checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
2594
2595 [[package]]
2596 name = "wasi"
25972640 version = "0.11.0+wasi-snapshot-preview1"
25982641 source = "registry+https://github.com/rust-lang/crates.io-index"
25992642 checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
26002643
26012644 [[package]]
26022645 name = "wasm-bindgen"
2603 version = "0.2.79"
2604 source = "registry+https://github.com/rust-lang/crates.io-index"
2605 checksum = "25f1af7423d8588a3d840681122e72e6a24ddbcb3f0ec385cac0d12d24256c06"
2646 version = "0.2.83"
2647 source = "registry+https://github.com/rust-lang/crates.io-index"
2648 checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268"
26062649 dependencies = [
26072650 "cfg-if",
26082651 "wasm-bindgen-macro",
26102653
26112654 [[package]]
26122655 name = "wasm-bindgen-backend"
2613 version = "0.2.79"
2614 source = "registry+https://github.com/rust-lang/crates.io-index"
2615 checksum = "8b21c0df030f5a177f3cba22e9bc4322695ec43e7257d865302900290bcdedca"
2656 version = "0.2.83"
2657 source = "registry+https://github.com/rust-lang/crates.io-index"
2658 checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142"
26162659 dependencies = [
26172660 "bumpalo",
2618 "lazy_static",
26192661 "log",
2662 "once_cell",
26202663 "proc-macro2",
26212664 "quote",
26222665 "syn",
26252668
26262669 [[package]]
26272670 name = "wasm-bindgen-futures"
2628 version = "0.4.29"
2629 source = "registry+https://github.com/rust-lang/crates.io-index"
2630 checksum = "2eb6ec270a31b1d3c7e266b999739109abce8b6c87e4b31fcfcd788b65267395"
2671 version = "0.4.33"
2672 source = "registry+https://github.com/rust-lang/crates.io-index"
2673 checksum = "23639446165ca5a5de86ae1d8896b737ae80319560fbaa4c2887b7da6e7ebd7d"
26312674 dependencies = [
26322675 "cfg-if",
26332676 "js-sys",
26372680
26382681 [[package]]
26392682 name = "wasm-bindgen-macro"
2640 version = "0.2.79"
2641 source = "registry+https://github.com/rust-lang/crates.io-index"
2642 checksum = "2f4203d69e40a52ee523b2529a773d5ffc1dc0071801c87b3d270b471b80ed01"
2683 version = "0.2.83"
2684 source = "registry+https://github.com/rust-lang/crates.io-index"
2685 checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810"
26432686 dependencies = [
26442687 "quote",
26452688 "wasm-bindgen-macro-support",
26472690
26482691 [[package]]
26492692 name = "wasm-bindgen-macro-support"
2650 version = "0.2.79"
2651 source = "registry+https://github.com/rust-lang/crates.io-index"
2652 checksum = "bfa8a30d46208db204854cadbb5d4baf5fcf8071ba5bf48190c3e59937962ebc"
2693 version = "0.2.83"
2694 source = "registry+https://github.com/rust-lang/crates.io-index"
2695 checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c"
26532696 dependencies = [
26542697 "proc-macro2",
26552698 "quote",
26602703
26612704 [[package]]
26622705 name = "wasm-bindgen-shared"
2663 version = "0.2.79"
2664 source = "registry+https://github.com/rust-lang/crates.io-index"
2665 checksum = "3d958d035c4438e28c70e4321a2911302f10135ce78a9c7834c0cab4123d06a2"
2706 version = "0.2.83"
2707 source = "registry+https://github.com/rust-lang/crates.io-index"
2708 checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f"
26662709
26672710 [[package]]
26682711 name = "web-sys"
2669 version = "0.3.56"
2670 source = "registry+https://github.com/rust-lang/crates.io-index"
2671 checksum = "c060b319f29dd25724f09a2ba1418f142f539b2be99fbf4d2d5a8f7330afb8eb"
2712 version = "0.3.60"
2713 source = "registry+https://github.com/rust-lang/crates.io-index"
2714 checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f"
26722715 dependencies = [
26732716 "js-sys",
26742717 "wasm-bindgen",
27162759
27172760 [[package]]
27182761 name = "windows-sys"
2719 version = "0.34.0"
2720 source = "registry+https://github.com/rust-lang/crates.io-index"
2721 checksum = "5acdd78cb4ba54c0045ac14f62d8f94a03d10047904ae2a40afa1e99d8f70825"
2762 version = "0.36.1"
2763 source = "registry+https://github.com/rust-lang/crates.io-index"
2764 checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2"
27222765 dependencies = [
27232766 "windows_aarch64_msvc",
27242767 "windows_i686_gnu",
27292772
27302773 [[package]]
27312774 name = "windows_aarch64_msvc"
2732 version = "0.34.0"
2733 source = "registry+https://github.com/rust-lang/crates.io-index"
2734 checksum = "17cffbe740121affb56fad0fc0e421804adf0ae00891205213b5cecd30db881d"
2775 version = "0.36.1"
2776 source = "registry+https://github.com/rust-lang/crates.io-index"
2777 checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47"
27352778
27362779 [[package]]
27372780 name = "windows_i686_gnu"
2738 version = "0.34.0"
2739 source = "registry+https://github.com/rust-lang/crates.io-index"
2740 checksum = "2564fde759adb79129d9b4f54be42b32c89970c18ebf93124ca8870a498688ed"
2781 version = "0.36.1"
2782 source = "registry+https://github.com/rust-lang/crates.io-index"
2783 checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6"
27412784
27422785 [[package]]
27432786 name = "windows_i686_msvc"
2744 version = "0.34.0"
2745 source = "registry+https://github.com/rust-lang/crates.io-index"
2746 checksum = "9cd9d32ba70453522332c14d38814bceeb747d80b3958676007acadd7e166956"
2787 version = "0.36.1"
2788 source = "registry+https://github.com/rust-lang/crates.io-index"
2789 checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024"
27472790
27482791 [[package]]
27492792 name = "windows_x86_64_gnu"
2750 version = "0.34.0"
2751 source = "registry+https://github.com/rust-lang/crates.io-index"
2752 checksum = "cfce6deae227ee8d356d19effc141a509cc503dfd1f850622ec4b0f84428e1f4"
2793 version = "0.36.1"
2794 source = "registry+https://github.com/rust-lang/crates.io-index"
2795 checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1"
27532796
27542797 [[package]]
27552798 name = "windows_x86_64_msvc"
2756 version = "0.34.0"
2757 source = "registry+https://github.com/rust-lang/crates.io-index"
2758 checksum = "d19538ccc21819d01deaf88d6a17eae6596a12e9aafdbb97916fb49896d89de9"
2799 version = "0.36.1"
2800 source = "registry+https://github.com/rust-lang/crates.io-index"
2801 checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680"
27592802
27602803 [[package]]
27612804 name = "winreg"
00 [package]
11 name = "feroxbuster"
2 version = "2.7.0"
2 version = "2.7.1"
33 authors = ["Ben 'epi' Risher (@epi052)"]
44 license = "MIT"
55 edition = "2021"
2121 maintenance = { status = "actively-developed" }
2222
2323 [build-dependencies]
24 clap = { version = "3.1.8", features = ["wrap_help", "cargo"] }
25 clap_complete = "3.1.1"
24 clap = { version = "3.1.18", features = ["wrap_help", "cargo"] }
25 clap_complete = "3.1.4"
2626 regex = "1.5.5"
2727 lazy_static = "1.4.0"
2828 dirs = "4.0.0"
2929
3030 [dependencies]
31 scraper = "0.12.0"
31 scraper = "0.13.0"
3232 futures = "0.3.21"
33 tokio = { version = "1.17.0", features = ["full"] }
33 tokio = { version = "1.18.2", features = ["full"] }
3434 tokio-util = { version = "0.7.1", features = ["codec"] }
35 log = "0.4.16"
35 log = "0.4.17"
3636 env_logger = "0.9.0"
3737 reqwest = { version = "0.11.10", features = ["socks"] }
3838 # uses feature unification to add 'serde' to reqwest::Url
3939 url = { version = "2.2.2", features = ["serde"] }
4040 serde_regex = "1.1.0"
41 clap = { version = "3.1.8", features = ["wrap_help", "cargo"] }
41 clap = { version = "3.1.18", features = ["wrap_help", "cargo"] }
4242 lazy_static = "1.4.0"
43 toml = "0.5.8"
44 serde = { version = "1.0.136", features = ["derive", "rc"] }
45 serde_json = "1.0.79"
46 uuid = { version = "0.8.2", features = ["v4"] }
43 toml = "0.5.9"
44 serde = { version = "1.0.137", features = ["derive", "rc"] }
45 serde_json = "1.0.81"
46 uuid = { version = "1.0.0", features = ["v4"] }
4747 indicatif = "0.15"
4848 console = "0.15.0"
49 openssl = { version = "0.10.38", features = ["vendored"] }
49 openssl = { version = "0.10.40", features = ["vendored"] }
5050 dirs = "4.0.0"
5151 regex = "1.5.5"
52 crossterm = "0.23.2"
52 crossterm = "0.25.0"
5353 rlimit = "0.8.3"
54 ctrlc = "3.2.1"
54 ctrlc = "3.2.2"
5555 fuzzyhash = "0.2.1"
56 anyhow = "1.0.56"
57 leaky-bucket = "0.10.0" # todo: upgrade, will take a little work/thought since api changed
56 anyhow = "1.0.57"
57 leaky-bucket = "0.12.1"
5858
5959 [dev-dependencies]
6060 tempfile = "3.3.0"
1010 # dependency management
1111 [tasks.upgrade-deps]
1212 command = "cargo"
13 args = ["upgrade", "--exclude", "indicatif", "leaky-bucket"]
13 args = ["upgrade", "--exclude", "indicatif"]
1414
1515 [tasks.update]
1616 command = "cargo"
200200 </tr>
201201 <tr>
202202 <td align="center"><a href="https://tib3rius.com"><img src="https://avatars.githubusercontent.com/u/48113936?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Tib3rius</b></sub></a><br /><a href="https://github.com/epi052/feroxbuster/issues?q=author%3ATib3rius" title="Bug reports">🐛</a></td>
203 <td align="center"><a href="https://github.com/Flangyver"><img src="https://avatars.githubusercontent.com/u/59575870?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Flangyver</b></sub></a><br /><a href="#ideas-Flangyver" title="Ideas, Planning, & Feedback">🤔</a></td>
203 <td align="center"><a href="https://github.com/0xdf"><img src="https://avatars.githubusercontent.com/u/1489045?v=4?s=100" width="100px;" alt=""/><br /><sub><b>0xdf</b></sub></a><br /><a href="https://github.com/epi052/feroxbuster/issues?q=author%3A0xdf" title="Bug reports">🐛</a></td>
204204 <td align="center"><a href="http://secure77.de"><img src="https://avatars.githubusercontent.com/u/31564517?v=4?s=100" width="100px;" alt=""/><br /><sub><b>secure-77</b></sub></a><br /><a href="https://github.com/epi052/feroxbuster/issues?q=author%3Asecure-77" title="Bug reports">🐛</a></td>
205205 <td align="center"><a href="https://github.com/sbrun"><img src="https://avatars.githubusercontent.com/u/7712154?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Sophie Brun</b></sub></a><br /><a href="#infra-sbrun" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
206206 <td align="center"><a href="https://github.com/black-A"><img src="https://avatars.githubusercontent.com/u/30686803?v=4?s=100" width="100px;" alt=""/><br /><sub><b>black-A</b></sub></a><br /><a href="#ideas-black-A" title="Ideas, Planning, & Feedback">🤔</a></td>
232232 <td align="center"><a href="http://ryanmontgomery.me"><img src="https://avatars.githubusercontent.com/u/44453666?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Ryan Montgomery</b></sub></a><br /><a href="#ideas-0dayCTF" title="Ideas, Planning, & Feedback">🤔</a></td>
233233 <td align="center"><a href="https://github.com/IppSec"><img src="https://avatars.githubusercontent.com/u/24677271?v=4?s=100" width="100px;" alt=""/><br /><sub><b>ippsec</b></sub></a><br /><a href="#ideas-ippsec" title="Ideas, Planning, & Feedback">🤔</a></td>
234234 <td align="center"><a href="https://github.com/gtjamesa"><img src="https://avatars.githubusercontent.com/u/2078364?v=4?s=100" width="100px;" alt=""/><br /><sub><b>James</b></sub></a><br /><a href="https://github.com/epi052/feroxbuster/issues?q=author%3Agtjamesa" title="Bug reports">🐛</a></td>
235 <td align="center"><a href="https://twitter.com/Jhaddix"><img src="https://avatars.githubusercontent.com/u/3488554?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jason Haddix</b></sub></a><br /><a href="#ideas-jhaddix" title="Ideas, Planning, & Feedback">🤔</a></td>
235 <td align="center"><a href="https://twitter.com/Jhaddix"><img src="https://avatars.githubusercontent.com/u/3488554?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jason Haddix</b></sub></a><br /><a href="#ideas-jhaddix" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/epi052/feroxbuster/issues?q=author%3Ajhaddix" title="Bug reports">🐛</a></td>
236236 </tr>
237237 <tr>
238238 <td align="center"><a href="https://github.com/ThisLimn0"><img src="https://avatars.githubusercontent.com/u/67125885?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Limn0</b></sub></a><br /><a href="https://github.com/epi052/feroxbuster/issues?q=author%3AThisLimn0" title="Bug reports">🐛</a></td>
239239 <td align="center"><a href="https://github.com/0xdf223"><img src="https://avatars.githubusercontent.com/u/76954092?v=4?s=100" width="100px;" alt=""/><br /><sub><b>0xdf</b></sub></a><br /><a href="https://github.com/epi052/feroxbuster/issues?q=author%3A0xdf223" title="Bug reports">🐛</a> <a href="#ideas-0xdf223" title="Ideas, Planning, & Feedback">🤔</a></td>
240
240 <td align="center"><a href="https://github.com/Flangyver"><img src="https://avatars.githubusercontent.com/u/59575870?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Flangyver</b></sub></a><br /><a href="#ideas-Flangyver" title="Ideas, Planning, & Feedback">🤔</a></td>
241 <td align="center"><a href="https://github.com/DonatoReis"><img src="https://avatars.githubusercontent.com/u/93531354?v=4?s=100" width="100px;" alt=""/><br /><sub><b>PeakyBlinder</b></sub></a><br /><a href="#ideas-DonatoReis" title="Ideas, Planning, & Feedback">🤔</a></td>
242 <td align="center"><a href="https://postmodern.github.io/"><img src="https://avatars.githubusercontent.com/u/12671?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Postmodern</b></sub></a><br /><a href="#ideas-postmodern" title="Ideas, Planning, & Feedback">🤔</a></td>
243 <td align="center"><a href="https://github.com/herrcykel"><img src="https://avatars.githubusercontent.com/u/1936757?v=4?s=100" width="100px;" alt=""/><br /><sub><b>O</b></sub></a><br /><a href="https://github.com/epi052/feroxbuster/commits?author=herrcykel" title="Code">💻</a></td>
241244 </tr>
242245 </table>
243246
5858 if !config_dir.exists() {
5959 // recursively create the feroxbuster directory and all of its parent components if
6060 // they are missing
61 if !config_dir.exists() {
62 // recursively create the feroxbuster directory and all of its parent components if
63 // they are missing
64 if create_dir_all(&config_dir).is_err() {
65 // only copy the config file when we're not running in the CI/CD pipeline
66 // which fails with permission denied
67 eprintln!("Couldn't create one or more directories needed to copy the config file");
68 return;
69 }
61 if create_dir_all(&config_dir).is_err() {
62 // only copy the config file when we're not running in the CI/CD pipeline
63 // which fails with permission denied
64 eprintln!("Couldn't create one or more directories needed to copy the config file");
65 return;
7066 }
7167 }
7268
2323 '--replay-proxy=[Send only unfiltered requests through a Replay Proxy, instead of all requests]:REPLAY_PROXY:_urls' \
2424 '*-R+[Status Codes to send through a Replay Proxy when found (default: --status-codes value)]:REPLAY_CODE: ' \
2525 '*--replay-codes=[Status Codes to send through a Replay Proxy when found (default: --status-codes value)]:REPLAY_CODE: ' \
26 '-a+[Sets the User-Agent (default: feroxbuster/2.7.0)]:USER_AGENT: ' \
27 '--user-agent=[Sets the User-Agent (default: feroxbuster/2.7.0)]:USER_AGENT: ' \
26 '-a+[Sets the User-Agent (default: feroxbuster/2.7.1)]:USER_AGENT: ' \
27 '--user-agent=[Sets the User-Agent (default: feroxbuster/2.7.1)]:USER_AGENT: ' \
2828 '*-x+[File extension(s) to search for (ex: -x php -x pdf js)]:FILE_EXTENSION: ' \
2929 '*--extensions=[File extension(s) to search for (ex: -x php -x pdf js)]:FILE_EXTENSION: ' \
3030 '*-m+[Which HTTP request method(s) should be sent (default: GET)]:HTTP_METHODS: ' \
2929 [CompletionResult]::new('--replay-proxy', 'replay-proxy', [CompletionResultType]::ParameterName, 'Send only unfiltered requests through a Replay Proxy, instead of all requests')
3030 [CompletionResult]::new('-R', 'R', [CompletionResultType]::ParameterName, 'Status Codes to send through a Replay Proxy when found (default: --status-codes value)')
3131 [CompletionResult]::new('--replay-codes', 'replay-codes', [CompletionResultType]::ParameterName, 'Status Codes to send through a Replay Proxy when found (default: --status-codes value)')
32 [CompletionResult]::new('-a', 'a', [CompletionResultType]::ParameterName, 'Sets the User-Agent (default: feroxbuster/2.7.0)')
33 [CompletionResult]::new('--user-agent', 'user-agent', [CompletionResultType]::ParameterName, 'Sets the User-Agent (default: feroxbuster/2.7.0)')
32 [CompletionResult]::new('-a', 'a', [CompletionResultType]::ParameterName, 'Sets the User-Agent (default: feroxbuster/2.7.1)')
33 [CompletionResult]::new('--user-agent', 'user-agent', [CompletionResultType]::ParameterName, 'Sets the User-Agent (default: feroxbuster/2.7.1)')
3434 [CompletionResult]::new('-x', 'x', [CompletionResultType]::ParameterName, 'File extension(s) to search for (ex: -x php -x pdf js)')
3535 [CompletionResult]::new('--extensions', 'extensions', [CompletionResultType]::ParameterName, 'File extension(s) to search for (ex: -x php -x pdf js)')
3636 [CompletionResult]::new('-m', 'm', [CompletionResultType]::ParameterName, 'Which HTTP request method(s) should be sent (default: GET)')
2626 cand --replay-proxy 'Send only unfiltered requests through a Replay Proxy, instead of all requests'
2727 cand -R 'Status Codes to send through a Replay Proxy when found (default: --status-codes value)'
2828 cand --replay-codes 'Status Codes to send through a Replay Proxy when found (default: --status-codes value)'
29 cand -a 'Sets the User-Agent (default: feroxbuster/2.7.0)'
30 cand --user-agent 'Sets the User-Agent (default: feroxbuster/2.7.0)'
29 cand -a 'Sets the User-Agent (default: feroxbuster/2.7.1)'
30 cand --user-agent 'Sets the User-Agent (default: feroxbuster/2.7.1)'
3131 cand -x 'File extension(s) to search for (ex: -x php -x pdf js)'
3232 cand --extensions 'File extension(s) to search for (ex: -x php -x pdf js)'
3333 cand -m 'Which HTTP request method(s) should be sent (default: GET)'
591591 }
592592
593593 if let Some(arg) = args.values_of("extensions") {
594 config.extensions = arg.map(|val| val.to_string()).collect();
594 config.extensions = arg
595 .map(|val| val.trim_start_matches('.').to_string())
596 .collect();
595597 }
596598
597599 if let Some(arg) = args.values_of("dont_collect") {
954956 update_if_not_default!(&mut conf.force_recursion, new.force_recursion, false);
955957 update_if_not_default!(&mut conf.extract_links, new.extract_links, false);
956958 update_if_not_default!(&mut conf.extensions, new.extensions, Vec::<String>::new());
957 update_if_not_default!(&mut conf.methods, new.methods, Vec::<String>::new());
959 update_if_not_default!(&mut conf.methods, new.methods, methods());
958960 update_if_not_default!(&mut conf.data, new.data, Vec::<u8>::new());
959961 update_if_not_default!(&mut conf.url_denylist, new.url_denylist, Vec::<Url>::new());
960962 if !new.regex_denylist.is_empty() {
10271029 /// uses serde to deserialize the toml into a `Configuration` struct
10281030 pub(super) fn parse_config(config_file: PathBuf) -> Result<Self> {
10291031 let content = read_to_string(config_file)?;
1030 let config: Self = toml::from_str(content.as_str())?;
1032 let mut config: Self = toml::from_str(content.as_str())?;
1033
1034 if !config.extensions.is_empty() {
1035 // remove leading periods, if any are found
1036 config.extensions = config
1037 .extensions
1038 .iter()
1039 .map(|ext| ext.trim_start_matches('.').to_string())
1040 .collect();
1041 }
1042
10311043 Ok(config)
10321044 }
10331045 }
8080 }
8181
8282 /// enum representing the three possible states for informational output (not logging verbosity)
83 #[derive(Debug, Copy, Clone, PartialEq)]
83 #[derive(Debug, Copy, Clone, PartialEq, Eq)]
8484 pub enum OutputLevel {
8585 /// normal scan, no --quiet|--silent
8686 Default,
115115 }
116116
117117 /// represents actions the Requester should take in certain situations
118 #[derive(Debug, PartialEq, Copy, Clone)]
118 #[derive(Debug, PartialEq, Eq, Copy, Clone)]
119119 pub enum RequesterPolicy {
120120 /// automatically try to lower request rate in order to reduce errors
121121 AutoTune,
412412
413413 let scanned_urls = self.handles.ferox_scans()?;
414414
415 if scanned_urls.get_scan_by_url(&new_url.to_string()).is_some() {
415 if scanned_urls.get_scan_by_url(new_url.as_ref()).is_some() {
416416 //we've seen the url before and don't need to scan again
417417 log::trace!("exit: request_link -> None");
418418 bail!("previously seen url");
00 use super::*;
11
22 /// Dummy filter for internal shenanigans
3 #[derive(Default, Debug, PartialEq)]
3 #[derive(Default, Debug, PartialEq, Eq)]
44 pub struct EmptyFilter {}
55
66 impl FeroxFilter for EmptyFilter {
11
22 /// Simple implementor of FeroxFilter; used to filter out responses based on the number of lines
33 /// in a Response body; specified using -N|--filter-lines
4 #[derive(Default, Debug, PartialEq, Serialize, Deserialize)]
4 #[derive(Default, Debug, PartialEq, Eq, Serialize, Deserialize)]
55 pub struct LinesFilter {
66 /// Number of lines in a Response's body that should be filtered
77 pub line_count: usize,
22
33 /// Simple implementor of FeroxFilter; used to filter out responses based on the similarity of a
44 /// Response body with a known response; specified using --filter-similar-to
5 #[derive(Default, Debug, PartialEq, Serialize, Deserialize)]
5 #[derive(Default, Debug, PartialEq, Eq, Serialize, Deserialize)]
66 pub struct SimilarityFilter {
77 /// Hash of Response's body to be used during similarity comparison
88 pub hash: String,
11
22 /// Simple implementor of FeroxFilter; used to filter out responses based on the length of a
33 /// Response body; specified using -S|--filter-size
4 #[derive(Default, Debug, PartialEq, Serialize, Deserialize)]
4 #[derive(Default, Debug, PartialEq, Eq, Serialize, Deserialize)]
55 pub struct SizeFilter {
66 /// Overall length of a Response's body that should be filtered
77 pub content_length: u64,
11
22 /// Simple implementor of FeroxFilter; used to filter out status codes specified using
33 /// -C|--filter-status
4 #[derive(Default, Debug, PartialEq, Serialize, Deserialize)]
4 #[derive(Default, Debug, PartialEq, Eq, Serialize, Deserialize)]
55 pub struct StatusCodeFilter {
66 /// Status code that should not be displayed to the user
77 pub filter_code: u16,
88 ///
99 /// `size` is size of the response that should be included with filters passed via runtime
1010 /// configuration and any static wildcard lengths.
11 #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
11 #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
1212 pub struct WildcardFilter {
1313 /// size of the response that will later be combined with the length of the path of the url
1414 /// requested
11
22 /// Simple implementor of FeroxFilter; used to filter out responses based on the number of words
33 /// in a Response body; specified using -W|--filter-words
4 #[derive(Default, Debug, PartialEq, Serialize, Deserialize)]
4 #[derive(Default, Debug, PartialEq, Eq, Serialize, Deserialize)]
55 pub struct WordsFilter {
66 /// Number of words in a Response's body that should be filtered
77 pub word_count: usize,
9090 let mut ids = vec![];
9191
9292 for _ in 0..length {
93 ids.push(Uuid::new_v4().to_simple().to_string());
93 ids.push(Uuid::new_v4().as_simple().to_string());
9494 }
9595
9696 let unique_id = ids.join("");
7575 #[cfg(target_os = "windows")]
7676 pub const DEFAULT_WORDLIST: &str =
7777 ".\\SecLists\\Discovery\\Web-Content\\raft-medium-directories.txt";
78 pub const SECONDARY_WORDLIST: &str =
79 "/usr/local/share/seclists/Discovery/Web-Content/raft-medium-directories.txt";
7880
7981 /// Number of milliseconds to wait between polls of `PAUSE_SCAN` when user pauses a scan
8082 pub(crate) const SLEEP_DURATION: u64 = 500;
1616 };
1717 use tokio_util::codec::{FramedRead, LinesCodec};
1818
19 use feroxbuster::scan_manager::ScanType;
2019 use feroxbuster::{
2120 banner::{Banner, UPDATE_URL},
2221 config::{Configuration, OutputLevel},
2928 },
3029 filters, heuristics, logger,
3130 progress::{PROGRESS_BAR, PROGRESS_PRINTER},
32 scan_manager::{self},
31 scan_manager::{self, ScanType},
3332 scanner,
3433 utils::{fmt_err, slugify_filename},
34 SECONDARY_WORDLIST,
3535 };
3636 #[cfg(not(target_os = "windows"))]
3737 use feroxbuster::{utils::set_open_file_limit, DEFAULT_OPEN_FILE_LIMIT};
149149 }
150150
151151 // remove footgun that arises if a --dont-scan value matches on a base url
152 for target in &targets {
152 for target in targets.iter_mut() {
153153 for denier in &handles.config.regex_denylist {
154154 if denier.is_match(target) {
155155 bail!(
167167 target
168168 );
169169 }
170 }
171
172 if !target.starts_with("http") && !target.starts_with("https") {
173 // --url hackerone.com
174 *target = format!("https://{}", target);
170175 }
171176 }
172177
194199 // cloning an Arc is cheap (it's basically a pointer into the heap)
195200 // so that will allow for cheap/safe sharing of a single wordlist across multi-target scans
196201 // as well as additional directories found as part of recursion
197 let words = get_unique_words_from_wordlist(&config.wordlist)?;
202 let words = match get_unique_words_from_wordlist(&config.wordlist) {
203 Ok(w) => w,
204 Err(err) => {
205 let secondary = Path::new(SECONDARY_WORDLIST);
206
207 if secondary.exists() {
208 eprintln!("Found wordlist in secondary location");
209 get_unique_words_from_wordlist(SECONDARY_WORDLIST)?
210 } else {
211 return Err(err);
212 }
213 }
214 };
198215
199216 if words.len() <= 1 {
200217 // the check is now <= 1 due to the initial empty string added in 2.6.0
6969 impl Default for FeroxScan {
7070 /// Create a default FeroxScan, populates ID with a new UUID
7171 fn default() -> Self {
72 let new_id = Uuid::new_v4().to_simple().to_string();
72 let new_id = Uuid::new_v4().as_simple().to_string();
7373
7474 FeroxScan {
7575 id: new_id,
7474 let mut seq = serializer.serialize_seq(Some(scans.len() + 1))?;
7575
7676 for scan in scans.iter() {
77 seq.serialize_element(&*scan).unwrap_or_default();
77 seq.serialize_element(scan).unwrap_or_default();
7878 }
7979 seq.end()
8080 }
0 use std::fmt::Write as _;
01 use std::sync::atomic::AtomicBool;
12 use std::{ops::Deref, sync::atomic::Ordering, sync::Arc, time::Instant};
23
283284 let mut message = format!("=> {}", style("Directory listing").blue().bright());
284285
285286 if !self.handles.config.extract_links {
286 message
287 .push_str(&format!(" (add {} to scan)", style("-e").bright().yellow()))
287 write!(message, " (add {} to scan)", style("-e").bright().yellow())?;
288288 }
289289
290290 progress_bar.reset_eta();
55
66 use anyhow::Result;
77 use lazy_static::lazy_static;
8 use leaky_bucket::LeakyBucket;
8 use leaky_bucket::RateLimiter;
99 use tokio::{
1010 sync::RwLock,
1111 time::{sleep, Duration},
4444 target_url: String,
4545
4646 /// limits requests per second if present
47 rate_limiter: RwLock<Option<LeakyBucket>>,
47 rate_limiter: RwLock<Option<RateLimiter>>,
4848
4949 /// data regarding policy and metadata about last enforced trigger etc...
5050 policy_data: PolicyData,
9393 })
9494 }
9595
96 /// build a LeakyBucket, given a rate limit (as requests per second)
97 fn build_a_bucket(limit: usize) -> Result<LeakyBucket> {
96 /// build a RateLimiter, given a rate limit (as requests per second)
97 fn build_a_bucket(limit: usize) -> Result<RateLimiter> {
9898 let refill = max((limit as f64 / 10.0).round() as usize, 1); // minimum of 1 per second
9999 let tokens = max((limit as f64 / 2.0).round() as usize, 1);
100100 let interval = if refill == 1 { 1000 } else { 100 }; // 1 second if refill is 1
101101
102 Ok(LeakyBucket::builder()
103 .refill_interval(Duration::from_millis(interval)) // add tokens every 0.1s
104 .refill_amount(refill) // ex: 100 req/s -> 10 tokens per 0.1s
105 .tokens(tokens) // reduce initial burst, 2 is arbitrary, but felt good
102 Ok(RateLimiter::builder()
103 .interval(Duration::from_millis(interval)) // add tokens every 0.1s
104 .refill(refill) // ex: 100 req/s -> 10 tokens per 0.1s
105 .initial(tokens) // reduce initial burst, 2 is arbitrary, but felt good
106106 .max(limit)
107 .build()?)
107 .build())
108108 }
109109
110110 /// sleep and set a flag that can be checked by other threads
123123
124124 /// limit the number of requests per second
125125 pub async fn limit(&self) -> Result<()> {
126 self.rate_limiter
127 .read()
128 .await
129 .as_ref()
130 .unwrap()
131 .acquire_one()
132 .await?;
126 let guard = self.rate_limiter.read().await;
127
128 if guard.is_some() {
129 guard.as_ref().unwrap().acquire_one().await;
130 }
131
133132 Ok(())
134133 }
135134
925924 /// decrease the scan rate
926925 async fn adjust_limit_resets_streak_counter_on_downward_movement() {
927926 let (handles, _) = setup_requester_test(None).await;
928 let mut buckets = leaky_bucket::LeakyBuckets::new();
929 let coordinator = buckets.coordinate().unwrap();
930 tokio::spawn(async move { coordinator.await.expect("coordinator errored") });
931 let limiter = buckets.rate_limiter().max(200).build().unwrap();
927 let limiter = RateLimiter::builder()
928 .interval(Duration::from_secs(1))
929 .max(200)
930 .build();
932931
933932 let scan = FeroxScan::default();
934933 scan.add_error();
947946 requester.policy_data.set_reqs_sec(400);
948947 requester.policy_data.set_errors(1);
949948
950 let mut guard = requester.tuning_lock.lock().unwrap();
951 *guard = 2;
952 drop(guard);
949 {
950 let mut guard = requester.tuning_lock.lock().unwrap();
951 *guard = 2;
952 }
953953
954954 requester
955955 .adjust_limit(PolicyTrigger::Errors, false)
10361036 /// set_rate_limiter should exit early when new limit equals the current bucket's max
10371037 async fn set_rate_limiter_early_exit() {
10381038 let (handles, _) = setup_requester_test(None).await;
1039 let mut buckets = leaky_bucket::LeakyBuckets::new();
1040 let coordinator = buckets.coordinate().unwrap();
1041 tokio::spawn(async move { coordinator.await.expect("coordinator errored") });
1042 let limiter = buckets.rate_limiter().max(200).build().unwrap();
1039 let limiter = RateLimiter::builder()
1040 .interval(Duration::from_secs(1))
1041 .max(200)
1042 .build();
10431043
10441044 let requester = Requester {
10451045 handles,
10681068 async fn tune_sets_expected_values_and_then_waits() {
10691069 let (handles, _) = setup_requester_test(None).await;
10701070
1071 let mut buckets = leaky_bucket::LeakyBuckets::new();
1072 let coordinator = buckets.coordinate().unwrap();
1073 tokio::spawn(async move { coordinator.await.expect("coordinator errored") });
1074 let limiter = buckets.rate_limiter().max(200).build().unwrap();
1071 let limiter = RateLimiter::builder()
1072 .interval(Duration::from_secs(1))
1073 .max(200)
1074 .build();
10751075
10761076 let scan = FeroxScan::new(
10771077 "http://localhost",
0 #[derive(Copy, Clone, PartialEq, Debug)]
0 #[derive(Copy, Clone, PartialEq, Eq, Debug)]
11 /// represents different situations where different criteria can trigger auto-tune/bail behavior
22 pub enum PolicyTrigger {
33 /// excessive 403 trigger
198198 let sub_dir = output_dir.as_ref().join(&sub_dir);
199199
200200 // created directory like output-file-1627845741.logs/
201 assert!(dir_regex.is_match(&sub_dir.to_string_lossy().to_string()));
201 assert!(dir_regex.is_match(&sub_dir.to_string_lossy()));
202202
203203 for entry in sub_dir.read_dir()? {
204204 let entry = entry?;