update 2024-06-25 02:08:04

This commit is contained in:
actions-user 2024-06-25 02:08:04 +08:00
parent 949d83f045
commit 1910554fed
17 changed files with 7703 additions and 3406 deletions

View File

@ -156,8 +156,8 @@ return view.extend({
o.rmempty = false;
o = s.taboption('routing', form.Value, 'dns_server', _('DNS server'),
_('You can only have one server set. It MUST support TCP query.'));
o.value('wan', _('Use DNS server from WAN'));
_('It MUST support TCP query.'));
o.value('wan', _('WAN DNS (read from interface)'));
o.value('1.1.1.1', _('CloudFlare Public DNS (1.1.1.1)'));
o.value('208.67.222.222', _('Cisco Public DNS (208.67.222.222)'));
o.value('8.8.8.8', _('Google Public DNS (8.8.8.8)'));
@ -182,27 +182,37 @@ return view.extend({
}
if (features.hp_has_chinadns_ng) {
o = s.taboption('routing', form.Value, 'china_dns_server', _('China DNS server'),
_('You can only have two servers set at maximum.'));
o.value('', _('Disable'));
o.value('wan', _('Use DNS server from WAN'));
o.value('wan_114', _('Use DNS server from WAN + 114DNS'));
o = s.taboption('routing', form.DynamicList, 'china_dns_server', _('China DNS server'));
o.value('wan', _('WAN DNS (read from interface)'));
o.value('223.5.5.5', _('Aliyun Public DNS (223.5.5.5)'));
o.value('210.2.4.8', _('CNNIC Public DNS (210.2.4.8)'));
o.value('119.29.29.29', _('Tencent Public DNS (119.29.29.29)'));
o.value('114.114.114.114', _('Xinfeng Public DNS (114.114.114.114)'));
o.depends('routing_mode', 'bypass_mainland_china');
o.validate = function(section_id, value) {
if (section_id && value && !['wan', 'wan_114'].includes(value)) {
var dns_servers = value.split(',');
var ipv6_support = this.map.lookupOption('ipv6_support', section_id)[0].formvalue(section_id);
o.validate = function(section_id) {
if (section_id) {
var value = this.map.lookupOption('china_dns_server', section_id)[0].formvalue(section_id);
if (value.length < 1)
return true;
if (dns_servers.length > 2)
if (!features.hp_has_chinadns_ng_v2 && value.length > 2)
return _('You can only have two servers set at maximum.');
for (var i of dns_servers)
if (!stubValidator.apply((ipv6_support === '1') ? 'ipaddr' : 'ip4addr', i))
return _('Expecting: %s').format(_('valid IP address'));
for (var dns of value) {
var ipv6_support = this.map.lookupOption('ipv6_support', section_id)[0].formvalue(section_id);
if (dns === 'wan') {
continue;
} else {
var err = _('Expecting: %s').format(_('valid address#port'));
dns = dns.split('#');
if (dns.length > 2)
return err;
if (!stubValidator.apply((ipv6_support === '1') ? 'ipaddr' : 'ip4addr', dns[0]))
return err;
if (dns[1] && !stubValidator.apply('port', dns[1]))
return err;
}
}
}
return true;
@ -299,6 +309,7 @@ return view.extend({
so = ss.option(form.Flag, 'endpoint_independent_nat', _('Enable endpoint-independent NAT'),
_('Performance may degrade slightly, so it is not recommended to enable on when it is not needed.'));
so.default = so.enabled;
so.depends('tcpip_stack', 'mixed');
so.depends('tcpip_stack', 'gvisor');
so.rmempty = false;
@ -437,7 +448,8 @@ return view.extend({
'<code>(port || port_range)</code> &&<br/>' +
'<code>(source_ip_cidr || source_ip_is_private)</code> &&<br/>' +
'<code>(source_port || source_port_range)</code> &&<br/>' +
'<code>other fields</code>.'));
'<code>other fields</code>.<br/>' +
'Additionally, included rule sets can be considered merged rather than as a single rule sub-item.'));
so.value('default', _('Default'));
so.default = 'default';
so.rmempty = false;
@ -619,6 +631,22 @@ return view.extend({
_('Make each DNS server\'s cache independent for special purposes. If enabled, will slightly degrade performance.'));
so.default = so.disabled;
so.depends('disable_cache', '0');
so = ss.option(form.Value, 'client_subnet', _('EDNS Client subnet'),
_('Append a <code>edns0-subnet</code> OPT extra record with the specified IP prefix to every query by default.<br/>' +
'If value is an IP address instead of prefix, <code>/32</code> or <code>/128</code> will be appended automatically.'));
so.datatype = 'or(cidr, ipaddr)';
so = ss.option(form.Flag, 'cache_file_store_rdrc', _('Store RDRC'),
_('Store rejected DNS response cache.<br/>' +
'The check results of <code>Address filter DNS rule items</code> will be cached until expiration.'));
so.ucisection = 'experimental';
so.default = so.disabled;
so = ss.option(form.Value, 'cache_file_rdrc_timeout', _('RDRC timeout'),
_('Timeout of rejected DNS response cache. <code>7d</code> is used by default.'));
so.ucisection = 'experimental';
so.depends('cache_file_store_rdrc', '1');
/* DNS settings end */
/* DNS servers start */
@ -709,6 +737,12 @@ return view.extend({
so.default = 'direct-out';
so.rmempty = false;
so.editable = true;
so = ss.option(form.Value, 'client_subnet', _('EDNS Client subnet'),
_('Append a <code>edns0-subnet</code> OPT extra record with the specified IP prefix to every query by default.<br/>' +
'If value is an IP address instead of prefix, <code>/32</code> or <code>/128</code> will be appended automatically.<br/>' +
'Can be overrides by <code>rules.[].client_subnet</code>. Will overrides <code>dns.client_subnet</code>.'));
so.datatype = 'or(cidr, ipaddr)';
/* DNS servers end */
/* DNS rules start */
@ -741,7 +775,8 @@ return view.extend({
'<code>(port || port_range)</code> &&<br/>' +
'<code>(source_ip_cidr || source_ip_is_private)</code> &&<br/>' +
'<code>(source_port || source_port_range)</code> &&<br/>' +
'<code>other fields</code>.'));
'<code>other fields</code>.<br/>' +
'Additionally, included rule sets can be considered merged rather than as a single rule sub-item.'));
so.value('default', _('Default'));
so.default = 'default';
so.rmempty = false;
@ -805,7 +840,16 @@ return view.extend({
so = ss.option(form.Flag, 'source_ip_is_private', _('Private source IP'),
_('Match private source IP.'));
so.default = so.disabled;
so.rmempty = false;
so.modalonly = true;
so = ss.option(form.DynamicList, 'ip_cidr', _('IP CIDR'),
_('Match IP CIDR with query response.'));
so.datatype = 'or(cidr, ipaddr)';
so.modalonly = true;
so = ss.option(form.Flag, 'ip_is_private', _('Private IP'),
_('Match private IP with query response.'));
so.default = so.disabled;
so.modalonly = true;
so = ss.option(form.DynamicList, 'source_port', _('Source port'),
@ -846,6 +890,11 @@ return view.extend({
}
so.modalonly = true;
so = ss.option(form.Flag, 'rule_set_ipcidr_match_source', _('Rule set IP CIDR as source IP'),
_('Make <code>ipcidr</code> in rule sets match the source IP.'));
so.default = so.disabled;
so.modalonly = true;
so = ss.option(form.Flag, 'invert', _('Invert'),
_('Invert match result.'));
so.default = so.disabled;
@ -897,6 +946,12 @@ return view.extend({
_('Rewrite TTL in DNS responses.'));
so.datatype = 'uinteger';
so.modalonly = true;
so = ss.option(form.Value, 'client_subnet', _('EDNS Client subnet'),
_('Append a <code>edns0-subnet</code> OPT extra record with the specified IP prefix to every query by default.<br/>' +
'If value is an IP address instead of prefix, <code>/32</code> or <code>/128</code> will be appended automatically.<br/>' +
'Will overrides <code>dns.client_subnet</code> and <code>servers.[].client_subnet</code>.'));
so.datatype = 'or(cidr, ipaddr)';
/* DNS rules end */
/* Custom routing settings end */

View File

@ -1323,7 +1323,7 @@ return view.extend({
}
}
o.onclick = function() {
return fs.exec('/etc/homeproxy/scripts/update_subscriptions.uc').then((res) => {
return fs.exec_direct('/etc/homeproxy/scripts/update_subscriptions.uc').then((res) => {
return location.reload();
}).catch((err) => {
ui.addNotification(null, E('p', _('An error occurred during updating subscriptions: %s').format(err)));

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 @@
20240220150003
20240602150004

View File

@ -2,12 +2,15 @@
2001:254::/31
2001:256:100::/48
2001:550:1601::/48
2001:67c:aec::/48
2001:67c:c28::/48
2001:7fa:5::/48
2001:c68::/32
2001:cc0::/32
2001:da8::/32
2001:daa:1::/48
2001:daa:2::/47
2001:daa:4::/47
2001:daa:6::/48
2001:dc7::/32
2001:dd8:1::/48
2001:dd8:5::/48
@ -22,22 +25,20 @@
2001:df3:3a80::/48
2001:df3:8b80::/48
2001:df3:b380::/48
2001:df3:d0c0::/48
2001:df5:7800::/48
2001:df7:1480::/48
2400:1160::/32
2400:3200::/32
2400:3f60:3::/48
2400:5280:f803::/48
2400:5400:10::/48
2400:58a0:1400::/48
2400:58a0:1402::/48
2400:5a60:2::/48
2400:5a60:100::/48
2400:6000::/32
2400:6460::/40
2400:6600::/32
2400:6e60:1301::/48
2400:70e0:bed::/48
2400:72e0:9f00::/40
2400:73e0:201::/48
2400:73e0::/32
2400:75aa::/32
2400:7bc0:20::/43
2400:7fc0::/40
@ -106,9 +107,12 @@
2400:b200::/32
2400:b600::/32
2400:be00::/48
2400:cb80:e30::/44
2400:cb80:e40::/44
2400:da00::/32
2400:dd00::/28
2400:ebc0::/32
2400:ee00::/32
2400:f6e0::/32
2400:f720::/32
2400:f7c0::/32
@ -116,19 +120,25 @@
2400:fe00::/32
2401:20::/40
2401:800::/32
2401:e60:10::/44
2401:1160::/32
2401:11a0:10::/44
2401:11a0:150::/44
2401:11a0:1500::/40
2401:11a0:d150::/48
2401:11a0:d152::/48
2401:11a0:d158::/48
2401:1200::/48
2401:1320::/32
2401:13a0:1::/48
2401:1740:2000::/48
2401:1d40::/32
2401:2780::/32
2401:2e00::/32
2401:33c0::/32
2401:3480::/36
2401:3480:2000::/48
2401:3480:3000::/36
2401:34a1::/32
2401:34a0::/31
2401:3800::/32
2401:3880::/32
2401:3980::/32
@ -147,6 +157,7 @@
2401:4780::/32
2401:4880::/32
2401:4a80::/32
2401:5960:5960::/48
2401:70e0::/32
2401:7700::/32
2401:7d40::/32
@ -160,14 +171,12 @@
2401:8d00:10::/48
2401:8d00:12::/48
2401:8d00:14::/48
2401:95c0:f001::/48
2401:a140:1::/48
2401:b180::/32
2401:b400::/45
2401:b400:8::/47
2401:b400:11::/48
2401:b400:14::/48
2401:b400:16::/47
2401:b400:14::/46
2401:b400:20::/47
2401:b680::/32
2401:be00::/32
@ -197,7 +206,9 @@
2402:6e80::/32
2402:6f40::/48
2402:6f40:2::/47
2402:6fc0::/48
2402:7040::/32
2402:7240::/36
2402:7d80::/32
2402:8bc0::/32
2402:8cc0::/40
@ -207,6 +218,7 @@
2402:93c0:20::/48
2402:93c0:100::/48
2402:9a80::/32
2402:9e80:60::/48
2402:a200::/32
2402:b8c0::/32
2402:b940::/40
@ -227,11 +239,9 @@
2402:ef40::/32
2402:f000::/32
2402:f8c0::/32
2403:600:a000::/38
2403:600:a600::/47
2403:600:a602::/48
2403:600:b001::/48
2403:600::/32
2403:c80::/32
2403:1a40::/32
2403:1b80::/48
2403:1ec0:1200::/48
2403:1ec0:1400::/48
@ -246,6 +256,7 @@
2403:4b40::/32
2403:4c80::/48
2403:5c80::/48
2403:6380:14::/47
2403:6380:20::/44
2403:6380:40::/48
2403:6380:42::/47
@ -259,6 +270,7 @@
2403:a140:100::/40
2403:a200::/32
2403:ac00::/32
2403:ad80:8008::/48
2403:b400::/32
2403:c980::/32
2403:d400::/32
@ -275,9 +287,13 @@
2404:bc0:4f00::/43
2404:1c80::/32
2404:2280:106::/47
2404:2280:10c::/47
2404:2280:10d::/48
2404:2280:10f::/48
2404:2280:112::/47
2404:2280:115::/48
2404:2280:11b::/48
2404:2280:11c::/47
2404:2280:11e::/48
2404:2280:123::/48
2404:2280:126::/47
2404:2280:12e::/48
@ -285,12 +301,23 @@
2404:2280:136::/47
2404:2280:13b::/48
2404:2280:13c::/47
2404:2280:142::/48
2404:2280:147::/48
2404:2280:152::/48
2404:2280:193::/48
2404:2280:196::/48
2404:2280:199::/48
2404:2280:19a::/47
2404:2280:19c::/47
2404:2280:19e::/48
2404:2280:1a4::/47
2404:2280:1a8::/48
2404:2280:1b0::/48
2404:2280:1b2::/48
2404:2280:1b4::/48
2404:2280:1b8::/48
2404:2280:1b4::/46
2404:2280:1b8::/47
2404:2280:1ba::/48
2404:2280:1bf::/48
2404:2280:1c1::/48
2404:2280:1c2::/47
2404:2280:1c4::/47
@ -299,12 +326,19 @@
2404:2280:1cb::/48
2404:2280:1cc::/48
2404:2280:1cf::/48
2404:2280:1d0::/48
2404:2280:1d3::/48
2404:2280:1d6::/48
2404:2280:1d8::/45
2404:2280:1e0::/48
2404:2280:1e2::/47
2404:2280:1e4::/47
2404:2280:1e4::/46
2404:2280:1e8::/48
2404:2280:1ea::/48
2404:2280:1ec::/47
2404:2280:1ee::/48
2404:2280:1f0::/45
2404:2280:1f8::/46
2404:4dc0::/32
2404:6380::/48
2404:6380:1000::/48
@ -313,7 +347,6 @@
2404:7180:a000::/48
2404:7180:a010::/48
2404:7180:a021::/48
2404:7180:a022::/48
2404:7180:aa00::/48
2404:7180:aa10::/48
2404:7180:b001::/48
@ -358,6 +391,7 @@
2405:1480:1000::/48
2405:1480:2000::/48
2405:1480:3000::/47
2405:1640:6::/48
2405:3140:11::/48
2405:3140:31::/48
2405:3140:3a::/48
@ -367,6 +401,9 @@
2405:66c0::/32
2405:68c0:21::/48
2405:6940::/48
2405:6f00:c101::/48
2405:6f00:c102::/48
2405:6f00:c170::/47
2405:6f00:c602::/48
2405:7040:6000::/47
2405:78c0:6e00::/43
@ -376,6 +413,7 @@
2405:a900:fffe::/48
2405:ad00::/32
2405:b7c0::/32
2405:be80::/32
2405:d900::/32
2405:e000::/32
2405:f580::/32
@ -387,22 +425,30 @@
2406:840:10::/45
2406:840:20::/48
2406:840:44::/47
2406:840:78::/48
2406:840:78::/47
2406:840:80::/47
2406:840:90::/48
2406:840:100::/48
2406:840:110::/48
2406:840:180::/48
2406:840:1c0::/48
2406:840:301::/48
2406:840:302::/48
2406:840:3c1::/48
2406:840:410::/48
2406:840:800::/42
2406:840:420::/48
2406:840:680::/48
2406:840:801::/48
2406:840:802::/47
2406:840:840::/47
2406:840:860::/48
2406:840:880::/48
2406:840:9b1::/48
2406:840:a08::/48
2406:840:c00::/48
2406:840:a90::/48
2406:840:c00::/47
2406:840:c60::/48
2406:840:1800::/48
2406:840:1860::/48
2406:840:2800::/48
2406:840:3800::/48
2406:840:4100::/47
@ -423,16 +469,15 @@
2406:840:9801::/48
2406:840:9810::/48
2406:840:981c::/46
2406:840:9960::/44
2406:840:9960::/47
2406:840:9962::/48
2406:840:9969::/48
2406:840:996f::/48
2406:840:9980::/48
2406:840:9984::/48
2406:840:9ef0::/44
2406:840:a000::/35
2406:840:c0a8::/48
2406:840:e010::/47
2406:840:e014::/46
2406:840:e018::/45
2406:840:e030::/47
2406:840:e033::/48
2406:840:e03f::/48
2406:840:e080::/44
2406:840:e0c1::/48
@ -443,20 +488,23 @@
2406:840:e180::/44
2406:840:e20f::/48
2406:840:e230::/48
2406:840:e280::/48
2406:840:e270::/44
2406:840:e300::/47
2406:840:e302::/48
2406:840:e340::/44
2406:840:e351::/48
2406:840:e354::/48
2406:840:e36f::/48
2406:840:e500::/47
2406:840:e57b::/48
2406:840:e57f::/48
2406:840:e666::/47
2406:840:e720::/48
2406:840:e770::/48
2406:840:e777::/48
2406:840:e80f::/48
2406:840:e841::/48
2406:840:e842::/48
2406:840:e846::/48
2406:840:e84a::/48
2406:840:e84c::/47
2406:840:e84f::/48
@ -471,10 +519,11 @@
2406:840:eb0b::/48
2406:840:eb0f::/48
2406:840:eb80::/42
2406:840:ed02::/48
2406:840:eed0::/44
2406:840:efa0::/44
2406:840:f0a1::/48
2406:840:f0aa::/48
2406:840:f100::/47
2406:840:f200::/44
2406:840:f230::/44
2406:840:f380::/44
2406:840:f401::/48
@ -482,24 +531,23 @@
2406:840:f440::/47
2406:840:f44f::/48
2406:840:f48f::/48
2406:840:f62f::/48
2406:840:f660::/44
2406:840:f681::/48
2406:840:f990::/44
2406:840:fa01::/48
2406:840:fa02::/47
2406:840:fa04::/48
2406:840:fd00::/47
2406:840:fd03::/48
2406:840:fd05::/48
2406:840:fd06::/48
2406:840:fd1f::/48
2406:840:fdd0::/47
2406:840:fde0::/48
2406:840:fe27::/48
2406:840:fe50::/48
2406:840:fe60::/48
2406:840:fe72::/47
2406:840:fec0::/47
2406:840:fec4::/47
2406:840:fec8::/47
2406:840:feca::/48
2406:840:fec8::/45
2406:840:fed1::/48
2406:840:fed2::/47
2406:840:fed4::/46
@ -510,8 +558,10 @@
2406:840:feed::/48
2406:840:fef0::/46
2406:840:fef5::/48
2406:840:fef6::/47
2406:840:fef8::/45
2406:840:fef7::/48
2406:840:fef8::/47
2406:840:fefb::/48
2406:840:fefc::/46
2406:1e40:f012::/47
2406:2000:a0::/48
2406:2700::/32
@ -524,6 +574,7 @@
2406:5340:6666::/48
2406:5340:8888::/48
2406:5ac0::/32
2406:8880::/48
2406:94c0::/48
2406:b640:100::/48
2406:b640:4100::/48
@ -532,8 +583,6 @@
2406:d440:100::/44
2406:d440:200::/44
2406:d440:300::/44
2406:d440:500::/48
2406:d440:600::/48
2406:e3c0::/32
2406:e500::/33
2407:2840::/48
@ -544,8 +593,8 @@
2407:5380::/32
2407:6c40:1210::/48
2407:6c40:1500::/48
2407:6c40:1600::/40
2407:6c40:1810::/48
2407:7d00:1::/48
2407:8f40:2::/48
2407:9f00::/32
2407:ad80::/32
@ -888,6 +937,7 @@
2408:844b::/32
2408:844c::/30
2408:8452::/31
2408:8454::/32
2408:8456::/31
2408:8458::/30
2408:845c::/31
@ -949,7 +999,7 @@
2408:8708::/29
2408:8710::/30
2408:8719::/32
2408:871a::/32
2408:871a::/31
2408:8720::/30
2408:8726::/32
2408:872b::/32
@ -984,7 +1034,9 @@
2408:8806::/42
2408:8806:40::/43
2408:880c::/30
2408:8810::/29
2408:8810::/30
2408:8814::/31
2408:8816::/32
2408:8818::/31
2408:882c::/32
2408:883a::/32
@ -1046,19 +1098,22 @@
2408:8a24:4000::/34
2408:8a26:c000::/34
2408:8a27:4000::/35
2409:2000::/32
2409:2000::/31
2409:27fa::/48
2409:27fa:f000::/48
2409:27fb::/48
2409:27fc::/48
2409:27fe::/33
2409:6100::/44
2409:8000::/20
240a:2000::/29
240a:400b::/33
240a:4010:8000::/33
240a:4020:83a::/48
240a:4020:883a::/48
240a:4021:83a::/48
240a:4021:883a::/48
240a:4082:c000::/35
240a:408a:c000::/35
240a:4084:2000::/35
240a:408c:2000::/35
240a:4090:50::/48
240a:4090:120::/48
240a:4090:250::/48
@ -1073,18 +1128,22 @@
240a:4090:5200::/40
240a:4090:7000::/39
240a:4090:7200::/40
240a:4092:c000::/35
240a:409a:c000::/35
240a:40a2:c000::/35
240a:40aa:c000::/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:8200::/48
240a:40c0:8240::/48
240a:414c::/31
240a:41cc::/31
240a:40c3:c200::/48
240a:40c3:c240::/48
240a:4172::/31
240a:41b0::/31
240a:41f2::/31
240a:4242::/31
240a:4280::/26
240a:42c0::/27
240a:42e0::/28
@ -1107,8 +1166,8 @@
240d:c000:6000::/36
240d:c000:7000::/44
240d:c000:f000::/44
240d:c000:f020::/44
240d:c010::/47
240d:c010:11::/48
240d:c010:14::/48
240d:c010:16::/48
240d:c010:20::/44
@ -1116,56 +1175,39 @@
240d:c010:58::/48
240d:c010:5b::/48
240d:c010:5c::/48
240d:c010:5e::/48
240d:c010:68::/48
240d:c010:6c::/48
240d:c040::/44
240e::/20
2602:2a3::/40
2602:2a3::/48
2602:2a4:ff::/48
2602:2c3:810::/44
2602:f9a9:101::/48
2602:f9ba:a9::/48
2602:f9df:400::/48
2602:f9df:410::/48
2602:f9df:420::/48
2602:f9df:400::/47
2602:f9df:500::/48
2602:f9df:505::/48
2602:f9df:510::/47
2602:f9f6:400::/44
2602:fa1c:121::/48
2602:f9df:515::/48
2602:f9df:516::/48
2602:f9f6:400::/47
2602:fa4f:600::/40
2602:fab0:11::/48
2602:fbda:600::/48
2602:fbda:660::/48
2602:fbda:666::/48
2602:fc52:311::/48
2602:fc52:312::/48
2602:fc52:315::/48
2602:fd92:800::/40
2602:fd92:801::/48
2602:fe69:f26::/47
2602:fed2:7020::/46
2602:fed2:7101::/48
2602:fed2:731d::/48
2602:feda:182::/47
2602:feda:1bf::/48
2602:feda:1d1::/48
2602:feda:1d2::/48
2602:feda:2a0::/46
2602:feda:2a4::/47
2602:feda:2a6::/48
2602:feda:2aa::/48
2602:feda:2af::/48
2602:feda:2d0::/47
2602:feda:2f0::/48
2602:feda:3c5::/48
2602:feda:b8f::/48
2602:feda:c34::/48
2602:feda:ca1::/48
2602:feda:d80::/48
2602:feda:d83::/48
2602:ffe4:c5f::/48
2602:ffe4:c60::/47
2605:640f:bcd7::/48
2605:9d80:8001::/48
2605:9d80:8011::/48
2605:9d80:8021::/48
@ -1180,10 +1222,8 @@
2605:9d80:9052::/48
2605:9d80:9071::/48
2605:9d80:9092::/48
2605:f440:cafe::/48
2607:7640::/48
2620:57:4004::/47
2804:1e48::/32
2a03:5840:f3::/48
2a03:5840:290::/48
2a04:3e00:1002::/48
2a04:f580:8010::/47
@ -1215,15 +1255,11 @@
2a04:f580:9280::/48
2a04:f580:9290::/48
2a05:1085::/32
2a05:1086:f000::/47
2a05:1087::/32
2a05:dfc1:5900::/41
2a05:dfc1:5a00::/40
2a05:dfc1:6607::/48
2a05:dfc1:7100::/47
2a05:dfc1:7103::/48
2a05:dfc1:1600::/40
2a05:dfc1:7106::/47
2a05:dfc1:7108::/47
2a05:dfc1:8c00::/48
2a05:dfc1:7110::/48
2a05:dfc1:8c02::/48
2a05:dfc1:8c05::/48
2a05:dfc1:8c09::/48
@ -1234,102 +1270,60 @@
2a05:dfc1:8c1d::/48
2a05:dfc1:8c22::/48
2a05:dfc1:8c24::/48
2a05:dfc1:8c30::/48
2a05:dfc1:8c3a::/48
2a05:dfc1:8c40::/48
2a05:dfc1:8c90::/47
2a05:dfc1:8c42::/48
2a05:dfc1:8c90::/46
2a05:dfc1:8c94::/47
2a05:dfc1:8c98::/47
2a05:dfc1:8d00::/48
2a05:dfc1:8d02::/48
2a05:dfc1:8d05::/48
2a06:3600::/29
2a06:a001:a0c4::/48
2a06:a005:260::/43
2a06:a005:280::/42
2a06:a005:486::/48
2a06:a005:8d0::/47
2a06:a005:8da::/48
2a06:a005:910::/44
2a06:a005:280::/43
2a06:a005:2a0::/44
2a06:a005:9c0::/48
2a06:a005:a13::/48
2a06:a005:b69::/48
2a06:a005:d22::/48
2a06:a005:e80::/43
2a06:a005:f80::/44
2a06:a005:1340::/43
2a06:a005:13b0::/44
2a06:a005:13c0::/43
2a06:a005:13e0::/47
2a06:a005:13eb::/48
2a06:a005:1520::/44
2a06:a005:1700::/44
2a06:a005:1800::/48
2a06:a005:1c40::/44
2a06:a005:13e2::/48
2a06:a005:13ea::/47
2a06:a005:13ed::/48
2a06:a005:13ef::/48
2a06:a005:1ee1::/48
2a06:a005:1ee8::/47
2a06:a005:1ee9::/48
2a06:a005:1eee::/48
2a06:a005:2040::/44
2a06:a005:2100::/44
2a06:a005:2200::/44
2a06:a005:2510::/48
2a06:a005:28f3::/48
2a06:a005:28f4::/48
2a06:a005:2910::/44
2a06:a005:2922::/48
2a06:a005:2925::/48
2a06:a005:2926::/48
2a06:a005:2940::/43
2a06:a005:2980::/44
2a06:a005:29d1::/48
2a06:de00:de04::/48
2a06:de00:de0e::/47
2a06:de01:80b::/48
2a06:de01:821::/48
2a06:de01:82e::/48
2a06:de01:84c::/48
2a06:de01:863::/48
2a06:de01:871::/48
2a06:de01:87a::/48
2a06:de01:8a0::/48
2a06:de01:8bb::/48
2a06:de01:8be::/47
2a06:de01:8d8::/48
2a06:de01:904::/48
2a06:de01:907::/48
2a06:de01:908::/48
2a06:de01:912::/48
2a06:de01:95f::/48
2a06:de01:962::/48
2a06:de01:967::/48
2a06:de01:97c::/48
2a06:de01:980::/48
2a06:de01:99c::/48
2a06:de01:9ad::/48
2a06:de01:adb::/48
2a06:de01:ae6::/48
2a06:de01:af6::/48
2a06:de01:afc::/48
2a06:de01:b36::/48
2a06:e881:2509::/48
2a06:e881:5501::/48
2a06:e881:5502::/48
2a06:e881:5506::/48
2a06:de00:de0e::/48
2a06:e881:6600::/48
2a06:e881:6602::/47
2a06:e881:6606::/48
2a09:b280:ff80::/47
2a07:54c1:2200::/47
2a07:54c1:2202::/48
2a09:b280:ff80::/48
2a09:b280:ff83::/48
2a09:b280:ff84::/47
2a0a:280:2d00::/46
2a0a:280:2d04::/47
2a0a:2840:20::/43
2a0a:2845:aab8::/46
2a0a:6040:c00::/40
2a0a:6040:e01::/48
2a0a:6040:e02::/47
2a0a:6040:e02::/48
2a0a:6040:ea0::/48
2a0a:6040:f00::/48
2a0a:6040:f10::/47
2a0a:6040:f00::/47
2a0a:6040:f02::/48
2a0a:6040:f11::/48
2a0a:6040:f15::/48
2a0a:6040:1b00::/40
2a0a:6040:2222::/48
2a0a:6040:2228::/48
@ -1337,52 +1331,33 @@
2a0a:6040:2255::/48
2a0a:6040:2277::/48
2a0a:6040:2d00::/44
2a0a:6040:3300::/48
2a0a:6040:3410::/48
2a0a:6040:3420::/48
2a0a:6040:3430::/48
2a0a:6040:3441::/48
2a0a:6040:34ff::/48
2a0a:6040:5555::/48
2a0a:6040:6607::/48
2a0a:6040:6c40::/44
2a0a:6040:a450::/47
2a0a:6040:a730::/48
2a0a:6040:a740::/48
2a0a:6040:a901::/48
2a0a:6040:a900::/47
2a0a:6040:b770::/44
2a0a:6040:c601::/48
2a0a:6040:c700::/42
2a0a:6040:c740::/47
2a0a:6040:c742::/48
2a0a:6040:c750::/47
2a0a:6040:c770::/44
2a0a:6040:c7a0::/48
2a0a:6040:ce00::/48
2a0a:6040:ce10::/48
2a0a:6040:d0fe::/48
2a0a:6040:d401::/48
2a0a:6040:d310::/48
2a0a:6040:d600::/44
2a0a:6040:d610::/47
2a0a:6040:d610::/48
2a0a:6040:d612::/48
2a0a:6040:d614::/46
2a0a:6040:d710::/44
2a0a:6040:d614::/47
2a0a:6040:d617::/48
2a0a:6040:e410::/48
2a0a:6040:e541::/48
2a0a:6040:e543::/48
2a0a:6040:e544::/47
2a0a:6040:e546::/48
2a0a:6040:e54b::/48
2a0a:6040:e54c::/48
2a0a:6040:e900::/40
2a0a:6040:ec00::/40
2a0b:b86:ffe0::/48
2a0b:b87:ffb5::/48
2a0b:2542::/48
2a0b:2542:300::/40
2a0b:4340:6::/48
2a0b:4340:22::/48
2a0b:4340:30::/44
2a0b:4340:60::/44
2a0b:4340:70::/48
2a0b:4340:90::/48
2a0b:4340:93::/48
@ -1393,44 +1368,27 @@
2a0b:4340:a0::/44
2a0b:4340:c0::/44
2a0b:4340:d8::/48
2a0b:4340:400::/46
2a0b:4340:404::/47
2a0b:4340:406::/48
2a0b:4340:434::/48
2a0b:4340:560::/44
2a0b:4340:1304::/48
2a0b:4340:1340::/48
2a0c:9a40:8cf0::/48
2a0c:9a40:9e04::/47
2a0c:9a40:9e08::/45
2a0c:9a40:9e00::/43
2a0c:b641:210::/47
2a0c:b641:24f::/48
2a0c:b641:312::/48
2a0c:b641:510::/48
2a0c:b641:570::/47
2a0c:b641:730::/44
2a0c:b641:a11::/48
2a0c:b641:a60::/44
2a0c:b641:b21::/48
2a0c:b641:b25::/48
2a0c:b641:b26::/48
2a0c:b642:4101::/48
2a0c:b642:4102::/47
2a0c:b642:4104::/47
2a0d:2146:8040::/48
2a0d:2406:510::/46
2a0c:b642:4104::/46
2a0d:2580:ff00::/45
2a0d:2580:ff08::/46
2a0d:2581:fffc::/48
2a0d:2581:fffe::/47
2a0d:2683:2::/48
2a0d:2687::/32
2a0d:2904::/44
2a0d:2906:f000::/44
2a0d:c7c7::/32
2a0e:800:ff00::/48
2a0e:800:ff04::/48
2a0e:800:ff20::/47
2a0e:800:ff40::/42
2a0e:15c0:6::/48
2a0e:8f02:2182::/47
2a0e:8f02:f006::/48
2a0e:8f02:f058::/48
@ -1440,6 +1398,7 @@
2a0e:97c0:550::/44
2a0e:97c0:5ef::/48
2a0e:97c0:83f::/48
2a0e:9b00::/29
2a0e:aa01:1fff::/48
2a0e:aa06::/40
2a0e:aa06:400::/44
@ -1447,42 +1406,40 @@
2a0e:aa06:470::/44
2a0e:aa06:490::/44
2a0e:aa07:e01b::/48
2a0e:aa07:e024::/46
2a0e:aa07:e024::/47
2a0e:aa07:e027::/48
2a0e:aa07:e030::/48
2a0e:aa07:e035::/48
2a0e:aa07:e039::/48
2a0e:aa07:e043::/48
2a0e:aa07:e050::/44
2a0e:aa07:e060::/48
2a0e:aa07:e071::/48
2a0e:aa07:e073::/48
2a0e:aa07:e0f1::/48
2a0e:aa07:e0f7::/48
2a0e:aa07:e120::/44
2a0e:aa07:e130::/47
2a0e:aa07:e141::/48
2a0e:aa07:e142::/47
2a0e:aa07:e140::/47
2a0e:aa07:e143::/48
2a0e:aa07:e145::/48
2a0e:aa07:e146::/47
2a0e:aa07:e16a::/48
2a0e:aa07:e1a0::/46
2a0e:aa07:e1b0::/47
2a0e:aa07:e1b2::/48
2a0e:aa07:e1b4::/47
2a0e:aa07:e200::/44
2a0e:aa07:f000::/48
2a0e:aa07:f004::/48
2a0e:aa07:f008::/48
2a0e:aa07:f041::/48
2a0e:aa07:f042::/48
2a0e:aa07:f0d0::/47
2a0e:aa07:f0d0::/48
2a0e:aa07:f0d2::/48
2a0e:aa07:f0d4::/47
2a0e:aa07:f0d6::/48
2a0e:aa07:f0e0::/44
2a0e:b107:30::/48
2a0e:b107:32::/47
2a0e:b107:a0::/44
2a0e:b107:12b::/48
2a0e:b107:1c0::/48
2a0e:b107:1c1::/48
2a0e:b107:272::/48
2a0e:b107:790::/44
2a0e:b107:bd0::/48
2a0e:b107:740::/44
2a0e:b107:c10::/48
2a0e:b107:da0::/44
2a0e:b107:dce::/48
@ -1491,32 +1448,31 @@
2a0e:b107:16c0::/44
2a0e:b107:1a40::/46
2a0e:b107:1b60::/48
2a0e:b107:1d25::/48
2a0e:b107:1b6e::/47
2a0e:b107:1e85::/48
2a0e:b107:2440::/44
2a0f:1440::/29
2a0f:2100::/29
2a0f:5707:ac01::/48
2a0f:5707:fe01::/48
2a0f:5707:fff5::/48
2a0f:7803:fc00::/44
2a0f:7803:fc30::/44
2a0f:5707:fff4::/47
2a0f:7803:fc00::/43
2a0f:7803:fc20::/44
2a0f:7803:fc80::/44
2a0f:7803:fcc0::/44
2a0f:7803:fd00::/40
2a0f:7803:fe21::/48
2a0f:7803:fe23::/48
2a0f:7803:fe22::/48
2a0f:7803:fe24::/48
2a0f:7803:fe80::/47
2a0f:7803:fe82::/48
2a0f:7803:ff10::/48
2a0f:7980::/44
2a0f:85c1:100::/47
2a0f:85c1:3b5::/48
2a0f:9400:6110::/48
2a0f:9400:7700::/48
2a10:2f00:13a::/48
2a0f:9400:8016::/48
2a0f:e401:133::/48
2a10:2f00:147::/48
2a10:2f00:15a::/48
2a10:2f00:18e::/48
2a10:2f01:100::/48
2a10:cc40:180::/47
2a10:cc40:188::/48
2a10:cc40:190::/48
2a10:cc42:120::/43
2a10:ccc0:cc1::/48
@ -1524,58 +1480,54 @@
2a10:ccc0:ccc::/48
2a10:ccc0:ccc6::/48
2a10:ccc0:cccc::/46
2a10:ccc1:105::/48
2a11:f2c0:ffc4::/48
2a12:3fc2:6600::/48
2a12:3fc2:6666::/48
2a12:3fc2:aa10::/44
2a12:3fc2:aa40::/44
2a12:3fc2:ab50::/48
2a12:3fc2:e72e::/48
2a12:3fc2:e810::/44
2a12:3fc7::/48
2a12:3fc7:8000::/48
2a12:dd47:5c00::/40
2a12:f8c0::/48
2a12:f8c0:1000::/39
2a12:f8c1::/48
2a12:f8c0:1000::/40
2a12:f8c3::/36
2a13:1800::/48
2a13:1800:10::/48
2a13:1800:80::/44
2a13:1800:300::/44
2a13:1801:180::/43
2a13:1802::/44
2a13:1802::/43
2a13:a5c3:f000::/40
2a13:a5c4:1000::/38
2a13:a5c7:1200::/40
2a13:a5c7:1500::/40
2a13:a5c7:1600::/46
2a13:a5c7:1604::/48
2a13:a5c7:1606::/47
2a13:a5c7:1608::/48
2a13:a5c7:1610::/47
2a13:a5c7:1612::/48
2a13:a5c7:1600::/45
2a13:a5c7:1608::/47
2a13:a5c7:1610::/46
2a13:a5c7:1614::/47
2a13:a5c7:1801::/48
2a13:a5c7:1802::/47
2a13:a5c7:1804::/47
2a13:a5c7:2102::/47
2a13:a5c7:2104::/48
2a13:a5c7:2106::/48
2a13:aac4:f000::/44
2a13:b487:11da::/48
2a13:b487:1200::/43
2a13:b487:1b86::/48
2a13:b487:1bb2::/48
2a13:b487:1bb6::/48
2a13:b487:1bbb::/48
2a13:b487:1f00::/45
2a13:b487:4200::/47
2a13:b487:4210::/44
2a13:b487:4220::/43
2a13:b487:4240::/43
2a13:b487:42d0::/44
2a13:df80:3b10::/48
2a13:df80:6808::/48
2a13:df85:be00::/48
2a13:b487:1ba2::/48
2a13:b487:1ba6::/47
2a13:b487:1bb2::/47
2a13:b487:1bba::/47
2a13:b487:1bc0::/47
2a13:b487:1bff::/48
2a13:b487:1f02::/47
2a13:b487:1f04::/46
2a13:df80:3b00::/44
2a13:df80:3b11::/48
2a13:df85:be10::/48
2a13:df85:be80::/48
2a13:df85:be88::/48
2a13:df85:be90::/48
2a13:df85:beaa::/48
2a13:df85:bed0::/48
2a13:df85:bedc::/48
2a13:df85:befe::/48
2c0f:f7a8:8011::/48
2c0f:f7a8:8050::/48

View File

@ -1 +1 @@
20240220150003
20240602150004

File diff suppressed because it is too large Load Diff

View File

@ -1 +1 @@
202402192209
202406062209

View File

@ -326,6 +326,7 @@ apkmirror.com
apkmonk.com
apkplz.com
apkpure.com
apkpure.net
aplusvpn.com
app.box.com
app.cloudcone.com
@ -338,6 +339,7 @@ appdownloader.net
appledaily.com
appledaily.com.hk
appledaily.com.tw
apps.evozi.com
appshopper.com
appsocks.net
appspot.com
@ -347,6 +349,7 @@ ar.hao123.com
archive.fo
archive.is
archive.li
archive.md
archive.org
archive.ph
archive.today
@ -625,7 +628,6 @@ blog.tiney.com
blog.workflow.is
blog.xuite.net
blog.youthwant.com.tw
blog.youxu.info
blogblog.com
blogcatalog.com
blogcity.me
@ -634,7 +636,6 @@ blogger.com
blogimg.jp
bloglines.com
bloglovin.com
blogs.icerocket.com
blogs.libraryinformationtechnology.com
blogs.tampabay.com
blogs.yahoo.co.jp
@ -817,6 +818,7 @@ c-span.org
c-spanvideo.org
c100tibet.org
c2cx.com
cableav.tv
cablegatesearch.net
cachinese.com
cacnw.com
@ -896,6 +898,7 @@ cdn-images.mailchimp.com
cdn-telegram.org
cdn.assets.lfpcontent.com
cdn.helixstudios.net
cdn.jwplayer.com
cdn.printfriendly.com
cdn.seatguru.com
cdn.softlayer.net
@ -936,6 +939,8 @@ changsa.net
channelnewsasia.com
chaoex.com
chapm25.com
chat.lmsys.org
chatgpt.com
chatnook.com
chaturbate.com
checkgfw.com
@ -1045,6 +1050,7 @@ chubold.com
chubun.com
churchinhongkong.org
chushigangdrug.ch
ciciai.com
cienen.com
cineastentreff.de
cipfg.org
@ -1174,6 +1180,7 @@ costco.com
cotweet.com
counter.social
coursehero.com
coze.com
cpj.org
cq99.us
crackle.com
@ -1334,6 +1341,7 @@ deviantart.com
deviantart.net
devio.us
devpn.com
devv.ai
dfas.mil
dfn.org
dharamsalanet.com
@ -1607,6 +1615,7 @@ etaa.org.au
etadult.com
etaiwannews.com
etherdelta.com
ethermine.org
etherscan.io
etizer.org
etokki.com
@ -1643,6 +1652,7 @@ eyny.com
ezpc.tk
ezpeer.com
ezua.com
f2pool.com
f8.com
fa.gov.tw
facebook.br
@ -2649,6 +2659,7 @@ hrcchina.org
hrcir.com
hrea.org
hrichina.org
hrntt.org
hrtsea.com
hrw.org
hrweb.org
@ -2734,6 +2745,7 @@ ibros.org
ibvpn.com
icams.com
ice.audionow.com
icedrive.net
icij.org
icl-fi.org
icoco.com
@ -3207,7 +3219,6 @@ livecoin.net
livedoor.jp
liveleak.com
livemint.com
livestation.com
livestream.com
livevideo.com
livingonline.us
@ -3215,7 +3226,6 @@ livingstream.com
liwangyang.com
lizhizhuangbi.com
lkcn.net
llss.me
lncn.org
load.to
lobsangwangyal.com
@ -3655,6 +3665,7 @@ newlandmagazine.com.au
newmitbbs.com
newnews.ca
news.cnyes.com
news.ebc.net.tw
news.hk.msn.com
news.msn.com.tw
news.nationalgeographic.com
@ -3753,6 +3764,7 @@ noxinfluencer.com
noypf.com
npa.go.jp
npa.gov.tw
npm.gov.tw
npnt.me
nps.gov
npsboost.com
@ -4060,6 +4072,7 @@ pipii.tv
piposay.com
piraattilahti.org
piring.com
pixeldrain.com
pixelqi.com
pixiv.net
pixnet.net
@ -4131,6 +4144,7 @@ postimg.org
posts.careerengine.us
potato.im
potvpn.com
pourquoi.tw
power.com
powerapple.com
powercx.com
@ -4212,6 +4226,7 @@ python.com.tw
pythonhackers.com
pytorch.org
qanote.com
qbittorrent.org
qgirl.com.tw
qhigh.com
qi-gong.me
@ -4246,9 +4261,9 @@ qxbbs.org
qz.com
r0.ru
r18.com
ra.gg
radicalparty.org
radiko.jp
radio-canada.ca
radio.garden
radioaustralia.net.au
radiohilight.net
@ -4369,6 +4384,7 @@ ronjoneswriter.com
roodo.com
rosechina.net
rotten.com
rou.video
rsdlmonitor.com
rsf-chinese.org
rsf.org
@ -4857,6 +4873,7 @@ tahr.org.tw
taipei.gov.tw
taipeisociety.org
taipeitimes.com
taisounds.com
taiwan-sex.com
taiwanbible.com
taiwancon.com
@ -5894,6 +5911,7 @@ x-art.com
x-berry.com
x-wall.org
x.co
x.com
x.company
x1949x.com
x24hr.com
@ -6021,7 +6039,6 @@ yilubbs.com
yingsuoss.com
yinlei.org
yipub.com
yiyechat.com
yizhihongxing.com
yobit.net
yobt.com
@ -6069,17 +6086,18 @@ yuanming.net
yuanzhengtang.org
yulghun.com
yunchao.net
yuntipub.com
yuvutu.com
yvesgeleyn.com
ywpw.com
yx51.net
yyii.org
yyjlymb.xyz
yysub.net
yzzk.com
z-lib.org
zacebook.com
zalmos.com
zamimg.com
zannel.com
zaobao.com
zaobao.com.sg

View File

@ -1 +1 @@
202402192209
202406062209

View File

@ -51,7 +51,7 @@ const dns_port = uci.get(uciconfig, uciinfra, 'dns_port') || '5333';
let main_node, main_udp_node, dedicated_udp_node, default_outbound, sniff_override = '1',
dns_server, dns_default_strategy, dns_default_server, dns_disable_cache, dns_disable_cache_expire,
dns_independent_cache, direct_domain_list;
dns_independent_cache, dns_client_subnet, direct_domain_list;
if (routing_mode !== 'custom') {
main_node = uci.get(uciconfig, ucimain, 'main_node') || 'nil';
@ -72,6 +72,7 @@ if (routing_mode !== 'custom') {
dns_disable_cache = uci.get(uciconfig, ucidnssetting, 'disable_cache');
dns_disable_cache_expire = uci.get(uciconfig, ucidnssetting, 'disable_cache_expire');
dns_independent_cache = uci.get(uciconfig, ucidnssetting, 'independent_cache');
dns_client_subnet = uci.get(uciconfig, ucidnssetting, 'client_subnet');
/* Routing settings */
default_outbound = uci.get(uciconfig, uciroutingsetting, 'default_outbound') || 'nil';
@ -82,6 +83,9 @@ const proxy_mode = uci.get(uciconfig, ucimain, 'proxy_mode') || 'redirect_tproxy
ipv6_support = uci.get(uciconfig, ucimain, 'ipv6_support') || '0',
default_interface = uci.get(uciconfig, ucicontrol, 'bind_interface');
const cache_file_store_rdrc = uci.get(uciconfig, uciexp, 'cache_file_store_rdrc'),
cache_file_rdrc_timeout = uci.get(uciconfig, uciexp, 'cache_file_rdrc_timeout');
const mixed_port = uci.get(uciconfig, uciinfra, 'mixed_port') || '5330';
let self_mark, redirect_port, tproxy_port,
tun_name, tun_addr4, tun_addr6, tun_mtu, tun_gso,
@ -98,9 +102,10 @@ if (match(proxy_mode), /tun/) {
tun_addr4 = uci.get(uciconfig, uciinfra, 'tun_addr4') || '172.19.0.1/30';
tun_addr6 = uci.get(uciconfig, uciinfra, 'tun_addr6') || 'fdfe:dcba:9876::1/126';
tun_mtu = uci.get(uciconfig, uciinfra, 'tun_mtu') || '9000';
tun_gso = uci.get(uciconfig, uciinfra, 'tun_gso') || '0';
tun_gso = '0';
tcpip_stack = 'system';
if (routing_mode === 'custom') {
tun_gso = uci.get(uciconfig, uciroutingsetting, 'tun_gso') || '0';
tcpip_stack = uci.get(uciconfig, uciroutingsetting, 'tcpip_stack') || 'system';
endpoint_independent_nat = uci.get(uciconfig, uciroutingsetting, 'endpoint_independent_nat');
}
@ -344,7 +349,8 @@ config.dns = {
strategy: dns_default_strategy,
disable_cache: (dns_disable_cache === '1'),
disable_expire: (dns_disable_cache_expire === '1'),
independent_cache: (dns_independent_cache === '1')
independent_cache: (dns_independent_cache === '1'),
client_subnet: dns_client_subnet
};
if (!isEmpty(main_node)) {
@ -401,7 +407,8 @@ if (!isEmpty(main_node)) {
address_resolver: get_resolver(cfg.address_resolver),
address_strategy: cfg.address_strategy,
strategy: cfg.resolve_strategy,
detour: get_outbound(cfg.outbound)
detour: get_outbound(cfg.outbound),
client_subnet: cfg.client_subnet
});
});
@ -423,17 +430,21 @@ if (!isEmpty(main_node)) {
port_range: cfg.port_range,
source_ip_cidr: cfg.source_ip_cidr,
source_ip_is_private: (cfg.source_ip_is_private === '1') || null,
ip_cidr: cfg.ip_cidr,
ip_is_private: (cfg.ip_is_private === '1') || null,
source_port: parse_port(cfg.source_port),
source_port_range: cfg.source_port_range,
process_name: cfg.process_name,
process_path: cfg.process_path,
user: cfg.user,
rule_set: get_ruleset(cfg.rule_set),
rule_set_ipcidr_match_source: (cfg.rule_set_ipcidr_match_source === '1') || null,
invert: (cfg.invert === '1') || null,
outbound: get_outbound(cfg.outbound),
server: get_resolver(cfg.server),
disable_cache: (cfg.dns_disable_cache === '1') || null,
rewrite_ttl: strToInt(cfg.rewrite_ttl)
rewrite_ttl: strToInt(cfg.rewrite_ttl),
client_subnet: cfg.client_subnet
});
});
@ -638,7 +649,9 @@ if (routing_mode === 'custom') {
config.experimental = {
cache_file: {
enabled: true,
path: HP_DIR + '/cache.db'
path: HP_DIR + '/cache.db',
store_rdrc: (cache_file_store_rdrc === '1') || null,
rdrc_timeout: cache_file_rdrc_timeout
}
};
}

View File

@ -95,8 +95,8 @@ case "$1" in
check_list_update "$1" "Loyalsoldier/v2ray-rules-dat" "release" "gfw.txt"
;;
"china_list")
check_list_update "$1" "Loyalsoldier/v2ray-rules-dat" "release" "direct-list.txt"
sed -i -e "s/full://g" -e "/:/d" "$RESOURCES_DIR/china_list.txt"
check_list_update "$1" "Loyalsoldier/v2ray-rules-dat" "release" "direct-list.txt" && \
sed -i -e "s/full://g" -e "/:/d" "$RESOURCES_DIR/china_list.txt"
;;
*)
echo -e "Usage: $0 <china_ip4 / china_ip6 / gfw_list / china_list>"

View File

@ -180,39 +180,46 @@ start_service() {
# chinadns-ng
if [ -n "$china_dns_server" ]; then
local wandns="$(ifstatus wan | jsonfilter -e '@["dns-server"][0]' || echo "119.29.29.29")"
case "$china_dns_server" in
"wan") china_dns_server="$wandns" ;;
"wan_114") china_dns_server="$wandns,114.114.114.114" ;;
esac
china_dns_server="${china_dns_server/wan/$wandns}"
china_dns_server="${china_dns_server// /,}"
procd_open_instance "chinadns-ng"
for i in $(seq 1 "$(grep -c "processor" "/proc/cpuinfo")"); do
procd_open_instance "chinadns-ng-$i"
procd_set_param command "/usr/bin/chinadns-ng"
procd_append_param command --bind-port "$china_dns_port"
procd_append_param command --china-dns "$china_dns_server"
procd_append_param command --trust-dns "127.0.0.1#$dns_port"
procd_append_param command --ipset-name4 "inet@fw4@homeproxy_mainland_addr_v4"
procd_append_param command --ipset-name6 "inet@fw4@homeproxy_mainland_addr_v6"
procd_append_param command --chnlist-file "$HP_DIR/resources/china_list.txt"
procd_append_param command --gfwlist-file "$HP_DIR/resources/gfw_list.txt"
[ "$ipv6_support" -eq "1" ] || procd_append_param command --no-ipv6=tC
procd_set_param command "/usr/bin/chinadns-ng"
procd_append_param command --bind-port "$china_dns_port"
procd_append_param command --china-dns "$china_dns_server"
procd_append_param command --trust-dns "127.0.0.1#$dns_port"
procd_append_param command --ipset-name4 "inet@fw4@homeproxy_mainland_addr_v4"
procd_append_param command --ipset-name6 "inet@fw4@homeproxy_mainland_addr_v6"
procd_append_param command --chnlist-file "$HP_DIR/resources/china_list.txt"
procd_append_param command --gfwlist-file "$HP_DIR/resources/gfw_list.txt"
[ "$ipv6_support" -eq "1" ] || procd_append_param command --no-ipv6=tC
procd_append_param command --reuse-port
if [ -x "/sbin/ujail" ]; then
procd_add_jail "chinadns-ng" log
procd_add_jail_mount "$HP_DIR/resources/china_list.txt"
procd_add_jail_mount "$HP_DIR/resources/gfw_list.txt"
procd_set_param capabilities "/etc/capabilities/homeproxy.json"
procd_set_param no_new_privs 1
procd_set_param user sing-box
procd_set_param group sing-box
fi
if chinadns-ng --version | grep -q "target:"; then
procd_append_param command --cache 10000
procd_append_param command --cache-stale 3600
procd_append_param command --verdict-cache 10000
fi
procd_set_param limits core="unlimited"
procd_set_param limits nofile="1000000 1000000"
procd_set_param stderr 1
procd_set_param respawn
if [ -x "/sbin/ujail" ]; then
procd_add_jail "chinadns-ng" log
procd_add_jail_mount "$HP_DIR/resources/china_list.txt"
procd_add_jail_mount "$HP_DIR/resources/gfw_list.txt"
procd_set_param capabilities "/etc/capabilities/homeproxy.json"
procd_set_param no_new_privs 1
procd_set_param user sing-box
procd_set_param group sing-box
fi
procd_close_instance
procd_set_param limits core="unlimited"
procd_set_param limits nofile="1000000 1000000"
procd_set_param stderr 1
procd_set_param respawn
procd_close_instance
done
fi
fi

View File

@ -0,0 +1,16 @@
#!/bin/sh
china_dns_server="$(uci -q get "homeproxy.config.china_dns_server")"
if [ "$china_dns_server" = "wan_114" ]; then
uci -q delete "homeproxy.config.china_dns_server"
uci -q add_list "homeproxy.config.china_dns_server"="wan"
uci -q add_list "homeproxy.config.china_dns_server"="114.114.114.114"
elif echo "$china_dns_server" | grep -q ","; then
uci -q delete "homeproxy.config.china_dns_server"
for dns in ${china_dns_server//,/ }; do
uci -q add_list "homeproxy.config.china_dns_server"="$dns"
done
fi
[ -z "$(uci -q changes "homeproxy")" ] || uci -q commit "homeproxy"
exit 0

View File

@ -173,6 +173,8 @@ const methods = {
}
features.hp_has_chinadns_ng = access('/usr/bin/chinadns-ng');
if (features.hp_has_chinadns_ng)
features.hp_has_chinadns_ng_v2 = (system('/usr/bin/chinadns-ng --version | grep -q "target:"') === 0);
features.hp_has_ip_full = access('/usr/libexec/ip-full');
features.hp_has_tcp_brutal = hasKernelModule('brutal.ko');
features.hp_has_tproxy = hasKernelModule('nft_tproxy.ko') || access('/etc/modules.d/nft-tproxy');