update 2025-05-13 16:30:28

This commit is contained in:
kenzok8 2025-05-13 16:30:28 +08:00
parent 0f2d9da27d
commit 17918091de
17 changed files with 17879 additions and 2596 deletions

View File

@ -367,6 +367,7 @@ return view.extend({
this.value('nil', _('Disable'));
this.value('direct-out', _('Direct'));
this.value('block-out', _('Block'));
uci.sections(data[0], 'routing_node', (res) => {
if (res.enabled === '1')
this.value(res['.name'], res.label);
@ -739,6 +740,7 @@ return view.extend({
this.value('default-dns', _('Default DNS (issued by WAN)'));
this.value('system-dns', _('System DNS'));
this.value('block-dns', _('Block DNS queries'));
uci.sections(data[0], 'dns_server', (res) => {
if (res.enabled === '1')
this.value(res['.name'], res.label);

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1 +1 @@
20250403032551
20250513033637

View File

@ -32,7 +32,6 @@
2400:6460:300::/40
2400:6600::/32
2400:6e60:1301::/48
2400:7100::/32
2400:75aa::/32
2400:7bc0:20::/43
2400:7fc0::/40
@ -47,7 +46,7 @@
2400:8200::/32
2400:87c0::/32
2400:89c0:1010::/44
2400:89c0:1020::/43
2400:89c0:1020::/44
2400:89c0:1050::/46
2400:89c0:1130::/44
2400:89c0:1150::/48
@ -109,24 +108,21 @@
2400:da00::/32
2400:dd00::/28
2400:ebc0::/32
2400:ee00::/32
2400:ee00:ffec::/46
2400:ee00:fff0::/44
2400:f6e0::/32
2400:f720::/32
2400:fb40::/32
2400:fe00::/32
2401:20::/40
2401:800::/32
2401:ba0::/32
2401:1160::/32
2401:11a0:10::/44
2401:11a0:1500::/40
2401:11a0:d150::/48
2401:11a0:d152::/48
2401:11a0:d158::/48
2401:1200::/48
2401:1320::/32
2401:1d40::/32
2401:2780::/32
2401:2e00::/32
2401:33c0::/32
2401:3480::/36
@ -134,28 +130,10 @@
2401:3480:3000::/36
2401:34a0::/31
2401:3800::/32
2401:3880::/32
2401:3980::/32
2401:3a80::/32
2401:3b80::/32
2401:3c80::/32
2401:3d80::/32
2401:3e80::/32
2401:3f80::/32
2401:4180::/32
2401:4280::/32
2401:4380::/32
2401:4480::/32
2401:4580::/32
2401:4680::/32
2401:4780::/32
2401:4880::/32
2401:4a80::/32
2401:5c20:10::/48
2401:70e0::/32
2401:71c0::/48
2401:7700::/32
2401:7d40::/32
2401:7e00::/32
2401:8be0::/48
2401:8d00::/46
@ -165,8 +143,6 @@
2401:8d00:b::/48
2401:8d00:c::/48
2401:8d00:f::/48
2401:8d00:10::/48
2401:8d00:12::/48
2401:8d00:14::/48
2401:8da0::/48
2401:9a00::/44
@ -180,7 +156,6 @@
2401:b400:20::/47
2401:b680::/32
2401:be00::/32
2401:ca00::/32
2401:cb80::/32
2401:cc00::/32
2401:ce00::/32
@ -190,6 +165,11 @@
2401:d920::/48
2401:de00::/32
2401:ec00::/32
2401:f860:86::/47
2401:f860:88::/47
2401:f860:90::/46
2401:f860:100::/40
2401:f860:f100::/40
2401:fa00:40::/43
2402:840:d000::/46
2402:840:e000::/46
@ -208,8 +188,6 @@
2402:6e80::/32
2402:6f40::/48
2402:6f40:2::/48
2402:6fc0::/48
2402:7040::/32
2402:7d80::/32
2402:8bc0::/32
2402:8cc0::/40
@ -257,8 +235,8 @@
2403:4c80::/48
2403:5c80::/48
2403:6380:14::/47
2403:6380:40::/46
2403:6380:60::/44
2403:6380:40::/48
2403:6380:42::/47
2403:6a00::/32
2403:7580::/32
2403:8080:101::/48
@ -285,11 +263,10 @@
2404:bc0:4400::/43
2404:bc0:4f00::/43
2404:1c80::/32
2404:2280:103::/48
2404:2280:105::/48
2404:2280:106::/47
2404:2280:107::/48
2404:2280:109::/48
2404:2280:10b::/48
2404:2280:10a::/47
2404:2280:10d::/48
2404:2280:10f::/48
2404:2280:112::/47
@ -324,6 +301,7 @@
2404:2280:183::/48
2404:2280:187::/48
2404:2280:18a::/47
2404:2280:18c::/46
2404:2280:193::/48
2404:2280:196::/48
2404:2280:198::/45
@ -353,6 +331,10 @@
2404:2280:1ee::/48
2404:2280:1f0::/45
2404:2280:1f8::/46
2404:2280:202::/47
2404:2280:204::/47
2404:2280:209::/48
2404:2280:20a::/48
2404:3700::/48
2404:4dc0::/32
2404:6380::/48
@ -401,9 +383,9 @@
2405:1480:3000::/47
2405:1640:6::/48
2405:3140:11::/48
2405:3140:21::/48
2405:3140:31::/48
2405:3140:3a::/48
2405:3bc0::/48
2405:57c0::/47
2405:57c0:100::/48
2405:66c0::/32
@ -415,7 +397,6 @@
2405:6f00:c602::/48
2405:7040:6000::/47
2405:78c0:6e00::/43
2405:8280::/32
2405:8a40::/32
2405:a900:ffee::/48
2405:a900:fffe::/48
@ -430,18 +411,17 @@
2406:840:9961::/48
2406:840:9962::/47
2406:840:996c::/48
2406:840:e031::/48
2406:840:e033::/48
2406:840:e03f::/48
2406:840:e080::/44
2406:840:e0cf::/48
2406:840:e0e2::/48
2406:840:e0e5::/48
2406:840:e0e0::/46
2406:840:e0e4::/47
2406:840:e0e8::/48
2406:840:e10f::/48
2406:840:e14f::/48
2406:840:e201::/48
2406:840:e230::/44
2406:840:e260::/48
2406:840:e266::/48
2406:840:e500::/47
2406:840:e621::/48
2406:840:e666::/47
@ -457,10 +437,11 @@
2406:840:eb08::/48
2406:840:eb0b::/48
2406:840:eb0f::/48
2406:840:ee40::/46
2406:840:ee40::/47
2406:840:ee44::/48
2406:840:ee4b::/48
2406:840:ee4d::/48
2406:840:eee5::/48
2406:840:f200::/47
2406:840:f203::/48
2406:840:f380::/44
@ -485,7 +466,6 @@
2406:840:feca::/48
2406:840:fecc::/47
2406:840:fecf::/48
2406:840:fed2::/48
2406:840:fed8::/48
2406:840:fedf::/48
2406:840:fef3::/48
@ -494,17 +474,14 @@
2406:840:fefc::/48
2406:840:feff::/48
2406:1080::/48
2406:1e40:f012::/47
2406:2700::/32
2406:3340::/32
2406:3640:1::/48
2406:3d80::/32
2406:4d00::/48
2406:52c0::/32
2406:5340:6666::/48
2406:5340:8888::/48
2406:5ac0::/32
2406:8880::/48
2406:b640:100::/48
2406:b640:4100::/48
2406:cac0::/40
@ -514,13 +491,11 @@
2406:d440:200::/44
2406:d440:300::/44
2406:d440:ff00::/48
2406:d440:ffff::/48
2406:e3c0::/32
2406:e500::/33
2407:2840::/48
2407:3740::/48
2407:37c0::/32
2407:4980::/32
2407:5380::/32
2407:6c40:1100::/48
2407:6c40:1210::/48
@ -540,7 +515,6 @@
2407:c080:5000::/37
2407:c080:6000::/36
2407:c080:8000::/36
2407:d9c0::/32
2408:4000::/22
2408:8000::/48
2408:8000:2::/47
@ -596,8 +570,8 @@
2408:8181:6000::/40
2408:8181:8000::/40
2408:8181:a000::/40
2408:8181:a220::/44
2408:8181:e000::/40
2408:8182:6000::/40
2408:8182:c000::/40
2408:8183:4000::/40
2408:8183:8000::/40
@ -705,6 +679,7 @@
2408:8406:b400::/40
2408:8406:b500::/41
2408:8406:b580::/42
2408:8407:510::/44
2408:8409::/40
2408:8409:120::/43
2408:8409:140::/42
@ -1064,17 +1039,13 @@
2409:27fe::/33
2409:6100::/44
2409:8000::/20
240a:2000::/29
240a:4002:1b00::/40
240a:4010:8000::/33
240a:2000::/40
240a:2001:100::/40
240a:2001:1000::/36
240a:4020:83a::/48
240a:4020:883a::/48
240a:4021:83a::/48
240a:4021:883a::/48
240a:4083::/35
240a:4084:2000::/35
240a:4088:a000::/35
240a:408c:2000::/35
240a:4090:50::/48
240a:4090:120::/48
240a:4090:250::/48
@ -1089,18 +1060,11 @@
240a:4090:5200::/40
240a:4090:7000::/39
240a:4090:7200::/40
240a:4090:a000::/35
240a:4094:2000::/35
240a:409c:2000::/35
240a:40a4:2000::/35
240a:40ac:2000::/35
240a:40b0:83a::/48
240a:40b0:283a::/48
240a:40b0:483a::/48
240a:40b0:683a::/48
240a:40c0:8000::/43
240a:40c0:8200::/48
240a:40c0:8240::/48
240a:40c0:a000::/43
240a:40c0:c000::/43
240a:40c0:e000::/43
@ -1126,20 +1090,10 @@
240a:40c3:6000::/43
240a:40c3:8000::/43
240a:40c3:c000::/43
240a:40c3:c200::/48
240a:40c3:c240::/48
240a:40c3:e000::/43
240a:40c4::/43
240a:40c4:2000::/43
240a:40c4:4000::/43
240a:4172::/31
240a:41b0::/34
240a:41b8::/31
240a:41d6::/31
240a:41f2::/31
240a:420a::/31
240a:4230::/31
240a:4242::/31
240a:4280::/26
240a:42c0::/27
240a:42e0::/28
@ -1162,19 +1116,16 @@
240e::/20
2602:2e0:ff::/48
2602:f7ee:ee::/48
2602:f93b:400::/38
2602:f9ba:a8::/48
2602:f9ba:10c::/48
2602:fd92:801::/48
2602:fd92:cc0::/44
2602:fed2:731d::/48
2602:feda:182::/47
2602:feda:1bf::/48
2602:feda:1d1::/48
2602:feda:1df::/48
2602:feda:2d0::/44
2602:feda:2f0::/44
2602:feda:bd0::/48
2602:feda:d80::/48
2605:9d80:8001::/48
2605:9d80:8011::/48
2605:9d80:8021::/48
@ -1188,8 +1139,8 @@
2605:9d80:9042::/48
2605:9d80:9071::/48
2605:9d80:9092::/48
2620:57:4004::/48
2804:1e48::/32
2804:1e48:9001::/48
2804:1e48:9002::/48
2a03:5840:11b::/48
2a04:3e00:1002::/48
2a04:f580:8010::/47
@ -1238,7 +1189,7 @@
2a06:a005:a13::/48
2a06:a005:e80::/43
2a06:a005:1c40::/44
2a09:54c6:c000::/36
2a09:54c6:c800::/37
2a09:b280:ff83::/48
2a09:b280:ff84::/47
2a0a:2840::/30
@ -1252,9 +1203,8 @@
2a0b:4340:a6::/48
2a0b:4e07:b8::/47
2a0c:9a40:84e0::/48
2a0c:9a46:800::/43
2a0c:9a46:800::/44
2a0c:b641:571::/48
2a0e:8f02:2182::/47
2a0e:8f02:f067::/48
2a0e:97c0:550::/44
2a0e:97c0:83f::/48
@ -1273,6 +1223,7 @@
2a0e:aa07:e039::/48
2a0e:aa07:e044::/48
2a0e:aa07:e151::/48
2a0e:aa07:e160::/48
2a0e:aa07:e16a::/48
2a0e:aa07:e1a0::/43
2a0e:aa07:e1e2::/48
@ -1281,8 +1232,8 @@
2a0e:aa07:e210::/48
2a0e:aa07:e21c::/47
2a0e:aa07:e220::/44
2a0e:aa07:f0d2::/48
2a0e:aa07:f0d5::/48
2a0e:aa07:f0d0::/46
2a0e:aa07:f0d4::/47
2a0e:aa07:f0d8::/48
2a0e:aa07:f0de::/48
2a0e:b107:12b::/48
@ -1291,7 +1242,7 @@
2a0e:b107:c10::/48
2a0e:b107:dce::/48
2a0e:b107:16b0::/44
2a0e:b107:178c::/47
2a0e:b107:178d::/48
2a0f:5707:ac00::/47
2a0f:7803:dd00::/42
2a0f:7803:f5d0::/44
@ -1307,7 +1258,6 @@
2a0f:7803:fa22::/47
2a0f:7803:fa24::/46
2a0f:7803:faf3::/48
2a0f:7803:faf7::/48
2a0f:7803:fe81::/48
2a0f:7803:fe82::/48
2a0f:7804:da00::/40
@ -1315,13 +1265,14 @@
2a0f:7d07::/32
2a0f:85c1:816::/48
2a0f:85c1:b3a::/48
2a0f:85c1:bba::/48
2a0f:85c1:ba5::/48
2a0f:85c1:bfe::/48
2a0f:9400:6110::/48
2a0f:9400:7700::/48
2a0f:ac00::/29
2a10:2f00:15a::/48
2a10:cc40:190::/48
2a12:f8c0:1000::/40
2a10:ccc0:d01::/48
2a12:f8c3::/36
2a13:1800::/48
2a13:1800:10::/48
@ -1334,30 +1285,45 @@
2a13:a5c7:2100::/48
2a13:a5c7:2102::/48
2a13:a5c7:2110::/48
2a13:a5c7:2117::/48
2a13:a5c7:2118::/48
2a13:a5c7:2121::/48
2a13:a5c7:2600::/40
2a13:a5c7:2801::/48
2a13:a5c7:2803::/48
2a13:a5c7:3100::/44
2a13:aac4:f000::/44
2a14:7c0:4a01::/48
2a14:4c41::/32
2a14:67c1:20::/44
2a14:67c1:70::/46
2a14:67c1:701::/48
2a14:67c1:703::/48
2a14:67c1:70::/47
2a14:67c1:73::/48
2a14:67c1:702::/47
2a14:67c1:704::/48
2a14:67c1:800::/48
2a14:67c1:a010::/44
2a14:67c1:a020::/48
2a14:67c1:a023::/48
2a14:67c1:a024::/48
2a14:67c1:a02a::/48
2a14:67c1:a02f::/48
2a14:67c1:a061::/48
2a14:67c1:a064::/48
2a14:67c1:a090::/47
2a14:67c1:a092::/48
2a14:67c1:a100::/44
2a14:67c1:b000::/48
2a14:67c1:b065::/48
2a14:67c1:b066::/47
2a14:67c1:b068::/47
2a14:67c1:b100::/46
2a14:67c5:1000::/36
2a14:67c1:b104::/47
2a14:67c1:b106::/48
2a14:67c1:b120::/48
2a14:67c1:b400::/43
2a14:67c1:b4f0::/48
2a14:67c5:1000::/39
2a14:7580:9202::/47
2a14:7580:9204::/46
2a14:7580:9205::/48
2a14:7580:9207::/48
2a14:7580:9400::/39
2a14:7580:d000::/37
2a14:7580:d800::/39

View File

@ -1 +1 @@
20250403032551
20250513033637

File diff suppressed because it is too large Load Diff

View File

@ -1 +1 @@
202504022212
202505122213

View File

@ -37,6 +37,7 @@
1dumb.com
1e100.net
1eew.com
1lib.sk
1mobile.com
1mobile.tw
1point3acres.com
@ -1004,7 +1005,6 @@ chaos.social
chapm25.com
character.ai
chat.lmsys.org
chat.openai.com
chatgpt.com
chatnook.com
chaturbate.com
@ -1212,7 +1212,6 @@ cofacts.tw
coin2co.in
coinbase.com
coinbene.com
coincarp.com
coinegg.com
coinex.com
coingecko.com
@ -1450,6 +1449,7 @@ discuss4u.com
dish.com
disk.yandex.com
disk.yandex.ru
disneyplus.com
disp.cc
disqus.com
dit-inc.us
@ -1484,6 +1484,7 @@ dnssec.net
dnvod.tv
doc.new
docker.com
docker.io
docs.new
doctorvoice.org
documentingreality.com
@ -1545,7 +1546,6 @@ dtwang.org
duanzhihu.com
dubox.com
duck.com
duckdns.org
duckduckgo-owned-server.yahoo.net
duckduckgo.com
duckload.com
@ -1650,6 +1650,7 @@ empfil.com
emule-ed2k.com
emulefans.com
emuparadise.me
en.favotter.net
en.hao123.com
enanyang.my
encrypt.me
@ -1805,7 +1806,6 @@ fan-qiang.com
fanbox.cc
fangbinxing.com
fangeming.com
fangeming.comffvpn.com
fangeqiang.com
fanglizhi.info
fangmincn.org
@ -1828,11 +1828,14 @@ faproxy.com
faqserv.com
fartit.com
farwestchina.com
fast.com
fast.wistia.com
fastestvpn.com
fastpic.ru
fastssh.com
faststone.org
fatbtc.com
favstar.fm
fawanghuihui.org
faydao.com
faz.net
@ -1843,10 +1846,14 @@ fbaddins.com
fbcdn.net
fbsbx.com
fbworkmail.com
fc2.com
fc2blog.net
fc2china.com
fc2cn.com
fda.gov.tw
fdc64.de
fdc64.org
fdc89.jp
feedburner.com
feeder.co
feeds.fileforum.com
@ -1862,6 +1869,8 @@ fengzhenghu.com
fengzhenghu.net
fevernet.com
ff.im
fffff.at
fflick.com
ffvpn.com
fgmtv.net
fgmtv.org
@ -2129,7 +2138,6 @@ geekerhome.com
geekheart.info
gekikame.com
gelbooru.com
gemini.com
generated.photos
genius.com
geocities.co.jp
@ -2210,6 +2218,7 @@ gmhz.org
gmll.org
gmodules.com
gmozomg.izihost.org
gmp4.com
gnci.org.hk
gnews.org
go-pki.com
@ -2489,6 +2498,7 @@ gospelherald.com
got-game.org
gotdns.ch
gotgeeks.com
gotquestions.org
gotrusted.com
gotw.ca
gov.taipei
@ -2578,6 +2588,7 @@ hakkatv.org.tw
halktv.com.tr
handcraftedsoftware.org
hanime.tv
hanime1.me
hanunyi.com
hao.news
happy-vpn.com
@ -2848,6 +2859,7 @@ hypothes.is
i-cable.com
i-part.com.tw
i-scmp.com
i.111666.best
i.lithium.com
i1.hk
i2p2.de
@ -2878,6 +2890,7 @@ id.heroku.com
idemocracy.asia
identi.ca
idiomconnection.com
idope.se
idouga.com
idreamx.com
idv.tw
@ -3613,6 +3626,7 @@ mirror.xyz
mirrorbooks.com
mirrormedia.mg
missav.com
missav.ws
mist.vip
mitao.com.tw
mitbbs.com
@ -3850,6 +3864,7 @@ newnews.ca
news.cnyes.com
news.ebc.net.tw
news.msn.com.tw
news.mt.co.kr
news.nationalgeographic.com
news.omy.sg
news.seehua.com
@ -3904,6 +3919,10 @@ nic.gov
nicovideo.jp
nighost.org
nightswatch.top
nikke-en.com
nikke-jp.com
nikke-kr.com
nikke.hotcool.tw
nikkei.com
ninecommentaries.com
ninjacloak.com
@ -3925,6 +3944,7 @@ no-ip.org
nobel.se
nobelprize.org
nobodycanstop.us
nodeloc.com
nodeseek.com
nofile.io
nokogiri.org
@ -3936,6 +3956,7 @@ nordstromimage.com
nordstromrack.com
nordvpn.com
nos.nl
notebooklm.google
notepad-plus-plus.org
nottinghampost.com
novelasia.com
@ -4084,7 +4105,7 @@ ontrac.com
oopsforum.com
open.com.hk
open.firstory.me
open.spotify.com
openai.com
openallweb.com
opendemocracy.net
opendn.xyz
@ -4269,6 +4290,7 @@ pkqjiasu.com
pkuanvil.com
placemix.com
play-asia.com
play.google
playboy.com
playboyplus.com
player.fm
@ -4405,6 +4427,7 @@ pullfolio.com
punyu.com
pure18.com
pureconcepts.net
puredns.org
pureinsight.org
purepdf.com
purevpn.com
@ -4438,6 +4461,7 @@ qienkuen.org
qiwen.lu
qixianglu.cn
qkshare.com
qmp4.com
qoos.com
qpoe.com
qq.co.za
@ -4597,16 +4621,19 @@ rthk.org.hk
rthklive2-lh.akamaihd.net
rti.org.tw
rti.tw
rtm.tnt-ea.com
rtycminnesota.org
ruanyifeng.com
rukor.org
rule34.xxx
rule34video.com
rumble.com
runbtx.com
rushbee.com
rusvpn.com
ruten.com.tw
rutracker.net
rutracker.org
rutube.ru
ruyiseek.com
rxhj.net
@ -4797,6 +4824,7 @@ simplecd.me
simplecd.org
simpleproductivityblog.com
simpleswap.io
simplex.chat
sinchew.com.my
singaporepools.com.sg
singfortibet.com
@ -4946,6 +4974,7 @@ spiderpool.com
spike.com
sports.williamhill.com
spotflux.com
spotify.com
spreadsheet.new
spreadshirt.es
spreaker.com
@ -5036,6 +5065,7 @@ studentsforafreetibet.org
stumbleupon.com
stupidvideos.com
subacme.rerouted.org
subhd.tv
substack.com
successfn.com
suche.gmx.net
@ -5186,6 +5216,7 @@ teeniefuck.net
teensinasia.com
tehrantimes.com
telecomspace.com
telega.one
telegra.ph
telegram-cdn.org
telegram.dog
@ -5195,6 +5226,7 @@ telegram.space
telegramdownload.com
telegraph.co.uk
telesco.pe
tellapart.com
tellme.pw
tenacy.com
tenor.com
@ -5208,6 +5240,7 @@ tfc-taiwan.org.tw
tfhub.dev
tfiflve.com
tg-me.com
tg.dev
th.hao123.com
thaicn.com
thb.gov.tw
@ -5265,6 +5298,7 @@ thlib.org
thomasbernhard.org
thongdreams.com
threadreaderapp.com
threads.com
threads.net
threatchaos.com
throughnightsfire.com
@ -5369,6 +5403,7 @@ ticket.com.tw
tigervpn.com
tiktok.com
tiktokcdn-us.com
tiktokcdn.com
tiktokv.com
tiktokv.us
tiltbrush.com
@ -5638,6 +5673,7 @@ twtrland.com
twttr.com
twurl.nl
twyac.org
tx.me
txxx.com
tycool.com
typepad.com
@ -5803,6 +5839,7 @@ video.aol.ca
video.aol.co.uk
video.aol.com
video.ap.org
video.fdbox.com
video.foxbusiness.com
videobam.com
videodetective.com
@ -6381,8 +6418,13 @@ yyii.org
yyjlymb.xyz
yysub.net
yzzk.com
z-lib.fm
z-lib.fo
z-lib.gd
z-lib.gl
z-lib.io
z-lib.org
z-library.sk
zacebook.com
zalmos.com
zamimg.com
@ -6445,6 +6487,7 @@ zkaip.com
zmedia.com.tw
zmw.cn
zodgame.us
zodgame.xyz
zomobo.net
zonaeuropa.com
zonghexinwen.com

View File

@ -1 +1 @@
202504022212
202505122213

View File

@ -327,7 +327,6 @@ function get_outbound(cfg) {
} else {
switch (cfg) {
case 'block-out':
return null;
case 'direct-out':
return cfg;
default:
@ -348,7 +347,6 @@ function get_resolver(cfg) {
switch (cfg) {
case 'block-dns':
return null;
case 'default-dns':
case 'system-dns':
return cfg;
@ -391,6 +389,10 @@ config.dns = {
tag: 'system-dns',
address: 'local',
detour: 'direct-out'
},
{
tag: 'block-dns',
address: 'rcode://name_error'
}
],
rules: [],
@ -605,6 +607,10 @@ config.outbounds = [
type: 'direct',
tag: 'direct-out',
routing_mark: strToInt(self_mark)
},
{
type: 'block',
tag: 'block-out'
}
];

View File

@ -53,15 +53,6 @@ if (uci.get(uciconfig, ucimain, 'routing_port') === 'all')
if (uci.get(uciconfig, 'experimental'))
uci.delete(uciconfig, 'experimental');
/* block-dns was removed from built-in dns servers */
if (uci.get(uciconfig, ucidns, 'default_server') === 'block-dns')
uci.set(uciconfig, ucidns, 'default_server', 'default-dns');
/* block-out was removed from built-in outbounds */
if (uci.get(uciconfig, ucirouting, 'default_outbound') === 'block-out')
uci.set(uciconfig, ucirouting, 'default_outbound', 'nil');
/* DNS rules options */
uci.foreach(uciconfig, ucidnsrule, (cfg) => {
/* rule_set_ipcidr_match_source was renamed in sb 1.10 */

View File

@ -1,6 +1,6 @@
include $(TOPDIR)/rules.mk
PKG_VERSION:=1.22.2
PKG_VERSION:=1.22.3
LUCI_TITLE:=LuCI Support for nikki
LUCI_DEPENDS:=+luci-base +nikki

View File

@ -5,9 +5,9 @@ PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/MetaCubeX/mihomo.git
PKG_SOURCE_DATE:=2025-05-04
PKG_SOURCE_VERSION:=86c127db8b9fd8c8bf6097d2999e4d5c5d99febb
PKG_MIRROR_HASH:=bacb109d544c8ff25f9f69edeb37bab3ed54c4faeb5f1c5da6e9978b5c4ea8b0
PKG_SOURCE_DATE:=2025-05-13
PKG_SOURCE_VERSION:=266fb03838365bb5df14d7531476514427eba2e4
PKG_MIRROR_HASH:=e449c3f931945fbe601a119cc7ef2630a7e8360bd51bd7cc98f9edc686c79c64
PKG_LICENSE:=GPL3.0+
PKG_MAINTAINER:=Joseph Mory <morytyann@gmail.com>
@ -16,7 +16,7 @@ PKG_BUILD_DEPENDS:=golang/host
PKG_BUILD_PARALLEL:=1
PKG_BUILD_FLAGS:=no-mips16
PKG_BUILD_VERSION:=alpha-86c127d
PKG_BUILD_VERSION:=alpha-266fb03
PKG_BUILD_TIME:=$(shell date -u -Iseconds)
GO_PKG:=github.com/metacubex/mihomo

View File

@ -51,6 +51,17 @@ start_service() {
config_get_bool test_profile "config" "test_profile" 0
config_get_bool fast_reload "config" "fast_reload" 0
## mixin config
### overwrite
local overwrite_authentication overwrite_tun_dns_hijack overwrite_fake_ip_filter overwrite_hosts overwrite_dns_nameserver overwrite_dns_nameserver_policy overwrite_sniffer_sniff overwrite_sniffer_force_domain_name overwrite_sniffer_ignore_domain_name
config_get_bool overwrite_authentication "mixin" "authentication" 0
config_get_bool overwrite_tun_dns_hijack "mixin" "tun_dns_hijack" 0
config_get_bool overwrite_fake_ip_filter "mixin" "fake_ip_filter" 0
config_get_bool overwrite_hosts "mixin" "hosts" 0
config_get_bool overwrite_dns_nameserver "mixin" "dns_nameserver" 0
config_get_bool overwrite_dns_nameserver_policy "mixin" "dns_nameserver_policy" 0
config_get_bool overwrite_sniffer_force_domain_name "mixin" "sniffer_force_domain_name" 0
config_get_bool overwrite_sniffer_ignore_domain_name "mixin" "sniffer_ignore_domain_name" 0
config_get_bool overwrite_sniffer_sniff "mixin" "sniffer_sniff" 0
### mixin file content
local mixin_file_content
config_get_bool mixin_file_content "mixin" "mixin_file_content" 0
@ -94,6 +105,33 @@ start_service() {
fi
# mixin
log "Mixin" "Mixin config."
if [ "$overwrite_authentication" == 1 ]; then
yq -M -i 'del(.authentication)' "$RUN_PROFILE_PATH"
fi
if [ "$overwrite_tun_dns_hijack" == 1 ]; then
yq -M -i 'del(.tun.dns-hijack)' "$RUN_PROFILE_PATH"
fi
if [ "$overwrite_fake_ip_filter" == 1 ]; then
yq -M -i 'del(.dns.fake-ip-filter)' "$RUN_PROFILE_PATH"
fi
if [ "$overwrite_hosts" == 1 ]; then
yq -M -i 'del(.hosts)' "$RUN_PROFILE_PATH"
fi
if [ "$overwrite_dns_nameserver" == 1 ]; then
yq -M -i 'del(.dns.default-nameserver) | del(.dns.proxy-server-nameserver) | del(.dns.direct-nameserver) | del(.dns.nameserver) | del(.dns.fallback) ' "$RUN_PROFILE_PATH"
fi
if [ "$overwrite_dns_nameserver_policy" == 1 ]; then
yq -M -i 'del(.dns.nameserver-policy)' "$RUN_PROFILE_PATH"
fi
if [ "$overwrite_sniffer_force_domain_name" == 1 ]; then
yq -M -i 'del(.sniffer.force-domain)' "$RUN_PROFILE_PATH"
fi
if [ "$overwrite_sniffer_ignore_domain_name" == 1 ]; then
yq -M -i 'del(.sniffer.skip-domain)' "$RUN_PROFILE_PATH"
fi
if [ "$overwrite_sniffer_sniff" == 1 ]; then
yq -M -i 'del(.sniffer.sniff)' "$RUN_PROFILE_PATH"
fi
if [ "$mixin_file_content" == 0 ]; then
ucode -S "$MIXIN_UC" | yq -M -p json -o yaml | yq -M -i ea '... comments="" | . as $item ireduce ({}; . * $item ) | .rules = .nikki-rules + .rules | del(.nikki-rules)' "$RUN_PROFILE_PATH" -
elif [ "$mixin_file_content" == 1 ]; then
@ -318,26 +356,41 @@ update_subscription() {
config_get subscription_url "$subscription_section" "url"
config_get subscription_user_agent "$subscription_section" "user_agent"
# reset subscription info
uci_remove "nikki" "$subscription_section" "expire"
uci_remove "nikki" "$subscription_section" "upload"
uci_remove "nikki" "$subscription_section" "download"
uci_remove "nikki" "$subscription_section" "total"
uci_remove "nikki" "$subscription_section" "used"
uci_remove "nikki" "$subscription_section" "avaliable"
uci_remove "nikki" "$subscription_section" "update"
uci_remove "nikki" "$subscription_section" "success"
uci_remove "nikki" "$subscription_section" "expire" > /dev/null 2>&1
uci_remove "nikki" "$subscription_section" "upload" > /dev/null 2>&1
uci_remove "nikki" "$subscription_section" "download" > /dev/null 2>&1
uci_remove "nikki" "$subscription_section" "total" > /dev/null 2>&1
uci_remove "nikki" "$subscription_section" "used" > /dev/null 2>&1
uci_remove "nikki" "$subscription_section" "avaliable" > /dev/null 2>&1
uci_remove "nikki" "$subscription_section" "update" > /dev/null 2>&1
uci_remove "nikki" "$subscription_section" "success" > /dev/null 2>&1
# update subscription
log "Profile" "Update subscription: $subscription_name."
local success
local subscription_header_tmpfile; subscription_header_tmpfile="$TEMP_DIR/$subscription_section.header"
local subscription_tmpfile; subscription_tmpfile="$TEMP_DIR/$subscription_section.yaml"
local subscription_file; subscription_file="$SUBSCRIPTIONS_DIR/$subscription_section.yaml"
if (curl -s -f --connect-timeout 15 --retry 3 -L -X GET -A "$subscription_user_agent" -D "$subscription_header_tmpfile" -o "$subscription_tmpfile" "$subscription_url"); then
log "Profile" "Subscription download successful."
if (yq -p yaml -o yaml "$subscription_tmpfile" > /dev/null 2>&1); then
log "Profile" "Subscription is valid."
success=1
else
log "Profile" "Subscription is not valid."
success=0
fi
else
log "Profile" "Subscription download failed."
success=0
fi
# check if success
if [ "$success" == 1 ]; then
log "Profile" "Subscription update successful."
local subscription_expire subscription_upload subscription_download subscription_total subscription_used subscription_avaliable
subscription_expire=$(grep -i "subscription-userinfo: " "$subscription_header_tmpfile" | grep -o -E "expire=[[:digit:]]+" | cut -d '=' -f 2)
subscription_upload=$(grep -i "subscription-userinfo: " "$subscription_header_tmpfile" | grep -o -E "upload=[[:digit:]]+" | cut -d '=' -f 2)
subscription_download=$(grep -i "subscription-userinfo: " "$subscription_header_tmpfile" | grep -o -E "download=[[:digit:]]+" | cut -d '=' -f 2)
subscription_total=$(grep -i "subscription-userinfo: " "$subscription_header_tmpfile" | grep -o -E "total=[[:digit:]]+" | cut -d '=' -f 2)
subscription_expire=$(grep -i "subscription-userinfo: " "$subscription_header_tmpfile" | grep -i -o -E "expire=[[:digit:]]+" | cut -d '=' -f 2)
subscription_upload=$(grep -i "subscription-userinfo: " "$subscription_header_tmpfile" | grep -i -o -E "upload=[[:digit:]]+" | cut -d '=' -f 2)
subscription_download=$(grep -i "subscription-userinfo: " "$subscription_header_tmpfile" | grep -i -o -E "download=[[:digit:]]+" | cut -d '=' -f 2)
subscription_total=$(grep -i "subscription-userinfo: " "$subscription_header_tmpfile" | grep -i -o -E "total=[[:digit:]]+" | cut -d '=' -f 2)
if [[ -n "$subscription_upload" && -n "$subscription_download" ]]; then
subscription_used=$((subscription_upload + subscription_download))
if [ -n "$subscription_total" ]; then
@ -368,7 +421,7 @@ update_subscription() {
# update subscription file
rm -f "$subscription_header_tmpfile"
mv -f "$subscription_tmpfile" "$subscription_file"
else
elif [ "$success" == 0 ]; then
log "Profile" "Subscription update failed."
# update subscription info
uci_set "nikki" "$subscription_section" "success" "0"

View File

@ -171,11 +171,11 @@ function desensitize_profile() {
}
if (exists(profile, "proxy-providers")) {
for (let x in profile["proxy-providers"]) {
if (exists(x, "url")) {
x["url"] = "*";
if (exists(profile["proxy-providers"][x], "url")) {
profile["proxy-providers"][x]["url"] = "*";
}
if (exists(x, "payload")) {
desensitize_proxies(x["payload"]);
if (exists(profile["proxy-providers"][x], "payload")) {
desensitize_proxies(profile["proxy-providers"][x]["payload"]);
}
}
}