proxy-scraper-cli 1.7.1__py3-none-any.whl

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.
Files changed (57) hide show
  1. proxy_scraper_cli-1.7.1.dist-info/METADATA +794 -0
  2. proxy_scraper_cli-1.7.1.dist-info/RECORD +57 -0
  3. proxy_scraper_cli-1.7.1.dist-info/WHEEL +5 -0
  4. proxy_scraper_cli-1.7.1.dist-info/entry_points.txt +4 -0
  5. proxy_scraper_cli-1.7.1.dist-info/licenses/LICENSE +21 -0
  6. proxy_scraper_cli-1.7.1.dist-info/top_level.txt +1 -0
  7. proxyscraper/__init__.py +12 -0
  8. proxyscraper/__main__.py +7 -0
  9. proxyscraper/agent.py +635 -0
  10. proxyscraper/api.py +139 -0
  11. proxyscraper/app.py +595 -0
  12. proxyscraper/asndb.py +181 -0
  13. proxyscraper/blocklist.py +92 -0
  14. proxyscraper/checker.py +514 -0
  15. proxyscraper/cli.py +269 -0
  16. proxyscraper/compat.py +83 -0
  17. proxyscraper/completion.py +196 -0
  18. proxyscraper/exporters.py +118 -0
  19. proxyscraper/fetchcache.py +103 -0
  20. proxyscraper/geo.py +150 -0
  21. proxyscraper/geodb.py +143 -0
  22. proxyscraper/handshake.py +153 -0
  23. proxyscraper/history.py +106 -0
  24. proxyscraper/judges.py +159 -0
  25. proxyscraper/mcp_entry.py +34 -0
  26. proxyscraper/mcp_server.py +220 -0
  27. proxyscraper/netio.py +167 -0
  28. proxyscraper/options.py +274 -0
  29. proxyscraper/output.py +181 -0
  30. proxyscraper/pages.py +212 -0
  31. proxyscraper/parsing.py +192 -0
  32. proxyscraper/paths.py +55 -0
  33. proxyscraper/pipeline.py +434 -0
  34. proxyscraper/preferences.py +24 -0
  35. proxyscraper/publish.py +236 -0
  36. proxyscraper/server/__init__.py +41 -0
  37. proxyscraper/server/core.py +518 -0
  38. proxyscraper/server/http.py +164 -0
  39. proxyscraper/server/pool.py +195 -0
  40. proxyscraper/server/socks.py +65 -0
  41. proxyscraper/server/status.py +108 -0
  42. proxyscraper/server/upstream.py +119 -0
  43. proxyscraper/site/apple-touch-icon.png +0 -0
  44. proxyscraper/site/googleaac1161b7853c5b5.html +1 -0
  45. proxyscraper/site/index.html +934 -0
  46. proxyscraper/site/logo.png +0 -0
  47. proxyscraper/site/og.png +0 -0
  48. proxyscraper/sources.json +395 -0
  49. proxyscraper/sources.py +491 -0
  50. proxyscraper/targets.py +76 -0
  51. proxyscraper/ui/__init__.py +54 -0
  52. proxyscraper/ui/dashboard.py +344 -0
  53. proxyscraper/ui/keys.py +82 -0
  54. proxyscraper/ui/report.py +209 -0
  55. proxyscraper/ui/serve.py +142 -0
  56. proxyscraper/ui/widgets.py +250 -0
  57. proxyscraper/ui/wizard.py +595 -0
@@ -0,0 +1,57 @@
1
+ proxy_scraper_cli-1.7.1.dist-info/licenses/LICENSE,sha256=rYS_nTGbFTk6h7JOAUr3S5e0doOpQZwd97iRK0ida5s,1072
2
+ proxyscraper/__init__.py,sha256=4VdAUfEbcvea0T-c6RIoHmkcTmiE2gg8XJFSqC01O0Q,587
3
+ proxyscraper/__main__.py,sha256=m0KDISYT27FquhMXfFBEPJoWmMw8rNOI-Go7rLXusGM,80
4
+ proxyscraper/agent.py,sha256=NNJdIn8cedZ1F2BSD3tP9Eyne7Cap1JOvkxLk1Rz8Cg,32363
5
+ proxyscraper/api.py,sha256=6x-Y0zEwL61QkCHiHsNyNkGzjobd1vxUq64qzu2cJ-g,6098
6
+ proxyscraper/app.py,sha256=itsiFcm2BmD5yMj-69X3l63Nv5ibmiHWZyGwhF7vHIM,29803
7
+ proxyscraper/asndb.py,sha256=O2cK-qcNrqgTMhiaBlOm077tIi73WK_tkgWj6fXR0L4,6823
8
+ proxyscraper/blocklist.py,sha256=2N8oLaxDe_9vh6D3glyAIDXEUuUAcW7tHj9gbl8vMu8,3910
9
+ proxyscraper/checker.py,sha256=pPTEXOyRdGN_6teWMrD6aXQwxaa0NQx9sXyQC0Gz7L0,24090
10
+ proxyscraper/cli.py,sha256=udSTBYPIGjplJLnI6o87wNXJysPjnrsROmnIyKFHxUo,13537
11
+ proxyscraper/compat.py,sha256=ejnoXQlf8ddhWnIGo12BjFszOWJhhl_IWcNSLysKcIQ,3111
12
+ proxyscraper/completion.py,sha256=hpFrxduhqtgYxN3MHfFBcfQ7Rbba0Q-OrJzjE5Nu62s,7727
13
+ proxyscraper/exporters.py,sha256=1xza0CU3axjcvRBwuEOFd1flV6iDOGQNzGexYGQCGsw,4493
14
+ proxyscraper/fetchcache.py,sha256=Vna7I4t7ILMwGOie4P_22d_El0ttTS55t-f4OC2PZXM,4678
15
+ proxyscraper/geo.py,sha256=SfAbbUXAVWg9WMskCbOAyIfVvzBjlyO3OkzIhjTTfmQ,5919
16
+ proxyscraper/geodb.py,sha256=zSbssIDMEj91--bVO8CUsY90ZxhKq6FdsI2j8SibJP8,5854
17
+ proxyscraper/handshake.py,sha256=X0SDfJGgZ6nOgJqTu_04yYjZ3Hr8VqlanFXRfJINxls,5543
18
+ proxyscraper/history.py,sha256=FtwrPCsLmxu6t8q59IeDDztaqMCewcUSF1J0qF23O1w,3578
19
+ proxyscraper/judges.py,sha256=EMRzTT7-B4WZs3-zs4PuQj_I3dHdVesP4jv5MjnamAU,6506
20
+ proxyscraper/mcp_entry.py,sha256=Ma7Ihm8EFsWqzU2obR5OWzivy0Uum68l2-H8kUNSG6g,1051
21
+ proxyscraper/mcp_server.py,sha256=kQvSehxfzzoT3tJr6JGC82D3xWgoGjqO9zzxR3wioog,12898
22
+ proxyscraper/netio.py,sha256=uofCMbcqbD_pq1MULWZPYPU1iSFC8JqP-o6ctMGk2Y0,6478
23
+ proxyscraper/options.py,sha256=lW3lmvh0wM1tN-6o3FZX8_h2X1a3_mKJN5C2IMKNRro,11796
24
+ proxyscraper/output.py,sha256=pARUJKAWx2i4Y1Zr7mvPEuMwhQ6kkIAPxjhHj5pFK-k,7085
25
+ proxyscraper/pages.py,sha256=gewcNlpYM_vT8pB8PoUxezwU7QkwhcombaEwD5vyIp0,12173
26
+ proxyscraper/parsing.py,sha256=dE8I0RwHafXOVhtN3PEJTd97FmQPpTmOjK9q8_xLysI,7418
27
+ proxyscraper/paths.py,sha256=-4VIi0oGqghhngghiFk9A7D-SyxQPFpYhSKqcu7ggBg,2004
28
+ proxyscraper/pipeline.py,sha256=Uopvgu_PJS7Gg377UjfPCo3sYsnPOYM--uD3tyKmEdA,18053
29
+ proxyscraper/preferences.py,sha256=rLRe3d8s66O8Yu3Ksd5gn5883caGeygvQCMB5863aYY,698
30
+ proxyscraper/publish.py,sha256=IYMa8Tyj6gMi1DynXouPdJ1chJM0JO-3zavQ43gTxOg,10982
31
+ proxyscraper/sources.json,sha256=xoYhnStGeTw6n9Ab8l50H1lyopts0JRY2ArCnjHex3c,31658
32
+ proxyscraper/sources.py,sha256=tQzs43qgOl0XfD1r6RpuMY-i3mqb1HPkAPgu9FaYPiU,20002
33
+ proxyscraper/targets.py,sha256=atJGCY55MQRTOGH5NqBcaSrQ11RONoMaMRzeYCOb3vY,2733
34
+ proxyscraper/server/__init__.py,sha256=R38XdEu14Zy3t5_FLXyq0Axm0l4rOyZVxQc9gu4LFz0,1108
35
+ proxyscraper/server/core.py,sha256=w47lweh4R-8zIk7UWAO8AItwvoAWJzg0W_OfQRX2meU,25978
36
+ proxyscraper/server/http.py,sha256=Li-RPgaRDL1AugM2WK_U8q_ou_F7pHYiGYp9FoOveqA,7163
37
+ proxyscraper/server/pool.py,sha256=GhiKuKYCYYa-jhXRUszrDOCGhYwyMD-4TjL-yMCA2tg,8887
38
+ proxyscraper/server/socks.py,sha256=_s44LSiFNIyn2yfZ3xJSq9OmGrWwwQorUrk1febLI7s,2702
39
+ proxyscraper/server/status.py,sha256=L087BUw4IrcCjUl4beKdSh5PvpC-k16rv_mzz2n2QT0,5282
40
+ proxyscraper/server/upstream.py,sha256=ykt9TNU7UJc30QzfuOtikStCeJluavFQna7d1QDvN-8,4962
41
+ proxyscraper/site/apple-touch-icon.png,sha256=uint1VQrs6S3UqGop3KQXhn2-S5EWvIBqbwdUIwbxD8,4159
42
+ proxyscraper/site/googleaac1161b7853c5b5.html,sha256=hl7QmHpA38OcK2JnFKqthC1jHOuOLIMqA7pCtQ6Sj2Y,53
43
+ proxyscraper/site/index.html,sha256=a5MFTyho7BUNR5NMSovuCPaAG_U-P6UejmZesqbMPTM,68443
44
+ proxyscraper/site/logo.png,sha256=QZV9S7dc5_i2I8s691kUq9JCLiNQG-2Gd8IbN6VxEkE,16042
45
+ proxyscraper/site/og.png,sha256=PAQZGcNNRYTSx-28hZh95VfAAyhaig2r6WzbtDxJ1jg,64375
46
+ proxyscraper/ui/__init__.py,sha256=gG7IacCGsAiyvfr6AzgDNWHfq60ulG939YBYwcs-JcE,1022
47
+ proxyscraper/ui/dashboard.py,sha256=wJBvSdmLIfDtC38zzKtbmQQEunhTgxhUJNPGdlAkFBY,13920
48
+ proxyscraper/ui/keys.py,sha256=Z2O9cBZ4YmGJXY1wTAXt81bnfBfIK034jafAqrufd80,2490
49
+ proxyscraper/ui/report.py,sha256=aICypFe478BPwYTWpbS4sKEGQ2mbiq7GNF-SyOMmAvU,8624
50
+ proxyscraper/ui/serve.py,sha256=dlx5_2L_N-W7_EbDuV233mkuLlFTYIlfhW9VQnDBDRA,6441
51
+ proxyscraper/ui/widgets.py,sha256=mp9qirxbGh3AdqEZVLPytADO_XPa_vUNNLIYuMxgSZk,8702
52
+ proxyscraper/ui/wizard.py,sha256=ZK9SaoztKXKkQgZoYz6RE20pQvAttY8f2JdrwUzVEvo,24866
53
+ proxy_scraper_cli-1.7.1.dist-info/METADATA,sha256=xYS8TaO0axoQ_1nv66UMeDGvsMeyr6AcfeHrT870gA0,40921
54
+ proxy_scraper_cli-1.7.1.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
55
+ proxy_scraper_cli-1.7.1.dist-info/entry_points.txt,sha256=LPDSb9ASRaB0Q_IIRKyB-0tobAMrUcpc4xgMZaDOxms,144
56
+ proxy_scraper_cli-1.7.1.dist-info/top_level.txt,sha256=kzo2fBSCRuFRulR7A7_A2cu2g0OOlaFj_fH2zcPevIU,13
57
+ proxy_scraper_cli-1.7.1.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (84.0.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,4 @@
1
+ [console_scripts]
2
+ proxy-scraper = proxyscraper.cli:run
3
+ proxy-scraper-cli = proxyscraper.cli:run
4
+ proxy-scraper-mcp = proxyscraper.mcp_entry:main
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Maximilian Feix
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1 @@
1
+ proxyscraper
@@ -0,0 +1,12 @@
1
+ """proxy-scraper: collects public HTTP/SOCKS4/SOCKS5 proxies from hundreds of sources, checks them
2
+ in parallel with its own protocol handshakes and learns which sources deliver good proxies."""
3
+
4
+ __version__ = "1.7.1"
5
+
6
+
7
+ def __getattr__(name):
8
+ # load the Python API only when needed – "import proxyscraper" should stay light (the CLI doesn't need it)
9
+ if name in ("find_proxies", "find_proxies_async", "check_proxies", "check_proxies_async"):
10
+ from . import api
11
+ return getattr(api, name)
12
+ raise AttributeError(f"module 'proxyscraper' has no attribute {name!r}")
@@ -0,0 +1,7 @@
1
+ """python -m proxyscraper"""
2
+
3
+ import sys
4
+
5
+ from .cli import run
6
+
7
+ sys.exit(run())