voidcrawl 0.3.6__tar.gz → 0.3.8.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/Cargo.lock +66 -228
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/PKG-INFO +10 -2
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/README.md +8 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/crates/core/Cargo.toml +2 -1
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/crates/core/README.md +8 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/crates/core/src/captcha.rs +2 -1
- voidcrawl-0.3.8.2/crates/core/src/challenge.rs +177 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/crates/core/src/lib.rs +10 -0
- voidcrawl-0.3.8.2/crates/core/src/managed_profile.rs +571 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/crates/core/src/profile.rs +12 -0
- voidcrawl-0.3.8.2/crates/core/tests/managed_profile_registry.rs +83 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/crates/pyo3_bindings/Cargo.toml +3 -2
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/crates/pyo3_bindings/src/lib.rs +101 -2
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/pyproject.toml +3 -3
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/voidcrawl/__init__.py +7 -1
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/voidcrawl/__init__.pyi +4 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/voidcrawl/_ext.pyi +31 -0
- voidcrawl-0.3.8.2/voidcrawl/profiles.py +410 -0
- voidcrawl-0.3.6/voidcrawl/profiles.py +0 -114
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/Cargo.toml +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/LICENSE.md +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/crates/core/CORPUS.md +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/crates/core/examples/download_and_scan.rs +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/crates/core/examples/download_via_action.rs +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/crates/core/src/antibot.rs +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/crates/core/src/ax.rs +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/crates/core/src/error.rs +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/crates/core/src/input.rs +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/crates/core/src/page.rs +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/crates/core/src/pool.rs +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/crates/core/src/scanner.rs +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/crates/core/src/session.rs +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/crates/core/src/stealth.rs +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/crates/core/tests/antibot_accuracy.rs +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/crates/core/tests/ax_tree.rs +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/crates/core/tests/captcha_capture.rs +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/crates/core/tests/captcha_runtime_loaded.rs +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/crates/core/tests/download.rs +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/crates/core/tests/emulation.rs +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/crates/core/tests/integration.rs +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/crates/core/tests/profile_lock.rs +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/crates/core/tests/scanner.rs +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/crates/core/tests/stealth_ua.rs +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/voidcrawl/_downloads.py +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/voidcrawl/actions/__init__.py +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/voidcrawl/actions/__init__.pyi +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/voidcrawl/actions/_base.py +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/voidcrawl/actions/_base.pyi +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/voidcrawl/actions/_flow.py +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/voidcrawl/actions/_flow.pyi +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/voidcrawl/actions/_protocol.py +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/voidcrawl/actions/_protocol.pyi +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/voidcrawl/actions/builtin/__init__.py +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/voidcrawl/actions/builtin/__init__.pyi +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/voidcrawl/actions/builtin/click.py +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/voidcrawl/actions/builtin/click.pyi +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/voidcrawl/actions/builtin/dom.py +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/voidcrawl/actions/builtin/dom.pyi +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/voidcrawl/actions/builtin/hover.py +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/voidcrawl/actions/builtin/hover.pyi +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/voidcrawl/actions/builtin/input.py +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/voidcrawl/actions/builtin/input.pyi +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/voidcrawl/actions/builtin/network.py +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/voidcrawl/actions/builtin/network.pyi +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/voidcrawl/actions/builtin/scroll.py +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/voidcrawl/actions/builtin/scroll.pyi +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/voidcrawl/actions/builtin/wait.py +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/voidcrawl/actions/builtin/wait.pyi +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/voidcrawl/actions/js/click_at.js +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/voidcrawl/actions/js/hover.js +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/voidcrawl/actions/js/wait_for_selector.js +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/voidcrawl/cli.py +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/voidcrawl/debug.py +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/voidcrawl/debug.pyi +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/voidcrawl/py.typed +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/voidcrawl/scale.py +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/voidcrawl/scale.pyi +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/voidcrawl/schema.py +0 -0
- {voidcrawl-0.3.6 → voidcrawl-0.3.8.2}/voidcrawl/schema.pyi +0 -0
|
@@ -98,9 +98,9 @@ dependencies = [
|
|
|
98
98
|
|
|
99
99
|
[[package]]
|
|
100
100
|
name = "anyhow"
|
|
101
|
-
version = "1.0.
|
|
101
|
+
version = "1.0.103"
|
|
102
102
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
103
|
-
checksum = "
|
|
103
|
+
checksum = "2a4385e2e34eb35d6b3efe798b9eb88096925d87726c0798709bf56d9ed84af3"
|
|
104
104
|
|
|
105
105
|
[[package]]
|
|
106
106
|
name = "arbitrary"
|
|
@@ -197,9 +197,9 @@ dependencies = [
|
|
|
197
197
|
|
|
198
198
|
[[package]]
|
|
199
199
|
name = "bitvec"
|
|
200
|
-
version = "1.
|
|
200
|
+
version = "1.1.1"
|
|
201
201
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
202
|
-
checksum = "
|
|
202
|
+
checksum = "ddcec3d12c579d40898fe0a9a358a803c23e9c52ca3c425707f81c9436211837"
|
|
203
203
|
dependencies = [
|
|
204
204
|
"funty",
|
|
205
205
|
"radium",
|
|
@@ -219,13 +219,13 @@ dependencies = [
|
|
|
219
219
|
|
|
220
220
|
[[package]]
|
|
221
221
|
name = "bstr"
|
|
222
|
-
version = "1.12.
|
|
222
|
+
version = "1.12.3"
|
|
223
223
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
224
|
-
checksum = "
|
|
224
|
+
checksum = "5cee35f73844aa3014bb606320a6c1f010249dbdf43342fe54b5a4f6a8ed4b79"
|
|
225
225
|
dependencies = [
|
|
226
226
|
"memchr",
|
|
227
227
|
"regex-automata",
|
|
228
|
-
"
|
|
228
|
+
"serde_core",
|
|
229
229
|
]
|
|
230
230
|
|
|
231
231
|
[[package]]
|
|
@@ -245,15 +245,15 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
|
|
|
245
245
|
|
|
246
246
|
[[package]]
|
|
247
247
|
name = "bytes"
|
|
248
|
-
version = "1.
|
|
248
|
+
version = "1.12.0"
|
|
249
249
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
250
|
-
checksum = "
|
|
250
|
+
checksum = "8ae3f5d315924270530207e2a68396c3cc547f6dca3fbdca317cfb1a51edb593"
|
|
251
251
|
|
|
252
252
|
[[package]]
|
|
253
253
|
name = "cc"
|
|
254
|
-
version = "1.2.
|
|
254
|
+
version = "1.2.65"
|
|
255
255
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
256
|
-
checksum = "
|
|
256
|
+
checksum = "e228eec9be7c17ccb640b59b36a5cd805ea2a564a4c5e162c2f659fea30d3b96"
|
|
257
257
|
dependencies = [
|
|
258
258
|
"find-msvc-tools",
|
|
259
259
|
"shlex",
|
|
@@ -780,12 +780,6 @@ version = "1.0.7"
|
|
|
780
780
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
781
781
|
checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
|
|
782
782
|
|
|
783
|
-
[[package]]
|
|
784
|
-
name = "foldhash"
|
|
785
|
-
version = "0.1.5"
|
|
786
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
787
|
-
checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2"
|
|
788
|
-
|
|
789
783
|
[[package]]
|
|
790
784
|
name = "foldhash"
|
|
791
785
|
version = "0.2.0"
|
|
@@ -938,15 +932,13 @@ dependencies = [
|
|
|
938
932
|
|
|
939
933
|
[[package]]
|
|
940
934
|
name = "getrandom"
|
|
941
|
-
version = "0.4.
|
|
935
|
+
version = "0.4.3"
|
|
942
936
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
943
|
-
checksum = "
|
|
937
|
+
checksum = "300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099"
|
|
944
938
|
dependencies = [
|
|
945
939
|
"cfg-if",
|
|
946
940
|
"libc",
|
|
947
941
|
"r-efi 6.0.0",
|
|
948
|
-
"wasip2",
|
|
949
|
-
"wasip3",
|
|
950
942
|
]
|
|
951
943
|
|
|
952
944
|
[[package]]
|
|
@@ -1002,22 +994,13 @@ version = "0.14.5"
|
|
|
1002
994
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1003
995
|
checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
|
|
1004
996
|
|
|
1005
|
-
[[package]]
|
|
1006
|
-
name = "hashbrown"
|
|
1007
|
-
version = "0.15.5"
|
|
1008
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1009
|
-
checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1"
|
|
1010
|
-
dependencies = [
|
|
1011
|
-
"foldhash 0.1.5",
|
|
1012
|
-
]
|
|
1013
|
-
|
|
1014
997
|
[[package]]
|
|
1015
998
|
name = "hashbrown"
|
|
1016
999
|
version = "0.16.1"
|
|
1017
1000
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1018
1001
|
checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100"
|
|
1019
1002
|
dependencies = [
|
|
1020
|
-
"foldhash
|
|
1003
|
+
"foldhash",
|
|
1021
1004
|
"serde",
|
|
1022
1005
|
"serde_core",
|
|
1023
1006
|
]
|
|
@@ -1413,9 +1396,9 @@ dependencies = [
|
|
|
1413
1396
|
|
|
1414
1397
|
[[package]]
|
|
1415
1398
|
name = "js-sys"
|
|
1416
|
-
version = "0.3.
|
|
1399
|
+
version = "0.3.103"
|
|
1417
1400
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1418
|
-
checksum = "
|
|
1401
|
+
checksum = "53b44bfcdb3f8d5837a46dae1ca9660a837176eee74a28b229bc626816589102"
|
|
1419
1402
|
dependencies = [
|
|
1420
1403
|
"cfg-if",
|
|
1421
1404
|
"futures-util",
|
|
@@ -1475,9 +1458,9 @@ dependencies = [
|
|
|
1475
1458
|
|
|
1476
1459
|
[[package]]
|
|
1477
1460
|
name = "log"
|
|
1478
|
-
version = "0.4.
|
|
1461
|
+
version = "0.4.33"
|
|
1479
1462
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1480
|
-
checksum = "
|
|
1463
|
+
checksum = "0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad"
|
|
1481
1464
|
|
|
1482
1465
|
[[package]]
|
|
1483
1466
|
name = "logos"
|
|
@@ -1548,9 +1531,9 @@ dependencies = [
|
|
|
1548
1531
|
|
|
1549
1532
|
[[package]]
|
|
1550
1533
|
name = "memmap2"
|
|
1551
|
-
version = "0.9.
|
|
1534
|
+
version = "0.9.11"
|
|
1552
1535
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1553
|
-
checksum = "
|
|
1536
|
+
checksum = "d1219ed1b7f229ee7104d281dd01d6802fe28bb6e95d292942c4daacdeb798c0"
|
|
1554
1537
|
dependencies = [
|
|
1555
1538
|
"libc",
|
|
1556
1539
|
]
|
|
@@ -1702,16 +1685,6 @@ dependencies = [
|
|
|
1702
1685
|
"zerocopy",
|
|
1703
1686
|
]
|
|
1704
1687
|
|
|
1705
|
-
[[package]]
|
|
1706
|
-
name = "prettyplease"
|
|
1707
|
-
version = "0.2.37"
|
|
1708
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1709
|
-
checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b"
|
|
1710
|
-
dependencies = [
|
|
1711
|
-
"proc-macro2",
|
|
1712
|
-
"syn",
|
|
1713
|
-
]
|
|
1714
|
-
|
|
1715
1688
|
[[package]]
|
|
1716
1689
|
name = "proc-macro2"
|
|
1717
1690
|
version = "1.0.106"
|
|
@@ -1837,9 +1810,9 @@ dependencies = [
|
|
|
1837
1810
|
|
|
1838
1811
|
[[package]]
|
|
1839
1812
|
name = "quote"
|
|
1840
|
-
version = "1.0.
|
|
1813
|
+
version = "1.0.46"
|
|
1841
1814
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1842
|
-
checksum = "
|
|
1815
|
+
checksum = "dfbc457d0c7a0759a614551b11a6409e5951f6c7537be1f1b7682b9ae9230368"
|
|
1843
1816
|
dependencies = [
|
|
1844
1817
|
"proc-macro2",
|
|
1845
1818
|
]
|
|
@@ -2015,9 +1988,9 @@ dependencies = [
|
|
|
2015
1988
|
|
|
2016
1989
|
[[package]]
|
|
2017
1990
|
name = "rmcp"
|
|
2018
|
-
version = "1.
|
|
1991
|
+
version = "1.8.0"
|
|
2019
1992
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2020
|
-
checksum = "
|
|
1993
|
+
checksum = "1d1f571c72940a19d9532fe52dbea8bc9912bf1d766c2970bb824056b86f3f59"
|
|
2021
1994
|
dependencies = [
|
|
2022
1995
|
"async-trait",
|
|
2023
1996
|
"base64",
|
|
@@ -2037,9 +2010,9 @@ dependencies = [
|
|
|
2037
2010
|
|
|
2038
2011
|
[[package]]
|
|
2039
2012
|
name = "rmcp-macros"
|
|
2040
|
-
version = "1.
|
|
2013
|
+
version = "1.8.0"
|
|
2041
2014
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2042
|
-
checksum = "
|
|
2015
|
+
checksum = "1aad0035b69380782d78ea95b508327e6deaa2235909053e596eea8f27b5e1d5"
|
|
2043
2016
|
dependencies = [
|
|
2044
2017
|
"darling",
|
|
2045
2018
|
"proc-macro2",
|
|
@@ -2096,9 +2069,9 @@ dependencies = [
|
|
|
2096
2069
|
|
|
2097
2070
|
[[package]]
|
|
2098
2071
|
name = "rustls"
|
|
2099
|
-
version = "0.23.
|
|
2072
|
+
version = "0.23.41"
|
|
2100
2073
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2101
|
-
checksum = "
|
|
2074
|
+
checksum = "6b92b125634d9b795e7beca796cc790df15a7fb38323bf3196fda83292d06b1f"
|
|
2102
2075
|
dependencies = [
|
|
2103
2076
|
"once_cell",
|
|
2104
2077
|
"ring",
|
|
@@ -2475,7 +2448,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
2475
2448
|
checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd"
|
|
2476
2449
|
dependencies = [
|
|
2477
2450
|
"fastrand",
|
|
2478
|
-
"getrandom 0.4.
|
|
2451
|
+
"getrandom 0.4.3",
|
|
2479
2452
|
"once_cell",
|
|
2480
2453
|
"rustix",
|
|
2481
2454
|
"windows-sys 0.61.2",
|
|
@@ -2753,12 +2726,6 @@ version = "0.2.2"
|
|
|
2753
2726
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2754
2727
|
checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254"
|
|
2755
2728
|
|
|
2756
|
-
[[package]]
|
|
2757
|
-
name = "unicode-xid"
|
|
2758
|
-
version = "0.2.6"
|
|
2759
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2760
|
-
checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853"
|
|
2761
|
-
|
|
2762
2729
|
[[package]]
|
|
2763
2730
|
name = "untrusted"
|
|
2764
2731
|
version = "0.9.0"
|
|
@@ -2803,11 +2770,11 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
|
|
|
2803
2770
|
|
|
2804
2771
|
[[package]]
|
|
2805
2772
|
name = "uuid"
|
|
2806
|
-
version = "1.23.
|
|
2773
|
+
version = "1.23.4"
|
|
2807
2774
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2808
|
-
checksum = "
|
|
2775
|
+
checksum = "bf80a72845275afea99e7f2b434723d3bc7e38470fcd1c7ed39a599c73319a53"
|
|
2809
2776
|
dependencies = [
|
|
2810
|
-
"getrandom 0.4.
|
|
2777
|
+
"getrandom 0.4.3",
|
|
2811
2778
|
"js-sys",
|
|
2812
2779
|
"wasm-bindgen",
|
|
2813
2780
|
]
|
|
@@ -2832,11 +2799,12 @@ checksum = "051eb1abcf10076295e815102942cc58f9d5e3b4560e46e53c21e8ff6f3af7b1"
|
|
|
2832
2799
|
|
|
2833
2800
|
[[package]]
|
|
2834
2801
|
name = "void_crawl"
|
|
2835
|
-
version = "0.3.
|
|
2802
|
+
version = "0.3.8"
|
|
2836
2803
|
dependencies = [
|
|
2837
2804
|
"futures",
|
|
2838
2805
|
"pyo3",
|
|
2839
2806
|
"pyo3-async-runtimes",
|
|
2807
|
+
"serde",
|
|
2840
2808
|
"serde_json",
|
|
2841
2809
|
"tokio",
|
|
2842
2810
|
"void_crawl_core",
|
|
@@ -2844,7 +2812,7 @@ dependencies = [
|
|
|
2844
2812
|
|
|
2845
2813
|
[[package]]
|
|
2846
2814
|
name = "void_crawl_core"
|
|
2847
|
-
version = "0.3.
|
|
2815
|
+
version = "0.3.8"
|
|
2848
2816
|
dependencies = [
|
|
2849
2817
|
"chromiumoxide",
|
|
2850
2818
|
"fd-lock",
|
|
@@ -2853,6 +2821,7 @@ dependencies = [
|
|
|
2853
2821
|
"regex",
|
|
2854
2822
|
"reqwest",
|
|
2855
2823
|
"rustls",
|
|
2824
|
+
"schemars",
|
|
2856
2825
|
"serde",
|
|
2857
2826
|
"serde_json",
|
|
2858
2827
|
"tempfile",
|
|
@@ -2863,7 +2832,7 @@ dependencies = [
|
|
|
2863
2832
|
|
|
2864
2833
|
[[package]]
|
|
2865
2834
|
name = "voidcrawl-mcp"
|
|
2866
|
-
version = "0.3.
|
|
2835
|
+
version = "0.3.8"
|
|
2867
2836
|
dependencies = [
|
|
2868
2837
|
"anyhow",
|
|
2869
2838
|
"base64",
|
|
@@ -2908,8 +2877,8 @@ dependencies = [
|
|
|
2908
2877
|
"leb128",
|
|
2909
2878
|
"log",
|
|
2910
2879
|
"walrus-macro",
|
|
2911
|
-
"wasm-encoder
|
|
2912
|
-
"wasmparser
|
|
2880
|
+
"wasm-encoder",
|
|
2881
|
+
"wasmparser",
|
|
2913
2882
|
]
|
|
2914
2883
|
|
|
2915
2884
|
[[package]]
|
|
@@ -2945,23 +2914,14 @@ version = "1.0.4+wasi-0.2.12"
|
|
|
2945
2914
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2946
2915
|
checksum = "b67efb37e106e55ce722a510d6b5f9c17f083e5fc79afc2badeb12cc313d9487"
|
|
2947
2916
|
dependencies = [
|
|
2948
|
-
"wit-bindgen
|
|
2949
|
-
]
|
|
2950
|
-
|
|
2951
|
-
[[package]]
|
|
2952
|
-
name = "wasip3"
|
|
2953
|
-
version = "0.4.0+wasi-0.3.0-rc-2026-01-06"
|
|
2954
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2955
|
-
checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5"
|
|
2956
|
-
dependencies = [
|
|
2957
|
-
"wit-bindgen 0.51.0",
|
|
2917
|
+
"wit-bindgen",
|
|
2958
2918
|
]
|
|
2959
2919
|
|
|
2960
2920
|
[[package]]
|
|
2961
2921
|
name = "wasm-bindgen"
|
|
2962
|
-
version = "0.2.
|
|
2922
|
+
version = "0.2.126"
|
|
2963
2923
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2964
|
-
checksum = "
|
|
2924
|
+
checksum = "4b067c0c11094aef6b7a801c1e34a26affafdf3d051dba08456b868789aaf9a4"
|
|
2965
2925
|
dependencies = [
|
|
2966
2926
|
"cfg-if",
|
|
2967
2927
|
"once_cell",
|
|
@@ -2972,9 +2932,9 @@ dependencies = [
|
|
|
2972
2932
|
|
|
2973
2933
|
[[package]]
|
|
2974
2934
|
name = "wasm-bindgen-futures"
|
|
2975
|
-
version = "0.4.
|
|
2935
|
+
version = "0.4.76"
|
|
2976
2936
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2977
|
-
checksum = "
|
|
2937
|
+
checksum = "c62df1340f32221cb9c54d6a27b030e3dba64361d4a95bed55f9aacb44da291d"
|
|
2978
2938
|
dependencies = [
|
|
2979
2939
|
"js-sys",
|
|
2980
2940
|
"wasm-bindgen",
|
|
@@ -2982,9 +2942,9 @@ dependencies = [
|
|
|
2982
2942
|
|
|
2983
2943
|
[[package]]
|
|
2984
2944
|
name = "wasm-bindgen-macro"
|
|
2985
|
-
version = "0.2.
|
|
2945
|
+
version = "0.2.126"
|
|
2986
2946
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2987
|
-
checksum = "
|
|
2947
|
+
checksum = "167ce5e579f6bcf889c4f7175a8a5a585de84e8ff93976ce393efa5f2837aab1"
|
|
2988
2948
|
dependencies = [
|
|
2989
2949
|
"quote",
|
|
2990
2950
|
"wasm-bindgen-macro-support",
|
|
@@ -2992,9 +2952,9 @@ dependencies = [
|
|
|
2992
2952
|
|
|
2993
2953
|
[[package]]
|
|
2994
2954
|
name = "wasm-bindgen-macro-support"
|
|
2995
|
-
version = "0.2.
|
|
2955
|
+
version = "0.2.126"
|
|
2996
2956
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2997
|
-
checksum = "
|
|
2957
|
+
checksum = "f3997c7839262f4ef12cf90b818d6340c18e80f263f1a94bf157d0ec4420380e"
|
|
2998
2958
|
dependencies = [
|
|
2999
2959
|
"bumpalo",
|
|
3000
2960
|
"proc-macro2",
|
|
@@ -3005,23 +2965,13 @@ dependencies = [
|
|
|
3005
2965
|
|
|
3006
2966
|
[[package]]
|
|
3007
2967
|
name = "wasm-bindgen-shared"
|
|
3008
|
-
version = "0.2.
|
|
2968
|
+
version = "0.2.126"
|
|
3009
2969
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3010
|
-
checksum = "
|
|
2970
|
+
checksum = "dc1b4cb0cc549fcf58d7dfc081778139b3d283a081644e833e84682ad71cea24"
|
|
3011
2971
|
dependencies = [
|
|
3012
2972
|
"unicode-ident",
|
|
3013
2973
|
]
|
|
3014
2974
|
|
|
3015
|
-
[[package]]
|
|
3016
|
-
name = "wasm-encoder"
|
|
3017
|
-
version = "0.244.0"
|
|
3018
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3019
|
-
checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319"
|
|
3020
|
-
dependencies = [
|
|
3021
|
-
"leb128fmt",
|
|
3022
|
-
"wasmparser 0.244.0",
|
|
3023
|
-
]
|
|
3024
|
-
|
|
3025
2975
|
[[package]]
|
|
3026
2976
|
name = "wasm-encoder"
|
|
3027
2977
|
version = "0.245.1"
|
|
@@ -3029,31 +2979,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
3029
2979
|
checksum = "3f9dca005e69bf015e45577e415b9af8c67e8ee3c0e38b5b0add5aa92581ed5c"
|
|
3030
2980
|
dependencies = [
|
|
3031
2981
|
"leb128fmt",
|
|
3032
|
-
"wasmparser
|
|
3033
|
-
]
|
|
3034
|
-
|
|
3035
|
-
[[package]]
|
|
3036
|
-
name = "wasm-metadata"
|
|
3037
|
-
version = "0.244.0"
|
|
3038
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3039
|
-
checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909"
|
|
3040
|
-
dependencies = [
|
|
3041
|
-
"anyhow",
|
|
3042
|
-
"indexmap",
|
|
3043
|
-
"wasm-encoder 0.244.0",
|
|
3044
|
-
"wasmparser 0.244.0",
|
|
3045
|
-
]
|
|
3046
|
-
|
|
3047
|
-
[[package]]
|
|
3048
|
-
name = "wasmparser"
|
|
3049
|
-
version = "0.244.0"
|
|
3050
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3051
|
-
checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe"
|
|
3052
|
-
dependencies = [
|
|
3053
|
-
"bitflags",
|
|
3054
|
-
"hashbrown 0.15.5",
|
|
3055
|
-
"indexmap",
|
|
3056
|
-
"semver",
|
|
2982
|
+
"wasmparser",
|
|
3057
2983
|
]
|
|
3058
2984
|
|
|
3059
2985
|
[[package]]
|
|
@@ -3077,7 +3003,7 @@ checksum = "5f41517a3716fbb8ccf46daa9c1325f760fcbff5168e75c7392288e410b91ac8"
|
|
|
3077
3003
|
dependencies = [
|
|
3078
3004
|
"anyhow",
|
|
3079
3005
|
"termcolor",
|
|
3080
|
-
"wasmparser
|
|
3006
|
+
"wasmparser",
|
|
3081
3007
|
]
|
|
3082
3008
|
|
|
3083
3009
|
[[package]]
|
|
@@ -3105,7 +3031,7 @@ dependencies = [
|
|
|
3105
3031
|
"serde_derive",
|
|
3106
3032
|
"smallvec",
|
|
3107
3033
|
"target-lexicon",
|
|
3108
|
-
"wasmparser
|
|
3034
|
+
"wasmparser",
|
|
3109
3035
|
"wasmtime-environ",
|
|
3110
3036
|
"wasmtime-internal-core",
|
|
3111
3037
|
"wasmtime-internal-cranelift",
|
|
@@ -3138,8 +3064,8 @@ dependencies = [
|
|
|
3138
3064
|
"sha2",
|
|
3139
3065
|
"smallvec",
|
|
3140
3066
|
"target-lexicon",
|
|
3141
|
-
"wasm-encoder
|
|
3142
|
-
"wasmparser
|
|
3067
|
+
"wasm-encoder",
|
|
3068
|
+
"wasmparser",
|
|
3143
3069
|
"wasmprinter",
|
|
3144
3070
|
"wasmtime-internal-core",
|
|
3145
3071
|
]
|
|
@@ -3175,7 +3101,7 @@ dependencies = [
|
|
|
3175
3101
|
"smallvec",
|
|
3176
3102
|
"target-lexicon",
|
|
3177
3103
|
"thiserror 2.0.18",
|
|
3178
|
-
"wasmparser
|
|
3104
|
+
"wasmparser",
|
|
3179
3105
|
"wasmtime-environ",
|
|
3180
3106
|
"wasmtime-internal-core",
|
|
3181
3107
|
"wasmtime-internal-unwinder",
|
|
@@ -3245,9 +3171,9 @@ dependencies = [
|
|
|
3245
3171
|
|
|
3246
3172
|
[[package]]
|
|
3247
3173
|
name = "web-sys"
|
|
3248
|
-
version = "0.3.
|
|
3174
|
+
version = "0.3.103"
|
|
3249
3175
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3250
|
-
checksum = "
|
|
3176
|
+
checksum = "8622dcb61c0bcc9fffa6938bed81210af2da9a7e4a1a834b2e37a59b6dfb6141"
|
|
3251
3177
|
dependencies = [
|
|
3252
3178
|
"js-sys",
|
|
3253
3179
|
"wasm-bindgen",
|
|
@@ -3255,9 +3181,9 @@ dependencies = [
|
|
|
3255
3181
|
|
|
3256
3182
|
[[package]]
|
|
3257
3183
|
name = "webpki-root-certs"
|
|
3258
|
-
version = "1.0.
|
|
3184
|
+
version = "1.0.8"
|
|
3259
3185
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3260
|
-
checksum = "
|
|
3186
|
+
checksum = "0d46a5a140e6f7afeccd8eae97eff335163939eac8b929834875168b29b3d267"
|
|
3261
3187
|
dependencies = [
|
|
3262
3188
|
"rustls-pki-types",
|
|
3263
3189
|
]
|
|
@@ -3441,100 +3367,12 @@ version = "0.52.6"
|
|
|
3441
3367
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3442
3368
|
checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
|
|
3443
3369
|
|
|
3444
|
-
[[package]]
|
|
3445
|
-
name = "wit-bindgen"
|
|
3446
|
-
version = "0.51.0"
|
|
3447
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3448
|
-
checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5"
|
|
3449
|
-
dependencies = [
|
|
3450
|
-
"wit-bindgen-rust-macro",
|
|
3451
|
-
]
|
|
3452
|
-
|
|
3453
3370
|
[[package]]
|
|
3454
3371
|
name = "wit-bindgen"
|
|
3455
3372
|
version = "0.57.1"
|
|
3456
3373
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3457
3374
|
checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e"
|
|
3458
3375
|
|
|
3459
|
-
[[package]]
|
|
3460
|
-
name = "wit-bindgen-core"
|
|
3461
|
-
version = "0.51.0"
|
|
3462
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3463
|
-
checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc"
|
|
3464
|
-
dependencies = [
|
|
3465
|
-
"anyhow",
|
|
3466
|
-
"heck",
|
|
3467
|
-
"wit-parser",
|
|
3468
|
-
]
|
|
3469
|
-
|
|
3470
|
-
[[package]]
|
|
3471
|
-
name = "wit-bindgen-rust"
|
|
3472
|
-
version = "0.51.0"
|
|
3473
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3474
|
-
checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21"
|
|
3475
|
-
dependencies = [
|
|
3476
|
-
"anyhow",
|
|
3477
|
-
"heck",
|
|
3478
|
-
"indexmap",
|
|
3479
|
-
"prettyplease",
|
|
3480
|
-
"syn",
|
|
3481
|
-
"wasm-metadata",
|
|
3482
|
-
"wit-bindgen-core",
|
|
3483
|
-
"wit-component",
|
|
3484
|
-
]
|
|
3485
|
-
|
|
3486
|
-
[[package]]
|
|
3487
|
-
name = "wit-bindgen-rust-macro"
|
|
3488
|
-
version = "0.51.0"
|
|
3489
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3490
|
-
checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a"
|
|
3491
|
-
dependencies = [
|
|
3492
|
-
"anyhow",
|
|
3493
|
-
"prettyplease",
|
|
3494
|
-
"proc-macro2",
|
|
3495
|
-
"quote",
|
|
3496
|
-
"syn",
|
|
3497
|
-
"wit-bindgen-core",
|
|
3498
|
-
"wit-bindgen-rust",
|
|
3499
|
-
]
|
|
3500
|
-
|
|
3501
|
-
[[package]]
|
|
3502
|
-
name = "wit-component"
|
|
3503
|
-
version = "0.244.0"
|
|
3504
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3505
|
-
checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2"
|
|
3506
|
-
dependencies = [
|
|
3507
|
-
"anyhow",
|
|
3508
|
-
"bitflags",
|
|
3509
|
-
"indexmap",
|
|
3510
|
-
"log",
|
|
3511
|
-
"serde",
|
|
3512
|
-
"serde_derive",
|
|
3513
|
-
"serde_json",
|
|
3514
|
-
"wasm-encoder 0.244.0",
|
|
3515
|
-
"wasm-metadata",
|
|
3516
|
-
"wasmparser 0.244.0",
|
|
3517
|
-
"wit-parser",
|
|
3518
|
-
]
|
|
3519
|
-
|
|
3520
|
-
[[package]]
|
|
3521
|
-
name = "wit-parser"
|
|
3522
|
-
version = "0.244.0"
|
|
3523
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3524
|
-
checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736"
|
|
3525
|
-
dependencies = [
|
|
3526
|
-
"anyhow",
|
|
3527
|
-
"id-arena",
|
|
3528
|
-
"indexmap",
|
|
3529
|
-
"log",
|
|
3530
|
-
"semver",
|
|
3531
|
-
"serde",
|
|
3532
|
-
"serde_derive",
|
|
3533
|
-
"serde_json",
|
|
3534
|
-
"unicode-xid",
|
|
3535
|
-
"wasmparser 0.244.0",
|
|
3536
|
-
]
|
|
3537
|
-
|
|
3538
3376
|
[[package]]
|
|
3539
3377
|
name = "writeable"
|
|
3540
3378
|
version = "0.6.3"
|
|
@@ -3552,9 +3390,9 @@ dependencies = [
|
|
|
3552
3390
|
|
|
3553
3391
|
[[package]]
|
|
3554
3392
|
name = "yara-x"
|
|
3555
|
-
version = "1.
|
|
3393
|
+
version = "1.19.0"
|
|
3556
3394
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3557
|
-
checksum = "
|
|
3395
|
+
checksum = "dd44924487d4d3d0bc42683fbfa35036406483f7fc455d820fff8f2f6b3507bd"
|
|
3558
3396
|
dependencies = [
|
|
3559
3397
|
"annotate-snippets",
|
|
3560
3398
|
"anyhow",
|
|
@@ -3595,9 +3433,9 @@ dependencies = [
|
|
|
3595
3433
|
|
|
3596
3434
|
[[package]]
|
|
3597
3435
|
name = "yara-x-macros"
|
|
3598
|
-
version = "1.
|
|
3436
|
+
version = "1.19.0"
|
|
3599
3437
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3600
|
-
checksum = "
|
|
3438
|
+
checksum = "c77caafb677e73e130c13425863c49828c2206c29e8da6aa8fb08b89b3594bef"
|
|
3601
3439
|
dependencies = [
|
|
3602
3440
|
"darling",
|
|
3603
3441
|
"proc-macro2",
|
|
@@ -3607,9 +3445,9 @@ dependencies = [
|
|
|
3607
3445
|
|
|
3608
3446
|
[[package]]
|
|
3609
3447
|
name = "yara-x-parser"
|
|
3610
|
-
version = "1.
|
|
3448
|
+
version = "1.19.0"
|
|
3611
3449
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3612
|
-
checksum = "
|
|
3450
|
+
checksum = "c5564d72253142774903eafc8f4c92bebef40d65c176a11d351258e80cc8a1c7"
|
|
3613
3451
|
dependencies = [
|
|
3614
3452
|
"ascii_tree",
|
|
3615
3453
|
"bitflags",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: voidcrawl
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.8.2
|
|
4
4
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
5
5
|
Classifier: Programming Language :: Python :: 3.10
|
|
6
6
|
Classifier: Programming Language :: Python :: 3.11
|
|
@@ -10,7 +10,7 @@ Classifier: Programming Language :: Python :: 3.14
|
|
|
10
10
|
Requires-Dist: click>=8.3.2
|
|
11
11
|
Requires-Dist: pydantic>=2
|
|
12
12
|
Requires-Dist: rich>=14.3.3 ; extra == 'debug'
|
|
13
|
-
Requires-Dist: voidcrawl-mcp==0.3.
|
|
13
|
+
Requires-Dist: voidcrawl-mcp==0.3.8.2 ; extra == 'mcp'
|
|
14
14
|
Provides-Extra: debug
|
|
15
15
|
Provides-Extra: mcp
|
|
16
16
|
License-File: LICENSE.md
|
|
@@ -43,6 +43,9 @@ Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
|
|
|
43
43
|
|
|
44
44
|
**CDP browser automation for Python** — a Rust-native Chrome DevTools Protocol client exposed to Python via PyO3.
|
|
45
45
|
|
|
46
|
+
> [!WARNING]
|
|
47
|
+
> VoidCrawl is research tooling for API design and web reverse engineering. **You assume all legal risk for how you use it.** Respect `robots.txt`, rate limits, and IP bans; and please don't bypass them with Tor or a VPN. Read [DISCLAIMER.md](DISCLAIMER.md) before pointing it at anything.
|
|
48
|
+
|
|
46
49
|
`void_crawl` replaces Playwright/Selenium with a permissively-licensed (Apache-2.0) stack for rendering JavaScript-heavy pages. Built on [chromiumoxide](https://github.com/mattsse/chromiumoxide) with a shared Tokio runtime.
|
|
47
50
|
|
|
48
51
|
> **Used by [Yosoi](https://github.com/CascadingLabs/Yosoi)** — an AI-powered selector discovery tool for resilient web scraping.
|
|
@@ -178,9 +181,14 @@ uv run pytest tests/ -v
|
|
|
178
181
|
|
|
179
182
|
- [Full API reference](docs/api-reference.md)
|
|
180
183
|
- [Anti-bot / CDN detection](docs/antibot.md)
|
|
184
|
+
- [Challenge escalation with VNC/noVNC](docs/challenge-escalation.md)
|
|
181
185
|
- [Cross-origin & closed-shadow frames](docs/cross-origin-frames.md)
|
|
182
186
|
- [Examples](examples/)
|
|
183
187
|
|
|
188
|
+
## Community
|
|
189
|
+
|
|
190
|
+
- **Responsible use:** see [DISCLAIMER.md](DISCLAIMER.md)
|
|
191
|
+
|
|
184
192
|
## Contact
|
|
185
193
|
|
|
186
194
|
[contact@cascadinglabs.com](mailto:contact@cascadinglabs.com)
|
|
@@ -22,6 +22,9 @@
|
|
|
22
22
|
|
|
23
23
|
**CDP browser automation for Python** — a Rust-native Chrome DevTools Protocol client exposed to Python via PyO3.
|
|
24
24
|
|
|
25
|
+
> [!WARNING]
|
|
26
|
+
> VoidCrawl is research tooling for API design and web reverse engineering. **You assume all legal risk for how you use it.** Respect `robots.txt`, rate limits, and IP bans; and please don't bypass them with Tor or a VPN. Read [DISCLAIMER.md](DISCLAIMER.md) before pointing it at anything.
|
|
27
|
+
|
|
25
28
|
`void_crawl` replaces Playwright/Selenium with a permissively-licensed (Apache-2.0) stack for rendering JavaScript-heavy pages. Built on [chromiumoxide](https://github.com/mattsse/chromiumoxide) with a shared Tokio runtime.
|
|
26
29
|
|
|
27
30
|
> **Used by [Yosoi](https://github.com/CascadingLabs/Yosoi)** — an AI-powered selector discovery tool for resilient web scraping.
|
|
@@ -157,9 +160,14 @@ uv run pytest tests/ -v
|
|
|
157
160
|
|
|
158
161
|
- [Full API reference](docs/api-reference.md)
|
|
159
162
|
- [Anti-bot / CDN detection](docs/antibot.md)
|
|
163
|
+
- [Challenge escalation with VNC/noVNC](docs/challenge-escalation.md)
|
|
160
164
|
- [Cross-origin & closed-shadow frames](docs/cross-origin-frames.md)
|
|
161
165
|
- [Examples](examples/)
|
|
162
166
|
|
|
167
|
+
## Community
|
|
168
|
+
|
|
169
|
+
- **Responsible use:** see [DISCLAIMER.md](DISCLAIMER.md)
|
|
170
|
+
|
|
163
171
|
## Contact
|
|
164
172
|
|
|
165
173
|
[contact@cascadinglabs.com](mailto:contact@cascadinglabs.com)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "void_crawl_core"
|
|
3
|
-
version = "0.3.
|
|
3
|
+
version = "0.3.8"
|
|
4
4
|
edition.workspace = true
|
|
5
5
|
license.workspace = true
|
|
6
6
|
rust-version.workspace = true
|
|
@@ -22,6 +22,7 @@ futures = "0.3"
|
|
|
22
22
|
thiserror = "2"
|
|
23
23
|
serde = { version = "1", features = ["derive"] }
|
|
24
24
|
serde_json = "1"
|
|
25
|
+
schemars = "1"
|
|
25
26
|
# Linear-time (RE2-style) regex engine for anti-bot vendor fingerprinting.
|
|
26
27
|
# No backtracking → safe to run on attacker-controlled responses every fetch.
|
|
27
28
|
regex = "1"
|