From 937b2095a386201b9f5459b8a192cef7d90929c4 Mon Sep 17 00:00:00 2001 From: OutOfCode Date: Wed, 12 Apr 2023 14:18:49 +0330 Subject: [PATCH 1/7] Bla Bla --- sa | 475 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 475 insertions(+) create mode 100644 sa diff --git a/sa b/sa new file mode 100644 index 00000000..6aff01a6 --- /dev/null +++ b/sa @@ -0,0 +1,475 @@ +commit e19a0d52a262d451e6300562235b762255626887 +Author: tempookian <124298725+tempookian@users.noreply.github.com> +Date: Tue Apr 11 19:20:35 2023 +0200 + + Update README.md + +:100644 100644 4eecec6 30a40a4 M python/README.md + +commit 6ec5dc714a78e2111f8f2c761c763633ea877795 +Author: tempookian <124298725+tempookian@users.noreply.github.com> +Date: Tue Apr 11 13:55:53 2023 +0200 + + Update README.md + +:100644 100644 3559300 4eecec6 M python/README.md + +commit c0197a54a02112ecb3a20702c86dea9648d59af0 +Author: tempookian <124298725+tempookian@users.noreply.github.com> +Date: Tue Apr 11 13:55:33 2023 +0200 + + Update README.md + +:100644 100644 804191a 3559300 M python/README.md + +commit 0760e842dc3be5c103243d24b67ec5d87ed8c6e7 +Author: tempookian <124298725+tempookian@users.noreply.github.com> +Date: Tue Apr 11 13:48:04 2023 +0200 + + implemented random sampling + + IPs are sampled randomly if the respective argument is provided. Argument can be either a 0 < float < 1 indicating ratio of the ips to take from each subnet (math.ceil(sample_size * len(subnet_ip_list)) or an integer indicating (maximum) number of ips to take from each subnet. + + Co-Authored-By: MITI <127666010+miytiy@users.noreply.github.com> + +:100644 100644 e701a0f 7d2ff51 M python/cfscanner.py +:100644 100644 52b0ed6 e43cadc M python/subnets/cidr.py + +commit 32eebec89c74df493690a68bcde4a0bcd3da2551 +Author: tempookian <124298725+tempookian@users.noreply.github.com> +Date: Tue Apr 11 12:59:09 2023 +0200 + + updated testconfig + +:100644 100644 d7b2ee6 c2afb06 M python/args/testconfig.py + +commit bda649934c3e0ddf6736389c0cd3b2142aa665d1 +Author: tempookian <124298725+tempookian@users.noreply.github.com> +Date: Tue Apr 11 12:58:45 2023 +0200 + + added explanation to the readme + +:100644 100644 d8b805b 804191a M python/README.md + +commit bb632a55fe0c8b16f26d5dc40b870a87c86fc4e6 +Author: tempookian <124298725+tempookian@users.noreply.github.com> +Date: Tue Apr 11 12:56:11 2023 +0200 + + added random to the description + +:100644 100644 4108dee 1b6a6a9 M python/args/parser.py + +commit 2ab34d59e6d562edeecd7b2c015f2ee2e7ab0e85 +Author: tempookian <124298725+tempookian@users.noreply.github.com> +Date: Tue Apr 11 12:31:27 2023 +0200 + + added option to argparse + +:100644 100644 3832dd6 4108dee M python/args/parser.py + +commit 0e702be7855258c266cad12eca24ff6d45852ef2 +Author: tempookian <124298725+tempookian@users.noreply.github.com> +Date: Tue Apr 11 13:55:53 2023 +0200 + + Update README.md + +:100644 100644 3559300 4eecec6 M python/README.md + +commit a29318bb3b883464bf1ea794cbedf9db4bfa7422 +Author: tempookian <124298725+tempookian@users.noreply.github.com> +Date: Tue Apr 11 13:55:33 2023 +0200 + + Update README.md + +:100644 100644 804191a 3559300 M python/README.md + +commit c81b34d5c6c90865b86975d1da3086f538ce4377 +Author: Morteza Bashsiz +Date: Tue Apr 11 13:54:21 2023 +0200 + + update new configuration + +:100644 100644 8fded66 6b09a41 M bash/ClientConfig.json + +commit 88d8f72345f7e2d894324a90d794e2117d4dfb83 +Author: tempookian <124298725+tempookian@users.noreply.github.com> +Date: Tue Apr 11 13:48:04 2023 +0200 + + implemented random sampling + + IPs are sampled randomly if the respective argument is provided. Argument can be either a 0 < float < 1 indicating ratio of the ips to take from each subnet (math.ceil(sample_size * len(subnet_ip_list)) or an integer indicating (maximum) number of ips to take from each subnet. + + Co-Authored-By: MITI <127666010+miytiy@users.noreply.github.com> + +:100644 100644 e701a0f 7d2ff51 M python/cfscanner.py +:100644 100644 52b0ed6 e43cadc M python/subnets/cidr.py + +commit a18561e6a138f12dd2fbc10292b852dfb1fc4dfc +Author: tempookian <124298725+tempookian@users.noreply.github.com> +Date: Tue Apr 11 12:59:09 2023 +0200 + + updated testconfig + +:100644 100644 d7b2ee6 c2afb06 M python/args/testconfig.py + +commit 727933f1a7d34f719adbcd83552ce997d6c9ab0e +Author: tempookian <124298725+tempookian@users.noreply.github.com> +Date: Tue Apr 11 12:58:45 2023 +0200 + + added explanation to the readme + +:100644 100644 d8b805b 804191a M python/README.md + +commit f6e63d4ffa1afdaa9b9d8641720cb0c9bf91f00a +Author: tempookian <124298725+tempookian@users.noreply.github.com> +Date: Tue Apr 11 12:56:11 2023 +0200 + + added random to the description + +:100644 100644 4108dee 1b6a6a9 M python/args/parser.py + +commit f52816679b7ed1c5db46d17d36b32504dc13806a +Author: tempookian <124298725+tempookian@users.noreply.github.com> +Date: Tue Apr 11 12:31:27 2023 +0200 + + added option to argparse + +:100644 100644 3832dd6 4108dee M python/args/parser.py + +commit 84927dea285aed1fb38b5e825d8f13520281de93 +Author: tempookian <124298725+tempookian@users.noreply.github.com> +Date: Tue Apr 11 11:25:38 2023 +0200 + + fixbug custom template + + Fixed the bug for the situation in which the user provides a custom config + +:100644 100644 279a52a d8b805b M python/README.md +:100644 100644 99037cd d7b2ee6 M python/args/testconfig.py +:100644 100644 2c38286 71884ce M python/xray/config.py + +commit d2d3b4dfced6e91a2fdfa68e069ea4477eaddcc3 +Author: Sonya +Date: Tue Apr 11 09:24:51 2023 +0330 + + added release regex tag + +:100644 100644 bf32e42 386d25c M .github/workflows/gobuild.yml + +commit 3046b2514f806b17b5984b5c8c0ce569a2d51740 +Author: Sonya +Date: Tue Apr 11 02:47:44 2023 +0330 + + added releaser workflow + +:000000 100644 0000000 bf32e42 A .github/workflows/gobuild.yml +:000000 100644 0000000 1b2299f A golang/.goreleaser.yaml + +commit c8cf486231b6d756d4fe9ea167e46fd08428472f +Author: tempookian <124298725+tempookian@users.noreply.github.com> +Date: Mon Apr 10 23:06:00 2023 +0200 + + Update README.md + +:100644 100644 f88ed7b 279a52a M python/README.md + +commit c84b8af1c3fb23fcf40330e57567c960311dc6b0 +Author: tempookian <124298725+tempookian@users.noreply.github.com> +Date: Mon Apr 10 22:58:40 2023 +0200 + + fixed bug + +:100644 100644 fc13616 99037cd M python/args/testconfig.py + +commit b53749957ab41e8ed7fb52fb217cfa12e865ea3b +Author: tempookian <124298725+tempookian@users.noreply.github.com> +Date: Sun Apr 9 09:14:13 2023 +0200 + + Update README.md + +:100644 100644 367aea9 f88ed7b M python/README.md + +commit 31c86a355c8ec580733ac4680e5f989ac570cb25 +Author: tempookian <124298725+tempookian@users.noreply.github.com> +Date: Sun Apr 9 09:06:14 2023 +0200 + + Update README.md + +:100644 100644 881525c 367aea9 M python/README.md + +commit fff99983d5ae23f12d74ac2098f8e8d2c84f8a5c +Author: tempookian <124298725+tempookian@users.noreply.github.com> +Date: Sun Apr 9 09:00:12 2023 +0200 + + Update README.md + +:100644 100644 fdb7908 881525c M python/README.md + +commit dbdec3265118337e1e02dcf9110d26fcfc4b876e +Author: tempookian <124298725+tempookian@users.noreply.github.com> +Date: Sun Apr 9 08:49:17 2023 +0200 + + Update os.py + + fixed bug detecting arm machines (e.g., UserLand on android) + +:100644 100644 d9209cf bc4a8b6 M python/utils/os.py + +commit 3830e3d9228fea930e827a3b5202e277a0d04b81 +Author: tempookian <124298725+tempookian@users.noreply.github.com> +Date: Sat Apr 8 22:06:48 2023 +0200 + + added version file + +:000000 100644 0000000 369b4e0 A python/version.py + +commit 7748efa3ef408957a52d2630076d52d527003414 +Author: tempookian <124298725+tempookian@users.noreply.github.com> +Date: Sat Apr 8 22:04:04 2023 +0200 + + updated readme + +:100644 100644 16ea6de fdb7908 M python/README.md + +commit af3fa1cf27ab56cb6a8ebbdbcd9815a92e6337fe +Author: tempookian <124298725+tempookian@users.noreply.github.com> +Date: Sat Apr 8 19:33:48 2023 +0200 + + added .vscode + +:100644 100644 6765a06 dd7942c M .gitignore + +commit 6e628023329a8dc877a8536182da014bfc17e69e +Author: tempookian <124298725+tempookian@users.noreply.github.com> +Date: Sat Apr 8 19:27:04 2023 +0200 + + organized the code + +:100644 000000 e69de29 0000000 D python/__init__.py +:100644 100644 58bce96 3832dd6 M python/args/parser.py +:100644 100644 a515002 fc13616 M python/args/testconfig.py +:100644 100644 7db7ad9 e701a0f M python/cfscanner.py +:100644 100644 b345f35 693c315 M python/report/__init__.py +:100644 100644 ebd23cb 1828662 M python/report/clog.py +:000000 100644 0000000 7b29710 A python/report/result.py +:100644 100644 c1126a3 e69de29 M python/speedtest/__init__.py +:000000 100644 0000000 656e7c0 A python/speedtest/conduct.py +:100644 100644 308e51b ecb72ce M python/speedtest/download.py +:100644 100644 36a9d23 191831d M python/subnets/__init__.py +:000000 100644 0000000 52b0ed6 A python/subnets/cidr.py +:100644 100644 a1e130b 4d7ee77 M python/utils/requests.py +:000000 100644 0000000 2c38286 A python/xray/config.py +:100644 100644 26123d2 7368f34 M python/xray/service.py + +commit 8d157a51df8b74691cfcb136be82d9db5a0b5e6e +Author: Sonya +Date: Fri Apr 7 16:49:17 2023 +0330 + + fixed jitter calculation + +:100644 100644 d66c95b d43ad3f M golang/utils/mean.go + +commit a0ad8c51661d4c0f0ab1fea49ac394d285d4b4ab +Author: Sonya +Date: Fri Apr 7 16:34:00 2023 +0330 + + fixed jitter calculation + +:100644 100644 0840949 d66c95b M golang/utils/mean.go + +commit 7d8669b0899b4333c1ce1de38f5a8924b3fd3d53 +Author: Sonya +Date: Fri Apr 7 14:24:57 2023 +0330 + + removed unused structs + +:100644 100644 9ba613d 2587fad M golang/configuration/types.go +:100644 100644 ee8770b eae9b49 M golang/run.go +:100644 100644 1ed484a 0995dff M golang/scanner/scanner.go + +commit b9e01b8eb0b68fd401825d6461a8f6a7eae35897 +Author: Sonya +Date: Fri Apr 7 14:17:20 2023 +0330 + + fixed vpn typo issue + +:100644 100644 85f9564 0caead4 M golang/configuration/config.go +:100644 100644 27a47a8 9ba613d M golang/configuration/types.go +:100644 100644 3f73883 ee8770b M golang/run.go +:100644 100644 c93d9a9 1ed484a M golang/scanner/scanner.go +:100644 100644 b712105 7d3b291 M golang/v2raysvc/v2raysvc.go + +commit b25b83d6072da907bf89b27db1e89f601ecfecf5 +Author: Sonya +Date: Fri Apr 7 13:26:34 2023 +0330 + + refactored configuration structure + +:100644 100644 151f0ab 85f9564 M golang/configuration/config.go +:100644 100644 712f9ef 27a47a8 M golang/configuration/types.go +:100644 100644 57f1be0 3f73883 M golang/run.go +:100644 100644 d241a21 b487047 M golang/speedtest/download.go +:100644 100644 5d3794a 27a92be M golang/speedtest/fronting.go +:100644 100644 bc71b7b 66039df M golang/speedtest/upload.go +:100644 100644 41df8f6 fafb522 M golang/utils/colors.go + +commit 0f6cb4e84e67221c2cc7a19822c7ccec820fedc2 +Author: Sonya +Date: Thu Apr 6 23:33:03 2023 +0330 + + updated readme example + +:100644 100644 9a4915b 3aa762b M golang/README.md + +commit 93189fbee286be0df209e9cc50383b7ea9ac31fc +Author: Sonya +Date: Thu Apr 6 23:29:08 2023 +0330 + + added json writer interface + added write arg + fixed one ip scanning issue + added json output writer + +:100644 100644 e138270 9a4915b M golang/README.md +:100644 100644 94cbee1 093293d M golang/cmd.go +:100644 100644 8ededdf 151f0ab M golang/configuration/config.go +:100644 100644 20eaa17 712f9ef M golang/configuration/types.go +:100644 100644 6725a12 3b21e38 M golang/main.go +:100644 100644 0e9bd42 57f1be0 M golang/run.go +:100644 100644 23a1341 423985f M golang/scanner/csv.go +:000000 100644 0000000 b82affe A golang/scanner/json.go +:100644 100644 28b4be9 c93d9a9 M golang/scanner/scanner.go +:100644 100644 72f2c36 48c953f M golang/scanner/types.go +:100644 100644 ef34ecc b712105 M golang/v2raysvc/v2raysvc.go + +commit 55af7563afb13edd84a1357d93c5d0f99ddf6580 +Author: Sonya +Date: Thu Apr 6 18:08:21 2023 +0330 + + added close keyboard event after quitting program + +:100644 100644 048b898 28b4be9 M golang/scanner/scanner.go + +commit ee08d0136595f34ccef69263ce825cdf0f7dda6e +Author: Sonya +Date: Thu Apr 6 17:40:11 2023 +0330 + + added resume & pause listener + +:100644 100644 119fc31 e138270 M golang/README.md +:100644 100644 eccf96d 4d3937c M golang/go.mod +:100644 100644 442875a 34c70aa M golang/go.sum +:100644 100644 63247e8 6725a12 M golang/main.go +:100644 100644 658444b 0e9bd42 M golang/run.go +:100644 100644 8e9e695 048b898 M golang/scanner/scanner.go + +commit e0483818c6c93758628e7d81d868064c8ffe0352 +Author: Morteza Bashsiz +Date: Wed Apr 5 15:36:57 2023 +0200 + + remove ASN from script and read subnets locally + +:100755 100755 eefcefc 4c68031 M bash/cfScanner.sh + +commit 02699aab5a7f726c28551cccd38a86a89353c51f +Author: Morteza Bashsiz +Date: Tue Apr 4 11:09:57 2023 +0200 + + fix random bug + +:100755 100755 5bebdb2 eefcefc M bash/cfScanner.sh + +commit 0526e8cfa84a64306a5716d7c6daae00960afdf4 +Author: Sonya +Date: Mon Apr 3 01:10:16 2023 +0330 + + refactor struct & config + cmd vars + +:100644 100644 f217b86 94cbee1 M golang/cmd.go +:100644 100644 86f9eea 8ededdf M golang/configuration/config.go +:100644 100644 387ed14 20eaa17 M golang/configuration/types.go +:100644 100644 8cc69c1 658444b M golang/run.go +:100644 100644 db26e98 8e9e695 M golang/scanner/scanner.go + +commit 14755baec70c123f1a6ea26855cec2582291665c +Author: Sonya +Date: Mon Apr 3 00:53:09 2023 +0330 + + code refactoring & added Result struct for using scanning func + +:100644 100644 a1b53e0 86f9eea M golang/configuration/config.go +:100644 100644 35df6f9 387ed14 M golang/configuration/types.go +:100644 100644 509bba7 8cc69c1 M golang/run.go +:100644 100644 5ab5699 23a1341 M golang/scanner/csv.go +:100644 100644 25110f9 db26e98 M golang/scanner/scanner.go +:100644 100644 bc4ffd1 72f2c36 M golang/scanner/types.go +:000000 100644 0000000 0840949 A golang/utils/mean.go +:100644 100644 921fff7 ad60716 M golang/utils/utils.go +:100644 100644 9750806 ef34ecc M golang/v2raysvc/v2raysvc.go + +commit dbc3a75a1064cb899c320937ccdbf5f8d262aa67 +Author: Sonya +Date: Sun Apr 2 14:47:07 2023 +0330 + + code refactoring + +:100644 100644 73fcfbb f217b86 M golang/cmd.go +:100644 100644 2a3d4a4 a1b53e0 M golang/configuration/config.go +:100644 100644 039e617 35df6f9 M golang/configuration/types.go +:100644 100644 cac48e8 eccf96d M golang/go.mod +:100644 100644 5656577 442875a M golang/go.sum +:100644 100644 dfb805f 63247e8 M golang/main.go +:000000 100644 0000000 509bba7 A golang/run.go +:100644 100644 97b71d8 5ab5699 M golang/scanner/csv.go +:100644 100644 3c7a761 25110f9 M golang/scanner/scanner.go +:100644 100644 01a093c d241a21 M golang/speedtest/download.go +:100644 100644 6d94732 5d3794a M golang/speedtest/fronting.go +:100644 100644 1b4984a bc71b7b M golang/speedtest/upload.go +:100644 100644 c25e8c2 921fff7 M golang/utils/utils.go +:100644 100644 5ec5c93 9750806 M golang/v2raysvc/v2raysvc.go + +commit 1b0c45d993a5be438c2ba7b7ed18e56b2f98774a +Author: Sonya +Date: Sat Apr 1 00:28:53 2023 +0330 + + fixed fronting test issue + +:100644 100644 269ff4b dfb805f M golang/main.go +:100644 100644 a99e007 3c7a761 M golang/scanner/scanner.go +:100644 100644 8b69b59 6d94732 M golang/speedtest/fronting.go + +commit d5fdd485cec3a24b87d830c4af4a2674712a5de5 +Author: Sonya +Date: Fri Mar 31 12:48:13 2023 +0330 + + updated readme version + +:100644 100644 d584161 119fc31 M golang/README.md + +commit 21d620051b3f147cdbd8394223989e50a6f59e2c +Author: Sonya +Date: Fri Mar 31 12:46:48 2023 +0330 + + updated README + +:100644 100644 98eeefd d584161 M golang/README.md + +commit fc4c9cc019d9b1e371ad62cd18e183732fec10fd (origin/win-develop) +Author: goingfine +Date: Fri Mar 31 11:42:39 2023 +0330 + + update latest version + +:100644 100644 ac06eeb 1f93772 M windows/Properties/latest-version + +commit 69918898a904817795103c2b67be0a2cd452dc39 +Author: Sonya +Date: Fri Mar 31 11:28:46 2023 +0330 + + added timer & cleaner code + +:100644 100644 8274ee6 269ff4b M golang/main.go +:000000 100644 0000000 97b71d8 A golang/scanner/csv.go +:100644 100644 d506c6a a99e007 M golang/scanner/scanner.go +:000000 100644 0000000 bc4ffd1 A golang/scanner/types.go From c94ecec4ad7ba2a3aeffac85d44fe5fc93e2b958 Mon Sep 17 00:00:00 2001 From: OutOfCode Date: Wed, 12 Apr 2023 14:22:42 +0330 Subject: [PATCH 2/7] correct my mistake --- sa | 475 ------------------------------------------------------------- 1 file changed, 475 deletions(-) delete mode 100644 sa diff --git a/sa b/sa deleted file mode 100644 index 6aff01a6..00000000 --- a/sa +++ /dev/null @@ -1,475 +0,0 @@ -commit e19a0d52a262d451e6300562235b762255626887 -Author: tempookian <124298725+tempookian@users.noreply.github.com> -Date: Tue Apr 11 19:20:35 2023 +0200 - - Update README.md - -:100644 100644 4eecec6 30a40a4 M python/README.md - -commit 6ec5dc714a78e2111f8f2c761c763633ea877795 -Author: tempookian <124298725+tempookian@users.noreply.github.com> -Date: Tue Apr 11 13:55:53 2023 +0200 - - Update README.md - -:100644 100644 3559300 4eecec6 M python/README.md - -commit c0197a54a02112ecb3a20702c86dea9648d59af0 -Author: tempookian <124298725+tempookian@users.noreply.github.com> -Date: Tue Apr 11 13:55:33 2023 +0200 - - Update README.md - -:100644 100644 804191a 3559300 M python/README.md - -commit 0760e842dc3be5c103243d24b67ec5d87ed8c6e7 -Author: tempookian <124298725+tempookian@users.noreply.github.com> -Date: Tue Apr 11 13:48:04 2023 +0200 - - implemented random sampling - - IPs are sampled randomly if the respective argument is provided. Argument can be either a 0 < float < 1 indicating ratio of the ips to take from each subnet (math.ceil(sample_size * len(subnet_ip_list)) or an integer indicating (maximum) number of ips to take from each subnet. - - Co-Authored-By: MITI <127666010+miytiy@users.noreply.github.com> - -:100644 100644 e701a0f 7d2ff51 M python/cfscanner.py -:100644 100644 52b0ed6 e43cadc M python/subnets/cidr.py - -commit 32eebec89c74df493690a68bcde4a0bcd3da2551 -Author: tempookian <124298725+tempookian@users.noreply.github.com> -Date: Tue Apr 11 12:59:09 2023 +0200 - - updated testconfig - -:100644 100644 d7b2ee6 c2afb06 M python/args/testconfig.py - -commit bda649934c3e0ddf6736389c0cd3b2142aa665d1 -Author: tempookian <124298725+tempookian@users.noreply.github.com> -Date: Tue Apr 11 12:58:45 2023 +0200 - - added explanation to the readme - -:100644 100644 d8b805b 804191a M python/README.md - -commit bb632a55fe0c8b16f26d5dc40b870a87c86fc4e6 -Author: tempookian <124298725+tempookian@users.noreply.github.com> -Date: Tue Apr 11 12:56:11 2023 +0200 - - added random to the description - -:100644 100644 4108dee 1b6a6a9 M python/args/parser.py - -commit 2ab34d59e6d562edeecd7b2c015f2ee2e7ab0e85 -Author: tempookian <124298725+tempookian@users.noreply.github.com> -Date: Tue Apr 11 12:31:27 2023 +0200 - - added option to argparse - -:100644 100644 3832dd6 4108dee M python/args/parser.py - -commit 0e702be7855258c266cad12eca24ff6d45852ef2 -Author: tempookian <124298725+tempookian@users.noreply.github.com> -Date: Tue Apr 11 13:55:53 2023 +0200 - - Update README.md - -:100644 100644 3559300 4eecec6 M python/README.md - -commit a29318bb3b883464bf1ea794cbedf9db4bfa7422 -Author: tempookian <124298725+tempookian@users.noreply.github.com> -Date: Tue Apr 11 13:55:33 2023 +0200 - - Update README.md - -:100644 100644 804191a 3559300 M python/README.md - -commit c81b34d5c6c90865b86975d1da3086f538ce4377 -Author: Morteza Bashsiz -Date: Tue Apr 11 13:54:21 2023 +0200 - - update new configuration - -:100644 100644 8fded66 6b09a41 M bash/ClientConfig.json - -commit 88d8f72345f7e2d894324a90d794e2117d4dfb83 -Author: tempookian <124298725+tempookian@users.noreply.github.com> -Date: Tue Apr 11 13:48:04 2023 +0200 - - implemented random sampling - - IPs are sampled randomly if the respective argument is provided. Argument can be either a 0 < float < 1 indicating ratio of the ips to take from each subnet (math.ceil(sample_size * len(subnet_ip_list)) or an integer indicating (maximum) number of ips to take from each subnet. - - Co-Authored-By: MITI <127666010+miytiy@users.noreply.github.com> - -:100644 100644 e701a0f 7d2ff51 M python/cfscanner.py -:100644 100644 52b0ed6 e43cadc M python/subnets/cidr.py - -commit a18561e6a138f12dd2fbc10292b852dfb1fc4dfc -Author: tempookian <124298725+tempookian@users.noreply.github.com> -Date: Tue Apr 11 12:59:09 2023 +0200 - - updated testconfig - -:100644 100644 d7b2ee6 c2afb06 M python/args/testconfig.py - -commit 727933f1a7d34f719adbcd83552ce997d6c9ab0e -Author: tempookian <124298725+tempookian@users.noreply.github.com> -Date: Tue Apr 11 12:58:45 2023 +0200 - - added explanation to the readme - -:100644 100644 d8b805b 804191a M python/README.md - -commit f6e63d4ffa1afdaa9b9d8641720cb0c9bf91f00a -Author: tempookian <124298725+tempookian@users.noreply.github.com> -Date: Tue Apr 11 12:56:11 2023 +0200 - - added random to the description - -:100644 100644 4108dee 1b6a6a9 M python/args/parser.py - -commit f52816679b7ed1c5db46d17d36b32504dc13806a -Author: tempookian <124298725+tempookian@users.noreply.github.com> -Date: Tue Apr 11 12:31:27 2023 +0200 - - added option to argparse - -:100644 100644 3832dd6 4108dee M python/args/parser.py - -commit 84927dea285aed1fb38b5e825d8f13520281de93 -Author: tempookian <124298725+tempookian@users.noreply.github.com> -Date: Tue Apr 11 11:25:38 2023 +0200 - - fixbug custom template - - Fixed the bug for the situation in which the user provides a custom config - -:100644 100644 279a52a d8b805b M python/README.md -:100644 100644 99037cd d7b2ee6 M python/args/testconfig.py -:100644 100644 2c38286 71884ce M python/xray/config.py - -commit d2d3b4dfced6e91a2fdfa68e069ea4477eaddcc3 -Author: Sonya -Date: Tue Apr 11 09:24:51 2023 +0330 - - added release regex tag - -:100644 100644 bf32e42 386d25c M .github/workflows/gobuild.yml - -commit 3046b2514f806b17b5984b5c8c0ce569a2d51740 -Author: Sonya -Date: Tue Apr 11 02:47:44 2023 +0330 - - added releaser workflow - -:000000 100644 0000000 bf32e42 A .github/workflows/gobuild.yml -:000000 100644 0000000 1b2299f A golang/.goreleaser.yaml - -commit c8cf486231b6d756d4fe9ea167e46fd08428472f -Author: tempookian <124298725+tempookian@users.noreply.github.com> -Date: Mon Apr 10 23:06:00 2023 +0200 - - Update README.md - -:100644 100644 f88ed7b 279a52a M python/README.md - -commit c84b8af1c3fb23fcf40330e57567c960311dc6b0 -Author: tempookian <124298725+tempookian@users.noreply.github.com> -Date: Mon Apr 10 22:58:40 2023 +0200 - - fixed bug - -:100644 100644 fc13616 99037cd M python/args/testconfig.py - -commit b53749957ab41e8ed7fb52fb217cfa12e865ea3b -Author: tempookian <124298725+tempookian@users.noreply.github.com> -Date: Sun Apr 9 09:14:13 2023 +0200 - - Update README.md - -:100644 100644 367aea9 f88ed7b M python/README.md - -commit 31c86a355c8ec580733ac4680e5f989ac570cb25 -Author: tempookian <124298725+tempookian@users.noreply.github.com> -Date: Sun Apr 9 09:06:14 2023 +0200 - - Update README.md - -:100644 100644 881525c 367aea9 M python/README.md - -commit fff99983d5ae23f12d74ac2098f8e8d2c84f8a5c -Author: tempookian <124298725+tempookian@users.noreply.github.com> -Date: Sun Apr 9 09:00:12 2023 +0200 - - Update README.md - -:100644 100644 fdb7908 881525c M python/README.md - -commit dbdec3265118337e1e02dcf9110d26fcfc4b876e -Author: tempookian <124298725+tempookian@users.noreply.github.com> -Date: Sun Apr 9 08:49:17 2023 +0200 - - Update os.py - - fixed bug detecting arm machines (e.g., UserLand on android) - -:100644 100644 d9209cf bc4a8b6 M python/utils/os.py - -commit 3830e3d9228fea930e827a3b5202e277a0d04b81 -Author: tempookian <124298725+tempookian@users.noreply.github.com> -Date: Sat Apr 8 22:06:48 2023 +0200 - - added version file - -:000000 100644 0000000 369b4e0 A python/version.py - -commit 7748efa3ef408957a52d2630076d52d527003414 -Author: tempookian <124298725+tempookian@users.noreply.github.com> -Date: Sat Apr 8 22:04:04 2023 +0200 - - updated readme - -:100644 100644 16ea6de fdb7908 M python/README.md - -commit af3fa1cf27ab56cb6a8ebbdbcd9815a92e6337fe -Author: tempookian <124298725+tempookian@users.noreply.github.com> -Date: Sat Apr 8 19:33:48 2023 +0200 - - added .vscode - -:100644 100644 6765a06 dd7942c M .gitignore - -commit 6e628023329a8dc877a8536182da014bfc17e69e -Author: tempookian <124298725+tempookian@users.noreply.github.com> -Date: Sat Apr 8 19:27:04 2023 +0200 - - organized the code - -:100644 000000 e69de29 0000000 D python/__init__.py -:100644 100644 58bce96 3832dd6 M python/args/parser.py -:100644 100644 a515002 fc13616 M python/args/testconfig.py -:100644 100644 7db7ad9 e701a0f M python/cfscanner.py -:100644 100644 b345f35 693c315 M python/report/__init__.py -:100644 100644 ebd23cb 1828662 M python/report/clog.py -:000000 100644 0000000 7b29710 A python/report/result.py -:100644 100644 c1126a3 e69de29 M python/speedtest/__init__.py -:000000 100644 0000000 656e7c0 A python/speedtest/conduct.py -:100644 100644 308e51b ecb72ce M python/speedtest/download.py -:100644 100644 36a9d23 191831d M python/subnets/__init__.py -:000000 100644 0000000 52b0ed6 A python/subnets/cidr.py -:100644 100644 a1e130b 4d7ee77 M python/utils/requests.py -:000000 100644 0000000 2c38286 A python/xray/config.py -:100644 100644 26123d2 7368f34 M python/xray/service.py - -commit 8d157a51df8b74691cfcb136be82d9db5a0b5e6e -Author: Sonya -Date: Fri Apr 7 16:49:17 2023 +0330 - - fixed jitter calculation - -:100644 100644 d66c95b d43ad3f M golang/utils/mean.go - -commit a0ad8c51661d4c0f0ab1fea49ac394d285d4b4ab -Author: Sonya -Date: Fri Apr 7 16:34:00 2023 +0330 - - fixed jitter calculation - -:100644 100644 0840949 d66c95b M golang/utils/mean.go - -commit 7d8669b0899b4333c1ce1de38f5a8924b3fd3d53 -Author: Sonya -Date: Fri Apr 7 14:24:57 2023 +0330 - - removed unused structs - -:100644 100644 9ba613d 2587fad M golang/configuration/types.go -:100644 100644 ee8770b eae9b49 M golang/run.go -:100644 100644 1ed484a 0995dff M golang/scanner/scanner.go - -commit b9e01b8eb0b68fd401825d6461a8f6a7eae35897 -Author: Sonya -Date: Fri Apr 7 14:17:20 2023 +0330 - - fixed vpn typo issue - -:100644 100644 85f9564 0caead4 M golang/configuration/config.go -:100644 100644 27a47a8 9ba613d M golang/configuration/types.go -:100644 100644 3f73883 ee8770b M golang/run.go -:100644 100644 c93d9a9 1ed484a M golang/scanner/scanner.go -:100644 100644 b712105 7d3b291 M golang/v2raysvc/v2raysvc.go - -commit b25b83d6072da907bf89b27db1e89f601ecfecf5 -Author: Sonya -Date: Fri Apr 7 13:26:34 2023 +0330 - - refactored configuration structure - -:100644 100644 151f0ab 85f9564 M golang/configuration/config.go -:100644 100644 712f9ef 27a47a8 M golang/configuration/types.go -:100644 100644 57f1be0 3f73883 M golang/run.go -:100644 100644 d241a21 b487047 M golang/speedtest/download.go -:100644 100644 5d3794a 27a92be M golang/speedtest/fronting.go -:100644 100644 bc71b7b 66039df M golang/speedtest/upload.go -:100644 100644 41df8f6 fafb522 M golang/utils/colors.go - -commit 0f6cb4e84e67221c2cc7a19822c7ccec820fedc2 -Author: Sonya -Date: Thu Apr 6 23:33:03 2023 +0330 - - updated readme example - -:100644 100644 9a4915b 3aa762b M golang/README.md - -commit 93189fbee286be0df209e9cc50383b7ea9ac31fc -Author: Sonya -Date: Thu Apr 6 23:29:08 2023 +0330 - - added json writer interface - added write arg - fixed one ip scanning issue - added json output writer - -:100644 100644 e138270 9a4915b M golang/README.md -:100644 100644 94cbee1 093293d M golang/cmd.go -:100644 100644 8ededdf 151f0ab M golang/configuration/config.go -:100644 100644 20eaa17 712f9ef M golang/configuration/types.go -:100644 100644 6725a12 3b21e38 M golang/main.go -:100644 100644 0e9bd42 57f1be0 M golang/run.go -:100644 100644 23a1341 423985f M golang/scanner/csv.go -:000000 100644 0000000 b82affe A golang/scanner/json.go -:100644 100644 28b4be9 c93d9a9 M golang/scanner/scanner.go -:100644 100644 72f2c36 48c953f M golang/scanner/types.go -:100644 100644 ef34ecc b712105 M golang/v2raysvc/v2raysvc.go - -commit 55af7563afb13edd84a1357d93c5d0f99ddf6580 -Author: Sonya -Date: Thu Apr 6 18:08:21 2023 +0330 - - added close keyboard event after quitting program - -:100644 100644 048b898 28b4be9 M golang/scanner/scanner.go - -commit ee08d0136595f34ccef69263ce825cdf0f7dda6e -Author: Sonya -Date: Thu Apr 6 17:40:11 2023 +0330 - - added resume & pause listener - -:100644 100644 119fc31 e138270 M golang/README.md -:100644 100644 eccf96d 4d3937c M golang/go.mod -:100644 100644 442875a 34c70aa M golang/go.sum -:100644 100644 63247e8 6725a12 M golang/main.go -:100644 100644 658444b 0e9bd42 M golang/run.go -:100644 100644 8e9e695 048b898 M golang/scanner/scanner.go - -commit e0483818c6c93758628e7d81d868064c8ffe0352 -Author: Morteza Bashsiz -Date: Wed Apr 5 15:36:57 2023 +0200 - - remove ASN from script and read subnets locally - -:100755 100755 eefcefc 4c68031 M bash/cfScanner.sh - -commit 02699aab5a7f726c28551cccd38a86a89353c51f -Author: Morteza Bashsiz -Date: Tue Apr 4 11:09:57 2023 +0200 - - fix random bug - -:100755 100755 5bebdb2 eefcefc M bash/cfScanner.sh - -commit 0526e8cfa84a64306a5716d7c6daae00960afdf4 -Author: Sonya -Date: Mon Apr 3 01:10:16 2023 +0330 - - refactor struct & config - cmd vars - -:100644 100644 f217b86 94cbee1 M golang/cmd.go -:100644 100644 86f9eea 8ededdf M golang/configuration/config.go -:100644 100644 387ed14 20eaa17 M golang/configuration/types.go -:100644 100644 8cc69c1 658444b M golang/run.go -:100644 100644 db26e98 8e9e695 M golang/scanner/scanner.go - -commit 14755baec70c123f1a6ea26855cec2582291665c -Author: Sonya -Date: Mon Apr 3 00:53:09 2023 +0330 - - code refactoring & added Result struct for using scanning func - -:100644 100644 a1b53e0 86f9eea M golang/configuration/config.go -:100644 100644 35df6f9 387ed14 M golang/configuration/types.go -:100644 100644 509bba7 8cc69c1 M golang/run.go -:100644 100644 5ab5699 23a1341 M golang/scanner/csv.go -:100644 100644 25110f9 db26e98 M golang/scanner/scanner.go -:100644 100644 bc4ffd1 72f2c36 M golang/scanner/types.go -:000000 100644 0000000 0840949 A golang/utils/mean.go -:100644 100644 921fff7 ad60716 M golang/utils/utils.go -:100644 100644 9750806 ef34ecc M golang/v2raysvc/v2raysvc.go - -commit dbc3a75a1064cb899c320937ccdbf5f8d262aa67 -Author: Sonya -Date: Sun Apr 2 14:47:07 2023 +0330 - - code refactoring - -:100644 100644 73fcfbb f217b86 M golang/cmd.go -:100644 100644 2a3d4a4 a1b53e0 M golang/configuration/config.go -:100644 100644 039e617 35df6f9 M golang/configuration/types.go -:100644 100644 cac48e8 eccf96d M golang/go.mod -:100644 100644 5656577 442875a M golang/go.sum -:100644 100644 dfb805f 63247e8 M golang/main.go -:000000 100644 0000000 509bba7 A golang/run.go -:100644 100644 97b71d8 5ab5699 M golang/scanner/csv.go -:100644 100644 3c7a761 25110f9 M golang/scanner/scanner.go -:100644 100644 01a093c d241a21 M golang/speedtest/download.go -:100644 100644 6d94732 5d3794a M golang/speedtest/fronting.go -:100644 100644 1b4984a bc71b7b M golang/speedtest/upload.go -:100644 100644 c25e8c2 921fff7 M golang/utils/utils.go -:100644 100644 5ec5c93 9750806 M golang/v2raysvc/v2raysvc.go - -commit 1b0c45d993a5be438c2ba7b7ed18e56b2f98774a -Author: Sonya -Date: Sat Apr 1 00:28:53 2023 +0330 - - fixed fronting test issue - -:100644 100644 269ff4b dfb805f M golang/main.go -:100644 100644 a99e007 3c7a761 M golang/scanner/scanner.go -:100644 100644 8b69b59 6d94732 M golang/speedtest/fronting.go - -commit d5fdd485cec3a24b87d830c4af4a2674712a5de5 -Author: Sonya -Date: Fri Mar 31 12:48:13 2023 +0330 - - updated readme version - -:100644 100644 d584161 119fc31 M golang/README.md - -commit 21d620051b3f147cdbd8394223989e50a6f59e2c -Author: Sonya -Date: Fri Mar 31 12:46:48 2023 +0330 - - updated README - -:100644 100644 98eeefd d584161 M golang/README.md - -commit fc4c9cc019d9b1e371ad62cd18e183732fec10fd (origin/win-develop) -Author: goingfine -Date: Fri Mar 31 11:42:39 2023 +0330 - - update latest version - -:100644 100644 ac06eeb 1f93772 M windows/Properties/latest-version - -commit 69918898a904817795103c2b67be0a2cd452dc39 -Author: Sonya -Date: Fri Mar 31 11:28:46 2023 +0330 - - added timer & cleaner code - -:100644 100644 8274ee6 269ff4b M golang/main.go -:000000 100644 0000000 97b71d8 A golang/scanner/csv.go -:100644 100644 d506c6a a99e007 M golang/scanner/scanner.go -:000000 100644 0000000 bc4ffd1 A golang/scanner/types.go From b84b8ba5b73fa06092fedbe1cc731e57e3a67324 Mon Sep 17 00:00:00 2001 From: OutOfCode Date: Wed, 12 Apr 2023 15:57:49 +0330 Subject: [PATCH 3/7] add temp config and make it trackable --- .gitignore | 1 - config/cf.local.iplist | 0 2 files changed, 1 deletion(-) create mode 100644 config/cf.local.iplist diff --git a/.gitignore b/.gitignore index 71d46820..0323e752 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ -config/ result/ files/ files/upload_file diff --git a/config/cf.local.iplist b/config/cf.local.iplist new file mode 100644 index 00000000..e69de29b From 5bb78e42d394c88105ff44279b23e8b3cc49c950 Mon Sep 17 00:00:00 2001 From: Sina Date: Wed, 12 Apr 2023 15:38:01 +0300 Subject: [PATCH 4/7] Updated at 2023-04-12 16:08:00.090664+03:30 by 206 items --- config/cf.local.iplist | 206 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 206 insertions(+) diff --git a/config/cf.local.iplist b/config/cf.local.iplist index e69de29b..2a2ec280 100644 --- a/config/cf.local.iplist +++ b/config/cf.local.iplist @@ -0,0 +1,206 @@ +103.11.212.0/24 +104.16.0.0/13 +173.245.49.0/24 +108.165.216.0/24 +159.246.55.0/24 +103.156.22.0/23 +154.83.22.0/24 +45.80.111.0/24 +185.18.250.0/24 +212.239.86.0/24 +188.42.88.0/23 +193.16.63.0/24 +203.23.106.0/24 +103.81.228.0/24 +45.158.56.0/24 +188.114.96.0/22 +185.109.21.0/24 +141.101.82.0/23 +103.244.116.0/22 +45.84.59.0/24 +141.11.194.0/23 +154.84.14.0/23 +185.238.228.0/24 +203.55.107.0/24 +108.162.216.0/23 +141.101.92.0/22 +170.114.46.0/24 +170.114.45.0/24 +173.245.63.0/24 +141.101.112.0/20 +103.22.201.0/24 +185.213.243.0/24 +185.234.22.0/24 +154.83.2.0/24 +89.116.250.0/24 +154.219.3.0/24 +141.101.84.0/22 +203.32.120.0/23 +45.85.118.0/23 +185.67.124.0/24 +103.112.176.0/24 +45.137.99.0/24 +104.28.0.0/15 +154.83.30.0/24 +188.114.102.0/23 +194.152.44.0/24 +141.101.64.0/18 +103.169.142.0/24 +185.213.240.0/24 +154.84.26.0/23 +103.21.244.0/24 +104.234.158.0/24 +103.121.59.0/24 +108.162.212.0/23 +108.162.248.0/23 +193.67.144.0/24 +203.23.103.0/24 +103.31.4.0/22 +212.24.127.0/24 +147.78.121.0/24 +141.193.213.0/24 +141.101.65.0/24 +141.101.108.0/23 +141.101.110.0/24 +154.51.129.0/24 +185.38.135.0/24 +185.176.24.0/24 +194.1.194.0/24 +45.8.104.0/22 +45.159.216.0/22 +185.201.139.0/24 +205.233.181.0/24 +154.84.20.0/23 +45.95.241.0/24 +45.12.30.0/23 +103.21.244.0/22 +103.22.200.0/22 +194.40.240.0/23 +154.84.175.0/24 +191.101.251.0/24 +199.27.132.0/24 +23.227.60.0/24 +108.162.218.0/24 +104.31.0.0/16 +108.162.210.0/23 +80.94.83.0/24 +108.162.235.0/24 +103.79.228.0/23 +203.24.102.0/23 +195.242.122.0/23 +147.78.140.0/24 +185.244.106.0/24 +194.36.55.0/24 +66.81.247.0/24 +195.137.167.0/24 +173.245.54.0/24 +203.22.223.0/24 +203.89.5.0/24 +66.81.255.0/24 +195.85.23.0/24 +45.8.211.0/24 +104.30.64.0/18 +194.53.53.0/24 +185.135.9.0/24 +185.59.218.0/24 +108.162.240.0/21 +203.107.173.0/24 +45.87.175.0/24 +23.141.168.0/24 +192.133.11.0/24 +141.101.96.0/21 +108.162.192.0/18 +147.185.161.0/24 +104.30.4.0/22 +108.162.236.0/22 +23.227.38.0/23 +203.23.104.0/24 +194.169.194.0/24 +185.146.172.0/23 +159.112.235.0/24 +193.17.206.0/24 +185.174.138.0/24 +45.145.28.0/23 +104.254.140.0/24 +108.162.255.0/24 +45.131.4.0/22 +45.142.120.0/24 +141.101.90.0/24 +23.247.163.0/24 +141.101.76.0/23 +104.30.2.0/23 +185.193.28.0/22 +170.114.52.0/24 +104.30.8.0/21 +192.65.217.0/24 +188.114.111.0/24 +203.13.32.0/24 +154.85.99.0/24 +199.212.90.0/24 +185.72.49.0/24 +199.181.197.0/24 +89.207.18.0/24 +103.22.202.0/23 +188.114.100.0/24 +185.176.26.0/24 +168.100.6.0/24 +103.11.214.0/24 +203.34.28.0/24 +194.36.49.0/24 +154.51.160.0/24 +194.36.216.0/22 +188.114.108.0/24 +193.188.14.0/24 +188.114.96.0/20 +203.30.188.0/22 +141.101.106.0/23 +141.101.66.0/23 +45.94.169.0/24 +103.168.172.0/24 +23.227.37.0/24 +199.60.103.0/24 +185.170.166.0/24 +199.27.128.0/22 +45.131.208.0/22 +154.85.9.0/24 +141.101.68.0/22 +103.160.204.0/24 +193.227.99.0/24 +173.245.48.0/20 +104.30.128.0/17 +104.24.0.0/14 +203.34.80.0/24 +185.148.104.0/22 +154.84.24.0/24 +195.245.221.0/24 +193.9.49.0/24 +203.24.108.0/23 +203.17.126.0/24 +185.207.92.0/24 +188.244.122.0/24 +104.30.32.0/19 +23.178.112.0/24 +203.29.52.0/22 +108.162.192.0/20 +185.221.160.0/24 +104.30.16.0/20 +185.7.190.0/23 +212.110.134.0/23 +45.133.247.0/24 +89.47.56.0/23 +103.204.13.0/24 +104.30.1.0/24 +45.14.174.0/24 +154.84.16.0/24 +185.162.228.0/22 +108.162.250.0/24 +173.245.58.0/23 +188.114.106.0/23 +31.43.179.0/24 +141.101.72.0/22 +195.85.59.0/24 +203.19.222.0/24 +203.28.8.0/23 +203.193.21.0/24 +103.172.111.0/24 +66.235.200.0/24 \ No newline at end of file From 6345220922d8090a4d4ef6f2eecacf7adc455ac3 Mon Sep 17 00:00:00 2001 From: Sina Date: Wed, 12 Apr 2023 15:39:46 +0300 Subject: [PATCH 5/7] Updated at 2023-04-12 16:09:45.944073+03:30 by 206 items --- config/cf.local.iplist | 360 ++++++++++++++++++++--------------------- 1 file changed, 180 insertions(+), 180 deletions(-) diff --git a/config/cf.local.iplist b/config/cf.local.iplist index 2a2ec280..e577d6ed 100644 --- a/config/cf.local.iplist +++ b/config/cf.local.iplist @@ -1,206 +1,206 @@ -103.11.212.0/24 -104.16.0.0/13 -173.245.49.0/24 -108.165.216.0/24 -159.246.55.0/24 -103.156.22.0/23 -154.83.22.0/24 -45.80.111.0/24 -185.18.250.0/24 -212.239.86.0/24 -188.42.88.0/23 -193.16.63.0/24 -203.23.106.0/24 -103.81.228.0/24 -45.158.56.0/24 +103.172.111.0/24 +173.245.58.0/23 +141.101.65.0/24 +104.30.8.0/21 +185.213.243.0/24 +193.227.99.0/24 188.114.96.0/22 -185.109.21.0/24 -141.101.82.0/23 -103.244.116.0/22 -45.84.59.0/24 -141.11.194.0/23 -154.84.14.0/23 -185.238.228.0/24 -203.55.107.0/24 +212.110.134.0/23 +185.234.22.0/24 +103.204.13.0/24 +141.101.72.0/22 +45.87.175.0/24 +185.176.24.0/24 +141.101.64.0/18 +104.30.4.0/22 108.162.216.0/23 141.101.92.0/22 -170.114.46.0/24 -170.114.45.0/24 -173.245.63.0/24 -141.101.112.0/20 -103.22.201.0/24 -185.213.243.0/24 -185.234.22.0/24 -154.83.2.0/24 -89.116.250.0/24 +141.101.108.0/23 +103.160.204.0/24 +154.84.26.0/23 154.219.3.0/24 -141.101.84.0/22 -203.32.120.0/23 -45.85.118.0/23 -185.67.124.0/24 +199.60.103.0/24 +168.100.6.0/24 +199.212.90.0/24 +45.133.247.0/24 103.112.176.0/24 -45.137.99.0/24 -104.28.0.0/15 -154.83.30.0/24 -188.114.102.0/23 -194.152.44.0/24 -141.101.64.0/18 103.169.142.0/24 -185.213.240.0/24 -154.84.26.0/23 -103.21.244.0/24 -104.234.158.0/24 -103.121.59.0/24 -108.162.212.0/23 -108.162.248.0/23 -193.67.144.0/24 -203.23.103.0/24 +103.244.116.0/22 +203.34.28.0/24 +203.89.5.0/24 +89.207.18.0/24 +154.83.2.0/24 +185.162.228.0/22 +23.227.38.0/23 103.31.4.0/22 -212.24.127.0/24 -147.78.121.0/24 -141.193.213.0/24 -141.101.65.0/24 -141.101.108.0/23 +66.81.255.0/24 +203.24.102.0/23 +23.227.60.0/24 +173.245.49.0/24 141.101.110.0/24 -154.51.129.0/24 -185.38.135.0/24 -185.176.24.0/24 -194.1.194.0/24 -45.8.104.0/22 -45.159.216.0/22 +185.67.124.0/24 185.201.139.0/24 -205.233.181.0/24 -154.84.20.0/23 -45.95.241.0/24 -45.12.30.0/23 -103.21.244.0/22 -103.22.200.0/22 194.40.240.0/23 -154.84.175.0/24 -191.101.251.0/24 -199.27.132.0/24 -23.227.60.0/24 -108.162.218.0/24 -104.31.0.0/16 -108.162.210.0/23 -80.94.83.0/24 -108.162.235.0/24 +154.84.16.0/24 +104.28.0.0/15 +108.162.250.0/24 +147.78.121.0/24 +195.85.59.0/24 +173.245.48.0/20 +141.101.106.0/23 +185.146.172.0/23 +45.85.118.0/23 +104.30.32.0/19 +45.159.216.0/22 103.79.228.0/23 -203.24.102.0/23 -195.242.122.0/23 -147.78.140.0/24 -185.244.106.0/24 -194.36.55.0/24 -66.81.247.0/24 +185.18.250.0/24 +194.36.216.0/22 +108.162.192.0/18 +195.245.221.0/24 +23.178.112.0/24 +31.43.179.0/24 +141.101.82.0/23 +154.84.24.0/24 195.137.167.0/24 -173.245.54.0/24 -203.22.223.0/24 -203.89.5.0/24 -66.81.255.0/24 -195.85.23.0/24 -45.8.211.0/24 +203.30.188.0/22 +45.142.120.0/24 +203.32.120.0/23 +203.19.222.0/24 +188.114.111.0/24 +194.36.49.0/24 +199.27.132.0/24 +89.116.250.0/24 +188.114.108.0/24 +212.24.127.0/24 +185.213.240.0/24 +203.55.107.0/24 +103.21.244.0/22 +108.162.236.0/22 +193.67.144.0/24 104.30.64.0/18 +173.245.63.0/24 +154.84.14.0/23 194.53.53.0/24 +45.95.241.0/24 +193.188.14.0/24 +108.162.210.0/23 +104.16.0.0/13 +45.137.99.0/24 +66.81.247.0/24 +103.21.244.0/24 +154.84.20.0/23 +103.168.172.0/24 +185.221.160.0/24 +154.51.129.0/24 +185.193.28.0/22 +45.131.208.0/22 +103.22.202.0/23 +103.81.228.0/24 +103.22.201.0/24 +193.9.49.0/24 +141.101.66.0/23 +194.169.194.0/24 +45.145.28.0/23 +173.245.54.0/24 +141.101.84.0/22 +203.28.8.0/23 +170.114.46.0/24 +185.38.135.0/24 +199.27.128.0/22 185.135.9.0/24 -185.59.218.0/24 -108.162.240.0/21 -203.107.173.0/24 -45.87.175.0/24 -23.141.168.0/24 -192.133.11.0/24 +45.94.169.0/24 +104.31.0.0/16 +108.162.192.0/20 +185.176.26.0/24 141.101.96.0/21 -108.162.192.0/18 +141.101.68.0/22 +185.59.218.0/24 +203.23.103.0/24 +188.114.96.0/20 147.185.161.0/24 -104.30.4.0/22 -108.162.236.0/22 -23.227.38.0/23 -203.23.104.0/24 -194.169.194.0/24 -185.146.172.0/23 -159.112.235.0/24 -193.17.206.0/24 +185.109.21.0/24 +199.181.197.0/24 185.174.138.0/24 -45.145.28.0/23 -104.254.140.0/24 -108.162.255.0/24 -45.131.4.0/22 -45.142.120.0/24 -141.101.90.0/24 -23.247.163.0/24 -141.101.76.0/23 -104.30.2.0/23 -185.193.28.0/22 -170.114.52.0/24 -104.30.8.0/21 +205.233.181.0/24 192.65.217.0/24 -188.114.111.0/24 +108.162.235.0/24 +23.247.163.0/24 +45.14.174.0/24 +141.101.90.0/24 +170.114.45.0/24 +23.141.168.0/24 +45.158.56.0/24 +192.133.11.0/24 +66.235.200.0/24 +203.107.173.0/24 +193.17.206.0/24 +103.11.212.0/24 203.13.32.0/24 -154.85.99.0/24 -199.212.90.0/24 -185.72.49.0/24 -199.181.197.0/24 -89.207.18.0/24 -103.22.202.0/23 -188.114.100.0/24 -185.176.26.0/24 -168.100.6.0/24 +203.29.52.0/22 +141.11.194.0/23 +45.131.4.0/22 103.11.214.0/24 -203.34.28.0/24 -194.36.49.0/24 +108.162.248.0/23 +104.30.1.0/24 +45.8.104.0/22 +188.42.88.0/23 +194.36.55.0/24 +103.121.59.0/24 +203.23.106.0/24 +45.12.30.0/23 +104.254.140.0/24 +194.1.194.0/24 +195.85.23.0/24 +203.17.126.0/24 +104.24.0.0/14 +45.80.111.0/24 +159.112.235.0/24 +108.162.255.0/24 +104.30.128.0/17 +185.238.228.0/24 +154.85.9.0/24 +203.23.104.0/24 +188.244.122.0/24 +103.22.200.0/22 +185.170.166.0/24 154.51.160.0/24 -194.36.216.0/22 -188.114.108.0/24 -193.188.14.0/24 -188.114.96.0/20 -203.30.188.0/22 -141.101.106.0/23 -141.101.66.0/23 -45.94.169.0/24 -103.168.172.0/24 23.227.37.0/24 -199.60.103.0/24 -185.170.166.0/24 -199.27.128.0/22 -45.131.208.0/22 -154.85.9.0/24 -141.101.68.0/22 -103.160.204.0/24 -193.227.99.0/24 -173.245.48.0/20 -104.30.128.0/17 -104.24.0.0/14 +203.193.21.0/24 +104.30.2.0/23 +141.193.213.0/24 +185.244.106.0/24 +188.114.100.0/24 +194.152.44.0/24 +191.101.251.0/24 +89.47.56.0/23 +193.16.63.0/24 +154.83.30.0/24 +45.8.211.0/24 +154.83.22.0/24 +147.78.140.0/24 +154.84.175.0/24 203.34.80.0/24 -185.148.104.0/22 -154.84.24.0/24 -195.245.221.0/24 -193.9.49.0/24 -203.24.108.0/23 -203.17.126.0/24 -185.207.92.0/24 -188.244.122.0/24 -104.30.32.0/19 -23.178.112.0/24 -203.29.52.0/22 -108.162.192.0/20 -185.221.160.0/24 +159.246.55.0/24 +108.162.218.0/24 +185.72.49.0/24 +170.114.52.0/24 104.30.16.0/20 -185.7.190.0/23 -212.110.134.0/23 -45.133.247.0/24 -89.47.56.0/23 -103.204.13.0/24 -104.30.1.0/24 -45.14.174.0/24 -154.84.16.0/24 -185.162.228.0/22 -108.162.250.0/24 -173.245.58.0/23 +108.165.216.0/24 +103.156.22.0/23 +104.234.158.0/24 188.114.106.0/23 -31.43.179.0/24 -141.101.72.0/22 -195.85.59.0/24 -203.19.222.0/24 -203.28.8.0/23 -203.193.21.0/24 -103.172.111.0/24 -66.235.200.0/24 \ No newline at end of file +185.207.92.0/24 +141.101.112.0/20 +203.22.223.0/24 +141.101.76.0/23 +188.114.102.0/23 +108.162.212.0/23 +45.84.59.0/24 +203.24.108.0/23 +80.94.83.0/24 +154.85.99.0/24 +108.162.240.0/21 +185.148.104.0/22 +195.242.122.0/23 +212.239.86.0/24 +185.7.190.0/23 \ No newline at end of file From 76d530ce8197eb5f5ab912a80a9955fec684eb90 Mon Sep 17 00:00:00 2001 From: Sina Date: Wed, 12 Apr 2023 15:49:01 +0300 Subject: [PATCH 6/7] Updated at 2023-04-12 16:19:01.179265+03:30 by 206 items --- config/cf.local.iplist | 360 ++++++++++++++++++++--------------------- 1 file changed, 180 insertions(+), 180 deletions(-) diff --git a/config/cf.local.iplist b/config/cf.local.iplist index e577d6ed..f01d2ae8 100644 --- a/config/cf.local.iplist +++ b/config/cf.local.iplist @@ -1,206 +1,206 @@ -103.172.111.0/24 -173.245.58.0/23 -141.101.65.0/24 -104.30.8.0/21 -185.213.243.0/24 +192.133.11.0/24 +104.24.0.0/14 +185.221.160.0/24 193.227.99.0/24 -188.114.96.0/22 -212.110.134.0/23 -185.234.22.0/24 -103.204.13.0/24 -141.101.72.0/22 -45.87.175.0/24 -185.176.24.0/24 -141.101.64.0/18 -104.30.4.0/22 -108.162.216.0/23 -141.101.92.0/22 -141.101.108.0/23 -103.160.204.0/24 -154.84.26.0/23 -154.219.3.0/24 -199.60.103.0/24 -168.100.6.0/24 -199.212.90.0/24 -45.133.247.0/24 -103.112.176.0/24 -103.169.142.0/24 -103.244.116.0/22 -203.34.28.0/24 -203.89.5.0/24 -89.207.18.0/24 -154.83.2.0/24 -185.162.228.0/22 -23.227.38.0/23 +188.114.102.0/23 +45.131.208.0/22 103.31.4.0/22 -66.81.255.0/24 -203.24.102.0/23 -23.227.60.0/24 -173.245.49.0/24 -141.101.110.0/24 -185.67.124.0/24 -185.201.139.0/24 -194.40.240.0/23 -154.84.16.0/24 -104.28.0.0/15 -108.162.250.0/24 -147.78.121.0/24 -195.85.59.0/24 -173.245.48.0/20 +168.100.6.0/24 141.101.106.0/23 -185.146.172.0/23 -45.85.118.0/23 -104.30.32.0/19 -45.159.216.0/22 -103.79.228.0/23 -185.18.250.0/24 +45.133.247.0/24 +185.244.106.0/24 +103.156.22.0/23 194.36.216.0/22 +108.162.216.0/23 +188.114.100.0/24 +203.55.107.0/24 +154.85.9.0/24 +185.38.135.0/24 +185.148.104.0/22 +103.22.202.0/23 +141.101.82.0/23 +108.162.235.0/24 +45.94.169.0/24 +194.152.44.0/24 108.162.192.0/18 -195.245.221.0/24 -23.178.112.0/24 +185.72.49.0/24 +104.30.16.0/20 +108.162.218.0/24 +205.233.181.0/24 +212.110.134.0/23 +194.53.53.0/24 31.43.179.0/24 -141.101.82.0/23 -154.84.24.0/24 +188.114.96.0/22 +45.131.4.0/22 +104.30.64.0/18 +104.30.1.0/24 +103.121.59.0/24 195.137.167.0/24 -203.30.188.0/22 -45.142.120.0/24 -203.32.120.0/23 -203.19.222.0/24 -188.114.111.0/24 -194.36.49.0/24 +185.201.139.0/24 +191.101.251.0/24 +45.85.118.0/23 199.27.132.0/24 -89.116.250.0/24 -188.114.108.0/24 -212.24.127.0/24 -185.213.240.0/24 -203.55.107.0/24 -103.21.244.0/22 -108.162.236.0/22 -193.67.144.0/24 -104.30.64.0/18 -173.245.63.0/24 -154.84.14.0/23 -194.53.53.0/24 -45.95.241.0/24 -193.188.14.0/24 -108.162.210.0/23 -104.16.0.0/13 -45.137.99.0/24 -66.81.247.0/24 -103.21.244.0/24 +104.254.140.0/24 +154.85.99.0/24 154.84.20.0/23 +154.84.24.0/24 +185.162.228.0/22 +45.95.241.0/24 +185.109.21.0/24 +203.17.126.0/24 +147.185.161.0/24 +23.178.112.0/24 +104.30.4.0/22 +66.81.255.0/24 +203.193.21.0/24 +80.94.83.0/24 +170.114.46.0/24 +203.32.120.0/23 +45.158.56.0/24 +203.23.106.0/24 +199.60.103.0/24 +185.59.218.0/24 +203.24.102.0/23 103.168.172.0/24 -185.221.160.0/24 -154.51.129.0/24 -185.193.28.0/22 -45.131.208.0/22 -103.22.202.0/23 -103.81.228.0/24 -103.22.201.0/24 -193.9.49.0/24 +103.11.214.0/24 +185.7.190.0/23 +159.246.55.0/24 +141.101.72.0/22 +203.107.173.0/24 +103.22.200.0/22 +185.207.92.0/24 +89.207.18.0/24 +185.238.228.0/24 +195.245.221.0/24 +159.112.235.0/24 +104.28.0.0/15 +103.169.142.0/24 +212.24.127.0/24 +103.112.176.0/24 +188.114.111.0/24 +203.29.52.0/22 +170.114.52.0/24 +108.162.250.0/24 +89.116.250.0/24 141.101.66.0/23 -194.169.194.0/24 +194.1.194.0/24 +108.162.236.0/22 +103.172.111.0/24 45.145.28.0/23 +103.244.116.0/22 +104.234.158.0/24 +23.247.163.0/24 +45.14.174.0/24 +170.114.45.0/24 +154.84.26.0/23 173.245.54.0/24 -141.101.84.0/22 -203.28.8.0/23 -170.114.46.0/24 -185.38.135.0/24 +154.219.3.0/24 +103.21.244.0/24 +185.213.240.0/24 +103.79.228.0/23 +185.234.22.0/24 +141.101.76.0/23 199.27.128.0/22 -185.135.9.0/24 -45.94.169.0/24 +141.101.110.0/24 +185.67.124.0/24 +185.170.166.0/24 +193.17.206.0/24 104.31.0.0/16 -108.162.192.0/20 +147.78.140.0/24 +185.213.243.0/24 +154.84.14.0/23 +185.193.28.0/22 +103.160.204.0/24 +104.30.128.0/17 185.176.26.0/24 +141.101.84.0/22 +104.30.8.0/21 +195.85.23.0/24 +89.47.56.0/23 +203.28.8.0/23 141.101.96.0/21 -141.101.68.0/22 -185.59.218.0/24 +45.159.216.0/22 +203.34.80.0/24 +66.235.200.0/24 +173.245.58.0/23 +108.162.192.0/20 +141.101.108.0/23 203.23.103.0/24 -188.114.96.0/20 -147.185.161.0/24 -185.109.21.0/24 -199.181.197.0/24 -185.174.138.0/24 -205.233.181.0/24 -192.65.217.0/24 -108.162.235.0/24 -23.247.163.0/24 -45.14.174.0/24 -141.101.90.0/24 -170.114.45.0/24 +141.101.65.0/24 +103.204.13.0/24 +212.239.86.0/24 +45.87.175.0/24 +185.18.250.0/24 +188.244.122.0/24 +23.227.60.0/24 +203.89.5.0/24 +141.193.213.0/24 +193.9.49.0/24 +108.162.212.0/23 +194.40.240.0/23 +141.101.68.0/22 +45.137.99.0/24 +203.24.108.0/23 +66.81.247.0/24 +173.245.48.0/20 +203.23.104.0/24 +185.135.9.0/24 +193.16.63.0/24 +194.169.194.0/24 +141.101.64.0/18 +141.11.194.0/23 +141.101.112.0/20 +108.162.210.0/23 +188.114.106.0/23 23.141.168.0/24 -45.158.56.0/24 -192.133.11.0/24 -66.235.200.0/24 -203.107.173.0/24 -193.17.206.0/24 +185.174.138.0/24 +104.16.0.0/13 +154.83.22.0/24 +188.114.108.0/24 +108.162.240.0/21 +45.142.120.0/24 103.11.212.0/24 -203.13.32.0/24 -203.29.52.0/22 -141.11.194.0/23 -45.131.4.0/22 -103.11.214.0/24 -108.162.248.0/23 -104.30.1.0/24 -45.8.104.0/22 -188.42.88.0/23 -194.36.55.0/24 -103.121.59.0/24 -203.23.106.0/24 -45.12.30.0/23 -104.254.140.0/24 -194.1.194.0/24 -195.85.23.0/24 -203.17.126.0/24 -104.24.0.0/14 +104.30.2.0/23 +203.22.223.0/24 +141.101.92.0/22 +45.84.59.0/24 45.80.111.0/24 -159.112.235.0/24 +203.30.188.0/22 +203.34.28.0/24 +203.13.32.0/24 108.162.255.0/24 -104.30.128.0/17 -185.238.228.0/24 -154.85.9.0/24 -203.23.104.0/24 -188.244.122.0/24 -103.22.200.0/22 -185.170.166.0/24 -154.51.160.0/24 23.227.37.0/24 -203.193.21.0/24 -104.30.2.0/23 -141.193.213.0/24 -185.244.106.0/24 -188.114.100.0/24 -194.152.44.0/24 -191.101.251.0/24 -89.47.56.0/23 -193.16.63.0/24 -154.83.30.0/24 45.8.211.0/24 -154.83.22.0/24 -147.78.140.0/24 +104.30.32.0/19 +194.36.55.0/24 +154.51.129.0/24 +185.176.24.0/24 +193.67.144.0/24 +154.51.160.0/24 +103.21.244.0/22 +194.36.49.0/24 +103.81.228.0/24 +154.83.2.0/24 +199.181.197.0/24 +199.212.90.0/24 +173.245.63.0/24 +195.85.59.0/24 +195.242.122.0/23 +45.12.30.0/23 154.84.175.0/24 -203.34.80.0/24 -159.246.55.0/24 -108.162.218.0/24 -185.72.49.0/24 -170.114.52.0/24 -104.30.16.0/20 +203.19.222.0/24 +154.83.30.0/24 +147.78.121.0/24 +188.42.88.0/23 +185.146.172.0/23 108.165.216.0/24 -103.156.22.0/23 -104.234.158.0/24 -188.114.106.0/23 -185.207.92.0/24 -141.101.112.0/20 -203.22.223.0/24 -141.101.76.0/23 -188.114.102.0/23 -108.162.212.0/23 -45.84.59.0/24 -203.24.108.0/23 -80.94.83.0/24 -154.85.99.0/24 -108.162.240.0/21 -185.148.104.0/22 -195.242.122.0/23 -212.239.86.0/24 -185.7.190.0/23 \ No newline at end of file +193.188.14.0/24 +103.22.201.0/24 +192.65.217.0/24 +173.245.49.0/24 +188.114.96.0/20 +23.227.38.0/23 +141.101.90.0/24 +154.84.16.0/24 +108.162.248.0/23 +45.8.104.0/22 \ No newline at end of file From b1c8eca7b67e9616540a6bf0c857261982e319c7 Mon Sep 17 00:00:00 2001 From: OutOfCode Date: Wed, 12 Apr 2023 16:25:07 +0330 Subject: [PATCH 7/7] config updater source added --- config/cfchallenger.py | 406 ++++++++++++++++++++++++++++++++++++++++ config/main.py | 124 ++++++++++++ config/requirements.txt | 3 + config/token.secret | 1 + 4 files changed, 534 insertions(+) create mode 100644 config/cfchallenger.py create mode 100644 config/main.py create mode 100644 config/requirements.txt create mode 100644 config/token.secret diff --git a/config/cfchallenger.py b/config/cfchallenger.py new file mode 100644 index 00000000..0cbc5091 --- /dev/null +++ b/config/cfchallenger.py @@ -0,0 +1,406 @@ +from __future__ import annotations + +import argparse +import json +import logging +import re +from datetime import datetime +from enum import Enum +from typing import Any, Dict, List, Optional + +import playwright.sync_api +from playwright._impl._api_types import Error as PlaywrightError +from playwright.sync_api import Frame, sync_playwright + +Cookies = List[Dict[str, Any]] + + +class ChallengePlatform(Enum): + """Cloudflare challenge platform URI paths.""" + + JAVASCRIPT = "/cdn-cgi/challenge-platform/h/[bg]/orchestrate/jsch/v1" + MANAGED = "/cdn-cgi/challenge-platform/h/[bg]/orchestrate/managed/v1" + CAPTCHA = "/cdn-cgi/challenge-platform/h/[bg]/orchestrate/captcha/v1" + + +class CloudflareSolver: + """ + A class for solving Cloudflare challenges with Playwright. + + Parameters + ---------- + user_agent : str + The user agent string to use for the browser requests. + timeout : int + The browser default timeout in seconds. + http2 : bool + Enable or disable the usage of HTTP/2 for the browser requests. + http3 : bool + Enable or disable the usage of HTTP/3 for the browser requests. + headless : bool + Enable or disable headless mode for the browser. + proxy : Optional[str] + The proxy server URL to use for the browser requests. + + Attributes + ---------- + page : playwright.sync_api.Page + The Playwright page. + cookies : Cookies + The cookies from current the page. + + Methods + ------- + extract_clearance_cookie(cookies: Cookies) -> Optional[Dict[str, Any]] + Extract the Cloudflare clearance cookie from a list of cookies. + detect_challenge() -> Optional[ChallengePlatform] + Detect the Cloudflare challenge platform on the current page. + solve_challenge() + Solve the Cloudflare challenge on the current page. + """ + + def __init__( + self, + *, + user_agent: str, + timeout: int, + http2: bool, + http3: bool, + headless: bool, + proxy: Optional[str], + ) -> None: + self._playwright = sync_playwright().start() + + if proxy is not None: + proxy = self._parse_proxy(proxy) + + browser = self._playwright.firefox.launch( + firefox_user_prefs={ + "network.http.http2.enabled": http2, + "network.http.http3.enable": http3, + }, + headless=headless, + proxy=proxy, + ) + + context = browser.new_context() + context.set_default_timeout(timeout * 1000) + self.page = context.new_page() + + def __enter__(self) -> CloudflareSolver: + return self + + def __exit__(self, *args: Any) -> None: + self._playwright.stop() + + @staticmethod + def _parse_proxy(proxy: str) -> Dict[str, str]: + """ + Parse a proxy URL string into a dictionary of proxy parameters for the Playwright browser. + + Parameters + ---------- + proxy : str + Proxy URL string. + + Returns + ------- + Dict[str, str] + Dictionary of proxy parameters. + """ + if "@" in proxy: + proxy_regex = re.match("(.+)://(.+):(.+)@(.+)", proxy) + server = f"{proxy_regex.group(1)}://{proxy_regex.group(4)}" + + proxy_params = { + "server": server, + "username": proxy_regex.group(2), + "password": proxy_regex.group(3), + } + else: + proxy_params = {"server": proxy} + + return proxy_params + + def _get_turnstile_frame(self) -> Optional[Frame]: + """ + Get the Cloudflare turnstile frame. + + Returns + ------- + Optional[Frame] + Cloudflare turnstile frame. + """ + for frame in self.page.frames: + if ( + re.match( + "https://challenges.cloudflare.com/cdn-cgi/challenge-platform/h/[bg]/turnstile", + frame.url, + ) + is not None + ): + return frame + + return None + + @property + def cookies(self) -> Cookies: + """ + The cookies from the current page. + + Returns + ------- + Cookies + List of cookies. + """ + return self.page.context.cookies() + + @staticmethod + def extract_clearance_cookie(cookies: Cookies) -> Optional[Dict[str, Any]]: + """ + Extract the Cloudflare clearance cookie from a list of cookies. + + Parameters + ---------- + cookies : Cookies + List of cookies. + + Returns + ------- + Optional[Dict[str, Any]] + cf_clearance cookie dictionary. + """ + for cookie in cookies: + if cookie["name"] == "cf_clearance": + return cookie + + return None + + def detect_challenge(self) -> Optional[ChallengePlatform]: + """ + Detect the Cloudflare challenge platform on the current page. + + Returns + ------- + Optional[ChallengePlatform] + Cloudflare challenge platform. + """ + html = self.page.content() + + for platform in ChallengePlatform: + if re.search(platform.value, html) is not None: + return platform + + return None + + def solve_challenge(self) -> None: + """Solve the Cloudflare challenge on the current page.""" + verify_button_pattern = re.compile( + "Verify (I am|you are) (not a bot|(a )?human)" + ) + + verify_button = self.page.get_by_role("button", name=verify_button_pattern) + challenge_spinner = self.page.locator("#challenge-spinner") + challenge_stage = self.page.locator("div#challenge-stage") + + while ( + self.extract_clearance_cookie(self.cookies) is None + and self.detect_challenge() is not None + ): + if challenge_spinner.is_visible(): + challenge_spinner.wait_for(state="hidden") + + if verify_button.is_visible(): + verify_button.click() + challenge_stage.wait_for(state="hidden") + elif self._get_turnstile_frame() is not None: + turnstile_frame = self._get_turnstile_frame() + turnstile_frame.get_by_role("checkbox").click() + challenge_stage.wait_for(state="hidden") + elif any( + frame.url.startswith("https://cf-assets.hcaptcha.com/captcha/v1") + for frame in self.page.frames + ): + self.page.reload() + + +def main() -> None: + parser = argparse.ArgumentParser( + description="A simple program for scraping Cloudflare clearance (cf_clearance) cookies from websites issuing Cloudflare challenges to visitors" + ) + + parser.add_argument( + "url", + metavar="URL", + help="The URL to scrape the Cloudflare clearance cookie from", + type=str, + ) + + parser.add_argument( + "-f", + "--file", + default=None, + help="The file to write the Cloudflare clearance cookie information to, in JSON format", + type=str, + ) + + parser.add_argument( + "-t", + "--timeout", + default=15, + help="The browser default timeout in seconds", + type=int, + ) + + parser.add_argument( + "-p", + "--proxy", + default=None, + help="The proxy server URL to use for the browser requests (SOCKS5 proxy authentication is not supported)", + type=str, + ) + + parser.add_argument( + "-ua", + "--user-agent", + # default= "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Chrome/112.0.5615.29", + default="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/109.0", + help="The user agent to use for the browser requests", + type=str, + ) + + parser.add_argument( + "--disable-http2", + action="store_true", + help="Disable the usage of HTTP/2 for the browser requests", + ) + + parser.add_argument( + "--disable-http3", + action="store_true", + help="Disable the usage of HTTP/3 for the browser requests", + ) + + parser.add_argument( + "-d", + "--debug", + action="store_true", + help="Run the browser in headed mode", + ) + + parser.add_argument( + "-v", + "--verbose", + action="store_true", + help="Increase the output verbosity", + ) + + args = parser.parse_args() + logging_level = logging.INFO if args.verbose else logging.ERROR + + logging.basicConfig( + format="[%(asctime)s] [%(levelname)s] %(message)s", + datefmt="%H:%M:%S", + level=logging_level, + ) + + logging.info("Launching %s browser...", "headed" if args.debug else "headless") + + challenge_messages = { + ChallengePlatform.JAVASCRIPT: "Solving Cloudflare challenge [JavaScript]...", + ChallengePlatform.MANAGED: "Solving Cloudflare challenge [Managed]...", + ChallengePlatform.CAPTCHA: "Solving Cloudflare challenge [CAPTCHA]...", + } + + with CloudflareSolver( + user_agent=args.user_agent, + timeout=args.timeout, + http2=not args.disable_http2, + http3=not args.disable_http3, + headless=not args.debug, + proxy=args.proxy, + ) as solver: + logging.info("Going to %s...", args.url) + + try: + solver.page.goto(args.url) + except PlaywrightError as err: + logging.error(err) + return + + challenge_platform = solver.detect_challenge() + + if challenge_platform is None: + logging.error("No Cloudflare challenge detected.") + return + + logging.info(challenge_messages[challenge_platform]) + + try: + solver.solve_challenge() + except PlaywrightError as err: + logging.error(err) + + clearance_cookie = solver.extract_clearance_cookie(solver.cookies) + + # loop = asyncio.get_event_loop() + # + # async def opser(page:playwright.sync_api.Page,address): + # # wait untill fully loaded + # print("waiting for "+address) + # page.wait_for_selector("[body]") + # # get the content + # print("Wait Finished for " + address) + # content = await page.content() + # # print the content + # print(content) + # loop.run_until_complete(opser(solver.page,args.url)) + # loop.close() + + # await solver.page.wait_for_load_state(state="domcontentloaded") + solver.page.wait_for_event("load") + content = solver.page.content() + print(content) + + if clearance_cookie is None: + logging.error("Failed to retrieve the Cloudflare clearance cookie.") + return + + if not args.verbose: + print(clearance_cookie["value"]) + + logging.info("Cookie: cf_clearance=%s", clearance_cookie["value"]) + logging.info("User agent: %s", args.user_agent) + + if args.file is None: + return + + logging.info("Writing Cloudflare clearance cookie information to %s...", args.file) + + try: + with open(args.file, encoding="utf-8") as file: + json_data = json.load(file) + except (FileNotFoundError, json.JSONDecodeError): + json_data = {"clearance_cookies": []} + + # Get the unix timestamp using the cookie's expiration date minus one year + unix_timestamp = clearance_cookie["expires"] - 31557600 + timestamp = datetime.utcfromtimestamp(unix_timestamp).isoformat() + + json_data["clearance_cookies"].append( + { + "unix_timestamp": unix_timestamp, + "timestamp": timestamp, + "domain": clearance_cookie["domain"], + "cf_clearance": clearance_cookie["value"], + "user_agent": args.user_agent, + "proxy": args.proxy, + } + ) + + with open(args.file, "w", encoding="utf-8") as file: + json.dump(json_data, file, indent=4) + + +if __name__ == "__main__": + main() diff --git a/config/main.py b/config/main.py new file mode 100644 index 00000000..4553cb9a --- /dev/null +++ b/config/main.py @@ -0,0 +1,124 @@ +import requests +import re +from datetime import datetime +import pytz +from pathlib import Path +import subprocess +import os +import time + +path = Path(__file__).resolve().parent +url = 'https://asnlookup.com/asn/' +agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/109.0" +ips = list() +asns = ['AS13335', 'AS209242'] +correctIp = ['23', '31', '45', '66', '80', '89', '103', '104', '108', '141', + '147', '154', '159', '168', '170', '173', '185', '188', '191', + '192', '193', '194', '195', '199', '203', '205', '212'] + + +def substring_after(s, delim): + return s.partition(delim)[2] + + +def substring_before(s, delim): + return s.partition(delim)[0] + + +def substring_between(s, before, after): + return substring_before(substring_after(s, before), after) + + +def getPageContent(url): + pathss = str(path) + os.sep + main = pathss + "cfchallenger.py" + result = subprocess.getoutput(f'python {main} {url}'.format(main=main, url=url)) + return result + + +deli_before = """IPv4 CIDRs + +
    +""" +deli_after = """
+ + + +IPv6 CIDRs""" + + +def extract_ips(text): + raw = substring_between(text, deli_before, deli_after) + temp_list = list() + regex = r"\">(.+?)<" + matches = re.finditer(regex, raw, re.MULTILINE) + for matchNum, match in enumerate(matches, start=1): + for groupNum in range(0, len(match.groups())): + groupNum = groupNum + 1 + temp_list.append(match.group(groupNum)) + return temp_list + + +def filter_ips(ips): + def filterFun(ip): + tarter = ip.split(".")[0] + return correctIp.count(tarter) + + return filter(filterFun, ips) + + +print("<====/ started at " + str(datetime.now()) + " \====>") + +for asn in asns: + url_asn = url + asn + "/" + response = str(getPageContent(url_asn)) + successful = True if "IPv4 CIDRs" in response else False + print("{url} fetched with status {status}".format(url=url_asn, status="success" if successful else "failed")) + time.sleep(5) + ips.extend(extract_ips(response)) + +# get another addresses +additionUrl = "https://www.cloudflare.com/ips-v4" +thirdReq = requests.get(additionUrl) +print("{url} fetched with status {status}".format(url=additionUrl, + status="success" if thirdReq.status_code == 200 else "failed")) +ips.extend(thirdReq.text.splitlines()) + +teh_tz = pytz.timezone('Iran') +datetime_Th = datetime.now(teh_tz) + +finalList = list(set(filter_ips(ips))) +count = len(finalList) +time = datetime_Th +output = '\n'.join(finalList) + +if len(finalList) < 20: + print("Error , Prevent Update !") + exit() + +path = os.path.dirname(os.path.realpath(__file__)) + os.path.sep +repoPath = path + "CFScanner" + os.path.sep +outputPath = repoPath + "config" + os.path.sep + "cf.local.iplist" +with open(path + "token.secret", "r") as file: githubToken = file.read() +repoUrl = "https://{token}@github.com/MortezaBashsiz/CFScanner".format(token=githubToken) + +print("start Git repository update ...") +result = subprocess.getoutput("git clone " + repoUrl + " " + repoPath) +result = subprocess.getoutput(f"git -C {repoPath} fetch origin dev:dev") +result = subprocess.getoutput(f"git -C {repoPath} pull -f origin dev:dev") +result = subprocess.getoutput(f"git -C {repoPath} checkout dev") + +if os.path.exists(outputPath): + os.remove(outputPath) + +f = open(outputPath, "a") +f.write(output) +f.close() + +description = "Updated at {time} by {count} items".format(time=time, count=count) +result = subprocess.getoutput(f"git -C {repoPath} add .") +result = subprocess.getoutput(f"git -C {repoPath} commit -m \"{description}\"") +result = subprocess.getoutput(f"git -C {repoPath} push origin dev") +print("Git repository updated.") + +print("<====\ Ended at " + str(datetime.now()) + " /====>") diff --git a/config/requirements.txt b/config/requirements.txt new file mode 100644 index 00000000..8b14b8e0 --- /dev/null +++ b/config/requirements.txt @@ -0,0 +1,3 @@ +playwright~=1.31.1 +pytz~=2022.7.1 +requests~=2.28.2 \ No newline at end of file diff --git a/config/token.secret b/config/token.secret new file mode 100644 index 00000000..d703eaef --- /dev/null +++ b/config/token.secret @@ -0,0 +1 @@ +github access token e.g: ghp_m78F4OiM2rvYxVktC... \ No newline at end of file