luci-app-homeproxy: sync mainline

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This commit is contained in:
Tianling Shen 2025-05-13 16:14:02 +08:00
parent d8c8e2cda1
commit 908f0c3635
No known key found for this signature in database
GPG Key ID: 6850B6345C862176
19 changed files with 17877 additions and 2636 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);

View File

@ -63,7 +63,7 @@ function parseShareLink(uri, features) {
tls: '1',
tls_sni: params.get('peer'),
tls_alpn: params.get('alpn'),
tls_insecure: params.get('insecure') ? '1' : '0'
tls_insecure: (params.get('insecure') === '1') ? '1' : '0'
};
break;

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

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

@ -0,0 +1,54 @@
#!/usr/bin/ucode
'use strict';
import { writefile } from 'fs';
import { cursor } from 'uci';
import { isEmpty, RUN_DIR } from 'homeproxy';
const cfgname = 'homeproxy';
const uci = cursor();
uci.load(cfgname);
const routing_mode = uci.get(cfgname, 'config', 'routing_mode') || 'bypass_mainland_china',
proxy_mode = uci.get(cfgname, 'config', 'proxy_mode') || 'redirect_tproxy';
let outbound_node, tun_name;
if (match(proxy_mode, /tun/)) {
if (routing_mode === 'custom')
outbound_node = uci.get(cfgname, 'routing', 'default_outbound') || 'nil';
else
outbound_node = uci.get(cfgname, 'config', 'main_node') || 'nil';
if (outbound_node !== 'nil')
tun_name = uci.get(cfgname, 'infra', 'tun_name') || 'singtun0';
}
const server_enabled = uci.get(cfgname, 'server', 'enabled');
let auto_firewall = '0';
if (server_enabled === '1')
auto_firewall = uci.get(cfgname, 'server', 'auto_firewall') || '0';
let forward = [],
input = [];
if (tun_name) {
push(forward, `oifname ${tun_name} counter accept comment "!${cfgname}: accept tun forward"`);
push(input ,`iifname ${tun_name} counter accept comment "!${cfgname}: accept tun input"`);
}
if (auto_firewall === '1') {
uci.foreach(cfgname, 'server', (s) => {
if (s.enabled !== '1')
return;
let proto = s.network || '{ tcp, udp }';
push(input, `meta l4proto ${proto} th dport ${s.port} counter accept comment "!${cfgname}: accept server ${s['.name']}"`);
});
}
if (!isEmpty(forward))
writefile(RUN_DIR + '/fw4_forward.nft', join('\n', forward) + '\n');
if (!isEmpty(input))
writefile(RUN_DIR + '/fw4_input.nft', join('\n', input) + '\n');

View File

@ -1,54 +0,0 @@
#!/usr/bin/utpl -S
{%-
import { cursor } from 'uci';
const cfgname = 'homeproxy';
const uci = cursor();
uci.load(cfgname);
const routing_mode = uci.get(cfgname, 'config', 'routing_mode') || 'bypass_mainland_china',
proxy_mode = uci.get(cfgname, 'config', 'proxy_mode') || 'redirect_tproxy';
let outbound_node, tun_name;
if (match(proxy_mode, /tun/)) {
if (routing_mode === 'custom')
outbound_node = uci.get(cfgname, 'routing', 'default_outbound') || 'nil';
else
outbound_node = uci.get(cfgname, 'config', 'main_node') || 'nil';
if (outbound_node !== 'nil')
tun_name = uci.get(cfgname, 'infra', 'tun_name') || 'singtun0';
}
const server_enabled = uci.get(cfgname, 'server', 'enabled');
let auto_firewall = '0';
if (server_enabled === '1')
auto_firewall = uci.get(cfgname, 'server', 'auto_firewall') || '0';
-%}
{% if (tun_name): %}
chain forward {
oifname {{ tun_name }} counter accept comment "!{{ cfgname }}: accept tun forward"
}
{% endif %}
{% if (tun_name || auto_firewall === '1'): %}
chain input {
{% if (tun_name): %}
iifname {{ tun_name }} counter accept comment "!{{ cfgname }}: accept tun input"
{% endif %}
{%
if (auto_firewall === '1')
uci.foreach(cfgname, 'server', (s) => {
if (s.enabled !== '1')
return;
let proto = s.network || '{ tcp, udp }';
printf(' meta l4proto %s th dport %s counter accept comment "!%s: accept server %s"\n',
proto, s.port, cfgname, s['.name']);
});
%}
}
{% endif %}

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

@ -170,7 +170,7 @@ function parse_uri(uri) {
hysteria_obfs_type: params.obfs,
hysteria_obfs_password: params['obfs-password'],
tls: '1',
tls_insecure: params.insecure ? '1' : '0',
tls_insecure: (params.insecure === '1') ? '1' : '0',
tls_sni: params.sni
};

View File

@ -238,7 +238,7 @@ start_service() {
chown -R sing-box:sing-box "$RUN_DIR"
# Setup firewall
utpl -S "$HP_DIR/scripts/firewall_pre.ut" > "$RUN_DIR/fw4_pre.nft"
ucode "$HP_DIR/scripts/firewall_pre.uc"
[ "$outbound_node" = "nil" ] || utpl -S "$HP_DIR/scripts/firewall_post.ut" > "$RUN_DIR/fw4_post.nft"
fw4 reload >"/dev/null" 2>&1
@ -291,7 +291,8 @@ stop_service() {
nft flush set inet fw4 "$i"
nft delete set inet fw4 "$i"
done 2>"/dev/null"
echo 2>"/dev/null" > "$RUN_DIR/fw4_pre.nft"
echo 2>"/dev/null" > "$RUN_DIR/fw4_forward.nft"
echo 2>"/dev/null" > "$RUN_DIR/fw4_input.nft"
echo 2>"/dev/null" > "$RUN_DIR/fw4_post.nft"
fw4 reload >"/dev/null" 2>&1

View File

@ -2,10 +2,20 @@
uci -q batch <<-EOF >"/dev/null"
delete firewall.homeproxy_pre
set firewall.homeproxy_pre=include
set firewall.homeproxy_pre.type=nftables
set firewall.homeproxy_pre.path="/var/run/homeproxy/fw4_pre.nft"
set firewall.homeproxy_pre.position="table-pre"
delete firewall.homeproxy_forward
set firewall.homeproxy_forward=include
set firewall.homeproxy_forward.type=nftables
set firewall.homeproxy_forward.path="/var/run/homeproxy/fw4_forward.nft"
set firewall.homeproxy_forward.position="chain-pre"
set firewall.homeproxy_forward.chain="forward"
delete firewall.homeproxy_input
set firewall.homeproxy_input=include
set firewall.homeproxy_input.type=nftables
set firewall.homeproxy_input.path="/var/run/homeproxy/fw4_input.nft"
set firewall.homeproxy_input.position="chain-pre"
set firewall.homeproxy_input.chain="input"
delete firewall.homeproxy_post
set firewall.homeproxy_post=include