Hello World

This commit is contained in:
GitHub Actions committed 2022-06-30 02:18:52 +00:00
commit cd995d7629
2562 files changed
+457732

No files matched your search

Binary file not shown.
+30
View File
@@ -0,0 +1,30 @@
import requests
import json
def check(alive, proxy, apiurl,sema,timeout, testurl):
try:
r = requests.get(url=apiurl + '/proxies/' + str(proxy['name']) + '/delay?url='+testurl+'&timeout=' + str(timeout), timeout=10)
response = json.loads(r.text)
try:
if response['delay'] > 0:
r = requests.get(url=apiurl + '/proxies/' + str(proxy['name']) + '/delay?url=https://www.youtube.com/s/player/23010b46/player_ias.vflset/en_US/remote.js&timeout=' + str(timeout), timeout=10)
response = json.loads(r.text)
try:
if response['delay'] > 0:
r = requests.get(url=apiurl + '/proxies/' + str(proxy['name']) + '/delay?url=https://cachefly.cachefly.net/1mb.test&timeout=' + str(timeout), timeout=15)
response = json.loads(r.text)
try:
if response['delay'] > 0:
alive.append(proxy)
except:
pass
except:
pass
except:
pass
except:
pass
sema.release()
+962
View File
@@ -0,0 +1,962 @@
proxies:
- name: "\U0001F1FA\U0001F1F8 US 1"
server: tj-us02.yiyodns.xyz
type: trojan
country: "\U0001F1FA\U0001F1F8US"
port: 443
password: 7dafe71e-2be6-302f-bdfc-e6319a3299bc
skip-cert-verify: true
udp: true
- name: "\U0001F1EC\U0001F1E7 GB 2"
server: jgwld1.gaox.ml
port: 443
type: trojan
password: 02e653c9-7c93-46a9-999d-11834bd0c577
skip-cert-verify: true
udp: true
- name: "\U0001F1EC\U0001F1E7 GB 3"
server: jgwld2.gaox.ml
port: 443
type: trojan
password: d7fd8aaa-4581-4281-80aa-4b63e5e1f157
skip-cert-verify: true
udp: true
- name: "\U0001F1E8\U0001F1FF CZ 4"
server: ce.rutracker-cn.com
port: 443
type: trojan
password: 5y8y3CwxRVYhyfSY
skip-cert-verify: true
udp: true
- name: "\U0001F1E8\U0001F1FF CZ 5"
server: v2cross.com.05.v2ce.com
port: 443
type: trojan
password: kGrwqmB1nEKUsDwE
skip-cert-verify: true
udp: true
- name: "\U0001F1E8\U0001F1FF CZ 6"
server: v2cross.com.04.v2ce.com
port: 443
type: trojan
password: vGWCNNfBHwSY6m6M
skip-cert-verify: true
udp: true
- name: "\U0001F1E8\U0001F1FF CZ 7"
server: v2cross.com.02.v2ce.com
port: 443
type: trojan
password: 3gLlCYBipVwr6Y5F
skip-cert-verify: true
udp: true
- name: "\U0001F1E8\U0001F1FF CZ 8"
server: v2cross.com.01.v2ce.com
port: 443
type: trojan
password: mMQ6qJB9xbhiRvgg
skip-cert-verify: true
udp: true
- name: "\U0001F1E8\U0001F1FF CZ 9"
server: cz5.v2ce.com
port: 443
type: trojan
password: HTrovQkamDxNfaD5
skip-cert-verify: true
udp: true
- name: "\U0001F1FA\U0001F1F8 US 10"
server: usfree1.jiantian.xyz
port: 23425
type: trojan
password: 27e58714-2c0b-4fa4-afb6-b91ec041b1cf
sni: usfree1.jiantian.xyz
skip-cert-verify: true
udp: true
- name: "\U0001F1FA\U0001F1F8 US 11"
server: tj-us01.yiyodns.xyz
port: 443
type: trojan
password: 7dafe71e-2be6-302f-bdfc-e6319a3299bc
skip-cert-verify: true
udp: true
- name: "\U0001F1FA\U0001F1F8 US 12"
server: fhcarm2.gaox.ml
port: 443
type: trojan
password: f39bd244-f5fe-415c-8b98-a1e5250bf178
skip-cert-verify: true
udp: true
- name: "\U0001F1FA\U0001F1F8 US 13"
server: us-03.licom.ml
port: 8443
type: trojan
password: a45be70d-abf2-4069-804e-e79ef87ad610
sni: us-03.licom.ml
skip-cert-verify: true
udp: true
- name: "\U0001F1FA\U0001F1F8 US 14"
server: bai-piao-wang-zhe10.98848.xyz
port: 22168
type: trojan
password: 685022af-2086-454c-8725-8ff6b6ab1d13
skip-cert-verify: true
udp: true
- name: "\U0001F1FA\U0001F1F8 US 15"
server: s3.hazz.win
port: 12340
type: trojan
password: dfbf0d67-f03d-4184-a224-c2d64a571f99
skip-cert-verify: true
udp: true
- name: "\U0001F1FA\U0001F1F8 US 16"
server: lsj02.wangxd.life
port: 3052
type: trojan
password: 3a2c0c6c-9ee5-c05f-c951-fcd73831983e
skip-cert-verify: true
udp: true
- name: "\U0001F1FA\U0001F1F8 US 17"
server: bai-piao-wang-zhe10.98848.xyz
port: 48240
type: trojan
password: 685022af-2086-454c-8725-8ff6b6ab1d13
sni: bai-piao-wang-zhe10.98848.xyz
skip-cert-verify: true
udp: true
- name: "\U0001F1FA\U0001F1F8 US 18"
server: fhcarm1.gaox.ml
port: 443
type: trojan
password: 05742120-ce23-4cc8-88f5-6d221ce45bf4
skip-cert-verify: true
udp: true
- name: "\U0001F1FA\U0001F1F8 US 19"
server: rooms.starspace.link
port: 443
type: trojan
password: 5HfENR8nt2PR8reH
skip-cert-verify: true
udp: true
- name: "\U0001F1EF\U0001F1F5 JP 20"
server: 203.138.98.199
port: 28443
type: trojan
password: 841b229a-304f-46a2-a0fe-3b4e3e0e44f6
sni: huayun.xyz
skip-cert-verify: true
udp: true
- name: "\U0001F1FA\U0001F1F8 US 21"
server: silicon.starspace.link
port: 443
type: trojan
password: 4ZPDeqJ6g766UKDJ
sni: silicon.starspace.link
skip-cert-verify: true
udp: true
- name: "\U0001F1FA\U0001F1F8 US 22"
server: bai-piao-wang-zhe10.98848.xyz
port: 50858
type: trojan
password: 685022af-2086-454c-8725-8ff6b6ab1d13
sni: bai-piao-wang-zhe10.98848.xyz
skip-cert-verify: true
udp: true
- name: "\U0001F1E8\U0001F1F3 TW 23"
server: 165.154.253.34
port: 28000
type: trojan
password: 52a98419-efab-4c34-b4cc-4e2a7bc37029
sni: huayun.xyz
skip-cert-verify: true
udp: true
- name: "\U0001F1E8\U0001F1F3 TW 24"
server: 165.154.253.49
port: 28000
type: trojan
password: 52a98419-efab-4c34-b4cc-4e2a7bc37029
sni: huayun.xyz
skip-cert-verify: true
udp: true
- name: "\U0001F1FA\U0001F1F8 US 25"
server: fhcamd2.gaox.ml
port: 443
type: trojan
password: dbf9bf9c-2c3f-474a-8031-d4c00666a989
skip-cert-verify: true
udp: true
- name: "\U0001F1E8\U0001F1F3 TW 26"
server: 165.154.253.34
port: 28443
type: trojan
password: 841b229a-304f-46a2-a0fe-3b4e3e0e44f6
sni: huayun.xyz
skip-cert-verify: true
udp: true
- name: "\U0001F1E8\U0001F1F3 TW 27"
server: 165.154.243.208
port: 28443
type: trojan
password: 841b229a-304f-46a2-a0fe-3b4e3e0e44f6
sni: huayun.xyz
skip-cert-verify: true
udp: true
- name: "\U0001F1F8\U0001F1EC SG 28"
server: 626sg05.ok365.cyou
port: 443
type: trojan
password: 02f61efe-8380-413a-9233-6328ef8997f4
sni: 626sg05.ok365.cyou
skip-cert-verify: true
- name: "\U0001F1E8\U0001F1F3 TW 29"
server: hinet.52147.top
port: 28000
type: trojan
password: 52a98419-efab-4c34-b4cc-4e2a7bc37029
sni: hinet.52147.top
skip-cert-verify: true
udp: true
- name: "\U0001F1E8\U0001F1F3 TW 30"
server: 625tw.ok365.cyou
port: 443
type: trojan
password: 02f61efe-8380-413a-9233-6328ef8997f4
sni: 625tw.ok365.cyou
skip-cert-verify: true
- name: "\U0001F1E8\U0001F1F3 TW 31"
server: 165.154.243.208
port: 28000
type: trojan
password: 52a98419-efab-4c34-b4cc-4e2a7bc37029
sni: huayun.xyz
skip-cert-verify: true
udp: true
- name: "\U0001F1E8\U0001F1F3 TW 32"
server: 165.154.253.49
port: 28443
type: trojan
password: 841b229a-304f-46a2-a0fe-3b4e3e0e44f6
sni: huayun.xyz
skip-cert-verify: true
udp: true
- name: "\U0001F1EF\U0001F1F5 JP 33"
server: 203.138.98.199
port: 28000
type: trojan
password: 52a98419-efab-4c34-b4cc-4e2a7bc37029
skip-cert-verify: true
udp: true
- name: "\U0001F1F8\U0001F1EC SG 34"
server: tj-sg02.yiyodns.xyz
port: 443
type: trojan
password: 7dafe71e-2be6-302f-bdfc-e6319a3299bc
sni: tj-sg02.yiyodns.xyz
skip-cert-verify: true
- name: "\U0001F1FA\U0001F1F8 US 35"
server: storage.starspace.link
port: 443
type: trojan
password: W8gVbKNAZlFzgGPn
skip-cert-verify: true
udp: true
- name: "\U0001F1FA\U0001F1F8 US 36"
server: wireless.starspace.link
port: 443
type: trojan
password: 5LN8SGTqxk336nFg
skip-cert-verify: true
udp: true
- name: "\U0001F1E8\U0001F1F3 HK 37"
server: 626hk02.ok365.cyou
port: 80
type: trojan
password: 02f61efe-8380-413a-9233-6328ef8997f4
sni: 626hk02.ok365.cyou
skip-cert-verify: true
- name: "\U0001F1EF\U0001F1F5 JP 38"
server: az.az-bgp.chuangshi999.xyz
port: 64340
type: trojan
password: eae49aca-72e6-4465-a863-f5ab350997ef
sni: az.az-bgp.chuangshi999.xyz
skip-cert-verify: true
- name: "\U0001F1E6\U0001F1FA AU 39"
server: jgwxn2.gaox.ml
port: 443
type: trojan
password: c2b60d6a-a2f5-40ff-b7f9-f7658abcbf26
skip-cert-verify: true
udp: true
- name: "\U0001F1E8\U0001F1F3 HK 40"
server: hkbgp2.jiantian.xyz
port: 14572
type: trojan
password: 27e58714-2c0b-4fa4-afb6-b91ec041b1cf
sni: hkbgp2.jiantian.xyz
skip-cert-verify: true
udp: true
- name: "\U0001F1E8\U0001F1F3 HK 41"
server: hkbgp1.jiantian.xyz
port: 19374
type: trojan
password: 27e58714-2c0b-4fa4-afb6-b91ec041b1cf
sni: hkbgp1.jiantian.xyz
skip-cert-verify: true
udp: true
- name: "\U0001F1FA\U0001F1F8 US 42"
server: fhcamd1.gaox.ml
port: 443
type: trojan
password: e23f408a-012e-4030-8b31-02022031cb50
skip-cert-verify: true
udp: true
- name: "\U0001F1F8\U0001F1EC SG 43"
server: sg.sharecentrepro.tk
port: 443
type: trojan
password: sharecentre
skip-cert-verify: true
udp: true
- name: "\U0001F1EF\U0001F1F5 JP 44"
server: jgwdj3.gaox.ml
port: 443
type: trojan
password: da777aae-defb-41d0-a183-2c27da2b4677
skip-cert-verify: true
udp: true
- name: "\U0001F1F8\U0001F1EC SG 45"
server: s4.hazz.win
port: 12340
type: trojan
password: dfbf0d67-f03d-4184-a224-c2d64a571f99
skip-cert-verify: true
udp: true
- name: "\U0001F1F8\U0001F1EC SG 46"
server: trojan1.udpgw.com
port: 443
type: trojan
password: affae2e0-e84b-11ec-b09f-1239d0255272
skip-cert-verify: true
udp: true
- name: "\U0001F1E8\U0001F1F3 CN 47"
server: cm.spacez.cloud
port: 30003
type: trojan
password: c9a3a61d-5d49-4158-9e60-6fa32684b122
skip-cert-verify: true
udp: true
- name: "\U0001F1FA\U0001F1F8 US 48"
server: cd.rutracker-cn.com
port: 443
type: trojan
password: ukMzuFSmIXDvgW0h
skip-cert-verify: true
udp: true
- name: "\U0001F1F0\U0001F1F7 KR 49"
server: jgwcc1.gaox.ml
port: 443
type: trojan
password: 7118b5f4-0ea4-4c11-be7f-11471cb91e4a
skip-cert-verify: true
udp: true
- name: "\U0001F1E8\U0001F1FF CZ 50"
server: v2cross.com.03.v2ce.com
port: 443
type: trojan
password: ZD4dLSBXiMrmzdLd
skip-cert-verify: true
udp: true
- name: "\U0001F1F0\U0001F1F7 KR 51"
server: kr05.wangxd.life
port: 3052
type: trojan
password: 3a2c0c6c-9ee5-c05f-c951-fcd73831983e
skip-cert-verify: true
udp: true
- name: "\U0001F1F8\U0001F1EC SG 52"
server: s2.hazz.win
port: 12340
type: trojan
password: dfbf0d67-f03d-4184-a224-c2d64a571f99
skip-cert-verify: true
udp: true
- name: "\U0001F1EF\U0001F1F5 JP 53"
server: jgwdb3.gaox.ml
port: 443
type: trojan
password: 8d2d5953-d649-4034-94f2-72f2df2623da
skip-cert-verify: true
udp: true
- name: "\U0001F1E8\U0001F1F3 CN 54"
server: hnyd.52147.top
port: 20160
type: trojan
password: 841b229a-304f-46a2-a0fe-3b4e3e0e44f6
sni: huayun.xyz
skip-cert-verify: true
udp: true
- name: "\U0001F1E8\U0001F1F3 CN 55"
server: hnyd.52147.top
port: 30170
type: trojan
password: 52a98419-efab-4c34-b4cc-4e2a7bc37029
sni: hnyd.52147.top
skip-cert-verify: true
udp: true
- name: "\U0001F1E8\U0001F1F3 CN 56"
server: hnyd.52147.top
port: 30120
type: trojan
password: 52a98419-efab-4c34-b4cc-4e2a7bc37029
sni: hnyd.52147.top
skip-cert-verify: true
udp: true
- name: "\U0001F1E8\U0001F1F3 HK 57"
server: tj-hk01.yiyodns.xyz
port: 443
type: trojan
password: 7dafe71e-2be6-302f-bdfc-e6319a3299bc
skip-cert-verify: true
udp: true
- name: "\U0001F1E8\U0001F1F3 CN 58"
server: hnyd.52147.top
port: 30130
type: trojan
password: 52a98419-efab-4c34-b4cc-4e2a7bc37029
sni: hnyd.52147.top
skip-cert-verify: true
udp: true
- name: "\U0001F1E8\U0001F1F3 CN 59"
server: hnyd.52147.top
port: 20120
type: trojan
password: 841b229a-304f-46a2-a0fe-3b4e3e0e44f6
sni: huayun.xyz
skip-cert-verify: true
udp: true
- name: "\U0001F1EE\U0001F1F3 IN 60"
server: jgwhdlb1.gaox.ml
port: 443
type: trojan
password: e05c749b-7c6b-41b8-9c71-9dcf685edf4a
skip-cert-verify: true
udp: true
- name: "\U0001F1F8\U0001F1EC SG 61"
server: tj-sg01.yiyodns.xyz
type: trojan
country: "\U0001F1E8\U0001F1E6CA"
port: 443
password: 8c160526-9900-3a00-ad06-08ac76357b02
skip-cert-verify: true
udp: true
- name: "\U0001F1E8\U0001F1F3 CN 62"
server: gzyd2.52147.top
port: 20120
type: trojan
password: 841b229a-304f-46a2-a0fe-3b4e3e0e44f6
sni: huayun.xyz
skip-cert-verify: true
udp: true
- name: "\U0001F1E8\U0001F1F3 CN 63"
server: hnyd.52147.top
port: 20110
type: trojan
password: 841b229a-304f-46a2-a0fe-3b4e3e0e44f6
sni: huayun.xyz
skip-cert-verify: true
udp: true
- name: "\U0001F1EF\U0001F1F5 JP 64"
server: jgwdb1.gaox.ml
port: 443
type: trojan
password: a580d839-ee41-4df1-bf03-6789dca32e30
skip-cert-verify: true
udp: true
- name: "\U0001F1EE\U0001F1F3 IN 65"
server: jgwhdlb3.gaox.ml
port: 443
type: trojan
password: 006baa3f-4bc3-4915-b60d-c8c5dae11a11
skip-cert-verify: true
udp: true
- name: "\U0001F1E8\U0001F1F3 CN 66"
server: cm.spacez.cloud
port: 30003
type: trojan
password: c9a3a61d-5d49-4158-9e60-6fa32684b122
skip-cert-verify: true
udp: true
- name: "\U0001F1E6\U0001F1FA AU 67"
server: jgwxn3.gaox.ml
port: 443
type: trojan
country: "\U0001F1E6\U0001F1FA AU"
password: cb43b7c2-b744-41c5-bcc2-fd7467b332cf
skip-cert-verify: true
udp: true
- name: "\U0001F1E6\U0001F1FA AU 68"
server: jgwxn4.gaox.ml
port: 443
type: trojan
country: "\U0001F1E6\U0001F1FA AU"
password: e8c1ab3c-89b3-4933-92df-682e6dce7819
skip-cert-verify: true
udp: true
- name: "\U0001F1EC\U0001F1E7 GB 69"
server: jgwld4.gaox.ml
type: trojan
country: "\U0001F1EC\U0001F1E7 GB"
port: 443
password: 58d32c66-43b1-4561-9951-d87c9123774e
skip-cert-verify: true
udp: true
- name: "\U0001F1FA\U0001F1F8 US 70"
server: us12.chunyua.online
port: 14725
type: trojan
password: 7323b7f1-dcb5-499d-b6ae-f51a638ba826
sni: us12.chunyua.online
- name: "\U0001F1EF\U0001F1F5 JP 71"
server: jgwdb4.gaox.ml
port: 443
type: trojan
country: "\U0001F1EF\U0001F1F5 JP"
password: d06a3f01-1ff0-4792-9b8e-a5a604bc74a2
skip-cert-verify: true
udp: true
- name: "\U0001F1FA\U0001F1F8 US 72"
server: 185.148.14.204
port: 20010
type: trojan
password: 46d4e24d-e653-3d67-b773-54f43d1e89e7
sni: node.franxx.codes
- name: "\U0001F1FA\U0001F1F8 US 73"
server: 185.148.14.204
port: 28888
type: trojan
password: 46d4e24d-e653-3d67-b773-54f43d1e89e7
sni: node.franxx.codes
- name: "\U0001F1EF\U0001F1F5 JP 74"
server: az.az-bgp.chuangshi999.xyz
type: trojan
country: "\U0001F1FA\U0001F1F8 US"
port: 39675
password: eae49aca-72e6-4465-a863-f5ab350997ef
skip-cert-verify: true
udp: true
- name: "\U0001F1E8\U0001F1F3 TW 75"
server: ntw02.vsvideo.live
port: 25634
type: trojan
password: 2f606ee8-3cfa-30b2-a191-f88efe912f5c
sni: ntw02.vsvideo.live
skip-cert-verify: true
- name: "\U0001F1E8\U0001F1F3 CN 76"
server: gzyd2.52147.top
type: trojan
port: 30170
password: 52a98419-efab-4c34-b4cc-4e2a7bc37029
sni: gzyd2.52147.top
skip-cert-verify: true
udp: true
- name: "\U0001F1F7\U0001F1FA RU 77"
server: ru1.nodegz.top
port: 443
type: trojan
password: b6f47fcf-6195-38d4-8f49-9e5ccd6bd8f1
sni: ru1.nodegz.top
skip-cert-verify: false
- name: "\U0001F1EF\U0001F1F5 JP 78"
server: az.az-bgp.chuangshi999.xyz
type: trojan
country: "\U0001F1EF\U0001F1F5 JP"
port: 31250
password: eae49aca-72e6-4465-a863-f5ab350997ef
skip-cert-verify: true
udp: true
- name: "\U0001F1E8\U0001F1FF CZ 79"
server: t03.ssrsub.com
type: trojan
port: 8443
password: 8fefb1b5-bee7-4736-8e00-cad32ab113d1
sni: d76bb35696.wns.windows.com
skip-cert-verify: true
- name: "\U0001F1E9\U0001F1EA DE 80"
server: hkbgp.pindan.ml
port: 10000
type: trojan
password: 14f0ef2c-1dfc-4e6c-ae30-0179217525f8
sni: pindan.ml
- name: "\U0001F1E9\U0001F1EA DE 81"
server: hkbgp.pindan.ml
port: 10002
type: trojan
password: 14f0ef2c-1dfc-4e6c-ae30-0179217525f8
sni: pindan.ml
- name: "\U0001F1E9\U0001F1EA DE 82"
server: hkbgp.pindan.ml
port: 10006
type: trojan
password: 14f0ef2c-1dfc-4e6c-ae30-0179217525f8
sni: pindan.ml
- name: "\U0001F1EF\U0001F1F5 JP 83"
server: az.az-bgp.chuangshi999.xyz
type: trojan
country: "\U0001F1EF\U0001F1F5 JP"
port: 33346
password: eae49aca-72e6-4465-a863-f5ab350997ef
skip-cert-verify: true
udp: true
- name: "\U0001F1E8\U0001F1F3 TW 84"
server: tw2.chunyua.online
port: 14725
type: trojan
password: 7323b7f1-dcb5-499d-b6ae-f51a638ba826
sni: tw2.chunyua.online
- name: "\U0001F1E8\U0001F1F3 CN 85"
server: 120.233.187.199
port: 20001
type: trojan
password: 46d4e24d-e653-3d67-b773-54f43d1e89e7
sni: node.franxx.codes
- name: "\U0001F1E8\U0001F1F3 CN 86"
server: 120.233.187.199
port: 20004
type: trojan
password: 46d4e24d-e653-3d67-b773-54f43d1e89e7
sni: node.franxx.codes
- name: "\U0001F1E8\U0001F1F3 CN 87"
server: 202.81.231.38.ipssh.net
port: 23456
type: trojan
password: 46d4e24d-e653-3d67-b773-54f43d1e89e7
sni: sg2.kanikig.xyz
- name: "\U0001F1E8\U0001F1F3 CN 88"
server: gzyd2.52147.top
type: trojan
port: 20120
password: 841b229a-304f-46a2-a0fe-3b4e3e0e44f6
sni: huayun.xyz
skip-cert-verify: true
udp: true
- name: "\U0001F1E8\U0001F1F3 CN 89"
server: 116.129.253.128
port: 20010
type: trojan
password: 46d4e24d-e653-3d67-b773-54f43d1e89e7
sni: node.franxx.codes
- name: "\U0001F1E9\U0001F1EA DE 90"
server: hkbgp.pindan.ml
port: 10003
type: trojan
password: 14f0ef2c-1dfc-4e6c-ae30-0179217525f8
sni: pindan.ml
- name: "\U0001F1E9\U0001F1EA DE 91"
server: hkbgp.pindan.ml
port: 10001
type: trojan
password: 14f0ef2c-1dfc-4e6c-ae30-0179217525f8
sni: pindan.ml
- name: "\U0001F1E8\U0001F1F3 CN 92"
server: 120.233.187.199
port: 20014
type: trojan
password: 46d4e24d-e653-3d67-b773-54f43d1e89e7
sni: node.franxx.codes
- name: "\U0001F1E8\U0001F1F3 CN 93"
server: 116.129.253.128
port: 20006
type: trojan
password: 46d4e24d-e653-3d67-b773-54f43d1e89e7
sni: node.franxx.codes
- name: "\U0001F1E8\U0001F1F3 CN 94"
server: hnyd.52147.top
type: trojan
country: "\U0001F1E8\U0001F1F3 CN"
port: 30080
password: 52a98419-efab-4c34-b4cc-4e2a7bc37029
skip-cert-verify: true
udp: true
- name: "\U0001F1E8\U0001F1F3 CN 95"
server: 120.233.187.199
port: 20013
type: trojan
password: 46d4e24d-e653-3d67-b773-54f43d1e89e7
sni: node.franxx.codes
- name: "\U0001F1E8\U0001F1F3 CN 96"
server: 116.129.253.128
port: 20009
type: trojan
password: 46d4e24d-e653-3d67-b773-54f43d1e89e7
sni: node.franxx.codes
- name: "\U0001F1E8\U0001F1F3 CN 97"
server: 116.129.253.128
port: 20005
type: trojan
password: 46d4e24d-e653-3d67-b773-54f43d1e89e7
sni: node.franxx.codes
- name: "\U0001F1E8\U0001F1F3 CN 98"
server: 116.129.253.128
port: 20003
type: trojan
password: 46d4e24d-e653-3d67-b773-54f43d1e89e7
sni: node.franxx.codes
- name: "\U0001F1E9\U0001F1EA DE 99"
server: hkbgp.pindan.ml
port: 10004
type: trojan
password: 14f0ef2c-1dfc-4e6c-ae30-0179217525f8
sni: pindan.ml
- name: "\U0001F1FB\U0001F1F3 VN 100"
server: 103.173.255.127
port: 28000
type: trojan
password: 52a98419-efab-4c34-b4cc-4e2a7bc37029
skip-cert-verify: true
udp: true
- name: "\U0001F1E8\U0001F1F3 CN 101"
server: gzyd1.52147.top
port: 30170
type: trojan
password: 52a98419-efab-4c34-b4cc-4e2a7bc37029
sni: gzyd1.52147.top
skip-cert-verify: true
udp: true
- name: "\U0001F1E8\U0001F1F3 CN 102"
server: 116.129.253.128
port: 20007
type: trojan
password: 46d4e24d-e653-3d67-b773-54f43d1e89e7
sni: node.franxx.codes
- name: "\U0001F1E9\U0001F1EA DE 103"
server: hkbgp.pindan.ml
port: 10005
type: trojan
password: 14f0ef2c-1dfc-4e6c-ae30-0179217525f8
sni: pindan.ml
- name: "\U0001F1E8\U0001F1F3 CN 104"
server: gzyd2.52147.top
port: 20110
type: trojan
password: 841b229a-304f-46a2-a0fe-3b4e3e0e44f6
sni: huayun.xyz
skip-cert-verify: true
proxy-groups:
- name: automatic
type: url-test
proxies:
- "\U0001F1FA\U0001F1F8 US 1"
- "\U0001F1EC\U0001F1E7 GB 2"
- "\U0001F1EC\U0001F1E7 GB 3"
- "\U0001F1E8\U0001F1FF CZ 4"
- "\U0001F1E8\U0001F1FF CZ 5"
- "\U0001F1E8\U0001F1FF CZ 6"
- "\U0001F1E8\U0001F1FF CZ 7"
- "\U0001F1E8\U0001F1FF CZ 8"
- "\U0001F1E8\U0001F1FF CZ 9"
- "\U0001F1FA\U0001F1F8 US 10"
- "\U0001F1FA\U0001F1F8 US 11"
- "\U0001F1FA\U0001F1F8 US 12"
- "\U0001F1FA\U0001F1F8 US 13"
- "\U0001F1FA\U0001F1F8 US 14"
- "\U0001F1FA\U0001F1F8 US 15"
- "\U0001F1FA\U0001F1F8 US 16"
- "\U0001F1FA\U0001F1F8 US 17"
- "\U0001F1FA\U0001F1F8 US 18"
- "\U0001F1FA\U0001F1F8 US 19"
- "\U0001F1EF\U0001F1F5 JP 20"
- "\U0001F1FA\U0001F1F8 US 21"
- "\U0001F1FA\U0001F1F8 US 22"
- "\U0001F1E8\U0001F1F3 TW 23"
- "\U0001F1E8\U0001F1F3 TW 24"
- "\U0001F1FA\U0001F1F8 US 25"
- "\U0001F1E8\U0001F1F3 TW 26"
- "\U0001F1E8\U0001F1F3 TW 27"
- "\U0001F1F8\U0001F1EC SG 28"
- "\U0001F1E8\U0001F1F3 TW 29"
- "\U0001F1E8\U0001F1F3 TW 30"
- "\U0001F1E8\U0001F1F3 TW 31"
- "\U0001F1E8\U0001F1F3 TW 32"
- "\U0001F1EF\U0001F1F5 JP 33"
- "\U0001F1F8\U0001F1EC SG 34"
- "\U0001F1FA\U0001F1F8 US 35"
- "\U0001F1FA\U0001F1F8 US 36"
- "\U0001F1E8\U0001F1F3 HK 37"
- "\U0001F1EF\U0001F1F5 JP 38"
- "\U0001F1E6\U0001F1FA AU 39"
- "\U0001F1E8\U0001F1F3 HK 40"
- "\U0001F1E8\U0001F1F3 HK 41"
- "\U0001F1FA\U0001F1F8 US 42"
- "\U0001F1F8\U0001F1EC SG 43"
- "\U0001F1EF\U0001F1F5 JP 44"
- "\U0001F1F8\U0001F1EC SG 45"
- "\U0001F1F8\U0001F1EC SG 46"
- "\U0001F1E8\U0001F1F3 CN 47"
- "\U0001F1FA\U0001F1F8 US 48"
- "\U0001F1F0\U0001F1F7 KR 49"
- "\U0001F1E8\U0001F1FF CZ 50"
- "\U0001F1F0\U0001F1F7 KR 51"
- "\U0001F1F8\U0001F1EC SG 52"
- "\U0001F1EF\U0001F1F5 JP 53"
- "\U0001F1E8\U0001F1F3 CN 54"
- "\U0001F1E8\U0001F1F3 CN 55"
- "\U0001F1E8\U0001F1F3 CN 56"
- "\U0001F1E8\U0001F1F3 HK 57"
- "\U0001F1E8\U0001F1F3 CN 58"
- "\U0001F1E8\U0001F1F3 CN 59"
- "\U0001F1EE\U0001F1F3 IN 60"
- "\U0001F1F8\U0001F1EC SG 61"
- "\U0001F1E8\U0001F1F3 CN 62"
- "\U0001F1E8\U0001F1F3 CN 63"
- "\U0001F1EF\U0001F1F5 JP 64"
- "\U0001F1EE\U0001F1F3 IN 65"
- "\U0001F1E8\U0001F1F3 CN 66"
- "\U0001F1E6\U0001F1FA AU 67"
- "\U0001F1E6\U0001F1FA AU 68"
- "\U0001F1EC\U0001F1E7 GB 69"
- "\U0001F1FA\U0001F1F8 US 70"
- "\U0001F1EF\U0001F1F5 JP 71"
- "\U0001F1FA\U0001F1F8 US 72"
- "\U0001F1FA\U0001F1F8 US 73"
- "\U0001F1EF\U0001F1F5 JP 74"
- "\U0001F1E8\U0001F1F3 TW 75"
- "\U0001F1E8\U0001F1F3 CN 76"
- "\U0001F1F7\U0001F1FA RU 77"
- "\U0001F1EF\U0001F1F5 JP 78"
- "\U0001F1E8\U0001F1FF CZ 79"
- "\U0001F1E9\U0001F1EA DE 80"
- "\U0001F1E9\U0001F1EA DE 81"
- "\U0001F1E9\U0001F1EA DE 82"
- "\U0001F1EF\U0001F1F5 JP 83"
- "\U0001F1E8\U0001F1F3 TW 84"
- "\U0001F1E8\U0001F1F3 CN 85"
- "\U0001F1E8\U0001F1F3 CN 86"
- "\U0001F1E8\U0001F1F3 CN 87"
- "\U0001F1E8\U0001F1F3 CN 88"
- "\U0001F1E8\U0001F1F3 CN 89"
- "\U0001F1E9\U0001F1EA DE 90"
- "\U0001F1E9\U0001F1EA DE 91"
- "\U0001F1E8\U0001F1F3 CN 92"
- "\U0001F1E8\U0001F1F3 CN 93"
- "\U0001F1E8\U0001F1F3 CN 94"
- "\U0001F1E8\U0001F1F3 CN 95"
- "\U0001F1E8\U0001F1F3 CN 96"
- "\U0001F1E8\U0001F1F3 CN 97"
- "\U0001F1E8\U0001F1F3 CN 98"
- "\U0001F1E9\U0001F1EA DE 99"
- "\U0001F1FB\U0001F1F3 VN 100"
- "\U0001F1E8\U0001F1F3 CN 101"
- "\U0001F1E8\U0001F1F3 CN 102"
- "\U0001F1E9\U0001F1EA DE 103"
- "\U0001F1E8\U0001F1F3 CN 104"
url: https://www.google.com/favicon.ico
interval: 300
- name: "\U0001F310 Proxy"
type: select
proxies:
- automatic
- "\U0001F1FA\U0001F1F8 US 1"
- "\U0001F1EC\U0001F1E7 GB 2"
- "\U0001F1EC\U0001F1E7 GB 3"
- "\U0001F1E8\U0001F1FF CZ 4"
- "\U0001F1E8\U0001F1FF CZ 5"
- "\U0001F1E8\U0001F1FF CZ 6"
- "\U0001F1E8\U0001F1FF CZ 7"
- "\U0001F1E8\U0001F1FF CZ 8"
- "\U0001F1E8\U0001F1FF CZ 9"
- "\U0001F1FA\U0001F1F8 US 10"
- "\U0001F1FA\U0001F1F8 US 11"
- "\U0001F1FA\U0001F1F8 US 12"
- "\U0001F1FA\U0001F1F8 US 13"
- "\U0001F1FA\U0001F1F8 US 14"
- "\U0001F1FA\U0001F1F8 US 15"
- "\U0001F1FA\U0001F1F8 US 16"
- "\U0001F1FA\U0001F1F8 US 17"
- "\U0001F1FA\U0001F1F8 US 18"
- "\U0001F1FA\U0001F1F8 US 19"
- "\U0001F1EF\U0001F1F5 JP 20"
- "\U0001F1FA\U0001F1F8 US 21"
- "\U0001F1FA\U0001F1F8 US 22"
- "\U0001F1E8\U0001F1F3 TW 23"
- "\U0001F1E8\U0001F1F3 TW 24"
- "\U0001F1FA\U0001F1F8 US 25"
- "\U0001F1E8\U0001F1F3 TW 26"
- "\U0001F1E8\U0001F1F3 TW 27"
- "\U0001F1F8\U0001F1EC SG 28"
- "\U0001F1E8\U0001F1F3 TW 29"
- "\U0001F1E8\U0001F1F3 TW 30"
- "\U0001F1E8\U0001F1F3 TW 31"
- "\U0001F1E8\U0001F1F3 TW 32"
- "\U0001F1EF\U0001F1F5 JP 33"
- "\U0001F1F8\U0001F1EC SG 34"
- "\U0001F1FA\U0001F1F8 US 35"
- "\U0001F1FA\U0001F1F8 US 36"
- "\U0001F1E8\U0001F1F3 HK 37"
- "\U0001F1EF\U0001F1F5 JP 38"
- "\U0001F1E6\U0001F1FA AU 39"
- "\U0001F1E8\U0001F1F3 HK 40"
- "\U0001F1E8\U0001F1F3 HK 41"
- "\U0001F1FA\U0001F1F8 US 42"
- "\U0001F1F8\U0001F1EC SG 43"
- "\U0001F1EF\U0001F1F5 JP 44"
- "\U0001F1F8\U0001F1EC SG 45"
- "\U0001F1F8\U0001F1EC SG 46"
- "\U0001F1E8\U0001F1F3 CN 47"
- "\U0001F1FA\U0001F1F8 US 48"
- "\U0001F1F0\U0001F1F7 KR 49"
- "\U0001F1E8\U0001F1FF CZ 50"
- "\U0001F1F0\U0001F1F7 KR 51"
- "\U0001F1F8\U0001F1EC SG 52"
- "\U0001F1EF\U0001F1F5 JP 53"
- "\U0001F1E8\U0001F1F3 CN 54"
- "\U0001F1E8\U0001F1F3 CN 55"
- "\U0001F1E8\U0001F1F3 CN 56"
- "\U0001F1E8\U0001F1F3 HK 57"
- "\U0001F1E8\U0001F1F3 CN 58"
- "\U0001F1E8\U0001F1F3 CN 59"
- "\U0001F1EE\U0001F1F3 IN 60"
- "\U0001F1F8\U0001F1EC SG 61"
- "\U0001F1E8\U0001F1F3 CN 62"
- "\U0001F1E8\U0001F1F3 CN 63"
- "\U0001F1EF\U0001F1F5 JP 64"
- "\U0001F1EE\U0001F1F3 IN 65"
- "\U0001F1E8\U0001F1F3 CN 66"
- "\U0001F1E6\U0001F1FA AU 67"
- "\U0001F1E6\U0001F1FA AU 68"
- "\U0001F1EC\U0001F1E7 GB 69"
- "\U0001F1FA\U0001F1F8 US 70"
- "\U0001F1EF\U0001F1F5 JP 71"
- "\U0001F1FA\U0001F1F8 US 72"
- "\U0001F1FA\U0001F1F8 US 73"
- "\U0001F1EF\U0001F1F5 JP 74"
- "\U0001F1E8\U0001F1F3 TW 75"
- "\U0001F1E8\U0001F1F3 CN 76"
- "\U0001F1F7\U0001F1FA RU 77"
- "\U0001F1EF\U0001F1F5 JP 78"
- "\U0001F1E8\U0001F1FF CZ 79"
- "\U0001F1E9\U0001F1EA DE 80"
- "\U0001F1E9\U0001F1EA DE 81"
- "\U0001F1E9\U0001F1EA DE 82"
- "\U0001F1EF\U0001F1F5 JP 83"
- "\U0001F1E8\U0001F1F3 TW 84"
- "\U0001F1E8\U0001F1F3 CN 85"
- "\U0001F1E8\U0001F1F3 CN 86"
- "\U0001F1E8\U0001F1F3 CN 87"
- "\U0001F1E8\U0001F1F3 CN 88"
- "\U0001F1E8\U0001F1F3 CN 89"
- "\U0001F1E9\U0001F1EA DE 90"
- "\U0001F1E9\U0001F1EA DE 91"
- "\U0001F1E8\U0001F1F3 CN 92"
- "\U0001F1E8\U0001F1F3 CN 93"
- "\U0001F1E8\U0001F1F3 CN 94"
- "\U0001F1E8\U0001F1F3 CN 95"
- "\U0001F1E8\U0001F1F3 CN 96"
- "\U0001F1E8\U0001F1F3 CN 97"
- "\U0001F1E8\U0001F1F3 CN 98"
- "\U0001F1E9\U0001F1EA DE 99"
- "\U0001F1FB\U0001F1F3 VN 100"
- "\U0001F1E8\U0001F1F3 CN 101"
- "\U0001F1E8\U0001F1F3 CN 102"
- "\U0001F1E9\U0001F1EA DE 103"
- "\U0001F1E8\U0001F1F3 CN 104"
rules:
- "MATCH,\U0001F310 Proxy"
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
+239
View File
@@ -0,0 +1,239 @@
import yaml
import socket
import maxminddb
import platform
import os
import requests
import flag
from tqdm import tqdm
from pathlib import Path
def push(list, outfile):
country_count = {}
count = 1
clash = {'proxies': [], 'proxy-groups': [
{'name': 'automatic', 'type': 'url-test', 'proxies': [], 'url': 'https://www.google.com/favicon.ico',
'interval': 300}, {'name': '🌐 Proxy', 'type': 'select', 'proxies': ['automatic']}],
'rules': ['MATCH,🌐 Proxy']}
with maxminddb.open_database('Country.mmdb') as countrify:
for i in tqdm(range(int(len(list))), desc="Parse"):
x = list[i]
try:
float(x['password'])
except:
try:
float(x['uuid'])
except:
try:
ip = str(socket.gethostbyname(x["server"]))
except:
ip = str(x["server"])
try:
country = str(countrify.get(ip)['country']['iso_code'])
except:
country = 'UN'
if country == 'TW' or country == 'MO' or country == 'HK':
flagcountry = 'CN'
else:
flagcountry = country
try:
country_count[country] = country_count[country] + 1
x['name'] = str(flag.flag(flagcountry)) + " " + country + " " + str(count)
except:
country_count[country] = 1
x['name'] = str(flag.flag(flagcountry)) + " " + country + " " + str(count)
clash['proxies'].append(x)
clash['proxy-groups'][0]['proxies'].append(x['name'])
clash['proxy-groups'][1]['proxies'].append(x['name'])
count = count + 1
# except:
# print(list[i])
# pass
with open(outfile, 'w') as writer:
yaml.dump(clash, writer, sort_keys=False)
def checkenv():
home = str(Path.home())
mmdbfl = home + '/.config/clash/Country.mmdb'
operating_system = str(platform.platform())
if operating_system.startswith('macOS'):
if 'arm64' in operating_system:
clashname='./clash-darwinarm64'
else:
clashname='./clash-darwinamd64'
elif operating_system.startswith('Linux'):
clashname='./clash-linuxamd64'
elif operating_system.startswith('Windows'):
clashname='clash-windowsamd64.exe'
else:
print('Unsupported Platform')
exit(1)
print('Running on '+ operating_system)
return clashname, operating_system
def filter(config):
list = config["proxies"]
# print(list)
ss_supported_ciphers = ['aes-128-gcm', 'aes-192-gcm', 'aes-256-gcm',
'aes-128-cfb', 'aes-192-cfb', 'aes-256-cfb', 'aes-128-ctr', 'aes-192-ctr', 'aes-256-ctr',
'rc4-md5', 'chacha20-ietf', 'xchacha20', 'chacha20-ietf-poly1305',
'xchacha20-ietf-poly1305']
ssr_supported_obfs = ['plain', 'http_simple', 'http_post', 'random_head', 'tls1.2_ticket_auth',
'tls1.2_ticket_fastauth']
ssr_supported_protocol = ['origin', 'auth_sha1_v4', 'auth_aes128_md5', 'auth_aes128_sha1', 'auth_chain_a',
'auth_chain_b']
vmess_supported_ciphers = ['auto', 'aes-128-gcm', 'chacha20-poly1305', 'none']
iplist = {}
passlist = []
count = 1
clash = {'proxies': [], 'proxy-groups': [
{'name': 'automatic', 'type': 'url-test', 'proxies': [], 'url': 'https://www.google.com/favicon.ico',
'interval': 300}, {'name': '🌐 Proxy', 'type': 'select', 'proxies': ['automatic']}],
'rules': ['MATCH,🌐 Proxy']}
with maxminddb.open_database('Country.mmdb') as countrify:
for i in tqdm(range(int(len(list))), desc="Parse"):
try:
x = list[i]
authentication = ''
x['port'] = int(x['port'])
try:
ip = str(socket.gethostbyname(x["server"]))
except:
ip = x['server']
try:
country = str(countrify.get(ip)['country']['iso_code'])
except:
country = 'UN'
if x['type'] == 'ss':
try:
if x['cipher'] not in ss_supported_ciphers:
ss_omit_cipher_unsupported = ss_omit_cipher_unsupported + 1
continue
if country != 'CN':
if ip in iplist:
ss_omit_ip_dupe = ss_omit_ip_dupe + 1
continue
else:
iplist[ip] = []
iplist[ip].append(x['port'])
x['name'] = str(flag.flag(country)) + ' ' + str(country) + ' ' + str(count) + ' ' + 'SSS'
authentication = 'password'
except:
continue
elif x['type'] == 'ssr':
try:
if x['cipher'] not in ss_supported_ciphers:
continue
if x['obfs'] not in ssr_supported_obfs:
continue
if x['protocol'] not in ssr_supported_protocol:
continue
if country != 'CN':
if ip in iplist:
continue
else:
iplist.append(ip)
iplist[ip].append(x['port'])
authentication = 'password'
x['name'] = str(flag.flag(country)) + ' ' + str(country) + ' ' + str(count) + ' ' + 'SSR'
except:
continue
elif x['type'] == 'vmess':
try:
if 'udp' in x:
if x['udp'] not in [False, True]:
continue
if 'tls' in x:
if x['tls'] not in [False, True]:
continue
if 'skip-cert-verify' in x:
if x['skip-cert-verify'] not in [False, True]:
continue
if x['cipher'] not in vmess_supported_ciphers:
continue
x['name'] = str(flag.flag(country)) + ' ' + str(country) + ' ' + str(count) + ' ' + 'VMS'
authentication = 'uuid'
except:
continue
elif x['type'] == 'trojan':
try:
if 'udp' in x:
if x['udp'] not in [False, True]:
continue
if 'skip-cert-verify' in x:
if x['skip-cert-verify'] not in [False, True]:
continue
x['name'] = str(flag.flag(country)) + ' ' + str(country) + ' ' + str(count) + ' ' + 'TJN'
authentication = 'password'
except:
continue
elif x['type'] == 'snell':
try:
if 'udp' in x:
if x['udp'] not in [False, True]:
continue
if 'skip-cert-verify' in x:
if x['skip-cert-verify'] not in [False, True]:
continue
x['name'] = str(flag.flag(country)) + ' ' + str(country) + ' ' + str(count) + ' ' + 'SNL'
authentication = 'psk'
except:
continue
elif x['type'] == 'http':
try:
if 'tls' in x:
if x['tls'] not in [False, True]:
continue
x['name'] = str(flag.flag(country)) + ' ' + str(country) + ' ' + str(count) + ' ' + 'HTT'
# authentication = 'userpass'
except:
continue
elif x['type'] == 'socks5':
try:
if 'tls' in x:
if x['tls'] not in [False, True]:
continue
if 'udp' in x:
if x['udp'] not in [False, True]:
continue
if 'skip-cert-verify' in x:
if x['skip-cert-verify'] not in [False, True]:
continue
x['name'] = str(flag.flag(country)) + ' ' + str(country) + ' ' + str(count) + ' ' + 'SK5'
# authentication = 'userpass'
except:
continue
else:
print(x)
print('unsupported')
continue
if ip in iplist and x['port'] in iplist[ip]:
if country != 'CN':
continue
else:
if x[authentication] in passlist:
continue
else:
passlist.append(x[authentication])
pass
else:
try:
iplist[ip].append(x['port'])
except:
iplist[ip] = []
iplist[ip].append(x['port'])
clash['proxies'].append(x)
clash['proxy-groups'][0]['proxies'].append(x['name'])
clash['proxy-groups'][1]['proxies'].append(x['name'])
count = count + 1
except:
print('shitwentwrong' + str(x))
continue
return clash
+7
View File
@@ -0,0 +1,7 @@
http-port: 23940 #port to run http proxy on
api-port: 23941 #api port
threads: 100 #线程数,指一次扫描多少个节点
source: input.yaml #你的输入文件名, 注意必须是clash配置文件格式, 此处是input.yaml
outfile: check.yaml #你的输出文件名, 注意输出文件也是clash配置文件格式, 此处是check.yaml
test-url: https://www.google.com/generate_204 #延迟测试地址, 可以更改
timeout: 3000 #测试的超时界限, timeout in miliseconds
+48
View File
@@ -0,0 +1,48 @@
import os
import yaml
import requests
import shutil
from clash import filter
from yaml import SafeLoader
def init():
if not os.path.exists('./temp'):
os.mkdir('temp')
# read from config file
with open('config.yaml', 'r') as reader:
config = yaml.load(reader, Loader=SafeLoader)
http_port = config['http-port']
api_port = config['api-port']
threads = config['threads']
source = str(config['source'])
timeout = config['timeout']
testurl = config['test-url']
outfile = config['outfile']
# get clash config file
if source.startswith('https://'):
proxyconfig = yaml.load(requests.get(source).text, Loader=SafeLoader)
else:
with open(source, 'r') as reader:
proxyconfig = yaml.load(reader, Loader=SafeLoader)
# set clash api url
baseurl = '127.0.0.1:' + str(api_port)
apiurl = 'http://'+baseurl
# filter config files
proxyconfig = filter(proxyconfig)
config = {'port': http_port, 'external-controller': baseurl, 'mode': 'global',
'log-level': 'silent', 'proxies': proxyconfig['proxies']}
with open('./temp/working.yaml', 'w') as file:
file = yaml.dump(config, file)
# return all variables
return http_port, api_port, threads, source, timeout, outfile, proxyconfig, apiurl, testurl, config
def cleanup(clash):
shutil.rmtree('./temp')
clash.terminate()
exit(0)
File diff suppressed because it is too large. Load diff
+30
View File
@@ -0,0 +1,30 @@
import time
from multiprocessing import Process, Manager, Semaphore
from clash import push, checkenv, filter
from check import check
from tqdm import tqdm
from init import init, cleanup
import subprocess
if __name__ == '__main__':
with Manager() as manager:
alive = manager.list()
http_port, api_port, threads, source, timeout, outfile, proxyconfig, apiurl, testurl, config= init()
clashname, operating_system = checkenv()
print('Running on '+ operating_system)
clash = subprocess.Popen([clashname, '-f', './temp/working.yaml'])
processes =[]
sema = Semaphore(threads)
time.sleep(5)
for i in tqdm(range(int(len(config['proxies']))), desc="Testing"):
sema.acquire()
p = Process(target=check, args=(alive,config['proxies'][i],apiurl,sema,timeout,testurl))
p.start()
processes.append(p)
for p in processes:
p.join
time.sleep(5)
alive=list(alive)
push(alive,outfile)
cleanup(clash)
+6
View File
@@ -0,0 +1,6 @@
PyYAML~=6.0
requests~=2.27.1
geoip2==4.4.0
maxminddb~=2.2.0
emoji-country-flag~=1.3.0
tqdm~=4.64.0