mirror of
https://github.com/caiwx86/small-packages.git
synced 2026-11-14 04:07:56 +08:00
update 2026-11-10 10:29:35
This commit is contained in:
1 parent
2051699b9a
commit
66fc697995
44 files changed
+197
-1801
No files matched your search
@@ -87,24 +87,7 @@ set clashoo_china6 {
|
||||
2400:3cc0::/32,
|
||||
2400:3e00::/32,
|
||||
2400:3f40::/32,
|
||||
2400:3f60::/46,
|
||||
2400:3f60:5::/48,
|
||||
2400:3f60:6::/47,
|
||||
2400:3f60:8::/45,
|
||||
2400:3f60:13::/48,
|
||||
2400:3f60:14::/46,
|
||||
2400:3f60:18::/45,
|
||||
2400:3f60:20::/43,
|
||||
2400:3f60:40::/42,
|
||||
2400:3f60:80::/41,
|
||||
2400:3f60:100::/40,
|
||||
2400:3f60:200::/39,
|
||||
2400:3f60:400::/38,
|
||||
2400:3f60:800::/37,
|
||||
2400:3f60:1000::/36,
|
||||
2400:3f60:2000::/35,
|
||||
2400:3f60:4000::/34,
|
||||
2400:3f60:8000::/33,
|
||||
2400:3f60::/32,
|
||||
2400:3fc0::/32,
|
||||
2400:4440::/32,
|
||||
2400:44c0::/32,
|
||||
@@ -588,7 +571,6 @@ set clashoo_china6 {
|
||||
2401:8680:4020::/43,
|
||||
2401:8680:4040::/42,
|
||||
2401:8680:4080::/41,
|
||||
2401:8680:4100::/48,
|
||||
2401:8680:4103::/48,
|
||||
2401:8680:4104::/46,
|
||||
2401:8680:4108::/45,
|
||||
@@ -962,6 +944,7 @@ set clashoo_china6 {
|
||||
2402:7da0::/32,
|
||||
2402:7e20::/32,
|
||||
2402:7ee0::/32,
|
||||
2402:8160::/32,
|
||||
2402:8180::/32,
|
||||
2402:8300::/32,
|
||||
2402:8380::/32,
|
||||
@@ -1259,7 +1242,7 @@ set clashoo_china6 {
|
||||
2403:6380::/44,
|
||||
2403:6380:20::/44,
|
||||
2403:6380:33::/48,
|
||||
2403:6380:34::/46,
|
||||
2403:6380:36::/47,
|
||||
2403:6380:38::/45,
|
||||
2403:6380:41::/48,
|
||||
2403:6380:44::/46,
|
||||
@@ -1491,9 +1474,6 @@ set clashoo_china6 {
|
||||
2404:1e80::/32,
|
||||
2404:1f40::/32,
|
||||
2404:21c0::/32,
|
||||
2404:2280:1000::/36,
|
||||
2404:2280:2000::/35,
|
||||
2404:2280:4000::/36,
|
||||
2404:30c0::/32,
|
||||
2404:3140::/32,
|
||||
2404:31c0::/32,
|
||||
@@ -1603,6 +1583,7 @@ set clashoo_china6 {
|
||||
2405:480::/32,
|
||||
2405:580::/32,
|
||||
2405:680::/32,
|
||||
2405:6c0:1::/48,
|
||||
2405:6c0:2::/47,
|
||||
2405:6c0:4::/46,
|
||||
2405:6c0:8::/45,
|
||||
@@ -2068,8 +2049,8 @@ set clashoo_china6 {
|
||||
2406:840:a40::/42,
|
||||
2406:840:a80::/41,
|
||||
2406:840:b00::/40,
|
||||
2406:840:c00::/47,
|
||||
2406:840:c03::/48,
|
||||
2406:840:c00::/48,
|
||||
2406:840:c02::/47,
|
||||
2406:840:c04::/46,
|
||||
2406:840:c08::/45,
|
||||
2406:840:c10::/44,
|
||||
@@ -2226,10 +2207,7 @@ set clashoo_china6 {
|
||||
2406:840:5d00::/40,
|
||||
2406:840:5e00::/39,
|
||||
2406:840:6000::/35,
|
||||
2406:840:8000::/40,
|
||||
2406:840:8200::/39,
|
||||
2406:840:8400::/38,
|
||||
2406:840:8800::/37,
|
||||
2406:840:8000::/36,
|
||||
2406:840:9010::/44,
|
||||
2406:840:9020::/43,
|
||||
2406:840:9040::/42,
|
||||
@@ -2284,10 +2262,7 @@ set clashoo_china6 {
|
||||
2406:840:9968::/46,
|
||||
2406:840:996d::/48,
|
||||
2406:840:996e::/47,
|
||||
2406:840:9970::/46,
|
||||
2406:840:9974::/47,
|
||||
2406:840:9976::/48,
|
||||
2406:840:9978::/45,
|
||||
2406:840:9970::/44,
|
||||
2406:840:9981::/48,
|
||||
2406:840:9982::/47,
|
||||
2406:840:9984::/46,
|
||||
@@ -2319,9 +2294,7 @@ set clashoo_china6 {
|
||||
2406:840:e0d0::/44,
|
||||
2406:840:e0e4::/48,
|
||||
2406:840:e0e6::/47,
|
||||
2406:840:e0e9::/48,
|
||||
2406:840:e0ea::/47,
|
||||
2406:840:e0ec::/46,
|
||||
2406:840:e0e8::/45,
|
||||
2406:840:e0f0::/44,
|
||||
2406:840:e100::/45,
|
||||
2406:840:e108::/46,
|
||||
@@ -2342,9 +2315,7 @@ set clashoo_china6 {
|
||||
2406:840:e220::/43,
|
||||
2406:840:e240::/43,
|
||||
2406:840:e260::/44,
|
||||
2406:840:e271::/48,
|
||||
2406:840:e272::/47,
|
||||
2406:840:e274::/46,
|
||||
2406:840:e270::/45,
|
||||
2406:840:e278::/46,
|
||||
2406:840:e27c::/47,
|
||||
2406:840:e27e::/48,
|
||||
@@ -2408,7 +2379,7 @@ set clashoo_china6 {
|
||||
2406:840:ea00::/40,
|
||||
2406:840:eb06::/48,
|
||||
2406:840:eb09::/48,
|
||||
2406:840:eb0a::/47,
|
||||
2406:840:eb0a::/48,
|
||||
2406:840:eb0c::/47,
|
||||
2406:840:eb0e::/48,
|
||||
2406:840:eb10::/44,
|
||||
@@ -2656,7 +2627,10 @@ set clashoo_china6 {
|
||||
2406:840:fee8::/46,
|
||||
2406:840:feec::/48,
|
||||
2406:840:feee::/47,
|
||||
2406:840:ff00::/40,
|
||||
2406:840:feff::/48,
|
||||
2406:840:ff20::/43,
|
||||
2406:840:ff40::/42,
|
||||
2406:840:ff80::/41,
|
||||
2406:880::/32,
|
||||
2406:8c0::/32,
|
||||
2406:d80::/32,
|
||||
@@ -3064,7 +3038,26 @@ set clashoo_china6 {
|
||||
2407:fb80::/32,
|
||||
2407:fc80::/32,
|
||||
2407:fd80::/32,
|
||||
2408:4000::/28,
|
||||
2408:4000::/40,
|
||||
2408:4000:100::/47,
|
||||
2408:4000:103::/48,
|
||||
2408:4000:104::/46,
|
||||
2408:4000:108::/45,
|
||||
2408:4000:110::/44,
|
||||
2408:4000:120::/43,
|
||||
2408:4000:140::/42,
|
||||
2408:4000:180::/41,
|
||||
2408:4000:200::/39,
|
||||
2408:4000:400::/38,
|
||||
2408:4000:800::/37,
|
||||
2408:4000:1000::/36,
|
||||
2408:4000:2000::/35,
|
||||
2408:4000:4000::/34,
|
||||
2408:4000:8000::/33,
|
||||
2408:4001::/32,
|
||||
2408:4002::/31,
|
||||
2408:4004::/30,
|
||||
2408:4008::/29,
|
||||
2408:4010::/30,
|
||||
2408:4014::/31,
|
||||
2408:4016:1::/48,
|
||||
@@ -3130,40 +3123,6 @@ set clashoo_china6 {
|
||||
240a:a000::/20,
|
||||
240a:c000::/20,
|
||||
240b:2000::/22,
|
||||
240b:4000::/31,
|
||||
240b:4002::/36,
|
||||
240b:4002:1000::/44,
|
||||
240b:4002:1011::/48,
|
||||
240b:4002:1012::/47,
|
||||
240b:4002:1014::/46,
|
||||
240b:4002:1018::/45,
|
||||
240b:4002:1020::/43,
|
||||
240b:4002:1040::/42,
|
||||
240b:4002:1080::/41,
|
||||
240b:4002:1100::/40,
|
||||
240b:4002:1200::/39,
|
||||
240b:4002:1400::/38,
|
||||
240b:4002:1800::/37,
|
||||
240b:4002:2000::/35,
|
||||
240b:4002:4000::/34,
|
||||
240b:4002:8000::/33,
|
||||
240b:4004::/31,
|
||||
240b:4006::/48,
|
||||
240b:4006:1000::/43,
|
||||
240b:4006:1020::/44,
|
||||
240b:4006:1100::/44,
|
||||
240b:4006:1110::/45,
|
||||
240b:4006:1118::/46,
|
||||
240b:4007::/32,
|
||||
240b:4009::/32,
|
||||
240b:400b::/32,
|
||||
240b:400c::/30,
|
||||
240b:4010:fffe::/47,
|
||||
240b:4011::/32,
|
||||
240b:4012::/31,
|
||||
240b:4014::/30,
|
||||
240b:4018::/30,
|
||||
240b:401f::/32,
|
||||
240b:6000::/20,
|
||||
240b:8000::/21,
|
||||
240b:a000::/25,
|
||||
@@ -3320,6 +3279,7 @@ set clashoo_china6 {
|
||||
2a04:f580:9280::/48,
|
||||
2a04:f580:9290::/48,
|
||||
2a05:1085::/32,
|
||||
2a06:9801:20::/48,
|
||||
2a0a:2840::/29,
|
||||
2a0a:d680::/37,
|
||||
2a0a:d680:800::/39,
|
||||
@@ -3361,7 +3321,6 @@ set clashoo_china6 {
|
||||
2a0a:d682::/33,
|
||||
2a0a:d682:8000::/34,
|
||||
2a0a:d682:c000::/36,
|
||||
2a0a:d683::/32,
|
||||
2a0a:d684::/32,
|
||||
2a0a:d685::/40,
|
||||
2a0a:d685:100::/41,
|
||||
@@ -3377,7 +3336,6 @@ set clashoo_china6 {
|
||||
2a0a:d685:1f0::/45,
|
||||
2a0a:d685:1f8::/47,
|
||||
2a0a:d685:1fa::/48,
|
||||
2a0a:d685:200::/48,
|
||||
2a0a:d685:202::/47,
|
||||
2a0a:d685:204::/46,
|
||||
2a0a:d685:208::/45,
|
||||
@@ -3386,7 +3344,10 @@ set clashoo_china6 {
|
||||
2a0a:d685:240::/42,
|
||||
2a0a:d685:280::/41,
|
||||
2a0a:d685:400::/40,
|
||||
2a0a:d685:500::/45,
|
||||
2a0a:d685:500::/48,
|
||||
2a0a:d685:502::/47,
|
||||
2a0a:d685:504::/48,
|
||||
2a0a:d685:506::/47,
|
||||
2a0a:d685:508::/48,
|
||||
2a0a:d685:50a::/47,
|
||||
2a0a:d685:50c::/46,
|
||||
|
||||
@@ -64,7 +64,6 @@ set clashoo_china {
|
||||
5.10.138.0/23,
|
||||
5.10.140.0/24,
|
||||
5.10.143.0/24,
|
||||
5.181.224.0/23,
|
||||
8.128.4.0/22,
|
||||
8.128.32.0/19,
|
||||
8.128.64.0/19,
|
||||
@@ -89,95 +88,14 @@ set clashoo_china {
|
||||
8.162.0.0/17,
|
||||
8.163.0.0/16,
|
||||
8.164.0.0/14,
|
||||
8.168.0.0/15,
|
||||
8.168.0.0/14,
|
||||
8.176.0.0/17,
|
||||
8.176.128.0/19,
|
||||
8.208.0.0/17,
|
||||
8.208.128.0/21,
|
||||
8.208.140.0/22,
|
||||
8.208.144.0/20,
|
||||
8.208.160.0/19,
|
||||
8.208.192.0/18,
|
||||
8.209.0.0/19,
|
||||
8.209.36.0/22,
|
||||
8.209.40.0/21,
|
||||
8.209.48.0/20,
|
||||
8.209.64.0/18,
|
||||
8.209.128.0/18,
|
||||
8.209.192.0/24,
|
||||
8.209.194.0/23,
|
||||
8.209.196.0/22,
|
||||
8.209.200.0/21,
|
||||
8.209.208.0/20,
|
||||
8.209.224.0/19,
|
||||
8.210.0.0/16,
|
||||
8.211.0.0/17,
|
||||
8.211.128.0/18,
|
||||
8.211.192.0/19,
|
||||
8.211.224.0/22,
|
||||
8.211.232.0/21,
|
||||
8.211.240.0/20,
|
||||
8.212.0.0/18,
|
||||
8.212.64.0/20,
|
||||
8.212.80.0/21,
|
||||
8.212.88.0/22,
|
||||
8.212.92.0/24,
|
||||
8.212.94.0/23,
|
||||
8.212.96.0/22,
|
||||
8.212.104.0/21,
|
||||
8.212.112.0/20,
|
||||
8.212.128.0/19,
|
||||
8.212.160.0/20,
|
||||
8.212.176.0/21,
|
||||
8.212.188.0/22,
|
||||
8.212.192.0/18,
|
||||
8.213.0.0/16,
|
||||
8.214.0.0/17,
|
||||
8.214.128.0/19,
|
||||
8.214.164.0/22,
|
||||
8.214.168.0/21,
|
||||
8.214.176.0/20,
|
||||
8.214.192.0/18,
|
||||
8.215.0.0/17,
|
||||
8.215.128.0/19,
|
||||
8.215.160.0/22,
|
||||
8.215.168.0/21,
|
||||
8.215.176.0/20,
|
||||
8.215.192.0/18,
|
||||
8.216.0.0/18,
|
||||
8.216.64.0/21,
|
||||
8.216.72.0/22,
|
||||
8.216.80.0/20,
|
||||
8.216.96.0/19,
|
||||
8.216.128.0/17,
|
||||
8.217.0.0/16,
|
||||
8.218.0.0/15,
|
||||
8.220.0.0/18,
|
||||
8.220.64.0/19,
|
||||
8.220.96.0/20,
|
||||
8.220.112.0/21,
|
||||
8.220.120.0/22,
|
||||
8.220.128.0/19,
|
||||
8.220.160.0/21,
|
||||
8.220.172.0/22,
|
||||
8.220.176.0/20,
|
||||
8.220.192.0/19,
|
||||
8.220.224.0/21,
|
||||
8.220.232.0/22,
|
||||
8.220.240.0/21,
|
||||
8.221.0.0/17,
|
||||
8.221.128.0/20,
|
||||
8.221.144.0/21,
|
||||
8.221.156.0/22,
|
||||
8.221.160.0/19,
|
||||
8.221.192.0/18,
|
||||
8.222.0.0/15,
|
||||
14.0.0.0/21,
|
||||
14.0.12.0/22,
|
||||
14.1.0.0/22,
|
||||
14.1.24.0/22,
|
||||
14.1.108.0/22,
|
||||
14.1.112.0/22,
|
||||
14.16.0.0/12,
|
||||
14.102.128.0/22,
|
||||
14.102.180.0/22,
|
||||
@@ -208,6 +126,7 @@ set clashoo_china {
|
||||
27.54.72.0/21,
|
||||
27.54.152.0/21,
|
||||
27.54.192.0/18,
|
||||
27.98.202.0/23,
|
||||
27.98.208.0/20,
|
||||
27.98.224.0/19,
|
||||
27.99.128.0/17,
|
||||
@@ -390,79 +309,6 @@ set clashoo_china {
|
||||
42.242.0.0/15,
|
||||
42.244.0.0/14,
|
||||
42.248.0.0/13,
|
||||
43.90.0.0/16,
|
||||
43.92.0.0/15,
|
||||
43.94.0.0/18,
|
||||
43.96.0.0/23,
|
||||
43.96.2.130/32,
|
||||
43.96.3.0/24,
|
||||
43.96.4.0/22,
|
||||
43.96.8.0/22,
|
||||
43.96.16.130/32,
|
||||
43.96.18.0/24,
|
||||
43.96.20.0/22,
|
||||
43.96.24.0/22,
|
||||
43.96.32.0/22,
|
||||
43.96.36.130/32,
|
||||
43.96.40.0/24,
|
||||
43.96.42.0/24,
|
||||
43.96.44.0/23,
|
||||
43.96.46.0/24,
|
||||
43.96.48.0/21,
|
||||
43.96.59.0/24,
|
||||
43.96.60.0/24,
|
||||
43.96.62.0/23,
|
||||
43.96.64.0/21,
|
||||
43.96.72.0/22,
|
||||
43.96.77.131/32,
|
||||
43.96.78.0/24,
|
||||
43.96.80.0/23,
|
||||
43.96.85.0/24,
|
||||
43.96.86.0/24,
|
||||
43.96.88.0/23,
|
||||
43.96.90.0/24,
|
||||
43.96.92.0/22,
|
||||
43.96.96.0/23,
|
||||
43.96.100.0/23,
|
||||
43.96.103.0/24,
|
||||
43.96.104.0/23,
|
||||
43.96.107.0/24,
|
||||
43.96.109.0/24,
|
||||
43.96.110.0/23,
|
||||
43.96.112.0/22,
|
||||
43.96.116.0/24,
|
||||
43.96.118.0/23,
|
||||
43.96.120.0/24,
|
||||
43.96.122.0/24,
|
||||
43.96.124.0/23,
|
||||
43.96.126.0/24,
|
||||
43.97.0.0/17,
|
||||
43.98.0.0/15,
|
||||
43.100.0.0/15,
|
||||
43.102.0.0/17,
|
||||
43.102.192.0/18,
|
||||
43.103.0.0/16,
|
||||
43.104.0.0/14,
|
||||
43.108.0.0/16,
|
||||
43.110.0.0/15,
|
||||
43.112.0.0/15,
|
||||
43.114.0.0/16,
|
||||
43.116.0.0/17,
|
||||
43.116.160.0/24,
|
||||
43.116.192.0/18,
|
||||
43.117.0.0/16,
|
||||
43.118.0.0/17,
|
||||
43.118.128.0/18,
|
||||
43.119.0.0/16,
|
||||
43.120.0.0/15,
|
||||
43.122.0.0/16,
|
||||
43.123.0.0/17,
|
||||
43.123.128.0/18,
|
||||
43.124.0.0/16,
|
||||
43.125.0.0/19,
|
||||
43.125.32.0/20,
|
||||
43.125.48.0/21,
|
||||
43.126.0.0/17,
|
||||
43.136.0.0/13,
|
||||
43.144.0.0/15,
|
||||
43.148.0.0/14,
|
||||
@@ -765,7 +611,9 @@ set clashoo_china {
|
||||
45.113.168.0/22,
|
||||
45.113.176.0/22,
|
||||
45.113.184.0/22,
|
||||
45.113.200.0/21,
|
||||
45.113.200.0/23,
|
||||
45.113.202.0/24,
|
||||
45.113.204.0/22,
|
||||
45.113.208.0/20,
|
||||
45.113.240.0/22,
|
||||
45.113.252.0/22,
|
||||
@@ -885,7 +733,6 @@ set clashoo_china {
|
||||
45.127.128.0/22,
|
||||
45.127.144.0/21,
|
||||
45.127.156.0/22,
|
||||
45.199.179.0/24,
|
||||
45.248.8.0/22,
|
||||
45.248.80.0/21,
|
||||
45.248.96.0/20,
|
||||
@@ -989,158 +836,8 @@ set clashoo_china {
|
||||
45.255.224.0/20,
|
||||
45.255.240.0/21,
|
||||
45.255.248.0/22,
|
||||
47.52.0.0/16,
|
||||
47.56.0.0/16,
|
||||
47.57.0.0/17,
|
||||
47.57.128.0/18,
|
||||
47.57.192.0/22,
|
||||
47.57.196.0/24,
|
||||
47.57.198.0/23,
|
||||
47.57.200.0/21,
|
||||
47.57.208.0/20,
|
||||
47.57.224.0/19,
|
||||
47.74.0.0/15,
|
||||
47.76.0.0/16,
|
||||
47.77.0.0/20,
|
||||
47.77.16.0/21,
|
||||
47.77.24.0/22,
|
||||
47.77.32.0/19,
|
||||
47.77.64.0/19,
|
||||
47.77.96.0/20,
|
||||
47.77.112.0/23,
|
||||
47.77.128.0/17,
|
||||
47.78.0.0/15,
|
||||
47.80.0.0/14,
|
||||
47.84.0.0/15,
|
||||
47.86.0.0/16,
|
||||
47.87.0.0/20,
|
||||
47.87.16.0/21,
|
||||
47.87.32.0/19,
|
||||
47.87.64.0/21,
|
||||
47.87.80.0/20,
|
||||
47.87.96.0/19,
|
||||
47.87.128.0/20,
|
||||
47.87.144.0/21,
|
||||
47.87.156.0/22,
|
||||
47.87.160.0/19,
|
||||
47.87.192.0/18,
|
||||
47.88.0.0/16,
|
||||
47.89.0.0/18,
|
||||
47.89.72.0/21,
|
||||
47.89.80.0/22,
|
||||
47.89.84.0/24,
|
||||
47.89.88.0/23,
|
||||
47.89.90.0/24,
|
||||
47.89.92.0/22,
|
||||
47.89.96.0/20,
|
||||
47.89.122.0/23,
|
||||
47.89.124.0/23,
|
||||
47.89.128.0/17,
|
||||
47.90.0.0/17,
|
||||
47.90.128.0/19,
|
||||
47.90.160.0/21,
|
||||
47.90.168.0/22,
|
||||
47.90.176.0/20,
|
||||
47.90.192.0/18,
|
||||
47.91.0.0/16,
|
||||
47.92.0.0/14,
|
||||
47.96.0.0/11,
|
||||
47.235.0.0/21,
|
||||
47.235.8.0/22,
|
||||
47.235.12.0/23,
|
||||
47.235.16.0/20,
|
||||
47.236.0.0/17,
|
||||
47.236.128.0/18,
|
||||
47.236.192.0/20,
|
||||
47.236.208.0/21,
|
||||
47.236.220.0/22,
|
||||
47.236.224.0/19,
|
||||
47.237.0.0/17,
|
||||
47.237.128.0/18,
|
||||
47.237.192.0/19,
|
||||
47.237.224.0/20,
|
||||
47.237.240.0/21,
|
||||
47.237.249.0/24,
|
||||
47.237.250.0/23,
|
||||
47.237.252.0/22,
|
||||
47.238.0.0/20,
|
||||
47.238.16.0/21,
|
||||
47.238.28.0/22,
|
||||
47.238.32.0/19,
|
||||
47.238.64.0/18,
|
||||
47.238.128.0/17,
|
||||
47.239.0.0/16,
|
||||
47.240.0.0/14,
|
||||
47.244.0.0/16,
|
||||
47.245.0.0/17,
|
||||
47.245.128.0/20,
|
||||
47.245.144.0/21,
|
||||
47.245.152.0/22,
|
||||
47.245.160.0/19,
|
||||
47.245.192.0/20,
|
||||
47.245.208.0/21,
|
||||
47.245.216.0/22,
|
||||
47.245.224.0/19,
|
||||
47.246.32.0/22,
|
||||
47.246.66.0/23,
|
||||
47.246.68.0/23,
|
||||
47.246.72.0/21,
|
||||
47.246.82.0/23,
|
||||
47.246.84.0/22,
|
||||
47.246.88.0/23,
|
||||
47.246.91.0/24,
|
||||
47.246.92.0/23,
|
||||
47.246.96.0/22,
|
||||
47.246.101.0/24,
|
||||
47.246.102.0/23,
|
||||
47.246.104.0/21,
|
||||
47.246.120.0/24,
|
||||
47.246.122.0/23,
|
||||
47.246.124.0/23,
|
||||
47.246.128.0/23,
|
||||
47.246.131.0/24,
|
||||
47.246.132.0/23,
|
||||
47.246.135.0/24,
|
||||
47.246.136.0/21,
|
||||
47.246.144.0/22,
|
||||
47.246.150.0/23,
|
||||
47.246.152.0/22,
|
||||
47.246.157.0/24,
|
||||
47.246.158.0/23,
|
||||
47.246.160.0/23,
|
||||
47.246.162.0/24,
|
||||
47.246.164.0/22,
|
||||
47.246.168.0/21,
|
||||
47.246.176.0/20,
|
||||
47.246.192.0/20,
|
||||
47.246.208.0/23,
|
||||
47.246.212.0/22,
|
||||
47.246.216.0/22,
|
||||
47.250.0.0/18,
|
||||
47.250.68.0/22,
|
||||
47.250.72.0/21,
|
||||
47.250.80.0/20,
|
||||
47.250.96.0/21,
|
||||
47.250.108.0/22,
|
||||
47.250.112.0/20,
|
||||
47.250.128.0/17,
|
||||
47.251.0.0/17,
|
||||
47.251.132.0/22,
|
||||
47.251.136.0/21,
|
||||
47.251.144.0/20,
|
||||
47.251.160.0/19,
|
||||
47.251.196.0/22,
|
||||
47.251.200.0/21,
|
||||
47.251.208.0/20,
|
||||
47.251.224.0/19,
|
||||
47.252.0.0/16,
|
||||
47.253.0.0/18,
|
||||
47.253.64.0/19,
|
||||
47.253.96.0/20,
|
||||
47.253.112.0/21,
|
||||
47.253.120.0/22,
|
||||
47.253.128.0/17,
|
||||
47.254.0.0/16,
|
||||
49.4.0.0/17,
|
||||
49.4.128.0/22,
|
||||
49.4.160.0/20,
|
||||
@@ -1191,7 +888,7 @@ set clashoo_china {
|
||||
58.30.0.0/15,
|
||||
58.32.0.0/11,
|
||||
58.65.232.0/21,
|
||||
58.67.128.0/17,
|
||||
58.66.0.0/15,
|
||||
58.68.224.0/19,
|
||||
58.82.0.0/17,
|
||||
58.83.0.0/16,
|
||||
@@ -1207,9 +904,7 @@ set clashoo_china {
|
||||
59.32.0.0/11,
|
||||
59.64.0.0/12,
|
||||
59.80.0.0/14,
|
||||
59.107.0.0/17,
|
||||
59.107.226.0/24,
|
||||
59.107.255.0/24,
|
||||
59.107.0.0/16,
|
||||
59.108.0.0/14,
|
||||
59.151.0.0/17,
|
||||
59.152.16.0/20,
|
||||
@@ -1278,7 +973,6 @@ set clashoo_china {
|
||||
61.232.0.0/14,
|
||||
61.236.0.0/15,
|
||||
61.240.0.0/14,
|
||||
62.182.190.0/23,
|
||||
62.234.0.0/16,
|
||||
63.140.0.0/24,
|
||||
63.140.3.0/24,
|
||||
@@ -1305,6 +999,7 @@ set clashoo_china {
|
||||
81.173.28.0/24,
|
||||
82.156.0.0/15,
|
||||
94.191.0.0/17,
|
||||
95.82.8.0/23,
|
||||
101.0.0.0/22,
|
||||
101.1.0.0/22,
|
||||
101.2.172.0/22,
|
||||
@@ -1524,7 +1219,7 @@ set clashoo_china {
|
||||
103.19.64.0/21,
|
||||
103.19.72.0/22,
|
||||
103.19.233.0/24,
|
||||
103.19.234.0/23,
|
||||
103.19.235.0/24,
|
||||
103.20.12.0/22,
|
||||
103.20.32.0/24,
|
||||
103.20.34.0/23,
|
||||
@@ -1801,7 +1496,8 @@ set clashoo_china {
|
||||
103.53.64.0/21,
|
||||
103.53.92.0/22,
|
||||
103.53.100.0/22,
|
||||
103.53.124.0/22,
|
||||
103.53.124.0/23,
|
||||
103.53.126.0/24,
|
||||
103.53.128.0/20,
|
||||
103.53.144.0/22,
|
||||
103.53.180.0/22,
|
||||
@@ -1982,6 +1678,7 @@ set clashoo_china {
|
||||
103.74.48.0/22,
|
||||
103.74.56.0/21,
|
||||
103.74.80.0/22,
|
||||
103.74.124.0/24,
|
||||
103.74.126.0/23,
|
||||
103.74.148.0/22,
|
||||
103.74.152.0/21,
|
||||
@@ -2042,7 +1739,7 @@ set clashoo_china {
|
||||
103.81.120.0/22,
|
||||
103.81.148.0/22,
|
||||
103.81.164.0/22,
|
||||
103.81.184.0/22,
|
||||
103.81.184.0/23,
|
||||
103.81.200.0/22,
|
||||
103.81.232.0/22,
|
||||
103.82.60.0/22,
|
||||
@@ -2337,6 +2034,7 @@ set clashoo_china {
|
||||
103.114.212.0/22,
|
||||
103.114.236.0/22,
|
||||
103.114.240.0/22,
|
||||
103.115.19.0/24,
|
||||
103.115.52.0/22,
|
||||
103.115.68.0/22,
|
||||
103.115.92.0/22,
|
||||
@@ -2364,7 +2062,6 @@ set clashoo_china {
|
||||
103.118.64.0/21,
|
||||
103.118.72.0/22,
|
||||
103.118.88.0/22,
|
||||
103.118.210.0/23,
|
||||
103.118.212.0/22,
|
||||
103.118.216.0/22,
|
||||
103.118.248.0/22,
|
||||
@@ -2653,6 +2350,7 @@ set clashoo_china {
|
||||
103.177.28.0/23,
|
||||
103.177.44.0/23,
|
||||
103.177.71.0/24,
|
||||
103.177.136.0/24,
|
||||
103.177.162.0/23,
|
||||
103.178.240.0/23,
|
||||
103.179.76.0/22,
|
||||
@@ -3259,7 +2957,16 @@ set clashoo_china {
|
||||
110.6.0.0/15,
|
||||
110.16.0.0/14,
|
||||
110.34.40.0/21,
|
||||
110.40.0.0/14,
|
||||
110.40.0.0/15,
|
||||
110.42.0.0/20,
|
||||
110.42.16.0/24,
|
||||
110.42.18.0/23,
|
||||
110.42.20.0/22,
|
||||
110.42.24.0/21,
|
||||
110.42.32.0/19,
|
||||
110.42.64.0/18,
|
||||
110.42.128.0/17,
|
||||
110.43.0.0/16,
|
||||
110.44.12.0/22,
|
||||
110.44.144.0/20,
|
||||
110.48.0.0/16,
|
||||
@@ -3578,7 +3285,6 @@ set clashoo_china {
|
||||
116.242.0.0/15,
|
||||
116.244.0.0/14,
|
||||
116.248.0.0/15,
|
||||
116.251.64.0/18,
|
||||
116.252.0.0/15,
|
||||
116.254.104.0/21,
|
||||
116.254.128.0/17,
|
||||
@@ -3870,7 +3576,9 @@ set clashoo_china {
|
||||
121.248.0.0/14,
|
||||
121.255.0.0/16,
|
||||
122.0.64.0/18,
|
||||
122.0.128.0/17,
|
||||
122.0.160.0/19,
|
||||
122.0.192.0/19,
|
||||
122.0.224.0/20,
|
||||
122.4.0.0/14,
|
||||
122.8.52.0/22,
|
||||
122.8.57.0/24,
|
||||
@@ -4035,10 +3743,19 @@ set clashoo_china {
|
||||
124.6.64.0/18,
|
||||
124.14.0.0/15,
|
||||
124.16.0.0/15,
|
||||
124.20.0.0/16,
|
||||
124.20.32.0/19,
|
||||
124.20.64.0/19,
|
||||
124.20.96.0/20,
|
||||
124.20.128.0/18,
|
||||
124.20.192.0/19,
|
||||
124.20.240.0/20,
|
||||
124.21.32.0/19,
|
||||
124.21.64.0/18,
|
||||
124.21.128.0/17,
|
||||
124.21.80.0/20,
|
||||
124.21.96.0/19,
|
||||
124.21.144.0/20,
|
||||
124.21.160.0/19,
|
||||
124.21.208.0/20,
|
||||
124.21.224.0/19,
|
||||
124.22.0.0/15,
|
||||
124.28.192.0/18,
|
||||
124.29.0.0/17,
|
||||
@@ -4076,15 +3793,7 @@ set clashoo_china {
|
||||
124.151.0.0/16,
|
||||
124.152.0.0/16,
|
||||
124.160.0.0/13,
|
||||
124.172.87.0/24,
|
||||
124.172.88.0/23,
|
||||
124.172.91.0/24,
|
||||
124.172.93.0/24,
|
||||
124.172.128.0/17,
|
||||
124.173.64.0/18,
|
||||
124.173.128.0/18,
|
||||
124.173.205.0/24,
|
||||
124.174.0.0/15,
|
||||
124.172.0.0/14,
|
||||
124.192.0.0/15,
|
||||
124.196.0.0/16,
|
||||
124.197.56.0/21,
|
||||
@@ -4153,15 +3862,6 @@ set clashoo_china {
|
||||
139.5.212.0/22,
|
||||
139.5.244.0/22,
|
||||
139.9.0.0/16,
|
||||
139.95.0.0/20,
|
||||
139.95.16.0/22,
|
||||
139.95.22.0/23,
|
||||
139.95.24.0/21,
|
||||
139.95.32.0/21,
|
||||
139.95.40.0/23,
|
||||
139.95.64.0/23,
|
||||
139.95.96.0/22,
|
||||
139.95.128.0/17,
|
||||
139.129.0.0/16,
|
||||
139.148.0.0/16,
|
||||
139.155.0.0/16,
|
||||
@@ -4222,7 +3922,14 @@ set clashoo_china {
|
||||
140.179.0.0/16,
|
||||
140.205.0.0/16,
|
||||
140.206.0.0/15,
|
||||
140.210.0.0/16,
|
||||
140.210.0.0/20,
|
||||
140.210.17.0/24,
|
||||
140.210.18.0/24,
|
||||
140.210.20.0/22,
|
||||
140.210.24.0/21,
|
||||
140.210.32.0/19,
|
||||
140.210.64.0/18,
|
||||
140.210.128.0/17,
|
||||
140.224.0.0/16,
|
||||
140.237.0.0/16,
|
||||
140.240.0.0/16,
|
||||
@@ -4279,23 +3986,9 @@ set clashoo_china {
|
||||
146.222.94.0/24,
|
||||
147.78.132.0/24,
|
||||
147.78.134.0/24,
|
||||
147.139.0.0/17,
|
||||
147.139.128.0/18,
|
||||
147.139.192.0/19,
|
||||
147.139.224.0/20,
|
||||
147.139.240.0/21,
|
||||
147.139.248.0/22,
|
||||
148.70.0.0/16,
|
||||
149.41.64.0/18,
|
||||
149.41.192.0/19,
|
||||
149.129.0.0/20,
|
||||
149.129.16.0/21,
|
||||
149.129.32.0/19,
|
||||
149.129.64.0/18,
|
||||
149.129.128.0/19,
|
||||
149.129.168.0/21,
|
||||
149.129.176.0/20,
|
||||
149.129.192.0/18,
|
||||
150.0.0.0/16,
|
||||
150.115.0.0/16,
|
||||
150.121.0.0/16,
|
||||
@@ -4335,7 +4028,7 @@ set clashoo_china {
|
||||
151.158.14.0/23,
|
||||
151.158.78.0/23,
|
||||
151.158.80.0/23,
|
||||
151.158.122.0/23,
|
||||
151.158.123.0/24,
|
||||
152.104.128.0/17,
|
||||
152.136.0.0/16,
|
||||
153.0.0.0/16,
|
||||
@@ -4353,10 +4046,6 @@ set clashoo_china {
|
||||
156.107.170.0/24,
|
||||
156.107.179.0/24,
|
||||
156.107.181.0/24,
|
||||
156.227.20.0/24,
|
||||
156.236.12.0/24,
|
||||
156.236.17.0/24,
|
||||
156.245.1.0/24,
|
||||
157.0.0.0/16,
|
||||
157.10.34.0/23,
|
||||
157.10.36.0/23,
|
||||
@@ -4452,7 +4141,6 @@ set clashoo_china {
|
||||
160.250.170.0/23,
|
||||
160.250.214.0/23,
|
||||
160.250.252.0/23,
|
||||
161.117.0.0/16,
|
||||
161.163.0.0/21,
|
||||
161.163.28.0/23,
|
||||
161.189.0.0/16,
|
||||
@@ -4510,7 +4198,9 @@ set clashoo_china {
|
||||
163.204.0.0/16,
|
||||
163.223.28.0/23,
|
||||
163.223.32.0/23,
|
||||
163.223.72.0/23,
|
||||
163.223.124.0/23,
|
||||
163.223.216.0/24,
|
||||
163.223.222.0/23,
|
||||
163.227.34.0/23,
|
||||
163.227.40.0/23,
|
||||
@@ -4538,29 +4228,6 @@ set clashoo_china {
|
||||
167.189.0.0/16,
|
||||
167.220.244.0/22,
|
||||
168.160.0.0/16,
|
||||
170.33.15.0/24,
|
||||
170.33.20.0/22,
|
||||
170.33.24.0/24,
|
||||
170.33.29.0/24,
|
||||
170.33.30.0/23,
|
||||
170.33.32.0/22,
|
||||
170.33.41.0/24,
|
||||
170.33.64.0/23,
|
||||
170.33.66.0/24,
|
||||
170.33.68.0/23,
|
||||
170.33.72.0/23,
|
||||
170.33.76.0/22,
|
||||
170.33.80.0/22,
|
||||
170.33.84.0/24,
|
||||
170.33.104.0/22,
|
||||
170.33.112.0/23,
|
||||
170.33.114.0/24,
|
||||
170.33.129.0/24,
|
||||
170.33.130.0/23,
|
||||
170.33.136.0/23,
|
||||
170.33.138.0/24,
|
||||
170.33.168.0/23,
|
||||
170.33.192.0/23,
|
||||
170.179.0.0/16,
|
||||
171.8.0.0/13,
|
||||
171.34.0.0/15,
|
||||
@@ -4601,7 +4268,10 @@ set clashoo_china {
|
||||
177.201.160.0/19,
|
||||
177.203.96.0/19,
|
||||
177.203.224.0/19,
|
||||
178.236.38.0/23,
|
||||
178.236.233.0/24,
|
||||
178.236.234.0/24,
|
||||
178.236.237.0/24,
|
||||
179.236.0.0/19,
|
||||
180.76.16.0/20,
|
||||
180.76.32.0/19,
|
||||
@@ -4739,12 +4409,6 @@ set clashoo_china {
|
||||
193.119.0.0/19,
|
||||
194.138.202.0/23,
|
||||
194.138.245.0/24,
|
||||
198.11.128.0/20,
|
||||
198.11.145.0/24,
|
||||
198.11.146.0/23,
|
||||
198.11.148.0/22,
|
||||
198.11.152.0/21,
|
||||
198.11.160.0/19,
|
||||
198.175.100.0/22,
|
||||
198.208.17.0/24,
|
||||
198.208.19.0/24,
|
||||
@@ -5115,7 +4779,8 @@ set clashoo_china {
|
||||
202.143.56.0/21,
|
||||
202.143.100.0/22,
|
||||
202.143.104.0/22,
|
||||
202.144.196.0/22,
|
||||
202.144.196.0/23,
|
||||
202.144.198.0/24,
|
||||
202.146.160.0/20,
|
||||
202.146.184.0/23,
|
||||
202.146.186.0/24,
|
||||
@@ -6100,7 +5765,17 @@ set clashoo_china {
|
||||
203.104.32.0/20,
|
||||
203.105.96.0/19,
|
||||
203.105.128.0/19,
|
||||
203.107.0.0/17,
|
||||
203.107.0.0/23,
|
||||
203.107.2.0/24,
|
||||
203.107.4.0/22,
|
||||
203.107.8.0/21,
|
||||
203.107.16.0/20,
|
||||
203.107.32.0/19,
|
||||
203.107.69.0/24,
|
||||
203.107.70.0/23,
|
||||
203.107.72.0/21,
|
||||
203.107.80.0/20,
|
||||
203.107.96.0/19,
|
||||
203.110.160.0/19,
|
||||
203.110.208.0/20,
|
||||
203.110.232.0/23,
|
||||
@@ -6238,8 +5913,6 @@ set clashoo_china {
|
||||
203.223.16.0/24,
|
||||
203.223.21.0/24,
|
||||
203.223.22.0/23,
|
||||
205.204.96.0/19,
|
||||
206.109.70.0/23,
|
||||
206.109.75.0/24,
|
||||
210.2.0.0/19,
|
||||
210.5.0.0/19,
|
||||
@@ -6286,7 +5959,7 @@ set clashoo_china {
|
||||
211.100.0.0/15,
|
||||
211.102.0.0/17,
|
||||
211.102.128.0/21,
|
||||
211.102.144.0/21,
|
||||
211.102.144.0/20,
|
||||
211.102.160.0/20,
|
||||
211.102.192.0/18,
|
||||
211.103.0.0/16,
|
||||
@@ -6295,6 +5968,7 @@ set clashoo_china {
|
||||
211.148.0.0/16,
|
||||
211.149.0.0/19,
|
||||
211.149.32.0/22,
|
||||
211.149.44.0/22,
|
||||
211.149.48.0/21,
|
||||
211.149.64.0/21,
|
||||
211.149.80.0/21,
|
||||
@@ -6336,9 +6010,7 @@ set clashoo_china {
|
||||
218.30.32.0/22,
|
||||
218.30.36.0/23,
|
||||
218.30.38.0/24,
|
||||
218.30.40.0/22,
|
||||
218.30.45.0/24,
|
||||
218.30.46.0/23,
|
||||
218.30.40.0/21,
|
||||
218.30.48.0/21,
|
||||
218.30.56.0/22,
|
||||
218.30.60.0/23,
|
||||
@@ -6492,9 +6164,11 @@ set clashoo_china {
|
||||
223.122.18.0/23,
|
||||
223.122.20.0/22,
|
||||
223.122.26.0/23,
|
||||
223.122.28.0/23,
|
||||
223.122.29.0/24,
|
||||
223.123.176.0/21,
|
||||
223.123.196.0/22,
|
||||
223.123.204.0/22,
|
||||
223.123.205.0/24,
|
||||
223.123.206.0/23,
|
||||
223.123.208.0/20,
|
||||
223.123.224.0/19,
|
||||
223.124.0.0/14,
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
+3
-3
@@ -5,13 +5,13 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=dae
|
||||
PKG_VERSION:=2026.11.05
|
||||
PKG_VERSION:=2026.11.09
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=dae-src-2026.11.05-7cf97ff42dc6.tar.gz
|
||||
PKG_SOURCE:=dae-src-2026.11.09-45df6d7de7ee.tar.gz
|
||||
PKG_SOURCE_URL:=https://github.com/kenzok8/openwrt-daede/releases/download/dae-src
|
||||
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
||||
PKG_HASH:=7cf97ff42dc68a69c094fc5e0ee8b45ce245861b72573db2657d03583c087275
|
||||
PKG_HASH:=45df6d7de7ee262cb8b22a377037dc9c1498ffa282b6be4364bee3fbecdbcc55
|
||||
|
||||
PKG_LICENSE:=AGPL-3.0-only
|
||||
PKG_LICENSE_FILE:=LICENSE
|
||||
|
||||
+3
-3
@@ -5,13 +5,13 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=daed
|
||||
PKG_VERSION:=2026.11.05
|
||||
PKG_VERSION:=2026.11.09
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=daed-src-2026.11.05-b1e30bc02200.tar.gz
|
||||
PKG_SOURCE:=daed-src-2026.11.09-82f4f6af67da.tar.gz
|
||||
PKG_SOURCE_URL:=https://github.com/kenzok8/openwrt-daede/releases/download/daed-src
|
||||
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
||||
PKG_HASH:=b1e30bc02200bce0f177da1570f987617d0e2c6021a898cbc8fa2bf170ff7118
|
||||
PKG_HASH:=82f4f6af67da0069958810d484e2957a4d8ab48b078d71e27e62d96c5dcd4faa
|
||||
|
||||
PKG_LICENSE:=AGPL-3.0-only MIT
|
||||
PKG_LICENSE_FILES:=LICENSE wing/LICENSE
|
||||
|
||||
+2
-2
@@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk
|
||||
PKG_NAME:=ddns-go
|
||||
PKG_VERSION:=6.17.7
|
||||
PKG_RELEASE:=1
|
||||
PKG_VERSION:=6.17.7
|
||||
PKG_VERSION:=6.17.8
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://codeload.github.com/jeessy2/ddns-go/tar.gz/v$(PKG_VERSION)?
|
||||
PKG_HASH:=f7001004e092d9641aad5a94158e0b4cae4a53a7f5c7d96d5c6af3d246c56fcc
|
||||
|
||||
PKG_HASH:=f7001004e092d9641aad5a94158e0b4cae4a53a7f5c7d96d5c6af3d246c56fcc
|
||||
PKG_HASH:=39b3d8755bd809c0731e81d5a3b5a025704205de68d95e5a9dd1ea192482cbf7
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
|
||||
|
||||
|
||||
+6
-6
@@ -5,7 +5,7 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=honk
|
||||
PKG_VERSION:=2026.11.08.4
|
||||
PKG_VERSION:=2026.11.09.1
|
||||
PKG_RELEASE:=1
|
||||
|
||||
# Pinned honk-core revision (upstream daeuniverse/honk main), cross-compiled by
|
||||
@@ -14,10 +14,10 @@ PKG_RELEASE:=1
|
||||
# assets behind CORE_COMMIT, so a plain feed build downloads and verifies them
|
||||
# without any generated file. A staged run may still override them through
|
||||
# honk/generated-stage.mk, which is generated and never committed.
|
||||
CORE_COMMIT:=88d470c662e0ee7a3de3e67afc6129f67e66c1bf
|
||||
CORE_COMMIT:=64848881b7304e250e7a25422f4f1d86a5975eca
|
||||
|
||||
# Immutable source asset tag holding this pin's core archives.
|
||||
HONK_SOURCE_TAG?=source-41792584995
|
||||
HONK_SOURCE_TAG?=source-42576464746
|
||||
HONK_SOURCE_URL?=https://github.com/kenzok8/openwrt-honk/releases/download/$(HONK_SOURCE_TAG)
|
||||
|
||||
-include $(CURDIR)/generated-stage.mk
|
||||
@@ -25,9 +25,9 @@ HONK_SOURCE_URL?=https://github.com/kenzok8/openwrt-honk/releases/download/$(HON
|
||||
HONK_ASSET_X86_64?=honk-core-$(CORE_COMMIT)-x86_64.tar.gz
|
||||
HONK_ASSET_AARCH64?=honk-core-$(CORE_COMMIT)-aarch64.tar.gz
|
||||
HONK_ASSET_ARMV7?=honk-core-$(CORE_COMMIT)-armv7.tar.gz
|
||||
HONK_HASH_X86_64?=5a389e97296f6b5d3aad5a7180a57f9669845f6baa9b52742295de23147ac07e
|
||||
HONK_HASH_AARCH64?=7261ed6b98b13fa3f7246175b5d9222feecdb3cdf3946b7c0bc296641866b345
|
||||
HONK_HASH_ARMV7?=1333e0598a493183af58e516173c66b44e692223949247cd32e53934dcebfeb4
|
||||
HONK_HASH_X86_64?=d8b779a60fbe4965d323bcab187924f5c28745509318bf54c853cbd71d9e540a
|
||||
HONK_HASH_AARCH64?=27df7fbab0e3fb15cb3171d1f74d387f815ecc7c53f96256af11dcc6618da047
|
||||
HONK_HASH_ARMV7?=44cbb9a75054c14b97f98849a70aa32fd87b9d4ef7116c6e790315d0adee7766
|
||||
|
||||
# ARCH_PACKAGES is the package arch (e.g. arm_cortex-a7_neon-vfpv4);
|
||||
# ARCH is the CPU arch (x86_64/aarch64/arm) and coincides for 64-bit.
|
||||
|
||||
@@ -9,6 +9,8 @@ group {
|
||||
}
|
||||
|
||||
dns {
|
||||
# 直连查询带上客户端网段,国内 CDN 才会返回就近地址
|
||||
client_subnet: auto
|
||||
upstream {
|
||||
default: 'https://223.5.5.5/dns-query?tls_server_name=dns.alidns.com' -> direct
|
||||
remote: 'https://8.8.8.8/dns-query?tls_server_name=dns.google' -> proxy
|
||||
@@ -19,6 +21,13 @@ dns {
|
||||
qname(geosite: cn) -> default
|
||||
fallback: remote
|
||||
}
|
||||
# 远端返回国内 IP 时也采信,避免两边解析结果不一致
|
||||
response {
|
||||
upstream(remote) -> accept
|
||||
qname(geosite: private) -> accept
|
||||
ip(geoip: cn) -> accept
|
||||
fallback: remote
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,5 +39,11 @@ routing {
|
||||
dip(geoip: private) && !dport(53) -> direct(must)
|
||||
dip(geoip: cn) && !dport(53) -> direct(must)
|
||||
domain(geosite: cn) -> direct
|
||||
# 这几类在 geosite: cn 里覆盖不全,单独列出
|
||||
domain(geosite: apple-cn) -> direct
|
||||
domain(geosite: category-games@cn) -> direct
|
||||
domain(geosite: steam@cn) -> direct
|
||||
domain(geosite: category-ai-cn) -> direct
|
||||
domain(geosite: onedrive) -> direct
|
||||
fallback: direct
|
||||
}
|
||||
-47
@@ -1,47 +0,0 @@
|
||||
name: Build
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- v*
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build ${{ matrix.arch }}
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
arch:
|
||||
- aarch64_generic
|
||||
- i386_pentium-mmx
|
||||
- loongarch64_generic
|
||||
- mips_mips32
|
||||
- mipsel_24kc
|
||||
- mipsel_mips32
|
||||
- x86_64
|
||||
steps:
|
||||
- uses: actions/checkout@main
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Building packages
|
||||
uses: sbwml/openwrt-gh-action-sdk@go1.24
|
||||
env:
|
||||
ARCH: ${{ matrix.arch }}-openwrt-24.10
|
||||
FEEDNAME: packages_ci
|
||||
PACKAGES: luci-app-eqosplus
|
||||
NO_REFRESH_CHECK: true
|
||||
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: ${{ matrix.arch }}
|
||||
path: bin/packages/${{ matrix.arch }}/packages_ci/*.ipk
|
||||
|
||||
- name: Upload packages
|
||||
uses: ncipollo/release-action@v1
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
allowUpdates: true
|
||||
replacesArtifacts: true
|
||||
artifacts: "bin/packages/${{ matrix.arch }}/packages_ci/*.ipk"
|
||||
@@ -1,21 +0,0 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2025 sirpdboy
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
@@ -1,39 +0,0 @@
|
||||
#
|
||||
# Copyright (C) 2006-2017 OpenWrt.org#
|
||||
# Copyright (C) 2022-2025 sirpdboy herboy2008@gmail.com https://github.com/sirpdboy/luci-app-eqosplus
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
THEME_NAME:=eqosplus
|
||||
PKG_NAME:=luci-app-$(THEME_NAME)
|
||||
|
||||
PKG_LICENSE:=Apache-2.0
|
||||
|
||||
LUCI_TITLE:=LuCI support for eqosplus.
|
||||
LUCI_DESCRIPTION:=LuCI support for Easy eqosplus(Support speed limit based on IP address).
|
||||
LUCI_DEPENDS:=+ip-full +tc +nftables +bc +kmod-ifb
|
||||
LUCI_PKGARCH:=all
|
||||
|
||||
PKG_VERSION:=1.3.0
|
||||
PKG_RELEASE:=20251128
|
||||
PKG_MAINTAINER:=sirpdboy <herboy2008@gmail.com>
|
||||
|
||||
define Build/Compile
|
||||
endef
|
||||
|
||||
define Package/$(PKG_NAME)/postinst
|
||||
#!/bin/sh
|
||||
rm -f /tmp/luci-*
|
||||
endef
|
||||
|
||||
define Package/$(PKG_NAME)/conffiles
|
||||
/etc/config/eqosplus
|
||||
endef
|
||||
|
||||
include $(TOPDIR)/feeds/luci/luci.mk
|
||||
|
||||
# call BuildPackage - OpenWrt buildroot signature
|
||||
|
||||
@@ -1,91 +0,0 @@
|
||||
 [](https://t.me/joinchat/AAAAAEpRF88NfOK5vBXGBQ)
|
||||
|
||||
<h1 align="center">
|
||||
<br>luci-app-eqosplus<br>
|
||||
</h1>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://openwrt.org"><img alt="OpenWrt" src="https://img.shields.io/badge/OpenWrt-%E2%89%A519.07-ff0000?logo=openwrt&logoColor=white"></a>
|
||||
<a href="https://www.google.com/chrome/"><img alt="Chrome" src="https://img.shields.io/badge/Chrome-%E2%89%A5111-4285F3?logo=googlechrome&logoColor=white"></a>
|
||||
<a href="https://www.apple.com/safari/"><img alt="Safari" src="https://img.shields.io/badge/Safari-%E2%89%A516.4-000000?logo=safari&logoColor=white"></a>
|
||||
<a href="https://www.mozilla.org/firefox/"><img alt="Firefox" src="https://img.shields.io/badge/Firefox-%E2%89%A5128-FF7138?logo=firefoxbrowser&logoColor=white"></a>
|
||||
<a target="_blank" href="https://github.com/sirpdboy/luci-app-eqosplus/releases"> <img alt="GitHub release" src="https://img.shields.io/github/v/release/sirpdboy/luci-app-eqosplus"></a>
|
||||
<a href="https://github.com/sirpdboy/luci-app-eqosplus/releases"><img alt="Downloads" src="https://img.shields.io/github/downloads/sirpdboy/luci-app-eqosplus/total"></a>
|
||||
</p>
|
||||
|
||||
[中文] | [English](README.md)
|
||||
|
||||

|
||||
|
||||
Please read this page carefully, which includes precautions and instructions on how to use it.
|
||||
|
||||
## Enhanced version of EQOS with timed speed limit and added features such as timed limit.
|
||||
|
||||
### Method for downloading source code:
|
||||
|
||||
```Brach
|
||||
# downloading
|
||||
git clone https://github.com/sirpdboy/luci-app-eqosplus package/luci-app-eqosplus
|
||||
make menuconfig
|
||||
```
|
||||
### Configuration Menu
|
||||
```Brach
|
||||
make menuconfig
|
||||
# find LuCI -> Applications, select luci-app-eqosplus, save and exit
|
||||
```
|
||||
### compile
|
||||
|
||||
```Brach
|
||||
# compile
|
||||
make package/luci-app-eqosplus/compile V=s
|
||||
```
|
||||
|
||||
|
||||
## describe
|
||||
|
||||
- luci-app-eqosplus : https://github.com/sirpdboy/luci-app-eqosplus
|
||||
|
||||

|
||||
|
||||
|
||||
## interface
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
|
||||
# My other project
|
||||
|
||||
- Watch Dog : https://github.com/sirpdboy/luci-app-watchdog
|
||||
- Net Speedtest : https://github.com/sirpdboy/luci-app-netspeedtest
|
||||
- Task Plan : https://github.com/sirpdboy/luci-app-taskplan
|
||||
- Power Off Device : https://github.com/sirpdboy/luci-app-poweroffdevice
|
||||
- OpentoPD Theme : https://github.com/sirpdboy/luci-theme-opentopd
|
||||
- KuCat Theme : https://github.com/sirpdboy/luci-theme-kucat
|
||||
- KuCat Theme Config : https://github.com/sirpdboy/luci-app-kucat-config
|
||||
- NFT Time Control : https://github.com/sirpdboy/luci-app-timecontrol
|
||||
- Parent Control: https://github.com/sirpdboy/luci-theme-parentcontrol
|
||||
- Eqos Plus: https://github.com/sirpdboy/luci-app-eqosplus
|
||||
- Advanced : https://github.com/sirpdboy/luci-app-advanced
|
||||
- ddns-go : https://github.com/sirpdboy/luci-app-ddns-go
|
||||
- Advanced Plus): https://github.com/sirpdboy/luci-app-advancedplus
|
||||
- Net Wizard: https://github.com/sirpdboy/luci-app-netwizard
|
||||
- Part Exp: https://github.com/sirpdboy/luci-app-partexp
|
||||
- Lukcy: https://github.com/sirpdboy/luci-app-lukcy
|
||||
|
||||
## HELP
|
||||
|
||||
| <img src="https://img.shields.io/badge/-Alipay-F5F5F5.svg" href="#赞助支持本项目-" height="25" alt="图飞了"/> | <img src="https://img.shields.io/badge/-WeChat-F5F5F5.svg" height="25" alt="图飞了" href="#赞助支持本项目-"/> |
|
||||
| :-----------------: | :-------------: |
|
||||
| |  |
|
||||
|
||||
<a href="#readme">
|
||||
<img src="https://img.shields.io/badge/-TOP-orange.svg" alt="no" title="Return TOP" align="right"/>
|
||||
</a>
|
||||
|
||||
 [](https://t.me/joinchat/AAAAAEpRF88NfOK5vBXGBQ)
|
||||
@@ -1,109 +0,0 @@
|
||||
 [](https://t.me/joinchat/AAAAAEpRF88NfOK5vBXGBQ)
|
||||
|
||||
<h1 align="center">
|
||||
<br>luci-app-eqosplus<br>
|
||||
</h1>
|
||||
|
||||
<p align="center">
|
||||
|
||||
<a target="_blank" href="https://github.com/sirpdboy/luci-app-eqosplus/releases">
|
||||
<img src="https://img.shields.io/github/release/sirpdboy/luci-app-eqosplus.svg?style=flat-square&label=luci-app-eqosplus&colorB=green">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
[中文] | [English](README.md)
|
||||
|
||||

|
||||
|
||||
请 **认真阅读完毕** 本页面,本页面包含注意事项和如何使用。
|
||||
|
||||
## 功能说明:
|
||||
|
||||
### 定时限速1.2.2版
|
||||
#### 2023.7.19 定时限速1.2.2:增加更多日期:工作日和休息日,自定义日期1,2,3中间用逗号分隔;加入MAC地址限速,从此不用担心IPV6和IPV4的限速问题。
|
||||
|
||||
### 定时限速1.0版
|
||||
#### 2022.12.24 定时限速在eqos的加强版,加入定时限制等功能。
|
||||
|
||||
## 编译使用方法 [](#编译使用方法-)
|
||||
|
||||
将luci-app-eqosplus添加至 LEDE/OpenWRT 源码的方法。
|
||||
|
||||
### 下载源码方法一:
|
||||
编辑源码文件夹根目录feeds.conf.default并加入如下内容:
|
||||
|
||||
```Brach
|
||||
# feeds获取源码:
|
||||
src-git eqosplus https://github.com/sirpdboy/luci-app-eqosplus
|
||||
```
|
||||
```Brach
|
||||
# 更新feeds,并安装主题:
|
||||
scripts/feeds update eqosplus
|
||||
scripts/feeds install luci-app-eqosplus
|
||||
```
|
||||
|
||||
### 下载源码方法:
|
||||
```Brach
|
||||
# 下载源码
|
||||
git clone https://github.com/sirpdboy/luci-app-eqosplus package/luci-app-eqosplus
|
||||
make menuconfig
|
||||
```
|
||||
### 配置菜单
|
||||
```Brach
|
||||
make menuconfig
|
||||
# 找到 LuCI -> Applications, 选择 luci-app-eqosplus, 保存后退出。
|
||||
```
|
||||
### 编译
|
||||
```Brach
|
||||
# 编译固件
|
||||
make package/luci-app-eqosplus/compile V=s
|
||||
```
|
||||
|
||||
## 说明 [](#说明-)
|
||||
|
||||
源码来源:https://github.com/sirpdboy/luci-app-eqosplus
|
||||
|
||||
|
||||
- 你可以随意使用其中的源码,但请注明出处。
|
||||
|
||||

|
||||
|
||||
## 界面
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
# My other project
|
||||
|
||||
- 路由安全看门狗 :https://github.com/sirpdboy/luci-app-watchdog
|
||||
- 网络速度测试 :https://github.com/sirpdboy/luci-app-netspeedtest
|
||||
- 计划任务插件(原定时设置) : https://github.com/sirpdboy/luci-app-taskplan
|
||||
- 关机功能插件 : https://github.com/sirpdboy/luci-app-poweroffdevice
|
||||
- opentopd主题 : https://github.com/sirpdboy/luci-theme-opentopd
|
||||
- kucat酷猫主题: https://github.com/sirpdboy/luci-theme-kucat
|
||||
- kucat酷猫主题设置工具: https://github.com/sirpdboy/luci-app-kucat-config
|
||||
- NFT版上网时间控制插件: https://github.com/sirpdboy/luci-app-timecontrol
|
||||
- 家长控制: https://github.com/sirpdboy/luci-theme-parentcontrol
|
||||
- 定时限速: https://github.com/sirpdboy/luci-app-eqosplus
|
||||
- 系统高级设置 : https://github.com/sirpdboy/luci-app-advanced
|
||||
- ddns-go动态域名: https://github.com/sirpdboy/luci-app-ddns-go
|
||||
- 进阶设置(系统高级设置+主题设置kucat/agron/opentopd): https://github.com/sirpdboy/luci-app-advancedplus
|
||||
- 网络设置向导: https://github.com/sirpdboy/luci-app-netwizard
|
||||
- 一键分区扩容: https://github.com/sirpdboy/luci-app-partexp
|
||||
- lukcy大吉: https://github.com/sirpdboy/luci-app-lukcy
|
||||
|
||||
## 捐助
|
||||
|
||||

|
||||
|
||||
| <img src="https://img.shields.io/badge/-支付宝-F5F5F5.svg" href="#赞助支持本项目-" height="25" alt="图飞了"/> | <img src="https://img.shields.io/badge/-微信-F5F5F5.svg" height="25" alt="图飞了" href="#赞助支持本项目-"/> |
|
||||
| :-----------------: | :-------------: |
|
||||
| |  |
|
||||
|
||||
<a href="#readme">
|
||||
<img src="https://img.shields.io/badge/-返回顶部-orange.svg" alt="图飞了" title="返回顶部" align="right"/>
|
||||
</a>
|
||||
|
||||
 [](https://t.me/joinchat/AAAAAEpRF88NfOK5vBXGBQ)
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 645 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 664 KiB |
@@ -1,19 +0,0 @@
|
||||
module("luci.controller.eqosplus", package.seeall)
|
||||
-- Copyright 2022-2023 sirpdboy <herboy2008@gmail.com>
|
||||
function index()
|
||||
if not nixio.fs.access("/etc/config/eqosplus") then return end
|
||||
entry({"admin", "control"}, firstchild(), "Control", 44).dependent = false
|
||||
|
||||
local e = entry({"admin", "control", "eqosplus"}, cbi("eqosplus"), _("Eqosplus"), 10)
|
||||
e.dependent=false
|
||||
e.acl_depends = { "luci-app-eqosplus" }
|
||||
entry({"admin", "control", "eqosplus", "status"}, call("act_status")).leaf = true
|
||||
end
|
||||
|
||||
function act_status()
|
||||
local sys = require "luci.sys"
|
||||
local e = {}
|
||||
e.status = sys.call(" busybox ps -w | grep eqosplus | grep -v grep >/dev/null ") == 0
|
||||
luci.http.prepare_content("application/json")
|
||||
luci.http.write_json(e)
|
||||
end
|
||||
@@ -1,190 +0,0 @@
|
||||
-- Copyright 2022-2023 sirpdboy <herboy2008@gmail.com>
|
||||
-- Licensed to the public under the Apache License 2.0.
|
||||
local sys = require "luci.sys"
|
||||
local ifaces = sys.net:devices()
|
||||
local WADM = require "luci.tools.webadmin"
|
||||
local ipc = require "luci.ip"
|
||||
local a, t, e
|
||||
|
||||
a = Map("eqosplus", translate("Network speed limit"))
|
||||
a.description = translate("Users can limit the network speed for uploading/downloading through MAC, IP, and IP segments (192.168.110.00-192.168.10.200). The speed unit is MB/second.")
|
||||
a.template = "eqosplus/index"
|
||||
|
||||
t = a:section(TypedSection, "eqosplus")
|
||||
t.anonymous = true
|
||||
|
||||
e = t:option(DummyValue, "eqosplus_status", translate("Status"))
|
||||
e.template = "eqosplus/eqosplus"
|
||||
e.value = translate("Collecting data...")
|
||||
|
||||
|
||||
ipi = t:option(ListValue, "ifname", translate("Interface"), translate("Set the interface used for restriction, use pppoe-wan for dialing, use WAN hardware interface for DHCP mode (such as eth1), and use br-lan for bypass mode"))
|
||||
ipi.default = "1"
|
||||
ipi:value(1,translate("Automatic settings"))
|
||||
ipi:value("br-lan", translate("br-lan (LAN Bridge)"))
|
||||
local function get_wan_interfaces()
|
||||
local result = {}
|
||||
local ubus = require "ubus"
|
||||
|
||||
local conn = ubus.connect()
|
||||
if not conn then
|
||||
return result
|
||||
end
|
||||
|
||||
local network_status = conn:call("network.interface", "dump", {})
|
||||
for _, iface in ipairs(network_status.interface) do
|
||||
if iface.interface:match("^wan") or iface.interface:match("^pppoe") or iface.proto == "pppoe" then
|
||||
local dev = iface.l3_device or iface.device
|
||||
if dev then
|
||||
table.insert(result, {
|
||||
name = dev,
|
||||
proto = iface.proto,
|
||||
logical_name = iface.interface
|
||||
})
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
conn:close()
|
||||
return result
|
||||
end
|
||||
|
||||
local wan_ifaces = get_wan_interfaces()
|
||||
for _, iface in ipairs(wan_ifaces) do
|
||||
ipi:value(iface.name, translate(iface.name) .. (iface.proto == "pppoe" and " (PPPoE)" or " (WAN)"))
|
||||
end
|
||||
|
||||
t = a:section(TypedSection, "device")
|
||||
t.template = "cbi/tblsection"
|
||||
t.anonymous = true
|
||||
t.addremove = true
|
||||
|
||||
comment = t:option(Value, "comment", translate("Comment"))
|
||||
comment.size = 8
|
||||
|
||||
e = t:option(Flag, "enable", translate("Enabled"))
|
||||
e.rmempty = false
|
||||
e.size = 4
|
||||
|
||||
ip = t:option(Value, "mac", translate("IP/MAC"))
|
||||
ip.size = 8
|
||||
|
||||
local function get_devices()
|
||||
local devices = {}
|
||||
local seen_ips = {}
|
||||
local ubus = require "ubus"
|
||||
local conn = ubus.connect()
|
||||
|
||||
local function get_hostname(ip)
|
||||
local f = io.popen("nslookup "..ip.." 2>/dev/null | grep 'name =' | cut -d'=' -f2 | sed 's/\\.$//'")
|
||||
if f then
|
||||
local name = f:read("*l")
|
||||
f:close()
|
||||
if name and name ~= "" then
|
||||
return name:match("^%s*(.-)%s*$")
|
||||
end
|
||||
end
|
||||
local leases_file = io.open("/tmp/dhcp.leases", "r")
|
||||
if leases_file then
|
||||
for line in leases_file:lines() do
|
||||
local mac, ip_lease, _, hostname = line:match("^(%S+)%s+(%S+)%s+(%S+)%s+(%S+)")
|
||||
if ip_lease == ip and hostname ~= "*" then
|
||||
leases_file:close()
|
||||
return hostname
|
||||
end
|
||||
end
|
||||
leases_file:close()
|
||||
end
|
||||
return "unknown"
|
||||
end
|
||||
if conn then
|
||||
local leases = conn:call("dhcp", "ipv4leases", {}) or {}
|
||||
for _, lease in ipairs(leases) do
|
||||
if lease.ipaddr and lease.mac then
|
||||
local hostname = lease.hostname or get_hostname(lease.ipaddr)
|
||||
devices[#devices+1] = {
|
||||
ip = lease.ipaddr,
|
||||
mac = lease.mac:upper(),
|
||||
hostname = hostname,
|
||||
display = string.format("%s (%s) - %s", lease.ipaddr, lease.mac:upper(), hostname)
|
||||
}
|
||||
seen_ips[lease.ipaddr] = true
|
||||
end
|
||||
end
|
||||
conn:close()
|
||||
end
|
||||
local arp_cmd = io.popen("ip -4 neigh show dev br-lan 2>/dev/null")
|
||||
if arp_cmd then
|
||||
for line in arp_cmd:lines() do
|
||||
local ip_addr, mac = line:match("^(%S+)%s+.+%s+(%S+)%s+")
|
||||
if ip_addr and mac and mac ~= "00:00:00:00:00:00" and not seen_ips[ip_addr] then
|
||||
mac = mac:upper()
|
||||
local hostname = get_hostname(ip_addr)
|
||||
devices[#devices+1] = {
|
||||
ip = ip_addr,
|
||||
mac = mac,
|
||||
hostname = hostname,
|
||||
display = string.format("%s (%s) - %s", ip_addr, mac, hostname)
|
||||
}
|
||||
seen_ips[ip_addr] = true
|
||||
end
|
||||
end
|
||||
arp_cmd:close()
|
||||
end
|
||||
table.sort(devices, function(a, b) return a.ip < b.ip end)
|
||||
return devices
|
||||
end
|
||||
|
||||
local devices = get_devices()
|
||||
for _, dev in ipairs(devices) do
|
||||
ip:value(dev.ip, dev.display)
|
||||
end
|
||||
dl = t:option(Value, "download", translate("Downloads"))
|
||||
dl.default = '0.1'
|
||||
dl.size = 4
|
||||
|
||||
ul = t:option(Value, "upload", translate("Uploads"))
|
||||
ul.default = '0.1'
|
||||
ul.size = 4
|
||||
function validate_time(self, value, section)
|
||||
local hh, mm, ss
|
||||
hh, mm, ss = string.match (value, "^(%d?%d):(%d%d)$")
|
||||
hh = tonumber (hh)
|
||||
mm = tonumber (mm)
|
||||
if hh and mm and hh <= 23 and mm <= 59 then
|
||||
return value
|
||||
else
|
||||
return nil, "Time HH:MM or space"
|
||||
end
|
||||
end
|
||||
|
||||
e = t:option(Value, "timestart", translate("Start control time"))
|
||||
e.placeholder = '00:00'
|
||||
e.default = '00:00'
|
||||
e.validate = validate_time
|
||||
e.rmempty = true
|
||||
e.size = 4
|
||||
|
||||
e = t:option(Value, "timeend", translate("Stop control time"))
|
||||
e.placeholder = '00:00'
|
||||
e.default = '00:00'
|
||||
e.validate = validate_time
|
||||
e.rmempty = true
|
||||
e.size = 4
|
||||
|
||||
week=t:option(Value,"week",translate("Week Day(1~7)"))
|
||||
week.rmempty = true
|
||||
week:value('0',translate("Everyday"))
|
||||
week:value(1,translate("Monday"))
|
||||
week:value(2,translate("Tuesday"))
|
||||
week:value(3,translate("Wednesday"))
|
||||
week:value(4,translate("Thursday"))
|
||||
week:value(5,translate("Friday"))
|
||||
week:value(6,translate("Saturday"))
|
||||
week:value(7,translate("Sunday"))
|
||||
week:value('1,2,3,4,5',translate("Workday"))
|
||||
week:value('6,7',translate("Rest Day"))
|
||||
week.default='0'
|
||||
week.size = 6
|
||||
|
||||
return a
|
||||
@@ -1,3 +0,0 @@
|
||||
<%+cbi/valueheader%>
|
||||
<font class="eqosplus_status"><%=pcdata(self:cfgvalue(section) or self.default or "")%></font>
|
||||
<%+cbi/valuefooter%>
|
||||
@@ -1,12 +0,0 @@
|
||||
<% include("cbi/map") %>
|
||||
<script type="text/javascript">//<![CDATA[
|
||||
XHR.poll(2, '<%=luci.dispatcher.build_url("admin", "control", "eqosplus", "status" )%>', null,
|
||||
function (x, result) {
|
||||
var status = document.getElementsByClassName('eqosplus_status')[0];
|
||||
status.setAttribute("style", "font-weight:bold;");
|
||||
status.setAttribute("color", result.status ? "green" : "red");
|
||||
status.innerHTML = result.status ? '<%=translate("RUNNING")%>' : '<%=translate("NOT RUNNING")%>';
|
||||
}
|
||||
)
|
||||
//]]>
|
||||
</script>
|
||||
@@ -1,61 +0,0 @@
|
||||
|
||||
msgid "Eqosplus"
|
||||
msgstr ""
|
||||
|
||||
msgid "Network speed limit"
|
||||
msgstr ""
|
||||
|
||||
msgid "Running state"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Users can limit the network speed for uploading/downloading through MAC, IP, and IP segments (192.168.110.00-192.168.10.200). The speed unit is MB/second."
|
||||
msgstr ""
|
||||
|
||||
msgid "MAC/IP"
|
||||
msgstr ""
|
||||
|
||||
msgid "Downloads"
|
||||
msgstr ""
|
||||
|
||||
msgid "Uploads"
|
||||
msgstr ""
|
||||
|
||||
msgid "Comment"
|
||||
msgstr ""
|
||||
|
||||
msgid "Upload bandwidth(Mbit/s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download bandwidth(Mbit/s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start control time"
|
||||
msgstr ""
|
||||
|
||||
msgid "Stop control time"
|
||||
msgstr ""
|
||||
|
||||
msgid "Week Day(1~7)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Suggested feedback:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Set the interface used for restriction, use pppoe-wan for dialing, use WAN hardware interface for DHCP mode (such as eth1), and use br-lan for bypass mode"
|
||||
msgstr ""
|
||||
|
||||
msgid "Rest Day"
|
||||
msgstr ""
|
||||
|
||||
msgid "Workday"
|
||||
msgstr ""
|
||||
|
||||
msgid "Automatic settings"
|
||||
msgstr ""
|
||||
|
||||
@@ -1,61 +0,0 @@
|
||||
|
||||
msgid "Eqosplus"
|
||||
msgstr "定时限速"
|
||||
|
||||
msgid "Network speed limit"
|
||||
msgstr "定时网速限制"
|
||||
|
||||
msgid "Running state"
|
||||
msgstr "运行状态"
|
||||
|
||||
msgid "Not running"
|
||||
msgstr "未运行"
|
||||
|
||||
msgid "Running"
|
||||
msgstr "已运行"
|
||||
|
||||
msgid "Users can limit the network speed for uploading/downloading through MAC, IP.The speed unit is MB/second."
|
||||
msgstr "可以通过MAC,IP限制用户上传/下载的网速。速度单位为<font color=\"red\"><b> MB/秒 </b></font>。"
|
||||
|
||||
msgid "MAC/IP"
|
||||
msgstr "MAC/IP"
|
||||
|
||||
msgid "Downloads"
|
||||
msgstr "下载速度"
|
||||
|
||||
msgid "Uploads"
|
||||
msgstr "上传速度"
|
||||
|
||||
msgid "Comment"
|
||||
msgstr "备注"
|
||||
|
||||
msgid "Upload bandwidth(Mbit/s)"
|
||||
msgstr "上传总带宽(Mbit/s)"
|
||||
|
||||
msgid "Download bandwidth(Mbit/s)"
|
||||
msgstr "下载总带宽(Mbit/s)"
|
||||
|
||||
msgid "Start control time"
|
||||
msgstr "起控时间"
|
||||
|
||||
msgid "Stop control time"
|
||||
msgstr "停控时间"
|
||||
|
||||
msgid "Week Day(1~7)"
|
||||
msgstr "星期(1~7)"
|
||||
|
||||
msgid "Suggested feedback:"
|
||||
msgstr "建议反馈:"
|
||||
|
||||
msgid "Set the interface used for restriction, use pppoe-wan for dialing, use WAN hardware interface for DHCP mode (such as eth1), and use br-lan for bypass mode"
|
||||
msgstr "设定用来限制网络速度的接口,拨号使用pppoe-wan,DHCP模式使用WAN口的硬件接口(如:eth1),通用使用br-lan接口"
|
||||
|
||||
msgid "Rest Day"
|
||||
msgstr "休息日"
|
||||
|
||||
msgid "Workday"
|
||||
msgstr "工作日"
|
||||
|
||||
msgid "Automatic settings"
|
||||
msgstr "自动设置"
|
||||
|
||||
@@ -1,61 +0,0 @@
|
||||
|
||||
msgid "Eqosplus"
|
||||
msgstr "定时限速"
|
||||
|
||||
msgid "Network speed limit"
|
||||
msgstr "定时网速限制"
|
||||
|
||||
msgid "Running state"
|
||||
msgstr "运行状态"
|
||||
|
||||
msgid "Not running"
|
||||
msgstr "未运行"
|
||||
|
||||
msgid "Running"
|
||||
msgstr "已运行"
|
||||
|
||||
msgid "Users can limit the network speed for uploading/downloading through MAC, IP, and IP segments (192.168.110.00-192.168.10.200). The speed unit is MB/second."
|
||||
msgstr "用户可以通过MAC、IP、IP段(192.168.10.100-192.168.10.200),限制上传/下载的网络速度。速度单位为MB/秒。。"
|
||||
|
||||
msgid "MAC/IP"
|
||||
msgstr "MAC/IP"
|
||||
|
||||
msgid "Downloads"
|
||||
msgstr "下载速度"
|
||||
|
||||
msgid "Uploads"
|
||||
msgstr "上传速度"
|
||||
|
||||
msgid "Comment"
|
||||
msgstr "备注"
|
||||
|
||||
msgid "Upload bandwidth(Mbit/s)"
|
||||
msgstr "上传总带宽(Mbit/s)"
|
||||
|
||||
msgid "Download bandwidth(Mbit/s)"
|
||||
msgstr "下载总带宽(Mbit/s)"
|
||||
|
||||
msgid "Start control time"
|
||||
msgstr "起控时间"
|
||||
|
||||
msgid "Stop control time"
|
||||
msgstr "停控时间"
|
||||
|
||||
msgid "Week Day(1~7)"
|
||||
msgstr "星期(1~7)"
|
||||
|
||||
msgid "Suggested feedback:"
|
||||
msgstr "建议反馈:"
|
||||
|
||||
msgid "Set the interface used for restriction, use pppoe-wan for dialing, use WAN hardware interface for DHCP mode (such as eth1), and use br-lan for bypass mode"
|
||||
msgstr "设定用来限制网络速度的接口,拨号使用pppoe-wan,DHCP模式使用WAN口的硬件接口(如:eth1),通用使用br-lan接口"
|
||||
|
||||
msgid "Rest Day"
|
||||
msgstr "休息日"
|
||||
|
||||
msgid "Workday"
|
||||
msgstr "工作日"
|
||||
|
||||
msgid "Automatic settings"
|
||||
msgstr "自动设置"
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
|
||||
config eqosplus
|
||||
option enabled '0'
|
||||
option download '1000'
|
||||
option upload '30'
|
||||
option ifname '1'
|
||||
|
||||
config device
|
||||
option timestart '00:00'
|
||||
option week '0'
|
||||
option download '1'
|
||||
option timeend '23:55'
|
||||
option upload '1'
|
||||
option mac '192.168.10.10'
|
||||
option enable '0'
|
||||
|
||||
config device
|
||||
option mac '192.168.10.10-192.168.10.200'
|
||||
option timestart '00:00'
|
||||
option timeend '00:00'
|
||||
option week '0'
|
||||
option download '0.1'
|
||||
option upload '0.1'
|
||||
option enable '0'
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
#!/bin/sh
|
||||
[ "$ACTION" = "ifup" ] && [ "$INTERFACE" = "wan" ] && {
|
||||
sleep 5
|
||||
/etc/init.d/eqosplus restart
|
||||
}
|
||||
@@ -1,54 +0,0 @@
|
||||
#!/bin/sh /etc/rc.common
|
||||
#
|
||||
# Copyright (C) 2025 sirpdboy herboy2008@gmail.com https://github.com/sirpdboy/luci-app-eqosplus
|
||||
#
|
||||
|
||||
START=99
|
||||
USE_PROCD=1
|
||||
|
||||
NAME=eqosplus
|
||||
LOCK="/var/lock/$NAME.lock"
|
||||
CR=/etc/crontabs/root
|
||||
|
||||
start_instance() {
|
||||
procd_open_instance
|
||||
procd_set_param command /usr/bin/eqosplusctrl
|
||||
procd_set_param respawn
|
||||
procd_set_param stderr 1
|
||||
procd_close_instance
|
||||
}
|
||||
|
||||
_eqosplus_start() {
|
||||
if [ "$(grep -c 'option enable .1.' /etc/config/$NAME 2>/dev/null)" -gt "0" ]; then
|
||||
if [ x$(uci -q get turboacc.config.sw_flow) = 'x1' ] || [ x$(uci -q get turboacc.config.sfe_flow) = 'x1' ] ;then
|
||||
uci -q set turboacc.config.sw_flow='0'
|
||||
uci -q set turboacc.config.sfe_flow='0'
|
||||
uci -q set turboacc.config.hw_flow='0'
|
||||
uci commit turboacc
|
||||
/etc/init.d/turboacc restart
|
||||
fi
|
||||
touch $LOCK
|
||||
eqosplus start
|
||||
start_instance
|
||||
(crontab -l ; echo "00 1 * * * /etc/init.d/eqosplus start") | sort - | uniq - | crontab -
|
||||
fi
|
||||
}
|
||||
|
||||
start_service(){
|
||||
[ -f $LOCK ] && exit
|
||||
stop_service
|
||||
_eqosplus_start
|
||||
rm -f $LOCK
|
||||
}
|
||||
|
||||
service_triggers() {
|
||||
procd_add_reload_trigger 'eqosplus'
|
||||
}
|
||||
|
||||
stop_service(){
|
||||
kill -9 $(busybox ps -w | grep 'eqosplusctrl' | grep -v 'grep' | awk '{print $1}') >/dev/null 2>&1
|
||||
sed -i '/eqosplus/d' $CR >/dev/null 2>&1
|
||||
rm -f $LOCK 2>/dev/null
|
||||
eqosplus stop
|
||||
}
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
#!/bin/sh
|
||||
chmod +x /etc/init.d/eqosplus /usr/bin/eqosplus*
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
delete ucitrack.@eqosplus[-1]
|
||||
add ucitrack eqosplus
|
||||
set ucitrack.@eqosplus[-1].init=eqosplus
|
||||
commit ucitrack
|
||||
EOF
|
||||
|
||||
[ -s /etc/config/eqosplus ] || echo "config eqosplus" > /etc/config/eqosplus
|
||||
|
||||
rm -f /tmp/luci-indexcache
|
||||
exit 0
|
||||
@@ -1,379 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright (C) 2006 OpenWrt.org
|
||||
# Copyright 2022-2025 sirpdboy <herboy2008@gmail.com>
|
||||
|
||||
crrun=$1
|
||||
crid=$2
|
||||
NAME=eqosplus
|
||||
IDLIST="/var/$NAME.idlist"
|
||||
LOCK="/var/lock/$NAME.lock"
|
||||
TMPID="/var/$NAME.tmpid"
|
||||
LOG="/var/$NAME_log.log"
|
||||
# idlist=`uci show $NAME | grep "enable='1'" | grep "device" | grep -oE '\[.*?\]' | grep -o '[0-9]' `
|
||||
|
||||
|
||||
if [ x$(uci get $NAME.@$NAME[0].ifname 2>/dev/null) = 'x1' ]; then
|
||||
ifname=$(uci -q get network.lan.ifname)
|
||||
[ "x$ifname" = "x" ] && ifname="device" || ifname="ifname"
|
||||
dev=$(uci -q get network.wan.$ifname)
|
||||
[ ! "$dev" ] && dev=br-lan
|
||||
else
|
||||
dev=$(uci -q get $NAME.@$NAME[0].ifname 2>/dev/null)
|
||||
[ ! "$dev" ] && dev=br-lan
|
||||
fi
|
||||
|
||||
bin_nft=$(which nft)
|
||||
bin_tc=$(which tc)
|
||||
bin_ip=$(which ip)
|
||||
DEBUG=1
|
||||
|
||||
nft_type() {
|
||||
if command -v nft >/dev/null; then
|
||||
nftables_ver="true"
|
||||
fi
|
||||
}
|
||||
|
||||
# Debug functions
|
||||
dbg_nft() {
|
||||
[ "${DEBUG:-0}" -eq 0 ] || echo "DEBUG: nft $*"
|
||||
$bin_nft "$@"
|
||||
}
|
||||
|
||||
dbg_tc() {
|
||||
[ "${DEBUG:-0}" -eq 0 ] || echo "DEBUG: tc $*"
|
||||
$bin_tc "$@"
|
||||
}
|
||||
|
||||
dbg_ip() {
|
||||
[ "${DEBUG:-0}" -eq 0 ] || echo "DEBUG: ip $*"
|
||||
$bin_ip "$@"
|
||||
}
|
||||
|
||||
is_macaddr() {
|
||||
ret=1
|
||||
if echo "$1" | grep -qE '^([0-9A-Fa-f]{2}[-:]){5}[0-9A-Fa-f]{2}$'; then
|
||||
ret=0
|
||||
fi
|
||||
return $ret
|
||||
}
|
||||
|
||||
# 数值比较函数
|
||||
is_gt_zero() {
|
||||
local value=$1
|
||||
# 使用bc进行浮点数比较
|
||||
echo "$value > 0" | bc -l 2>/dev/null | grep -q 1
|
||||
}
|
||||
|
||||
# 转换为kbit
|
||||
to_kbit() {
|
||||
local mb=$1
|
||||
# MB/s 转 kbit/s: 1 MB/s = 8192 kbit/s
|
||||
echo "scale=0; $mb * 8192 / 1" | bc 2>/dev/null || echo "0"
|
||||
}
|
||||
|
||||
# Default commands
|
||||
tc="dbg_tc"
|
||||
ip="dbg_ip"
|
||||
nft="dbg_nft"
|
||||
|
||||
nft_type
|
||||
|
||||
stop_qos() {
|
||||
for face in $(tc qdisc show 2>/dev/null | grep htb | awk '{print $5}'); do
|
||||
$tc qdisc del dev $face root 2>/dev/null
|
||||
done
|
||||
|
||||
$tc qdisc del dev ${dev} root 2>/dev/null
|
||||
$tc qdisc del dev ${dev}_ifb root 2>/dev/null
|
||||
$tc qdisc del dev ${dev} ingress 2>/dev/null
|
||||
$ip link del dev ${dev}_ifb 2>/dev/null 2>&1
|
||||
|
||||
if [ -n "$nftables_ver" ]; then
|
||||
$nft delete table inet ${NAME} 2>/dev/null
|
||||
$nft delete table bridge ${NAME} 2>/dev/null
|
||||
fi
|
||||
|
||||
echo "" > "$IDLIST" 2>/dev/null
|
||||
}
|
||||
|
||||
init_qosplus() {
|
||||
|
||||
insmod sch_htb 2>/dev/null
|
||||
insmod act_mirred 2>/dev/null
|
||||
insmod ifb 2>/dev/null
|
||||
|
||||
$ip link del dev ${dev}_ifb 2>/dev/null
|
||||
$ip link add dev ${dev}_ifb name ${dev}_ifb type ifb
|
||||
$ip link set dev ${dev}_ifb up
|
||||
|
||||
$tc qdisc del dev ${dev} root 2>/dev/null
|
||||
$tc qdisc add dev ${dev} root handle 1:0 htb default 1
|
||||
$tc class add dev ${dev} parent 1:0 classid 1:1 htb rate 1000mbit ceil 1000mbit
|
||||
|
||||
$tc qdisc del dev ${dev}_ifb root 2>/dev/null
|
||||
$tc qdisc add dev ${dev}_ifb root handle 1:0 htb default 1
|
||||
$tc class add dev ${dev}_ifb parent 1:0 classid 1:1 htb rate 1000mbit ceil 1000mbit
|
||||
lanipaddr=$(uci -q get network.lan.ipaddr 2>/dev/null | awk -F '.' '{print $1"."$2"."$3".0/24"}')
|
||||
if [ -n "$lanipaddr" ]; then
|
||||
$tc filter add dev $dev parent 1:0 protocol ip prio 1 u32 match ip src "$lanipaddr" match ip dst "$lanipaddr" flowid 1:1
|
||||
$tc filter add dev ${dev}_ifb parent 1:0 protocol ip prio 1 u32 match ip src "$lanipaddr" match ip dst "$lanipaddr" flowid 1:1
|
||||
fi
|
||||
$tc qdisc del dev ${dev} ingress 2>/dev/null
|
||||
$tc qdisc add dev ${dev} ingress
|
||||
$tc filter add dev ${dev} parent ffff: protocol all prio 2 u32 match u32 0 0 flowid 1:1 action mirred egress redirect dev ${dev}_ifb
|
||||
|
||||
if [ -n "$nftables_ver" ]; then
|
||||
$nft delete table inet ${NAME} 2>/dev/null
|
||||
$nft delete table bridge ${NAME} 2>/dev/null
|
||||
|
||||
$nft add table inet ${NAME}
|
||||
|
||||
$nft add chain inet ${NAME} mark_forward { type filter hook forward priority -200\; policy accept\; }
|
||||
$nft add chain inet ${NAME} mark_output { type filter hook output priority -200\; policy accept\; }
|
||||
$nft add chain inet ${NAME} mark_postrouting { type filter hook postrouting priority -200\; policy accept\; }
|
||||
fi
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
|
||||
del_id() {
|
||||
local list_id=$1
|
||||
id=$((list_id * 10 + 1000))
|
||||
[ "${DEBUG:-0}" -eq 0 ] || echo "D: del_id $@ --$id --$mac"
|
||||
$tc filter del dev ${dev} parent 1: handle 800::$(printf "%x" $id) 2>/dev/null
|
||||
$tc class del dev ${dev} parent 1:1 classid 1:$id 2>/dev/null
|
||||
$tc filter del dev ${dev}_ifb parent 1: handle 800::$(printf "%x" $id) 2>/dev/null
|
||||
$tc class del dev ${dev}_ifb parent 1:1 classid 1:$id 2>/dev/null
|
||||
mac=$(uci -q get $NAME.@device[$list_id].mac 2>/dev/null)
|
||||
if [ -n "$nftables_ver" ] && [ -n "$mac" ]; then
|
||||
if is_macaddr "$mac"; then
|
||||
$nft delete rule inet ${NAME} mark_forward ether saddr $mac counter 2>/dev/null
|
||||
$nft delete rule inet ${NAME} mark_output ether saddr $mac counter 2>/dev/null
|
||||
$nft delete rule inet ${NAME} mark_postrouting ether saddr $mac counter 2>/dev/null
|
||||
else
|
||||
Z=$(echo $mac | awk -F '[/]' '{print $2}')
|
||||
[ -n "$Z" ] && mac=$(echo $mac | awk -F '[/]' '{print $1}') || Z=32
|
||||
$nft delete rule inet ${NAME} mark_forward ip saddr $mac/$Z counter 2>/dev/null
|
||||
$nft delete rule inet ${NAME} mark_output ip saddr $mac/$Z counter 2>/dev/null
|
||||
$nft delete rule inet ${NAME} mark_postrouting ip saddr $mac/$Z counter 2>/dev/null
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
add_mac() {
|
||||
local list_id=$1
|
||||
id=$((list_id * 10 + 1000))
|
||||
M0=$(echo $mac | cut -d : -f 1)$(echo $mac | cut -d : -f 2)
|
||||
M1=$(echo $mac | cut -d : -f 3)$(echo $mac | cut -d : -f 4)
|
||||
M2=$(echo $mac | cut -d : -f 5)$(echo $mac | cut -d : -f 6)
|
||||
[ "${DEBUG:-0}" -eq 0 ] || echo "D: add_mac $@ --id:$id --mac:$mac M012--$M0-$M1-$M2"
|
||||
|
||||
if is_gt_zero "$UL"; then
|
||||
if [ -n "$nftables_ver" ]; then
|
||||
$nft add rule inet ${NAME} mark_forward ether saddr $mac counter meta mark set $id
|
||||
$nft add rule inet ${NAME} mark_output ether saddr $mac counter meta mark set $id
|
||||
$nft add rule inet ${NAME} mark_postrouting ether saddr $mac counter meta mark set $id
|
||||
fi
|
||||
$tc class add dev ${dev}_ifb parent 1:1 classid 1:$id htb rate "${UL}kbit" ceil "${UL}kbit" prio $id burst 15k cburst 15k
|
||||
$tc qdisc add dev ${dev}_ifb parent 1:$id handle ${id}: sfq perturb 10
|
||||
|
||||
$tc filter add dev ${dev}_ifb parent 1: protocol ip prio $id handle $id fw flowid 1:$id
|
||||
|
||||
$tc filter add dev ${dev}_ifb parent 1: protocol ip prio $((id + 100)) u32 \
|
||||
match u16 0x0800 0xFFFF at -2 \
|
||||
match u16 0x${M2} 0xFFFF at -4 \
|
||||
match u32 0x${M0}${M1} 0xFFFFFFFF at -8 \
|
||||
flowid 1:$id
|
||||
fi
|
||||
if is_gt_zero "$DL"; then
|
||||
$tc class add dev ${dev} parent 1:1 classid 1:$id htb rate "${DL}kbit" ceil "${DL}kbit" prio $id burst 15k cburst 15k
|
||||
$tc qdisc add dev ${dev} parent 1:$id handle ${id}: sfq perturb 10
|
||||
|
||||
$tc filter add dev ${dev} parent 1: protocol ip prio $id u32 \
|
||||
match u16 0x0800 0xFFFF at -2 \
|
||||
match u32 0x${M1}${M2} 0xFFFFFFFF at -12 \
|
||||
match u16 0x${M0} 0xFFFF at -14 \
|
||||
flowid 1:$id
|
||||
fi
|
||||
}
|
||||
|
||||
add_ip() {
|
||||
local list_id=$1
|
||||
id=$((list_id * 10 + 1000))
|
||||
[ "${DEBUG:-0}" -eq 0 ] || echo "D: add_ip $@ --$id --$mac"
|
||||
|
||||
Z=$(echo $mac | awk -F '[/]' '{print $2}')
|
||||
[ -n "$Z" ] && mac=$(echo $mac | awk -F '[/]' '{print $1}') || Z=32
|
||||
if is_gt_zero "$UL"; then
|
||||
if [ -n "$nftables_ver" ]; then
|
||||
$nft add rule inet ${NAME} mark_forward ip saddr $mac/$Z counter meta mark set $id
|
||||
$nft add rule inet ${NAME} mark_output ip saddr $mac/$Z counter meta mark set $id
|
||||
$nft add rule inet ${NAME} mark_postrouting ip saddr $mac/$Z counter meta mark set $id
|
||||
fi
|
||||
$tc class add dev ${dev}_ifb parent 1:1 classid 1:$id htb rate "${UL}kbit" ceil "${UL}kbit" prio $id burst 15k cburst 15k
|
||||
$tc qdisc add dev ${dev}_ifb parent 1:$id handle ${id}: sfq perturb 10
|
||||
$tc filter add dev ${dev}_ifb parent 1: protocol ip prio $id handle $id fw flowid 1:$id
|
||||
$tc filter add dev ${dev}_ifb parent 1:0 prio $((id + 100)) protocol ip u32 \
|
||||
match ip src "$mac"/"$Z" \
|
||||
flowid 1:$id
|
||||
fi
|
||||
if is_gt_zero "$DL"; then
|
||||
$tc class add dev ${dev} parent 1:1 classid 1:$id htb rate "${DL}kbit" ceil "${DL}kbit" prio $id burst 15k cburst 15k
|
||||
$tc qdisc add dev ${dev} parent 1:$id handle ${id}: sfq perturb 10
|
||||
$tc filter add dev ${dev} parent 1:0 prio $id protocol ip u32 \
|
||||
match ip dst "$mac"/"$Z" \
|
||||
flowid 1:$id
|
||||
fi
|
||||
}
|
||||
|
||||
check_time() {
|
||||
local start=$1
|
||||
local end=$2
|
||||
local current=$(date +%H%M)
|
||||
local start_min=$((10#${start:0:2}*60 + 10#${start:3:2}))
|
||||
local end_min=$((10#${end:0:2}*60 + 10#${end:3:2}))
|
||||
local current_min=$((10#${current:0:2}*60 + 10#${current:2:2}))
|
||||
|
||||
if [[ $start_min -lt $end_min ]]; then
|
||||
[[ $current_min -ge $start_min && $current_min -lt $end_min ]]
|
||||
else
|
||||
[[ $current_min -ge $start_min || $current_min -lt $end_min ]]
|
||||
fi
|
||||
}
|
||||
|
||||
check_list() {
|
||||
local i=$1
|
||||
local start_time=$(uci -q get $NAME.@device[$i].timestart 2>/dev/null)
|
||||
local end_time=$(uci -q get $NAME.@device[$i].timeend 2>/dev/null)
|
||||
local wweek=$(uci -q get $NAME.@device[$i].week 2>/dev/null)
|
||||
local current_weekday=$(date +%u)
|
||||
[ -z "$start_time" ] && [ -z "$end_time" ] && [ -z "$wweek" ] && return 0
|
||||
|
||||
if [ -n "$wweek" ] && [ "$wweek" != "0" ]; then
|
||||
local day_match=0
|
||||
for day in $(echo $wweek | tr ',' ' '); do
|
||||
[ "$day" -eq "$current_weekday" ] && day_match=1 && break
|
||||
done
|
||||
[ "$day_match" -eq 0 ] && return 1
|
||||
fi
|
||||
|
||||
if [ -n "$start_time" ] && [ -n "$end_time" ]; then
|
||||
check_time "$start_time" "$end_time" || return 1
|
||||
fi
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
case "$crrun" in
|
||||
"stop")
|
||||
stop_qos
|
||||
;;
|
||||
"start")
|
||||
stop_qos > /dev/null 2>&1
|
||||
sleep 2
|
||||
init_qosplus
|
||||
idlist=$(uci show $NAME 2>/dev/null | grep "enable='1'" | grep "device" | grep -oE '\[.*?\]' | grep -o '[0-9]' | sort -nu | sed -e 's/^/!/g' -e 's/$/!/g' > $IDLIST; cat $IDLIST 2>/dev/null | sed -e 's/!//g')
|
||||
|
||||
if [ ! -s "$IDLIST" ]; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
device_count=0
|
||||
for list in $(echo $idlist | sed -e 's/!//g'); do
|
||||
if check_list $list; then
|
||||
mac=$(uci -q get $NAME.@device[$list].mac 2>/dev/null)
|
||||
download_mb=$(uci -q get $NAME.@device[$list].download 2>/dev/null)
|
||||
upload_mb=$(uci -q get $NAME.@device[$list].upload 2>/dev/null)
|
||||
comment=$(uci -q get $NAME.@device[$list].comment 2>/dev/null)
|
||||
|
||||
# 转换为kbit
|
||||
DL=$(to_kbit "$download_mb")
|
||||
UL=$(to_kbit "$upload_mb")
|
||||
|
||||
if [ -n "$mac" ]; then
|
||||
if is_macaddr "$mac"; then
|
||||
add_mac $list >>$LOG
|
||||
echo "✅ MAC限速: $comment ($mac) - 下载:${download_mb}MB/s(${DL}kbit/s) 上传:${upload_mb}MB/s(${UL}kbit/s)" >>$LOG
|
||||
else
|
||||
add_ip $list >>$LOG
|
||||
echo "✅ IP限速: $comment ($mac) - 下载:${download_mb}MB/s(${DL}kbit/s) 上传:${upload_mb}MB/s(${UL}kbit/s)" >>$LOG
|
||||
fi
|
||||
device_count=$((device_count + 1))
|
||||
fi
|
||||
else
|
||||
[ -f "$IDLIST" ] && [ $(grep "!${list}!" "$IDLIST" 2>/dev/null | wc -l) -gt 0 ] && {
|
||||
del_id $list >>$LOG
|
||||
sed -i "/!$list!/d" "$IDLIST" >/dev/null 2>&1
|
||||
comment=$(uci -q get $NAME.@device[$list].comment 2>/dev/null)
|
||||
}
|
||||
fi
|
||||
done
|
||||
echo "EQOSPLUS限速服务启动完成,共配置 $device_count 个设备" >>$LOG
|
||||
echo ""
|
||||
echo "当前限速状态:" >>$LOG
|
||||
tc -s class show dev $dev | grep "rate" | head -5 >>$LOG
|
||||
tc -s class show dev ${dev}_ifb | grep "rate" | head -5 >>$LOG
|
||||
|
||||
;;
|
||||
"add")
|
||||
echo "➕ 添加限速规则..."
|
||||
for list in $(echo $crid | sed -e 's/!//g' | sed 's/,/ /g'); do
|
||||
mac=$(uci -q get $NAME.@device[$list].mac 2>/dev/null)
|
||||
download_mb=$(uci -q get $NAME.@device[$list].download 2>/dev/null)
|
||||
upload_mb=$(uci -q get $NAME.@device[$list].upload 2>/dev/null)
|
||||
comment=$(uci -q get $NAME.@device[$list].comment 2>/dev/null)
|
||||
DL=$(to_kbit "$download_mb")
|
||||
UL=$(to_kbit "$upload_mb")
|
||||
|
||||
if is_macaddr $mac; then
|
||||
add_mac $list
|
||||
echo "✅ 添加MAC限速: $comment ($mac)" >>$LOG
|
||||
else
|
||||
add_ip $list
|
||||
echo "✅ 添加IP限速: $comment ($mac)" >>$LOG
|
||||
fi
|
||||
done
|
||||
;;
|
||||
"del")
|
||||
for list in $(echo $crid | sed -e 's/!//g' | sed 's/,/ /g'); do
|
||||
comment=$(uci -q get $NAME.@device[$list].comment 2>/dev/null)
|
||||
mac=$(uci -q get $NAME.@device[$list].mac 2>/dev/null)
|
||||
del_id $list
|
||||
done
|
||||
;;
|
||||
"status")
|
||||
echo "EQOSPLUS限速服务状态"
|
||||
echo "### 网络接口: $dev ###"
|
||||
echo "# 下载队列统计 #"
|
||||
tc -s qdisc show dev $dev 2>/dev/null || echo "无下载队列"
|
||||
echo "# 下载类统计 #"
|
||||
tc -s class show dev $dev 2>/dev/null | grep -E "class htb|rate [0-9]" || echo "无下载类"
|
||||
echo "# 下载过滤器 #"
|
||||
tc -s filter show dev $dev parent 1: 2>/dev/null | head -10 || echo "无下载过滤器"
|
||||
|
||||
echo "### 虚拟接口: ${dev}_ifb ###"
|
||||
echo "# 上传队列统计 #"
|
||||
tc -s qdisc show dev ${dev}_ifb 2>/dev/null || echo "无上传队列"
|
||||
echo "# 上传类统计 #"
|
||||
tc -s class show dev ${dev}_ifb 2>/dev/null | grep -E "class htb|rate [0-9]" || echo "无上传类"
|
||||
echo "# 上传过滤器 #"
|
||||
tc -s filter show dev ${dev}_ifb parent 1: 2>/dev/null | head -10 || echo "无上传过滤器"
|
||||
|
||||
if [ -n "$nftables_ver" ]; then
|
||||
echo "### NFTables规则 ###"
|
||||
nft list table inet ${NAME} 2>/dev/null || echo "没有NFTables规则"
|
||||
else
|
||||
echo "NFTables不可用"
|
||||
fi
|
||||
|
||||
# 显示流量统计
|
||||
echo "### 流量统计 ###"
|
||||
echo "下载流量:"
|
||||
tc -s class show dev $dev 2>/dev/null | grep "Sent" | head -5
|
||||
echo "上传流量:"
|
||||
tc -s class show dev ${dev}_ifb 2>/dev/null | grep "Sent" | head -5
|
||||
;;
|
||||
|
||||
esac
|
||||
@@ -1,63 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Copyright (C) 2006 OpenWrt.org
|
||||
# Copyright 2022-2025 sirpdboy <herboy2008@gmail.com>
|
||||
NAME=eqosplus
|
||||
IDLIST="/var/$NAME.idlist"
|
||||
TMPID="/var/$NAME.tmpid"
|
||||
|
||||
idlist=`uci show $NAME | grep "enable='1'" | grep "device" | grep -oE '\[.*?\]' | grep -o '[0-9]' `
|
||||
|
||||
check_list() {
|
||||
i=$1
|
||||
checki='0'
|
||||
start_time=$(uci -q get $NAME.@device[$i].timestart 2>/dev/null)
|
||||
end_time=$(uci -q get $NAME.@device[$i].timeend 2>/dev/null)
|
||||
wweek=`uci -q get $NAME.@device[$i].week `
|
||||
current_time=$(date +%H:%M)
|
||||
current_weekday=$(date +%u)
|
||||
for ww in `echo $wweek | sed 's/,/ /g' `; do
|
||||
if [ $current_weekday = $ww ] || [ 'x0' = x$ww ] ;then
|
||||
[ "$start_time" = "$end_time" ] && checki='1' || {
|
||||
if [ "$start_time" \< "$end_time" ]; then
|
||||
if [ "$current_time" \> "$start_time" ] && [ "$current_time" \< "$end_time" ] ; then
|
||||
checki='1'
|
||||
fi
|
||||
else
|
||||
if [ "$start_time" \> "$end_time" ] ; then
|
||||
if [ "$current_time" \< "$start_time" ] && [ "$current_time" \> "$end_time" ] ; then
|
||||
checki='1'
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
}
|
||||
fi
|
||||
done
|
||||
return
|
||||
}
|
||||
|
||||
idlistusr(){
|
||||
checki='0'
|
||||
[ -s $IDLIST ] || touch $IDLIST
|
||||
for list in $idlist ;do
|
||||
check_list $list
|
||||
if [ $checki == '1' ] ; then
|
||||
[ `cat $IDLIST 2>/dev/null | grep "!${list}!" | wc -l ` -gt 0 ] || {
|
||||
eqosplus add $list
|
||||
echo "!${list}!" >> $IDLIST ; cat $IDLIST | sort | uniq > $TMPID ;cat $TMPID >$IDLIST ;rm -rf $TMPID
|
||||
}
|
||||
else
|
||||
[ `cat $IDLIST 2>/dev/null | grep "!${list}!" | wc -l ` -gt 0 ] && {
|
||||
eqosplus del $list
|
||||
sed -i "/!$list!/d" $IDLIST >/dev/null 2>&1
|
||||
}
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
while :;do
|
||||
sleep 30
|
||||
idlistusr
|
||||
sleep 30
|
||||
done
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"luci-app-eqosplus": {
|
||||
"description": "Grant UCI access for luci-app-eqosplus",
|
||||
"read": {
|
||||
"uci": [ "eqosplus" ]
|
||||
},
|
||||
"write": {
|
||||
"uci": [ "eqosplus" ]
|
||||
}
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 585 KiB |
@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
|
||||
LUCI_TITLE:=LuCI support for fastnet
|
||||
LUCI_DEPENDS:=+fastnet +luci-lib-linkeaseauth +linkease-app-entry
|
||||
LUCI_PKGARCH:=all
|
||||
PKG_VERSION:=0.8.0-r5
|
||||
PKG_VERSION:=0.8.1-r5
|
||||
PKG_RELEASE:=
|
||||
LUCI_MINIFY_CSS:=0
|
||||
LUCI_MINIFY_JS:=0
|
||||
|
||||
@@ -5,18 +5,18 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=luci-app-honk
|
||||
PKG_VERSION:=2026.11.08.4
|
||||
PKG_VERSION:=2026.11.09.1
|
||||
PKG_RELEASE:=1
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
|
||||
|
||||
PKG_SOURCE:=doona-46e153cf-c6229ba102e8.tar.gz
|
||||
PKG_SOURCE:=doona-4c1f6f3f-b31c684694ae.tar.gz
|
||||
# Each package Makefile is evaluated on its own, so this tag is defined here too
|
||||
# instead of relying on the honk package's variable. It must match honk/Makefile:
|
||||
# scripts/check.sh enforces that.
|
||||
HONK_SOURCE_TAG?=source-41792584995
|
||||
HONK_SOURCE_TAG?=source-42576464746
|
||||
PKG_SOURCE_URL?=https://github.com/kenzok8/openwrt-honk/releases/download/$(HONK_SOURCE_TAG)
|
||||
PKG_SOURCE_SUBDIR:=doona
|
||||
PKG_HASH:=c6229ba102e867407540b3ec220595eff6ed63d7ae0037377432281977c9cf86
|
||||
PKG_HASH:=b31c684694ae6329f51a1c3e9b08aaa428e6a118789e204ac727ac024dce26f3
|
||||
|
||||
-include $(CURDIR)/generated-doona-stage.mk
|
||||
|
||||
|
||||
@@ -26,8 +26,8 @@ vkey = s:option(Value, "vkey", translate("vkey"), translate("(vkey) e.g. vkey1,v
|
||||
vkey.password = true
|
||||
vkey.rmempty = false
|
||||
|
||||
protocol = s:option(Value, "protocol", translate("Protocol Type"), translate("(tcp|tls|kcp) e.g. tcp,tls..."))
|
||||
protocol.default = "tcp"
|
||||
protocol = s:option(Value, "protocol", translate("Protocol Type"), translate("(tls|quic|wss|tcp) e.g. tls,quic..."))
|
||||
protocol.default = "tls"
|
||||
|
||||
dns = s:option(Value, "dns", translate("DNS Server"), translate("e.g. 8.8.8.8"))
|
||||
dns.default = ""
|
||||
|
||||
@@ -10,8 +10,8 @@ msgstr "(host:port) 例如: xxx.com:8024,yyy.com:8025..."
|
||||
msgid "(vkey) e.g. vkey1,vkey2..."
|
||||
msgstr "(vkey) 例如: vkey1,vkey2..."
|
||||
|
||||
msgid "(tcp|tls|kcp) e.g. tcp,tls..."
|
||||
msgstr "(tcp|tls|kcp) 例如: tcp,tls..."
|
||||
msgid "(tls|quic|wss|tcp) e.g. tls,quic..."
|
||||
msgstr "(tls|quic|wss|tcp) 例如: tls,quic..."
|
||||
|
||||
msgid "e.g. 8.8.8.8"
|
||||
msgstr "例如: 8.8.8.8"
|
||||
|
||||
@@ -10,8 +10,8 @@ msgstr "(host:port) 例如: xxx.com:8024,yyy.com:8025..."
|
||||
msgid "(vkey) e.g. vkey1,vkey2..."
|
||||
msgstr "(vkey) 例如: vkey1,vkey2..."
|
||||
|
||||
msgid "(tcp|tls|kcp) e.g. tcp,tls..."
|
||||
msgstr "(tcp|tls|kcp) 例如: tcp,tls..."
|
||||
msgid "(tls|quic|wss|tcp) e.g. tls,quic..."
|
||||
msgstr "(tls|quic|wss|tcp) 例如: tls,quic..."
|
||||
|
||||
msgid "e.g. 8.8.8.8"
|
||||
msgstr "例如: 8.8.8.8"
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
config npc
|
||||
option enable '0'
|
||||
option server_addr '1.2.3.4:123'
|
||||
option protocol 'tcp'
|
||||
option protocol 'tls'
|
||||
option vkey 'abcdefg'
|
||||
option dns ''
|
||||
option extra_args '-debug=false -log=off'
|
||||
|
||||
@@ -1029,16 +1029,16 @@ add_firewall_rule() {
|
||||
[ -n "$ISP_DNS" ] && {
|
||||
#echolog "处理 ISP DNS 例外..."
|
||||
for ispip in $ISP_DNS; do
|
||||
ipset -! add $IPSET_WHITE $ispip timeout 0
|
||||
echolog " - [$?]追加ISP IPv4 DNS到白名单:${ispip}"
|
||||
ipset -! add $IPSET_VPS $ispip
|
||||
echolog " - [$?]追加ISP IPv4 DNS到ipset[$IPSET_VPS]:${ispip}"
|
||||
done
|
||||
}
|
||||
|
||||
[ -n "$ISP_DNS6" ] && {
|
||||
#echolog "处理 ISP IPv6 DNS 例外..."
|
||||
for ispip6 in $ISP_DNS6; do
|
||||
ipset -! add $IPSET_WHITE6 $ispip6 timeout 0
|
||||
echolog " - [$?]追加ISP IPv6 DNS到白名单:${ispip6}"
|
||||
ipset -! add $IPSET_VPS6 $ispip6
|
||||
echolog " - [$?]追加ISP IPv6 DNS到ipset[$IPSET_VPS6]:${ispip6}"
|
||||
done
|
||||
}
|
||||
|
||||
@@ -1468,7 +1468,7 @@ del_firewall_rule() {
|
||||
destroy_ipset $IPSET_WAN
|
||||
destroy_ipset $IPSET_LAN
|
||||
destroy_ipset $IPSET_VPS
|
||||
#destroy_ipset $IPSET_SHUNT
|
||||
destroy_ipset $IPSET_SHUNT
|
||||
#destroy_ipset $IPSET_GFW
|
||||
#destroy_ipset $IPSET_CHN
|
||||
#destroy_ipset $IPSET_BLACK
|
||||
@@ -1479,13 +1479,18 @@ del_firewall_rule() {
|
||||
destroy_ipset $IPSET_WAN6
|
||||
destroy_ipset $IPSET_LAN6
|
||||
destroy_ipset $IPSET_VPS6
|
||||
#destroy_ipset $IPSET_SHUNT6
|
||||
destroy_ipset $IPSET_SHUNT6
|
||||
#destroy_ipset $IPSET_GFW6
|
||||
#destroy_ipset $IPSET_CHN6
|
||||
#destroy_ipset $IPSET_BLACK6
|
||||
destroy_ipset $IPSET_BLOCK6
|
||||
destroy_ipset $IPSET_WHITE6
|
||||
|
||||
local ipset_name
|
||||
for ipset_name in $(ipset list -name 2>/dev/null | grep -E '^psw_.+_shunt6?$'); do
|
||||
destroy_ipset "$ipset_name"
|
||||
done
|
||||
|
||||
echolog "删除 iptables 规则完成。"
|
||||
}
|
||||
|
||||
|
||||
@@ -224,7 +224,7 @@ gen_nftset() {
|
||||
if [ "$timeout_argument_set" = "0" ]; then
|
||||
nft "add set $NFTABLE_NAME $nftset_name { type $ip_type; flags interval; auto-merge; }"
|
||||
else
|
||||
nft "add set $NFTABLE_NAME $nftset_name { type $ip_type; flags interval, timeout; timeout $timeout_argument_set; gc-interval $gc_interval_time; auto-merge; }"
|
||||
nft "add set $NFTABLE_NAME $nftset_name { type $ip_type; flags interval, timeout; timeout $timeout_argument_set; gc-interval $gc_interval_time; }"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
@@ -1102,17 +1102,17 @@ add_firewall_rule() {
|
||||
|
||||
[ -n "$ISP_DNS" ] && {
|
||||
#echolog "处理 ISP DNS 例外..."
|
||||
echo "$ISP_DNS" | insert_nftset $NFTSET_WHITE
|
||||
echo "$ISP_DNS" | insert_nftset $NFTSET_VPS
|
||||
for ispip in $ISP_DNS; do
|
||||
echolog " - [$?]追加ISP IPv4 DNS到白名单:${ispip}"
|
||||
echolog " - [$?]追加ISP IPv4 DNS到nftset[$NFTSET_VPS]:${ispip}"
|
||||
done
|
||||
}
|
||||
|
||||
[ -n "$ISP_DNS6" ] && {
|
||||
#echolog "处理 ISP IPv6 DNS 例外..."
|
||||
echo $ISP_DNS6 | insert_nftset $NFTSET_WHITE6
|
||||
echo "$ISP_DNS6" | insert_nftset $NFTSET_VPS6
|
||||
for ispip6 in $ISP_DNS6; do
|
||||
echolog " - [$?]追加ISP IPv6 DNS到白名单:${ispip6}"
|
||||
echolog " - [$?]追加ISP IPv6 DNS到nftset[$NFTSET_VPS6]:${ispip6}"
|
||||
done
|
||||
}
|
||||
|
||||
@@ -1549,6 +1549,11 @@ del_firewall_rule() {
|
||||
destroy_nftset $NFTSET_BLOCK6 $NFTSET_BLOCK6_STATIC
|
||||
destroy_nftset $NFTSET_WHITE6 $NFTSET_WHITE6_STATIC
|
||||
|
||||
local nftset
|
||||
for nftset in $(nft -t list table $NFTABLE_NAME 2>/dev/null | awk '$1 == "set" && $2 ~ /^psw_.+_shunt6?_static$/ {print $2}'); do
|
||||
destroy_nftset "$nftset"
|
||||
done
|
||||
|
||||
del_script_mwan3
|
||||
|
||||
echolog "删除 nftables 规则完成。"
|
||||
|
||||
+13
-13
@@ -3,7 +3,7 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=npc
|
||||
PKG_VERSION:=0.34.10
|
||||
PKG_VERSION:=0.35.0
|
||||
PKG_RELEASE:=1
|
||||
PKG_LICENSE:=Apache-2.0
|
||||
PKG_MAINTAINER:=Duan <duan@d-jy.net>
|
||||
@@ -57,18 +57,18 @@ PKG_SOURCE_URL:=$(NPS_URL)/releases/download/v$(PKG_VERSION)/
|
||||
|
||||
# === NPC_HASH_TABLE_START ===
|
||||
NPC_HASHES:= \
|
||||
amd64=6fb4d31a7eb935a48ac44af3126585afdfe943252be31abb43ad89edc9f915ea \
|
||||
386=efc8a00aeac6da705157a9db9845253a137fedf92819a5ce430343c58b85490c \
|
||||
arm64=00776cd32ced50782a0f7a865188ec7bd3a74cc0c696231e13bb430b1b160e89 \
|
||||
arm_v7=790f71252ea5159c8bf12570eb008547c1cc93575fa3af0e001f9ef577a82b07 \
|
||||
arm_v6=d9cca30059a7c8c54daef7549909f63441ede9f9923f69dae19c9b1331cfcb1e \
|
||||
arm_v5=14905e919e456950bc44ef4deec8fe85e6fcb7acb493f09524c15ab7f0966b72 \
|
||||
mips_softfloat=890ba11616cecd816151752f255ad50878b1a802a8fde60db9179abad3af913d \
|
||||
mipsle_softfloat=ffed85341a28cd7b65d3369ce9ce3ba7af9980639525e2e2aefd4203f161cdeb \
|
||||
mips64=6e1a22aba059d1e1001d633d9f2bb667b5a44a75d19c0686cff7bb57633bbdce \
|
||||
mips64le=bf166630213be3fefaf72f77169e72de06fc6713c5b5c3f5483327cc1b26506f \
|
||||
loong64=0e7895be83e8cca813eeadd804b337e98f03de99a0b99fdc30a08e9b0a6afba4 \
|
||||
riscv64=20628229bd41803eaa8fbbc7535fbfd20cbd4666ee3d4d9ad7360285845abe30
|
||||
amd64=57428999508b9dbdf05dc78b6ef57ef521838116c112b53e5bec593c34bbb541 \
|
||||
386=26b66a4d5549e1cc87e968a3fa029ea7d8d6d0f5e0b6ba4929176c115fc01cc3 \
|
||||
arm64=8765aa1297c6009250dbdfaabb1235f4351f9853dfdebef13074e6e12dd16cfb \
|
||||
arm_v7=edbb5bd7fcc2ec276fe40b83e26b27f22737e3ab8229d17157fa511c940e0e2c \
|
||||
arm_v6=eec4c07b53722cfd42c9cf7046d15175c66f9e26bc201f53e9aa48b5d4c68a3f \
|
||||
arm_v5=85517a93bf0d6ae0bcacac8c2b2e6918ef9680c6c82c8aa5bd58cdf65ab9b6a8 \
|
||||
mips_softfloat=db40439d273ed12d9890b6a1a874176be457f37a7cd1f34589bef98574505360 \
|
||||
mipsle_softfloat=cdea4e4faaca49d0bc27464620fba89e02b7f564dace67ca731a7c5ca0251802 \
|
||||
mips64=df53ba64750969f6b9dc184b66d02d1badb2bde56a3f7a6c7a3b855b86e9df66 \
|
||||
mips64le=17fcfcfeac4ce8daf606b703305b300574b198f04afaa4780720d065c45582db \
|
||||
loong64=defe678743cdeae2eb2defe990bc960e2273e8c881d98dff564b713986f81553 \
|
||||
riscv64=8401405e3e0cb8b2e89312b9755789424a10e5ef7cd4395d712cd949b03883d8
|
||||
# === NPC_HASH_TABLE_END ===
|
||||
|
||||
PKG_HASH:=$(strip $(foreach pair,$(NPC_HASHES), $(if $(findstring $(NPC_ARCH),$(pair)),$(word 2, $(subst =, ,$(pair))))))
|
||||
|
||||
+2
-2
@@ -5,12 +5,12 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=smartdns
|
||||
PKG_VERSION:=48.4
|
||||
PKG_VERSION:=48.5-RC1
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://codeload.github.com/pymumu/smartdns/tar.gz/Release$(PKG_VERSION)?
|
||||
PKG_HASH:=b07abba99e921f262ba47588e12f5b36dd849f79c0145542440eb6b7eed80553
|
||||
PKG_HASH:=5aee2b7608fd0a8eebf6b7a372a6b3ddac3aeab199728a487c184b517526f5ee
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-Release$(PKG_VERSION)
|
||||
|
||||
PKG_MAINTAINER:=Nick Peng <pymumu@gmail.com>
|
||||
|
||||
+3
-3
@@ -5,12 +5,12 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=v2rayA
|
||||
PKG_VERSION:=2.5.13
|
||||
PKG_VERSION:=2.5.14
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://codeload.github.com/v2rayA/v2rayA/tar.gz/v$(PKG_VERSION)?
|
||||
PKG_HASH:=20f03a9143231e2f04b74cdcb7125c6a44b450a4a28fac92b3e64c13916ec4d9
|
||||
PKG_HASH:=a3b0cf45f1ebd3c76cc54382c0e34774217f04fcc5582ad3c5762f40b3669c44
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)/service
|
||||
|
||||
PKG_LICENSE:=AGPL-3.0-only
|
||||
@@ -60,7 +60,7 @@ define Download/v2raya-web
|
||||
URL:=https://github.com/v2rayA/v2rayA/releases/download/v$(PKG_VERSION)/
|
||||
URL_FILE:=web.tar.gz
|
||||
FILE:=$(WEB_FILE)
|
||||
HASH:=76774f195ee74604fbc43a48fe74e5f3363e81ec68af02d1c26feeeacc0f63ae
|
||||
HASH:=29091e720da625d6ba42d15f46e1ca3124ba23ea78ce23629605cad5319d8817
|
||||
endef
|
||||
|
||||
define Build/Prepare
|
||||
|
||||
+2
-2
@@ -1,12 +1,12 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=xray-core
|
||||
PKG_VERSION:=26.10.31
|
||||
PKG_VERSION:=26.11.9
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://codeload.github.com/XTLS/Xray-core/tar.gz/v$(PKG_VERSION)?
|
||||
PKG_HASH:=be44f95d497ad4ba6e9d1dcfbbd71e8e51f812aff077d4c15c9947eff5e3046a
|
||||
PKG_HASH:=d5a47bed1b85e1cdfe3cb2f88a02e2db7144f0f8bee541d20b84fafa8fdf6c8d
|
||||
|
||||
PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
|
||||
PKG_LICENSE:=MPL-2.0
|
||||
|
||||
Reference in new issue
Block a user