diff --git a/clashoo/files/usr/share/clashoo/nftables/geoip6_cn.nft b/clashoo/files/usr/share/clashoo/nftables/geoip6_cn.nft index daf98391..8c529b73 100644 --- a/clashoo/files/usr/share/clashoo/nftables/geoip6_cn.nft +++ b/clashoo/files/usr/share/clashoo/nftables/geoip6_cn.nft @@ -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, diff --git a/clashoo/files/usr/share/clashoo/nftables/geoip_cn.nft b/clashoo/files/usr/share/clashoo/nftables/geoip_cn.nft index 37b39911..18befeb0 100644 --- a/clashoo/files/usr/share/clashoo/nftables/geoip_cn.nft +++ b/clashoo/files/usr/share/clashoo/nftables/geoip_cn.nft @@ -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, diff --git a/clashoo/files/usr/share/clashoo/ruleset/cn-ip.srs b/clashoo/files/usr/share/clashoo/ruleset/cn-ip.srs index 03e9ee7f..29c86af0 100644 Binary files a/clashoo/files/usr/share/clashoo/ruleset/cn-ip.srs and b/clashoo/files/usr/share/clashoo/ruleset/cn-ip.srs differ diff --git a/clashoo/files/usr/share/clashoo/ruleset/geolocation-!cn.srs b/clashoo/files/usr/share/clashoo/ruleset/geolocation-!cn.srs index b1101499..aa25f70b 100644 Binary files a/clashoo/files/usr/share/clashoo/ruleset/geolocation-!cn.srs and b/clashoo/files/usr/share/clashoo/ruleset/geolocation-!cn.srs differ diff --git a/clashoo/files/usr/share/clashoo/ruleset/geosite-cn.srs b/clashoo/files/usr/share/clashoo/ruleset/geosite-cn.srs index 9e4d515d..ed14dfc0 100644 Binary files a/clashoo/files/usr/share/clashoo/ruleset/geosite-cn.srs and b/clashoo/files/usr/share/clashoo/ruleset/geosite-cn.srs differ diff --git a/dae/Makefile b/dae/Makefile index 787e3e2b..a413a6c9 100644 --- a/dae/Makefile +++ b/dae/Makefile @@ -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 diff --git a/daed/Makefile b/daed/Makefile index 0b511ee8..7ac84429 100644 --- a/daed/Makefile +++ b/daed/Makefile @@ -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 diff --git a/ddns-go/Makefile b/ddns-go/Makefile index 9d7ccb7b..263d4700 100644 --- a/ddns-go/Makefile +++ b/ddns-go/Makefile @@ -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 diff --git a/honk/Makefile b/honk/Makefile index 7d0b2ff4..ec453ec3 100644 --- a/honk/Makefile +++ b/honk/Makefile @@ -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. diff --git a/honk/files/config.dae b/honk/files/config.dae index 4a9eaaa9..fc6228ab 100644 --- a/honk/files/config.dae +++ b/honk/files/config.dae @@ -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 } diff --git a/luci-app-eqosplus/.github/workflows/main.yml b/luci-app-eqosplus/.github/workflows/main.yml deleted file mode 100644 index 3258ec29..00000000 --- a/luci-app-eqosplus/.github/workflows/main.yml +++ /dev/null @@ -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" diff --git a/luci-app-eqosplus/LICENSE b/luci-app-eqosplus/LICENSE deleted file mode 100644 index 574c7ac3..00000000 --- a/luci-app-eqosplus/LICENSE +++ /dev/null @@ -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. diff --git a/luci-app-eqosplus/Makefile b/luci-app-eqosplus/Makefile deleted file mode 100644 index 91e501b7..00000000 --- a/luci-app-eqosplus/Makefile +++ /dev/null @@ -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 - -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 - diff --git a/luci-app-eqosplus/README.md b/luci-app-eqosplus/README.md deleted file mode 100644 index d2707f57..00000000 --- a/luci-app-eqosplus/README.md +++ /dev/null @@ -1,91 +0,0 @@ -![hello](https://views.whatilearened.today/views/github/sirpdboy/deplives.svg) [![](https://img.shields.io/badge/TG群-点击加入-FFFFFF.svg)](https://t.me/joinchat/AAAAAEpRF88NfOK5vBXGBQ) - -

-
luci-app-eqosplus
-

- -

-OpenWrt -Chrome -Safari -Firefox - GitHub release -Downloads -

- -[中文] | [English](README.md) - -![screenshots](https://raw.githubusercontent.com/sirpdboy/openwrt/master/doc/说明1.jpg) - -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 - -![screenshots](https://raw.githubusercontent.com/sirpdboy/openwrt/master/doc/说明2.jpg) - - -## interface - -![screenshots](./doc/eqosplus0.png) - -![screenshots](./doc/eqosplus1.png) - -![screenshots](https://raw.githubusercontent.com/sirpdboy/openwrt/master/doc/eqosplus.png) - -![screenshots](https://raw.githubusercontent.com/sirpdboy/openwrt/master/doc/eqosplus2.png) - - -# 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 - -| 图飞了 | 图飞了 | -| :-----------------: | :-------------: | -|![xm1](https://raw.githubusercontent.com/sirpdboy/openwrt/master/doc/支付宝.png) | ![xm1](https://raw.githubusercontent.com/sirpdboy/openwrt/master/doc/微信.png) | - - - no - - -![hello](https://visitor-badge-deno.deno.dev/sirpdboy.sirpdboy.svg) [![](https://img.shields.io/badge/TGGroup-ClickJoin-FFFFFF.svg)](https://t.me/joinchat/AAAAAEpRF88NfOK5vBXGBQ) diff --git a/luci-app-eqosplus/README_CN.md b/luci-app-eqosplus/README_CN.md deleted file mode 100644 index 8da16627..00000000 --- a/luci-app-eqosplus/README_CN.md +++ /dev/null @@ -1,109 +0,0 @@ -![hello](https://views.whatilearened.today/views/github/sirpdboy/deplives.svg) [![](https://img.shields.io/badge/TG群-点击加入-FFFFFF.svg)](https://t.me/joinchat/AAAAAEpRF88NfOK5vBXGBQ) - -

-
luci-app-eqosplus
-

- -

- - - - -

- -[中文] | [English](README.md) - -![screenshots](https://raw.githubusercontent.com/sirpdboy/openwrt/master/doc/说明1.jpg) - -请 **认真阅读完毕** 本页面,本页面包含注意事项和如何使用。 - -## 功能说明: - -### 定时限速1.2.2版 -#### 2023.7.19 定时限速1.2.2:增加更多日期:工作日和休息日,自定义日期1,2,3中间用逗号分隔;加入MAC地址限速,从此不用担心IPV6和IPV4的限速问题。 - -### 定时限速1.0版 -#### 2022.12.24 定时限速在eqos的加强版,加入定时限制等功能。 - -## 编译使用方法 [![](https://img.shields.io/badge/-编译使用方法-F5F5F5.svg)](#编译使用方法-) - -将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://img.shields.io/badge/-说明-F5F5F5.svg)](#说明-) - -源码来源:https://github.com/sirpdboy/luci-app-eqosplus - - -- 你可以随意使用其中的源码,但请注明出处。 - -![screenshots](https://raw.githubusercontent.com/sirpdboy/openwrt/master/doc/说明2.jpg) - -## 界面 - -![screenshots](https://raw.githubusercontent.com/sirpdboy/openwrt/master/doc/eqosplus.png) - -![screenshots](https://raw.githubusercontent.com/sirpdboy/openwrt/master/doc/eqosplus2.png) - -# 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 - -## 捐助 - -![screenshots](https://raw.githubusercontent.com/sirpdboy/openwrt/master/doc/说明3.jpg) - -| 图飞了 | 图飞了 | -| :-----------------: | :-------------: | -|![xm1](https://raw.githubusercontent.com/sirpdboy/openwrt/master/doc/支付宝.png) | ![xm1](https://raw.githubusercontent.com/sirpdboy/openwrt/master/doc/微信.png) | - - - 图飞了 - - -![](https://visitor-badge-deno.deno.dev/sirpdboy.sirpdboy.svg) [![](https://img.shields.io/badge/TG群-点击加入-FFFFFF.svg)](https://t.me/joinchat/AAAAAEpRF88NfOK5vBXGBQ) - diff --git a/luci-app-eqosplus/doc/eqosplus0.png b/luci-app-eqosplus/doc/eqosplus0.png deleted file mode 100644 index 978f4abd..00000000 Binary files a/luci-app-eqosplus/doc/eqosplus0.png and /dev/null differ diff --git a/luci-app-eqosplus/doc/eqosplus1.png b/luci-app-eqosplus/doc/eqosplus1.png deleted file mode 100644 index c603fcda..00000000 Binary files a/luci-app-eqosplus/doc/eqosplus1.png and /dev/null differ diff --git a/luci-app-eqosplus/luasrc/controller/eqosplus.lua b/luci-app-eqosplus/luasrc/controller/eqosplus.lua deleted file mode 100644 index cbe01b70..00000000 --- a/luci-app-eqosplus/luasrc/controller/eqosplus.lua +++ /dev/null @@ -1,19 +0,0 @@ -module("luci.controller.eqosplus", package.seeall) --- Copyright 2022-2023 sirpdboy -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 diff --git a/luci-app-eqosplus/luasrc/model/cbi/eqosplus.lua b/luci-app-eqosplus/luasrc/model/cbi/eqosplus.lua deleted file mode 100644 index 32c3433c..00000000 --- a/luci-app-eqosplus/luasrc/model/cbi/eqosplus.lua +++ /dev/null @@ -1,190 +0,0 @@ --- Copyright 2022-2023 sirpdboy --- 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 diff --git a/luci-app-eqosplus/luasrc/view/eqosplus/eqosplus.htm b/luci-app-eqosplus/luasrc/view/eqosplus/eqosplus.htm deleted file mode 100644 index 4445143f..00000000 --- a/luci-app-eqosplus/luasrc/view/eqosplus/eqosplus.htm +++ /dev/null @@ -1,3 +0,0 @@ -<%+cbi/valueheader%> -<%=pcdata(self:cfgvalue(section) or self.default or "")%> -<%+cbi/valuefooter%> \ No newline at end of file diff --git a/luci-app-eqosplus/luasrc/view/eqosplus/index.htm b/luci-app-eqosplus/luasrc/view/eqosplus/index.htm deleted file mode 100644 index c4b8a072..00000000 --- a/luci-app-eqosplus/luasrc/view/eqosplus/index.htm +++ /dev/null @@ -1,12 +0,0 @@ -<% include("cbi/map") %> - \ No newline at end of file diff --git a/luci-app-eqosplus/po/templates/eqosplus.pot b/luci-app-eqosplus/po/templates/eqosplus.pot deleted file mode 100644 index 151cee8d..00000000 --- a/luci-app-eqosplus/po/templates/eqosplus.pot +++ /dev/null @@ -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 "" - diff --git a/luci-app-eqosplus/po/zh-cn/eqosplus.po b/luci-app-eqosplus/po/zh-cn/eqosplus.po deleted file mode 100644 index 0fa56393..00000000 --- a/luci-app-eqosplus/po/zh-cn/eqosplus.po +++ /dev/null @@ -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限制用户上传/下载的网速。速度单位为 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 "自动设置" - diff --git a/luci-app-eqosplus/po/zh_Hans/eqosplus.po b/luci-app-eqosplus/po/zh_Hans/eqosplus.po deleted file mode 100644 index 840559fc..00000000 --- a/luci-app-eqosplus/po/zh_Hans/eqosplus.po +++ /dev/null @@ -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 "自动设置" - diff --git a/luci-app-eqosplus/root/etc/config/eqosplus b/luci-app-eqosplus/root/etc/config/eqosplus deleted file mode 100644 index 722434ae..00000000 --- a/luci-app-eqosplus/root/etc/config/eqosplus +++ /dev/null @@ -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' - diff --git a/luci-app-eqosplus/root/etc/hotplug.d/iface/10-eqosplus b/luci-app-eqosplus/root/etc/hotplug.d/iface/10-eqosplus deleted file mode 100644 index 91059ec8..00000000 --- a/luci-app-eqosplus/root/etc/hotplug.d/iface/10-eqosplus +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -[ "$ACTION" = "ifup" ] && [ "$INTERFACE" = "wan" ] && { - sleep 5 - /etc/init.d/eqosplus restart -} \ No newline at end of file diff --git a/luci-app-eqosplus/root/etc/init.d/eqosplus b/luci-app-eqosplus/root/etc/init.d/eqosplus deleted file mode 100644 index f74b5fdd..00000000 --- a/luci-app-eqosplus/root/etc/init.d/eqosplus +++ /dev/null @@ -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 -} - diff --git a/luci-app-eqosplus/root/etc/uci-defaults/luci-eqosplus b/luci-app-eqosplus/root/etc/uci-defaults/luci-eqosplus deleted file mode 100644 index f22cd0c6..00000000 --- a/luci-app-eqosplus/root/etc/uci-defaults/luci-eqosplus +++ /dev/null @@ -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 diff --git a/luci-app-eqosplus/root/usr/bin/eqosplus b/luci-app-eqosplus/root/usr/bin/eqosplus deleted file mode 100644 index 721fafa0..00000000 --- a/luci-app-eqosplus/root/usr/bin/eqosplus +++ /dev/null @@ -1,379 +0,0 @@ -#!/bin/bash - -# Copyright (C) 2006 OpenWrt.org -# Copyright 2022-2025 sirpdboy - -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 \ No newline at end of file diff --git a/luci-app-eqosplus/root/usr/bin/eqosplusctrl b/luci-app-eqosplus/root/usr/bin/eqosplusctrl deleted file mode 100644 index 9b5721d6..00000000 --- a/luci-app-eqosplus/root/usr/bin/eqosplusctrl +++ /dev/null @@ -1,63 +0,0 @@ -#!/bin/sh - -# Copyright (C) 2006 OpenWrt.org -# Copyright 2022-2025 sirpdboy -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 \ No newline at end of file diff --git a/luci-app-eqosplus/root/usr/share/rpcd/acl.d/luci-app-eqosplus.json b/luci-app-eqosplus/root/usr/share/rpcd/acl.d/luci-app-eqosplus.json deleted file mode 100644 index b879f4de..00000000 --- a/luci-app-eqosplus/root/usr/share/rpcd/acl.d/luci-app-eqosplus.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "luci-app-eqosplus": { - "description": "Grant UCI access for luci-app-eqosplus", - "read": { - "uci": [ "eqosplus" ] - }, - "write": { - "uci": [ "eqosplus" ] - } - } -} diff --git a/luci-app-eqosplus/界面.png b/luci-app-eqosplus/界面.png deleted file mode 100644 index d346c698..00000000 Binary files a/luci-app-eqosplus/界面.png and /dev/null differ diff --git a/luci-app-fastnet/Makefile b/luci-app-fastnet/Makefile index 58217bd5..cdaa239f 100644 --- a/luci-app-fastnet/Makefile +++ b/luci-app-fastnet/Makefile @@ -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 diff --git a/luci-app-honk/Makefile b/luci-app-honk/Makefile index f1e17d90..0e260a2c 100644 --- a/luci-app-honk/Makefile +++ b/luci-app-honk/Makefile @@ -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 diff --git a/luci-app-npc/luasrc/model/cbi/npc.lua b/luci-app-npc/luasrc/model/cbi/npc.lua index 73e761c4..3abc8ee4 100755 --- a/luci-app-npc/luasrc/model/cbi/npc.lua +++ b/luci-app-npc/luasrc/model/cbi/npc.lua @@ -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 = "" diff --git a/luci-app-npc/po/zh-cn/npc.po b/luci-app-npc/po/zh-cn/npc.po index 92c4401a..9961ff76 100755 --- a/luci-app-npc/po/zh-cn/npc.po +++ b/luci-app-npc/po/zh-cn/npc.po @@ -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" diff --git a/luci-app-npc/po/zh_Hans/npc.po b/luci-app-npc/po/zh_Hans/npc.po index 92c4401a..9961ff76 100755 --- a/luci-app-npc/po/zh_Hans/npc.po +++ b/luci-app-npc/po/zh_Hans/npc.po @@ -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" diff --git a/luci-app-npc/root/etc/config/npc b/luci-app-npc/root/etc/config/npc index 90996fc4..cce7ba0e 100755 --- a/luci-app-npc/root/etc/config/npc +++ b/luci-app-npc/root/etc/config/npc @@ -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' diff --git a/luci-app-passwall/root/usr/share/passwall/iptables.sh b/luci-app-passwall/root/usr/share/passwall/iptables.sh index 752b34b9..d1958480 100755 --- a/luci-app-passwall/root/usr/share/passwall/iptables.sh +++ b/luci-app-passwall/root/usr/share/passwall/iptables.sh @@ -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 规则完成。" } diff --git a/luci-app-passwall/root/usr/share/passwall/nftables.sh b/luci-app-passwall/root/usr/share/passwall/nftables.sh index ffc97f77..8baf0ab6 100755 --- a/luci-app-passwall/root/usr/share/passwall/nftables.sh +++ b/luci-app-passwall/root/usr/share/passwall/nftables.sh @@ -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 规则完成。" diff --git a/npc/Makefile b/npc/Makefile index 0b94f3df..6db6ede6 100644 --- a/npc/Makefile +++ b/npc/Makefile @@ -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 @@ -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)))))) diff --git a/smartdns/Makefile b/smartdns/Makefile index 86efffc1..e4fe5035 100644 --- a/smartdns/Makefile +++ b/smartdns/Makefile @@ -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 diff --git a/v2raya/Makefile b/v2raya/Makefile index 6feb041c..1fc8e245 100644 --- a/v2raya/Makefile +++ b/v2raya/Makefile @@ -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 diff --git a/xray-core/Makefile b/xray-core/Makefile index 9b570191..45e9ced9 100644 --- a/xray-core/Makefile +++ b/xray-core/Makefile @@ -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 PKG_LICENSE:=MPL-2.0