update 2023-06-03 16:20:05

This commit is contained in:
github-actions[bot] 2023-06-03 16:20:06 +08:00
parent a56e13bef8
commit f884015a2c
21 changed files with 2684 additions and 1873 deletions

61
gn/Makefile Normal file
View File

@ -0,0 +1,61 @@
# SPDX-License-Identifier: GPL-3.0-only
#
# Copyright (C) 2022 ImmortalWrt.org
include $(TOPDIR)/rules.mk
PKG_NAME:=gn
PKG_RELEASE:=4
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://gn.googlesource.com/gn.git
PKG_SOURCE_DATE:=2023-04-05
PKG_SOURCE_VERSION:=28b7b6c507eb808567e3aea446cd259f7691fddc
PKG_MIRROR_HASH:=skip
PKG_LICENSE:=BSD 3-Clause
PKG_LICENSE_FILES:=LICENSE
PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
ifneq ($(wildcard $(TOPDIR)/feeds/packages/devel/ninja/ninja.mk),)
PKG_BUILD_DEPENDS+= ninja/host
endif
PKG_HOST_ONLY:=1
HOST_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/package.mk
define Package/gn
SECTION:=devel
CATEGORY:=Development
TITLE:=A meta-build system that generates build files for Ninja
URL:=https://gn.googlesource.com/gn/
BUILDONLY:=1
endef
define Package/gn/description
GN can generate Ninja build files for C, C++, Rust, Objective C,
and Swift source on most popular platforms.
endef
define Host/Configure
$(PYTHON) $(HOST_BUILD_DIR)/build/gen.py \
--no-last-commit-position
endef
define Host/Compile
ninja -C $(HOST_BUILD_DIR)/out
endef
define Host/Install
$(INSTALL_DIR) $(STAGING_DIR_HOSTPKG)/bin/
$(INSTALL_BIN) $(HOST_BUILD_DIR)/out/gn $(STAGING_DIR_HOSTPKG)/bin/
endef
define Host/Clean
$(RM) $(STAGING_DIR_HOSTPKG)/bin/gn
endef
$(eval $(call HostBuild))
$(eval $(call BuildPackage,gn))

11
gn/patches/010-gcc.patch Normal file
View File

@ -0,0 +1,11 @@
--- a/build/gen.py
+++ b/build/gen.py
@@ -368,7 +368,7 @@ def WriteGNNinja(path, platform, host, o
cxx = os.environ.get('CXX', 'g++')
ld = os.environ.get('LD', 'g++')
ar = os.environ.get('AR', 'ar -X64')
- elif platform.is_msys() or platform.is_mingw():
+ elif platform.is_msys() or platform.is_mingw() or platform.is_linux():
cxx = os.environ.get('CXX', 'g++')
ld = os.environ.get('LD', 'g++')
ar = os.environ.get('AR', 'ar')

View File

@ -0,0 +1,9 @@
// Generated by build/gen.py.
#ifndef OUT_LAST_COMMIT_POSITION_H_
#define OUT_LAST_COMMIT_POSITION_H_
#define LAST_COMMIT_POSITION_NUM 2085
#define LAST_COMMIT_POSITION "2085 (28b7b6c507eb)"
#endif // OUT_LAST_COMMIT_POSITION_H_

View File

@ -42,7 +42,7 @@ function getServiceStatus() {
return L.resolveDefault(callServiceList('homeproxy'), {}).then((res) => {
var isRunning = false;
try {
isRunning = res['homeproxy']['instances']['sing-box']['running'];
isRunning = res['homeproxy']['instances']['sing-box-c']['running'];
} catch (e) { }
return isRunning;
});

View File

@ -6,11 +6,42 @@
'use strict';
'require form';
'require poll';
'require rpc';
'require uci';
'require view';
'require homeproxy as hp';
var callServiceList = rpc.declare({
object: 'service',
method: 'list',
params: ['name'],
expect: { '': {} }
});
function getServiceStatus() {
return L.resolveDefault(callServiceList('homeproxy'), {}).then((res) => {
var isRunning = false;
try {
isRunning = res['homeproxy']['instances']['sing-box-s']['running'];
} catch (e) { }
return isRunning;
});
}
function renderStatus(isRunning) {
var spanTemp = '<em><span style="color:%s"><strong>%s %s</strong></span></em>';
var renderHTML;
if (isRunning) {
renderHTML = spanTemp.format('green', _('HomeProxy Server'), _('RUNNING'));
} else {
renderHTML = spanTemp.format('red', _('HomeProxy Server'), _('NOT RUNNING'));
}
return renderHTML;
}
return view.extend({
load: function() {
return Promise.all([
@ -23,7 +54,22 @@ return view.extend({
var m, s, o;
var features = data[1];
m = new form.Map('homeproxy', _('Edit servers'));
m = new form.Map('homeproxy', _('HomeProxy Server'),
_('The modern ImmortalWrt proxy platform for ARM64/AMD64.'));
s = m.section(form.TypedSection);
s.render = function () {
poll.add(function () {
return L.resolveDefault(getServiceStatus()).then((res) => {
var view = document.getElementById('service_status');
view.innerHTML = renderStatus(res);
});
});
return E('div', { class: 'cbi-section', id: 'status_bar' }, [
E('p', { id: 'service_status' }, _('Collecting data...'))
]);
}
s = m.section(form.NamedSection, 'server', 'homeproxy', _('Global settings'));

View File

@ -83,7 +83,7 @@ function getResVersion(self, type) {
});
}
function getRuntimeLog(name) {
function getRuntimeLog(name, filename) {
var callLogClean = rpc.declare({
object: 'luci.homeproxy',
method: 'log_clean',
@ -101,7 +101,7 @@ function getRuntimeLog(name) {
var log;
poll.add(L.bind(function() {
return fs.read_direct(String.format('%s/%s.log', hp_dir, name.toLowerCase()), 'text')
return fs.read_direct(String.format('%s/%s.log', hp_dir, filename), 'text')
.then(function(res) {
log = E('pre', { 'wrap': 'pre' }, [
res.trim() || _('Log is empty.')
@ -131,7 +131,7 @@ function getRuntimeLog(name) {
E('button', {
'class': 'btn cbi-button cbi-button-action',
'click': ui.createHandlerFn(this, function() {
return L.resolveDefault(callLogClean(name.toLowerCase()), {});
return L.resolveDefault(callLogClean(filename), {});
})
}, [ _('Clean log') ])
]),
@ -188,10 +188,13 @@ return view.extend({
o.rawhtml = true;
o = s.option(form.DummyValue, '_homeproxy_logview');
o.render = L.bind(getRuntimeLog, this, 'HomeProxy');
o.render = L.bind(getRuntimeLog, this, _('HomeProxy'), 'homeproxy');
o = s.option(form.DummyValue, '_sing-box_logview');
o.render = L.bind(getRuntimeLog, this, 'sing-box');
o = s.option(form.DummyValue, '_sing-box-c_logview');
o.render = L.bind(getRuntimeLog, this, _('sing-box client'), 'sing-box-c');
o = s.option(form.DummyValue, '_sing-box-s_logview');
o.render = L.bind(getRuntimeLog, this, _('sing-box server'), 'sing-box-s');
return m.render();
},

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -10,15 +10,17 @@
1.68.0.0/14
1.80.0.0/13
1.88.0.0/14
1.92.0.0/18
1.92.192.0/18
1.93.0.0/16
1.116.0.0/15
1.118.0.0/23
1.118.2.0/24
1.118.1.0/24
1.118.32.0/24
1.119.128.0/18
1.119.192.0/21
1.119.200.0/22
1.119.204.0/24
1.119.208.0/22
1.180.0.0/14
1.184.0.0/15
1.188.0.0/14
@ -32,6 +34,8 @@
5.10.136.0/22
5.10.140.0/24
5.10.142.0/23
5.105.68.0/24
5.105.134.0/24
5.154.132.0/23
5.154.136.0/22
5.154.140.0/23
@ -44,10 +48,9 @@
8.129.0.0/16
8.130.0.0/15
8.132.0.0/14
8.136.0.0/15
8.138.0.0/16
8.140.0.0/14
8.136.0.0/13
8.144.0.0/14
8.244.36.0/24
14.16.0.0/12
14.102.156.0/22
14.102.237.0/24
@ -57,7 +60,10 @@
14.144.0.0/12
14.204.0.0/15
14.208.0.0/12
23.26.98.0/24
23.144.232.0/24
23.146.88.0/24
23.151.168.0/24
27.0.128.0/24
27.0.130.0/23
27.0.132.0/22
@ -115,7 +121,7 @@
38.64.92.0/24
38.84.76.0/22
38.95.232.0/23
38.102.232.0/23
38.102.232.0/22
38.111.220.0/23
39.64.0.0/11
39.96.0.0/13
@ -164,7 +170,6 @@
42.187.120.0/22
42.187.128.0/17
42.192.0.0/15
42.194.8.0/22
42.194.12.0/24
42.194.128.0/17
42.201.32.0/19
@ -222,8 +227,8 @@
43.224.52.0/23
43.224.56.0/22
43.224.80.0/22
43.224.148.0/24
43.224.150.0/23
43.224.148.0/23
43.224.151.0/24
43.224.208.0/22
43.225.84.0/23
43.225.87.0/24
@ -393,7 +398,6 @@
44.31.28.0/24
44.31.42.0/23
44.31.81.0/24
44.31.96.0/24
44.31.113.0/24
44.159.64.0/22
44.159.73.0/24
@ -402,6 +406,7 @@
45.40.192.0/18
45.65.20.0/22
45.65.24.0/22
45.82.236.0/22
45.88.66.0/24
45.113.20.0/22
45.113.24.0/22
@ -438,6 +443,8 @@
45.121.55.0/24
45.121.212.0/22
45.123.128.0/22
45.123.168.0/21
45.123.176.0/21
45.123.193.0/24
45.123.194.0/24
45.124.68.0/22
@ -451,21 +458,19 @@
45.127.128.0/22
45.127.144.0/21
45.128.235.0/24
45.146.82.0/24
45.146.112.0/23
45.147.6.0/24
45.156.220.0/23
45.155.166.0/23
45.156.223.0/24
45.157.88.0/24
45.158.11.0/24
45.192.128.0/24
45.192.186.0/23
45.195.1.0/24
45.195.4.0/24
45.195.6.0/23
45.200.108.0/24
45.200.110.0/23
45.200.122.0/23
45.200.124.0/22
45.202.8.0/23
45.204.24.0/21
45.207.22.0/23
@ -475,7 +480,7 @@
45.207.176.0/20
45.207.192.0/19
45.248.8.0/22
45.248.108.0/23
45.248.108.0/22
45.248.204.0/22
45.249.212.0/22
45.250.32.0/21
@ -588,6 +593,8 @@
52.82.144.0/23
52.82.148.0/22
52.82.153.0/24
52.82.154.0/23
52.82.156.0/24
52.82.160.0/21
52.82.168.0/24
52.82.170.0/23
@ -611,6 +618,8 @@
54.222.80.0/21
54.222.88.0/22
54.222.96.0/23
54.222.112.0/22
54.222.116.0/23
54.222.128.0/17
54.223.0.0/16
58.16.0.0/13
@ -719,16 +728,21 @@
61.243.128.0/18
61.243.192.0/19
62.233.36.0/24
62.233.59.0/24
62.234.0.0/16
63.140.0.0/24
63.140.3.0/24
63.140.4.0/22
63.140.8.0/24
63.140.13.0/24
63.175.80.0/24
63.175.85.0/24
63.175.87.0/24
63.217.81.0/24
63.217.87.0/24
63.243.252.0/24
64.137.68.0/23
64.137.69.0/24
65.249.244.0/23
66.102.240.0/21
66.102.248.0/22
66.102.252.0/24
@ -747,31 +761,25 @@
71.136.64.0/18
71.137.0.0/18
74.80.166.0/24
79.133.176.0/23
79.133.176.0/24
80.91.218.0/24
81.68.0.0/14
81.161.238.0/24
81.173.18.0/23
81.173.20.0/22
81.173.28.0/24
82.153.10.0/24
82.156.0.0/15
85.28.60.0/24
85.133.222.0/24
85.158.149.0/24
85.237.205.0/24
86.38.241.0/24
87.121.44.0/24
87.254.9.0/24
87.254.8.0/23
87.254.207.0/24
88.218.204.0/22
89.19.58.0/24
89.116.144.0/24
89.117.67.0/24
93.89.222.0/23
93.113.171.0/24
93.114.183.0/24
93.183.14.0/24
93.183.18.0/24
94.156.235.0/24
94.191.0.0/17
101.1.0.0/22
101.2.172.0/22
@ -796,6 +804,7 @@
101.37.0.0/16
101.38.0.0/15
101.40.0.0/14
101.50.8.0/21
101.50.56.0/22
101.52.4.0/24
101.52.6.0/24
@ -824,6 +833,12 @@
101.125.130.0/24
101.125.250.0/23
101.125.252.0/22
101.126.172.0/22
101.126.176.0/20
101.126.192.0/19
101.126.228.0/22
101.126.232.0/21
101.126.240.0/20
101.128.0.0/22
101.129.0.0/16
101.132.0.0/15
@ -868,7 +883,6 @@
103.1.10.0/23
103.1.168.0/22
103.2.108.0/22
103.2.204.0/22
103.2.208.0/22
103.3.96.0/22
103.3.112.0/22
@ -902,7 +916,6 @@
103.14.136.0/22
103.15.4.0/22
103.15.96.0/22
103.16.124.0/22
103.17.40.0/22
103.17.116.0/22
103.18.187.0/24
@ -920,7 +933,6 @@
103.21.140.0/22
103.21.176.0/22
103.22.188.0/22
103.22.228.0/22
103.22.252.0/22
103.23.8.0/22
103.23.160.0/22
@ -948,12 +960,14 @@
103.29.24.0/23
103.29.136.0/22
103.30.4.0/22
103.30.106.0/23
103.30.148.0/22
103.31.48.0/22
103.31.52.0/24
103.31.72.0/24
103.31.200.0/22
103.31.236.0/22
103.31.236.0/23
103.31.238.0/24
103.35.104.0/22
103.35.220.0/23
103.36.28.0/22
@ -996,6 +1010,7 @@
103.41.16.0/22
103.41.116.0/22
103.41.164.0/22
103.41.232.0/23
103.42.8.0/22
103.42.76.0/22
103.43.100.0/23
@ -1021,12 +1036,11 @@
103.45.176.0/20
103.45.248.0/22
103.46.12.0/22
103.46.128.0/21
103.46.136.0/22
103.46.168.0/22
103.47.48.0/22
103.47.80.0/22
103.48.168.0/22
103.48.171.0/24
103.48.232.0/23
103.49.12.0/22
103.49.60.0/24
@ -1076,6 +1090,8 @@
103.61.190.0/23
103.62.52.0/23
103.62.55.0/24
103.63.160.0/20
103.63.176.0/21
103.63.244.0/22
103.64.24.0/21
103.64.140.0/22
@ -1090,7 +1106,6 @@
103.69.116.0/22
103.70.220.0/22
103.71.68.0/22
103.71.94.0/24
103.71.120.0/21
103.71.128.0/22
103.71.196.0/22
@ -1112,7 +1127,6 @@
103.74.32.0/20
103.74.48.0/22
103.75.104.0/22
103.75.147.0/24
103.75.152.0/22
103.76.60.0/22
103.76.220.0/22
@ -1218,8 +1232,7 @@
103.116.74.0/23
103.116.76.0/22
103.116.92.0/22
103.116.120.0/23
103.116.123.0/24
103.116.120.0/24
103.116.244.0/22
103.117.16.0/22
103.117.72.0/24
@ -1234,7 +1247,6 @@
103.119.104.0/22
103.119.224.0/22
103.120.72.0/22
103.120.96.0/22
103.120.224.0/22
103.121.52.0/24
103.121.92.0/22
@ -1252,7 +1264,7 @@
103.126.124.0/22
103.126.241.0/24
103.130.160.0/23
103.131.152.0/23
103.131.152.0/22
103.131.168.0/22
103.131.178.0/23
103.132.212.0/23
@ -1272,6 +1284,7 @@
103.139.136.0/23
103.139.172.0/23
103.139.212.0/23
103.140.8.0/23
103.140.14.0/23
103.140.136.0/23
103.140.152.0/23
@ -1293,7 +1306,7 @@
103.145.38.0/23
103.145.72.0/24
103.145.90.0/23
103.145.92.0/23
103.145.92.0/24
103.147.124.0/24
103.147.198.0/23
103.149.110.0/23
@ -1302,9 +1315,7 @@
103.149.244.0/22
103.150.24.0/23
103.150.164.0/23
103.150.172.0/23
103.150.181.0/24
103.150.210.0/23
103.150.212.0/24
103.151.148.0/22
103.151.178.0/23
@ -1315,7 +1326,7 @@
103.152.132.0/23
103.152.170.0/23
103.152.186.0/23
103.152.227.0/24
103.152.226.0/23
103.153.36.0/23
103.153.100.0/23
103.153.138.0/23
@ -1347,13 +1358,10 @@
103.174.94.0/23
103.177.28.0/23
103.179.78.0/23
103.180.108.0/23
103.181.164.0/23
103.181.203.0/24
103.181.234.0/24
103.183.66.0/23
103.183.216.0/24
103.183.218.0/24
103.183.218.0/23
103.184.44.0/23
103.186.4.0/23
103.186.108.0/23
@ -1362,10 +1370,11 @@
103.189.154.0/23
103.190.118.0/24
103.190.122.0/23
103.190.178.0/24
103.191.242.0/23
103.192.0.0/23
103.192.4.0/23
103.192.8.0/21
103.192.16.0/20
103.192.188.0/22
103.192.208.0/21
103.192.252.0/22
@ -1373,6 +1382,7 @@
103.193.192.0/22
103.196.64.0/22
103.196.88.0/21
103.197.0.0/22
103.197.228.0/22
103.198.64.0/22
103.198.124.0/22
@ -1413,7 +1423,6 @@
103.210.169.0/24
103.210.170.0/23
103.211.44.0/22
103.211.96.0/22
103.211.220.0/22
103.212.0.0/21
103.212.12.0/22
@ -1445,7 +1454,6 @@
103.220.128.0/19
103.220.160.0/21
103.220.240.0/22
103.221.88.0/22
103.221.140.0/22
103.222.40.0/22
103.222.144.0/23
@ -1486,7 +1494,6 @@
103.233.128.0/22
103.233.136.0/23
103.233.138.0/24
103.233.228.0/22
103.234.20.0/22
103.234.56.0/22
103.234.96.0/22
@ -1519,9 +1526,8 @@
103.238.188.0/22
103.238.204.0/22
103.238.252.0/22
103.239.28.0/23
103.239.68.0/22
103.239.100.0/24
103.239.100.0/23
103.239.102.0/24
103.239.152.0/22
103.239.204.0/22
@ -1548,7 +1554,6 @@
103.244.148.0/22
103.244.164.0/22
103.244.232.0/22
103.245.80.0/22
103.245.128.0/22
103.246.8.0/22
103.246.152.0/22
@ -1603,7 +1608,8 @@
106.2.32.0/19
106.2.64.0/18
106.2.128.0/19
106.2.224.0/20
106.2.224.0/24
106.2.232.0/21
106.3.16.0/20
106.3.32.0/20
106.3.96.0/22
@ -1646,13 +1652,11 @@
106.224.0.0/14
106.228.0.0/15
106.230.0.0/16
107.151.248.0/22
107.151.251.0/24
107.164.183.0/24
107.164.204.0/24
107.164.212.0/24
107.186.86.0/24
107.186.157.0/24
108.165.129.0/24
109.234.76.0/24
109.244.0.0/16
110.6.0.0/15
@ -1702,6 +1706,13 @@
110.240.0.0/12
111.0.0.0/10
111.67.192.0/20
111.68.71.0/24
111.68.73.0/24
111.68.74.0/24
111.68.77.0/24
111.68.78.0/24
111.68.85.0/24
111.68.94.0/24
111.72.0.0/13
111.85.0.0/16
111.112.0.0/14
@ -1865,7 +1876,6 @@
114.119.119.0/24
114.119.204.0/22
114.132.0.0/16
114.134.189.0/24
114.135.0.0/16
114.138.0.0/15
114.141.128.0/18
@ -1909,6 +1919,8 @@
116.66.97.0/24
116.66.98.0/23
116.66.120.0/22
116.68.136.0/21
116.68.176.0/21
116.70.64.0/18
116.76.0.0/15
116.78.0.0/16
@ -1952,6 +1964,7 @@
116.196.192.0/21
116.196.218.0/23
116.196.220.0/22
116.197.160.0/21
116.198.0.0/18
116.198.64.0/21
116.198.144.0/20
@ -1977,6 +1990,7 @@
116.246.0.0/15
116.248.0.0/15
116.252.0.0/15
116.254.104.0/21
116.255.128.0/17
117.8.0.0/13
117.21.0.0/16
@ -2260,10 +2274,13 @@
119.112.0.0/12
119.128.0.0/12
119.144.0.0/14
119.148.160.0/20
119.161.12.0/24
119.161.14.0/23
119.161.120.0/22
119.161.136.0/21
119.161.136.0/23
119.161.138.0/24
119.161.140.0/22
119.161.144.0/22
119.161.148.0/23
119.161.151.0/24
@ -2321,7 +2338,10 @@
120.80.0.0/13
120.88.56.0/23
120.90.0.0/15
120.92.0.0/16
120.92.0.0/17
120.92.128.0/18
120.92.192.0/19
120.92.224.0/20
120.94.0.0/15
120.128.0.0/21
120.131.0.0/19
@ -2344,8 +2364,6 @@
121.40.0.0/14
121.46.0.0/20
121.46.128.0/21
121.46.140.0/22
121.46.144.0/20
121.46.192.0/21
121.46.200.0/22
121.46.224.0/20
@ -2435,6 +2453,7 @@
122.156.0.0/14
122.188.0.0/14
122.192.0.0/14
122.200.40.0/21
122.200.64.0/18
122.204.0.0/14
122.224.0.0/12
@ -2442,17 +2461,15 @@
122.248.48.0/21
122.248.56.0/22
123.0.139.0/24
123.0.152.0/24
123.4.0.0/14
123.8.0.0/13
123.49.241.0/24
123.52.0.0/14
123.56.0.0/15
123.58.0.0/18
123.58.64.0/22
123.58.68.0/23
123.58.64.0/23
123.58.96.0/19
123.58.128.0/18
123.58.160.0/19
123.58.224.0/19
123.59.0.0/16
123.60.0.0/15
@ -2489,12 +2506,13 @@
123.180.0.0/14
123.184.0.0/13
123.196.112.0/20
123.199.128.0/20
123.206.0.0/15
123.232.0.0/14
123.242.192.0/21
123.244.0.0/14
123.249.0.0/17
123.253.224.0/23
123.254.96.0/21
124.6.64.0/18
124.14.1.0/24
124.14.2.0/23
@ -2603,8 +2621,7 @@
125.254.188.0/23
125.254.190.0/24
128.108.0.0/16
128.254.185.0/24
128.254.187.0/24
128.254.240.0/24
129.28.0.0/16
129.204.0.0/16
129.211.0.0/16
@ -2711,8 +2728,7 @@
145.14.88.0/24
145.14.90.0/24
145.14.92.0/24
146.19.69.0/24
146.19.155.0/24
146.19.53.0/24
146.19.167.0/24
146.19.236.0/24
146.56.192.0/18
@ -2729,18 +2745,19 @@
150.109.0.0/16
150.129.136.0/22
150.129.192.0/22
150.129.217.0/24
150.129.252.0/22
150.138.0.0/15
150.158.0.0/16
150.223.0.0/16
150.242.8.0/23
150.242.53.0/24
150.242.55.0/24
150.242.56.0/22
150.242.80.0/22
150.242.96.0/22
150.242.120.0/24
150.242.122.0/23
150.242.152.0/21
150.242.156.0/22
150.242.168.0/22
150.242.184.0/22
150.242.232.0/21
@ -2759,30 +2776,27 @@
153.254.119.0/24
154.8.128.0/17
154.13.136.0/24
154.13.138.0/24
154.13.197.0/24
154.13.216.0/24
154.13.219.0/24
154.13.221.0/24
154.13.222.0/24
154.18.162.0/24
154.19.37.0/24
154.19.40.0/22
154.29.88.0/24
154.29.94.0/24
154.38.64.0/20
154.39.71.0/24
154.48.252.0/24
154.72.40.0/21
154.81.48.0/24
154.83.28.0/24
154.85.32.0/21
154.85.40.0/22
154.85.44.0/23
154.85.48.0/20
154.85.64.0/23
154.85.66.0/24
154.85.69.0/24
154.85.73.0/24
154.85.68.0/22
154.85.72.0/23
154.85.74.0/24
154.88.3.0/24
154.91.32.0/23
154.91.34.0/24
@ -2814,15 +2828,16 @@
154.218.8.0/21
154.220.3.0/24
154.222.2.0/23
154.223.169.0/24
154.223.154.0/24
154.223.182.0/24
154.223.184.0/22
154.223.191.0/24
156.0.100.0/24
156.0.115.0/24
156.59.202.0/23
156.59.204.0/23
156.59.206.0/24
156.59.216.0/24
156.96.106.0/24
156.107.160.0/24
156.107.170.0/24
156.107.178.0/23
@ -2842,20 +2857,15 @@
156.227.240.0/21
156.230.11.0/24
156.230.12.0/23
156.230.15.0/24
156.230.16.0/20
156.236.118.0/23
156.238.128.0/21
156.240.57.0/24
156.240.63.0/24
156.240.72.0/22
156.240.88.0/22
156.240.112.0/20
156.241.8.0/21
156.242.4.0/23
156.242.6.0/24
156.242.8.0/24
156.245.5.0/24
156.246.18.0/23
156.246.20.0/24
156.247.16.0/20
@ -2883,7 +2893,7 @@
159.226.0.0/16
160.19.208.0/21
160.83.110.0/24
160.181.176.0/20
160.181.160.0/19
160.202.60.0/22
160.202.168.0/22
160.202.212.0/22
@ -2907,8 +2917,7 @@
163.53.88.0/21
163.53.128.0/22
163.53.168.0/22
163.53.244.0/23
163.53.247.0/24
163.53.245.0/24
163.125.0.0/16
163.142.0.0/16
163.177.0.0/16
@ -2929,9 +2938,9 @@
163.181.50.0/24
163.181.52.0/24
163.181.56.0/23
163.181.59.0/24
163.181.61.0/24
163.181.62.0/24
163.181.64.0/22
163.181.66.0/23
163.181.70.0/23
163.181.72.0/23
163.181.74.0/24
@ -2939,7 +2948,6 @@
163.181.78.0/23
163.181.80.0/22
163.181.85.0/24
163.181.87.0/24
163.181.88.0/22
163.181.92.0/24
163.181.94.0/24
@ -2947,21 +2955,24 @@
163.181.99.0/24
163.181.100.0/24
163.181.102.0/24
163.181.104.0/23
163.181.104.0/22
163.181.112.0/23
163.181.116.0/23
163.181.118.0/24
163.181.120.0/23
163.181.122.0/24
163.181.126.0/23
163.181.132.0/24
163.181.136.0/24
163.204.0.0/16
163.228.0.0/16
163.244.246.0/24
166.1.164.0/24
166.1.175.0/24
166.1.194.0/24
166.1.218.0/24
166.1.228.0/24
166.1.236.0/24
166.1.238.0/24
166.111.0.0/16
167.139.0.0/16
167.189.0.0/16
@ -2988,6 +2999,7 @@
171.112.0.0/12
171.208.0.0/12
172.81.192.0/18
174.136.237.0/24
174.136.239.0/24
175.0.0.0/12
175.16.0.0/13
@ -3020,8 +3032,8 @@
175.188.188.0/22
175.190.24.0/21
175.190.126.0/23
176.100.157.0/24
176.105.231.0/24
176.126.105.0/24
180.76.0.0/14
180.84.0.0/15
180.88.96.0/19
@ -3048,12 +3060,13 @@
180.184.32.0/20
180.184.48.0/21
180.184.56.0/22
180.184.64.0/19
180.184.96.0/21
180.184.64.0/18
180.184.128.0/20
180.184.144.0/24
180.184.160.0/20
180.184.176.0/21
180.184.184.0/22
180.184.190.0/23
180.184.192.0/18
180.186.38.0/23
180.186.40.0/22
@ -3067,6 +3080,7 @@
180.208.0.0/15
180.210.212.0/22
180.212.0.0/15
180.233.0.0/20
180.235.64.0/21
180.235.72.0/23
182.18.5.0/24
@ -3075,14 +3089,14 @@
182.32.0.0/12
182.48.96.0/20
182.48.112.0/21
182.48.120.0/24
182.50.8.0/21
182.50.112.0/20
182.51.0.0/24
182.54.0.0/17
182.61.0.0/17
182.61.128.0/18
182.61.192.0/20
182.61.192.0/22
182.61.200.0/21
182.61.216.0/21
182.61.224.0/19
182.80.0.0/13
@ -3119,24 +3133,19 @@
183.184.0.0/13
183.192.0.0/10
185.10.104.0/24
185.25.104.0/24
185.39.51.0/24
185.75.172.0/23
185.75.174.0/24
185.111.27.0/24
185.129.110.0/24
185.188.5.0/24
185.216.248.0/22
185.225.75.0/24
185.229.222.0/24
185.232.18.0/24
185.234.214.0/23
185.235.227.0/24
185.241.43.0/24
185.243.43.0/24
185.255.152.0/23
188.131.128.0/17
188.240.230.0/24
188.241.243.0/24
191.101.45.0/24
191.101.47.0/24
@ -3148,21 +3157,18 @@
192.155.181.0/24
192.163.11.0/24
192.169.104.0/22
192.177.24.0/24
192.177.41.0/24
192.177.45.0/24
192.232.97.0/24
193.42.35.0/24
193.108.56.0/24
193.109.82.0/24
193.112.0.0/16
193.163.95.0/24
193.202.113.0/24
193.228.169.0/24
194.15.39.0/24
194.50.1.0/24
194.119.13.0/24
194.119.15.0/24
194.138.202.0/23
194.138.245.0/24
194.180.37.0/24
195.180.157.0/24
195.242.242.0/24
198.8.58.0/23
@ -3282,7 +3288,6 @@
202.149.224.0/19
202.150.16.0/20
202.152.176.0/20
202.153.48.0/24
202.158.160.0/19
202.164.25.0/24
202.165.208.0/20
@ -3315,10 +3320,10 @@
203.25.208.0/20
203.32.204.0/23
203.33.64.0/24
203.33.67.0/24
203.33.145.0/24
203.33.156.0/24
203.33.174.0/24
203.33.202.0/23
203.33.206.0/23
203.33.214.0/23
203.33.224.0/23
@ -3363,8 +3368,13 @@
203.55.128.0/23
203.55.146.0/23
203.55.192.0/24
203.55.196.0/24
203.55.218.0/23
203.55.221.0/24
203.55.224.0/24
203.56.1.0/24
203.56.4.0/24
203.56.12.0/24
203.56.24.0/24
203.56.38.0/24
203.56.40.0/24
@ -3373,6 +3383,9 @@
203.56.82.0/23
203.56.84.0/23
203.56.95.0/24
203.56.110.0/24
203.56.121.0/24
203.56.161.0/24
203.56.169.0/24
203.56.172.0/23
203.56.175.0/24
@ -3432,6 +3445,7 @@
203.83.224.0/20
203.86.0.0/18
203.86.64.0/19
203.86.112.0/24
203.86.254.0/23
203.88.32.0/19
203.88.192.0/19
@ -3465,7 +3479,7 @@
203.100.96.0/19
203.100.192.0/20
203.104.32.0/20
203.107.0.0/23
203.107.1.0/24
203.107.6.0/24
203.107.13.0/24
203.107.20.0/22
@ -3552,7 +3566,7 @@
203.195.112.0/21
203.195.128.0/17
203.196.0.0/21
203.202.236.0/22
203.202.236.0/23
203.205.64.0/19
203.205.128.0/23
203.205.134.0/23
@ -3594,6 +3608,9 @@
203.223.21.0/24
203.223.23.0/24
204.114.176.0/23
204.178.64.0/24
204.178.67.0/24
204.178.71.0/24
206.161.216.0/23
206.161.218.0/24
206.206.126.0/24
@ -3601,8 +3618,8 @@
207.226.138.0/24
207.226.153.0/24
207.226.154.0/24
208.3.15.0/24
208.99.48.0/24
209.146.7.0/24
210.2.4.0/24
210.5.0.0/19
210.5.56.0/21
@ -3729,7 +3746,16 @@
211.97.128.0/19
211.97.160.0/21
211.97.192.0/18
211.98.0.0/15
211.98.0.0/16
211.99.8.0/21
211.99.16.0/23
211.99.25.0/24
211.99.26.0/24
211.99.28.0/23
211.99.30.0/24
211.99.32.0/19
211.99.64.0/18
211.99.128.0/17
211.100.0.0/17
211.100.192.0/20
211.100.224.0/19
@ -3743,8 +3769,6 @@
211.102.240.0/20
211.103.0.0/16
211.136.0.0/13
211.144.4.0/23
211.144.6.0/24
211.144.9.0/24
211.144.10.0/24
211.144.12.0/22
@ -3828,7 +3852,31 @@
211.158.0.0/16
211.159.64.0/21
211.159.128.0/17
211.160.0.0/16
211.160.0.0/22
211.160.4.0/24
211.160.9.0/24
211.160.10.0/23
211.160.15.0/24
211.160.16.0/24
211.160.19.0/24
211.160.20.0/22
211.160.24.0/24
211.160.27.0/24
211.160.28.0/23
211.160.36.0/23
211.160.46.0/24
211.160.62.0/24
211.160.72.0/21
211.160.80.0/20
211.160.112.0/23
211.160.115.0/24
211.160.120.0/24
211.160.160.0/19
211.160.195.0/24
211.160.196.0/24
211.160.203.0/24
211.160.205.0/24
211.160.240.0/20
211.161.0.0/20
211.161.20.0/22
211.161.24.0/22
@ -3860,11 +3908,8 @@
211.167.176.0/20
211.167.224.0/19
212.23.193.0/24
212.23.198.0/24
212.64.0.0/17
212.129.128.0/17
213.170.223.0/24
213.173.38.0/24
216.228.126.0/24
218.0.0.0/11
218.56.0.0/13
@ -3928,7 +3973,6 @@
218.249.0.0/16
219.72.0.0/16
219.82.0.0/16
219.83.132.0/22
219.83.160.0/19
219.128.0.0/12
219.144.0.0/14
@ -4050,6 +4094,7 @@
221.14.0.0/15
221.122.0.0/16
221.123.128.0/17
221.128.255.0/24
221.129.16.0/23
221.129.64.0/23
221.129.72.0/22

View File

@ -1 +1 @@
20230414000018
20230601192313

View File

@ -1,5 +1,5 @@
2001:250::/30
2001:255::/32
2001:254::/31
2001:256:100::/48
2001:678:d3c::/48
2001:67c:aec::/48
@ -11,7 +11,6 @@
2001:dd8:5::/48
2001:dd9::/48
2001:df0:2e00::/48
2001:df0:59c0::/48
2001:df1:4580::/48
2001:df1:5fc0::/48
2001:df1:6b80::/48
@ -53,7 +52,7 @@
2400:9340::/32
2400:9380:8001::/48
2400:9380:8003::/48
2400:9380:8020::/47
2400:9380:8021::/48
2400:9380:8030::/48
2400:9380:8040::/48
2400:9380:8140::/48
@ -146,9 +145,8 @@
2401:de00::/32
2401:ec00::/32
2401:fa00:40::/43
2402:840:d000::/47
2402:840:d002::/48
2402:840:e001::/48
2402:840:d000::/46
2402:840:e000::/46
2402:840:f000::/38
2402:1440::/32
2402:2000::/32
@ -159,7 +157,6 @@
2402:4440::/32
2402:4b80::/32
2402:4e00::/32
2402:5e40::/32
2402:5ec0::/32
2402:6e80::/32
2402:6f40::/48
@ -236,17 +233,19 @@
2404:bc0:4f00::/43
2404:1c80::/32
2404:2280:106::/47
2404:2280:10d::/48
2404:2280:10c::/47
2404:2280:112::/47
2404:2280:115::/48
2404:2280:123::/48
2404:2280:124::/47
2404:2280:126::/47
2404:2280:12e::/48
2404:2280:134::/48
2404:2280:136::/47
2404:2280:13b::/48
2404:2280:13c::/47
2404:2280:147::/48
2404:2280:19d::/48
2404:2280:1bd::/48
2404:2280:193::/48
2404:2280:19c::/47
2404:2280:1c1::/48
2404:2280:1c2::/47
2404:2280:1c4::/47
@ -256,6 +255,7 @@
2404:2280:1cc::/48
2404:2280:1cf::/48
2404:2280:1d3::/48
2404:2280:1d6::/48
2404:4dc0::/32
2404:6380::/48
2404:6380:1000::/48
@ -312,6 +312,7 @@
2405:6c0:4::/48
2405:1480:1000::/48
2405:1480:2000::/48
2405:1480:3000::/48
2405:1fc0:720::/48
2405:3140:11::/48
2405:3140:31::/48
@ -329,10 +330,9 @@
2405:84c0:9727::/48
2405:84c0:9890::/44
2405:84c0:9e00::/40
2405:84c0:faaa::/48
2405:84c0:fade::/48
2405:84c0:fbbb::/48
2405:84c0:fdfc::/46
2405:84c0:ff11::/48
2405:84c0:ff13::/48
2405:84c0:ff1f::/48
2405:84c0:ff30::/48
2405:8a40::/32
@ -352,25 +352,29 @@
2406:840:90::/48
2406:840:100::/47
2406:840:111::/48
2406:840:1c0::/48
2406:840:301::/48
2406:840:380::/48
2406:840:580::/48
2406:840:6a0::/48
2406:840:800::/42
2406:840:840::/47
2406:840:860::/48
2406:840:880::/48
2406:840:a00::/47
2406:840:a10::/48
2406:840:c00::/48
2406:840:c10::/47
2406:840:cd0::/48
2406:840:1800::/48
2406:840:1860::/48
2406:840:2800::/48
2406:840:3800::/48
2406:840:4100::/47
2406:840:4380::/47
2406:840:4800::/47
2406:840:4880::/47
2406:840:5100::/47
2406:840:5800::/47
2406:840:5860::/47
2406:840:5880::/47
2406:840:8000::/36
2406:840:9000::/47
2406:840:9002::/48
2406:840:9200::/40
@ -385,13 +389,15 @@
2406:840:e030::/46
2406:840:e03f::/48
2406:840:e080::/44
2406:840:e0c0::/48
2406:840:e0cf::/48
2406:840:e10f::/48
2406:840:e140::/44
2406:840:e140::/47
2406:840:e14f::/48
2406:840:e180::/44
2406:840:e20f::/48
2406:840:e247::/48
2406:840:e300::/44
2406:840:e340::/44
2406:840:e360::/48
2406:840:e36f::/48
2406:840:e500::/47
@ -401,6 +407,10 @@
2406:840:e80f::/48
2406:840:e841::/48
2406:840:eabf::/48
2406:840:eb00::/46
2406:840:eb04::/47
2406:840:eb0a::/48
2406:840:eb0f::/48
2406:840:eb80::/42
2406:840:f000::/44
2406:840:f100::/47
@ -412,15 +422,14 @@
2406:840:f48f::/48
2406:840:f62f::/48
2406:840:f660::/44
2406:840:f90a::/47
2406:840:f90c::/47
2406:840:f990::/44
2406:840:fa00::/47
2406:840:fa01::/48
2406:840:fcc0::/44
2406:840:fd00::/46
2406:840:fd05::/48
2406:840:fd06::/48
2406:840:fd08::/48
2406:840:fd1f::/48
2406:840:fe72::/48
2406:840:fed1::/48
2406:840:fed2::/48
@ -451,6 +460,8 @@
2406:d440:100::/44
2406:d440:200::/44
2406:d440:300::/44
2406:d440:500::/48
2406:d440:600::/48
2406:e500::/33
2407:2440:1::/48
2407:2440:2::/47
@ -458,9 +469,11 @@
2407:2440:8::/45
2407:2440:10::/47
2407:2440:12::/48
2407:2440:15::/48
2407:2440:16::/47
2407:2440:18::/48
2407:2440:1e::/48
2407:2440:18::/47
2407:2440:1e::/47
2407:2440:20::/48
2407:2840::/48
2407:37c0::/32
2407:4f00::/47
@ -469,7 +482,6 @@
2407:6c40:1210::/48
2407:6c40:1810::/48
2407:9f00::/32
2407:a640::/32
2407:ad80::/32
2407:ae80::/32
2407:b080::/48
@ -926,6 +938,7 @@
2408:8818::/31
2408:882c::/32
2408:883a::/32
2408:8844::/43
2408:8856::/31
2408:8858::/30
2408:8862::/31
@ -1050,21 +1063,18 @@
2602:2a4:fe::/47
2602:fab0:10::/47
2602:fafd:f10::/48
2602:fb26:700::/43
2602:fb26:720::/48
2602:fb26:777::/48
2602:fb26:7ff::/48
2602:fbda:600::/48
2602:fbda:666::/48
2602:fc1d::/47
2602:fc41:100::/40
2602:fc52:311::/48
2602:fc52:312::/48
2602:fc52:315::/48
2602:fd50:20::/48
2602:fd92:800::/40
2602:fed2:7020::/46
2602:fed2:7025::/48
2602:fed2:7101::/48
2602:fed2:7115::/48
2602:fed2:731d::/48
2602:feda:20::/44
2602:feda:182::/47
@ -1079,13 +1089,22 @@
2602:feda:2d0::/47
2602:feda:2f0::/48
2602:feda:3c5::/48
2602:feda:ab9::/48
2602:feda:ae7::/48
2602:feda:af3::/48
2602:feda:b8f::/48
2602:feda:ca1::/48
2602:feda:d80::/48
2602:feda:d83::/48
2604:4d40:2000::/36
2605:6400:1::/48
2605:6400:2::/48
2605:6400:10::/48
2605:6400:20::/48
2605:6400:40::/48
2605:6400:100::/48
2605:6400:4000::/34
2605:6400:8000::/34
2605:6404::/32
2605:640f:bcd7::/48
2605:9d80:8001::/48
2605:9d80:8011::/48
@ -1141,35 +1160,58 @@
2a05:1087::/32
2a05:dfc7:6420::/48
2a05:dfc7:6430::/48
2a05:dfc7:6440::/47
2a06:1287:300::/40
2a05:dfc7:6440::/48
2a05:dfc7:6443::/48
2a06:a001:a0c4::/48
2a06:a005:f0::/44
2a06:a005:260::/43
2a06:a005:280::/42
2a06:a005:486::/48
2a06:a005:510::/44
2a06:a005:580::/44
2a06:a005:8d0::/47
2a06:a005:8da::/48
2a06:a005:91f::/48
2a06:a005:910::/44
2a06:a005:9c0::/48
2a06:a005:b69::/48
2a06:a005:d00::/44
2a06:a005:d45::/48
2a06:a005:d46::/47
2a06:a005:d47::/48
2a06:a005:d49::/48
2a06:a005:e8a::/47
2a06:a005:1200::/44
2a06:a005:1230::/44
2a06:a005:13e0::/47
2a06:a005:13e8::/48
2a06:a005:13eb::/48
2a06:a005:13ea::/47
2a06:a005:13ed::/48
2a06:a005:1520::/44
2a06:a005:15da::/48
2a06:a005:1800::/48
2a06:a005:1ee0::/44
2a06:a005:2040::/44
2a06:a005:2100::/44
2a06:a005:2200::/44
2a06:de01:822::/48
2a06:de01:82d::/48
2a06:de01:84e::/48
2a06:de01:86d::/48
2a06:de01:884::/48
2a06:de01:88e::/48
2a06:de01:8e4::/47
2a06:de01:904::/48
2a06:de01:90b::/48
2a06:de01:91c::/48
2a06:de01:959::/48
2a06:de01:95d::/48
2a06:de01:997::/48
2a06:de01:99d::/48
2a06:de01:a0d::/48
2a06:de01:a33::/48
2a06:de01:a51::/48
2a06:de01:a74::/48
2a06:de01:acd::/48
2a06:de01:ad8::/48
2a06:de01:afa::/48
2a06:de01:b07::/48
2a06:de01:b3c::/48
2a06:de01:b4e::/48
2a06:de01:bfe::/48
2a06:e881:119::/48
2a06:e881:2509::/48
2a06:e881:5501::/48
@ -1177,7 +1219,6 @@
2a06:e881:5506::/48
2a06:e881:6600::/48
2a06:e881:6602::/47
2a07:59c1:30c0::/43
2a09:4c2:2e::/48
2a09:b280::/48
2a09:b280:ff80::/46
@ -1198,6 +1239,8 @@
2a0a:6040:3430::/48
2a0a:6040:34ff::/48
2a0a:6040:6c40::/44
2a0a:6040:7e40::/44
2a0a:6040:d820::/48
2a0a:6040:e541::/48
2a0a:6040:e543::/48
2a0a:6040:e544::/48
@ -1242,14 +1285,16 @@
2a0c:b641:764::/48
2a0c:b641:76f::/48
2a0d:2146:8040::/48
2a0d:2406:510::/46
2a0d:2406:510::/47
2a0d:2406:512::/48
2a0d:2581:fffc::/48
2a0d:2581:fffe::/47
2a0d:2586::/48
2a0d:2587::/35
2a0d:2587:c200::/48
2a0d:2687::/32
2a0d:2904::/44
2a0d:c7c7::/32
2a0e:800:6666::/48
2a0e:800:ff00::/48
2a0e:800:ff04::/48
2a0e:7581::/32
@ -1262,7 +1307,6 @@
2a0e:aa01:1fff::/48
2a0e:aa06::/40
2a0e:aa06:400::/44
2a0e:aa06:440::/48
2a0e:aa06:470::/44
2a0e:aa06:490::/44
2a0e:aa07:e00e::/48
@ -1273,7 +1317,6 @@
2a0e:aa07:e039::/48
2a0e:aa07:e042::/48
2a0e:aa07:e044::/48
2a0e:aa07:e049::/48
2a0e:aa07:e200::/44
2a0e:aa07:f000::/48
2a0e:aa07:f004::/48
@ -1289,22 +1332,21 @@
2a0e:b107:32::/47
2a0e:b107:a0::/44
2a0e:b107:272::/48
2a0e:b107:4e0::/48
2a0e:b107:510::/48
2a0e:b107:512::/48
2a0e:b107:515::/48
2a0e:b107:517::/48
2a0e:b107:580::/44
2a0e:b107:710::/48
2a0e:b107:790::/44
2a0e:b107:bd0::/48
2a0e:b107:c10::/48
2a0e:b107:da0::/44
2a0e:b107:dce::/48
2a0e:b107:ea2::/48
2a0e:b107:1470::/44
2a0e:b107:14a0::/44
2a0e:b107:1572::/47
2a0e:b107:1574::/48
2a0e:b107:16b0::/44
2a0e:b107:1980::/47
2a0e:b107:1a40::/46
2a0e:b107:1b60::/48
2a0e:b107:1b6f::/48
@ -1313,15 +1355,18 @@
2a0f:7980::/44
2a0f:85c1:30::/47
2a0f:9400:6400::/40
2a0f:9400:6904::/48
2a0f:9400:6907::/48
2a0f:9400:7391::/48
2a0f:9400:7393::/48
2a0f:9400:7398::/48
2a0f:9400:7700::/48
2a0f:9400:770a::/48
2a0f:e401:131::/48
2a0f:e401:132::/48
2a0f:e401:132::/47
2a0f:e401:134::/48
2a10:2f00:13a::/48
2a10:2f00:147::/48
2a10:2f00:15a::/48
2a10:2f00:186::/48
2a10:2f01:100::/48
@ -1330,142 +1375,141 @@
2a10:cc40:190::/48
2a10:cc42:120::/43
2a10:cc44:100::/44
2a10:ccc7:9000::/48
2a10:ccc7:9028::/48
2a10:ccc7:906d::/48
2a10:ccc7:9077::/48
2a10:ccc7:9095::/48
2a10:ccc7:90bd::/48
2a10:ccc7:90d7::/48
2a10:ccc7:90f1::/48
2a12:3fc2:6600::/48
2a12:3fc2:6666::/48
2a12:3fc2:8010::/44
2a12:3fc2:8000::/36
2a12:3fc2:aa10::/44
2a12:3fc2:ab50::/48
2a12:3fc2:e400::/44
2a12:3fc2:e500::/40
2a12:3fc2:e600::/40
2a12:3fc2:e72c::/47
2a12:3fc2:e7fd::/48
2a12:3fc2:e710::/48
2a12:3fc2:e72e::/48
2a12:3fc2:e7fc::/48
2a12:3fc2:e800::/46
2a12:3fc2:e810::/44
2a12:3fc2:e820::/44
2a12:3fc2:e820::/43
2a12:3fc7::/48
2a12:3fc7:8000::/48
2a12:dd47:4100::/48
2a12:dd47:415c::/48
2a12:dd47:4164::/48
2a12:dd47:4315::/48
2a12:dd47:432c::/48
2a12:dd47:432e::/48
2a12:dd47:4336::/48
2a12:dd47:435f::/48
2a12:dd47:4406::/48
2a12:dd47:4450::/48
2a12:dd47:44e9::/48
2a12:dd47:44ed::/48
2a12:dd47:44ff::/48
2a12:dd47:4504::/48
2a12:dd47:450c::/48
2a12:dd47:451a::/48
2a12:dd47:457a::/48
2a12:dd47:457d::/48
2a12:dd47:4610::/48
2a12:dd47:463d::/48
2a12:dd47:4657::/48
2a12:dd47:46b2::/48
2a12:dd47:46ea::/48
2a12:dd47:471d::/48
2a12:dd47:472b::/48
2a12:dd47:4783::/48
2a12:dd47:4785::/48
2a12:dd47:47ab::/48
2a12:dd47:4a50::/48
2a12:dd47:4aaf::/48
2a12:dd47:4acc::/48
2a12:dd47:6074::/48
2a12:dd47:607d::/48
2a12:dd47:60da::/48
2a12:dd47:6219::/48
2a12:dd47:625c::/48
2a12:dd47:62fc::/48
2a12:dd47:6747::/48
2a12:dd47:67a3::/48
2a12:dd47:6811::/48
2a12:dd47:68b2::/48
2a12:dd47:6c45::/48
2a12:dd47:6c4b::/48
2a12:dd47:6c66::/48
2a12:dd47:6cd0::/48
2a12:dd47:6cdf::/48
2a12:dd47:6d1a::/48
2a12:dd47:6d46::/48
2a12:dd47:6d9f::/48
2a12:dd47:6dc1::/48
2a12:dd47:6dde::/48
2a12:dd47:6ee9::/48
2a12:dd47:721b::/48
2a12:dd47:7297::/48
2a12:dd47:72ae::/48
2a12:dd47:72c8::/48
2a12:dd47:72e7::/48
2a12:dd47:732e::/48
2a12:dd47:7339::/48
2a12:dd47:737f::/48
2a12:dd47:73a0::/48
2a12:dd47:73a7::/48
2a12:dd47:741b::/48
2a12:dd47:696b::/48
2a12:dd47:69e1::/48
2a12:dd47:6a23::/48
2a12:dd47:6a4f::/48
2a12:dd47:6aa7::/48
2a12:dd47:6ab8::/48
2a12:dd47:6b60::/48
2a12:dd47:6b90::/48
2a12:dd47:6b9c::/48
2a12:dd47:6bb7::/48
2a12:dd47:6bf4::/48
2a12:dd47:6c01::/48
2a12:dd47:6c40::/48
2a12:dd47:6c4f::/48
2a12:dd47:6c5b::/48
2a12:dd47:6c72::/48
2a12:dd47:6c8b::/48
2a12:dd47:6e75::/48
2a12:dd47:6e78::/48
2a12:dd47:6ef8::/48
2a12:dd47:719d::/48
2a12:dd47:71c3::/48
2a12:dd47:733a::/48
2a12:dd47:738a::/48
2a12:dd47:73b9::/48
2a12:dd47:743d::/48
2a12:dd47:7452::/48
2a12:dd47:7464::/48
2a12:dd47:746a::/48
2a12:dd47:74b9::/48
2a12:dd47:74c8::/48
2a12:dd47:74d1::/48
2a12:dd47:7502::/48
2a12:dd47:750a::/48
2a12:dd47:7528::/48
2a12:dd47:7531::/48
2a12:dd47:7545::/48
2a12:dd47:754d::/48
2a12:dd47:756d::/48
2a12:dd47:7571::/48
2a12:dd47:75a0::/48
2a12:dd47:75c3::/48
2a12:dd47:7724::/48
2a12:dd47:779a::/48
2a12:dd47:7ead::/48
2a12:dd47:7ec8::/48
2a12:dd47:7ecb::/48
2a12:dd47:7ed3::/48
2a12:dd47:7ed9::/48
2a12:dd47:8140::/44
2a12:dd47:c218::/48
2a12:dd47:c25c::/48
2a12:dd47:c27a::/48
2a12:dd47:c2b2::/48
2a12:dd47:c2b5::/48
2a12:dd47:c38a::/48
2a12:dd47:c3cc::/48
2a12:dd47:c407::/48
2a12:dd47:c41c::/48
2a12:dd47:c436::/48
2a12:dd47:c464::/48
2a12:dd47:c4ab::/48
2a12:dd47:c4af::/48
2a12:dd47:c4fd::/48
2a12:dd47:c609::/48
2a12:dd47:c6d5::/48
2a12:dd47:c70f::/48
2a12:dd47:c7dc::/48
2a12:dd47:ca04::/48
2a12:dd47:ca32::/48
2a12:dd47:ca54::/48
2a12:dd47:ca6e::/48
2a12:dd47:cae0::/48
2a12:dd47:cb8b::/48
2a12:dd47:cbb8::/48
2a12:dd47:cbc0::/48
2a12:dd47:cbcc::/48
2a12:dd47:cbde::/48
2a12:dd47:cc45::/48
2a12:dd47:cc4f::/48
2a12:dd47:cc5f::/48
2a12:dd47:cc7b::/48
2a12:dd47:ccdb::/48
2a12:dd47:c90a::/48
2a12:dd47:c936::/48
2a12:dd47:c940::/48
2a12:dd47:c974::/48
2a12:dd47:c97b::/48
2a12:dd47:c98f::/48
2a12:dd47:c99b::/48
2a12:dd47:c9b7::/48
2a12:dd47:c9f0::/48
2a12:dd47:ca3f::/48
2a12:dd47:cad9::/48
2a12:dd47:ce08::/48
2a12:dd47:ce0d::/48
2a12:dd47:ce15::/48
2a12:dd47:ce38::/48
2a12:dd47:cee3::/48
2a12:dd47:cf0d::/48
2a12:dd47:cf19::/48
2a12:dd47:cfb4::/48
2a12:dd47:cff7::/48
2a12:dd47:e612::/48
2a12:dd47:e649::/48
2a12:dd47:e685::/48
2a12:dd47:e68c::/48
2a12:dd47:e6c5::/48
2a12:dd47:e761::/48
2a12:dd47:e7e6::/48
2a12:dd47:e837::/48
2a12:dd47:e868::/48
2a12:dd47:e891::/48
2a12:dd47:e8d6::/48
2a12:dd47:e8e7::/48
2a12:dd47:e850::/48
2a12:dd47:e87a::/48
2a12:dd47:e8ac::/48
2a12:dd47:e919::/48
2a12:dd47:e93e::/48
2a12:dd47:e9b2::/48
2a12:dd47:e9bc::/48
2a12:dd47:ec0d::/48
2a12:dd47:ec40::/48
2a12:dd47:ec7e::/48
2a12:dd47:ece4::/48
2a12:dd47:ecff::/48
2a12:dd47:ed23::/48
2a12:dd47:ed59::/48
2a12:dd47:ed60::/48
2a12:dd47:edcb::/48
2a12:dd47:edfe::/48
2a12:dd47:ee8f::/48
2a12:dd47:ee9a::/48
2a12:dd47:ee9f::/48
2a12:dd47:eec6::/48
2a12:dd47:eed7::/48
2a12:dd47:ef7d::/48
2a12:dd47:ef98::/48
2a12:dd47:efb3::/48
2a12:dd47:efb6::/48
2a12:dd47:effd::/48
2a12:f8c0::/48
2a12:f8c0:6960::/48
2a12:f8c1::/48
2a12:f8c3::/36
2a13:1800:10::/48
2a13:1800:80::/44
2a13:1802::/44
2a13:b487:1200::/44
2c0f:f7a8:8011::/48
2c0f:f7a8:8050::/48

View File

@ -1 +1 @@
20230414000018
20230601192313

File diff suppressed because it is too large Load Diff

View File

@ -1 +1 @@
202304132209
202306022208

View File

@ -2665,6 +2665,7 @@ huaxia-news.com
huaxiabao.org
huaxin.ph
huayuworld.org
hub.docker.com
hudatoriq.web.id
hudson.org
huffingtonpost.com
@ -3924,6 +3925,7 @@ packetix.net
pacopacomama.com
padmanet.com
page.bid.yahoo.com
page.link
page2rss.com
pages.dev
pagodabox.com
@ -4067,6 +4069,7 @@ pobieramy.top
podbean.com
podcast.co
podictionary.com
poe.com
pokerstars.com
pokerstars.net
politicalchina.org

View File

@ -1 +1 @@
202304132209
202306022208

View File

@ -7,10 +7,11 @@ NAME="homeproxy"
log_max_size="10" #KB
main_log_file="/var/run/$NAME/$NAME.log"
sing_log_file="/var/run/$NAME/sing-box.log"
singc_log_file="/var/run/$NAME/sing-box-c.log"
sings_log_file="/var/run/$NAME/sing-box-s.log"
while true; do
for i in "$main_log_file" "$sing_log_file"; do
for i in "$main_log_file" "$singc_log_file" "$sings_log_file"; do
[ -s "$i" ] || continue
[ "$(( $(ls -l "$i" | awk -F ' ' '{print $5}') / 1024 >= log_max_size))" -eq "0" ] || echo "" > "$i"
done

View File

@ -34,11 +34,9 @@ const uciroutingsetting = 'routing',
uciroutingnode = 'routing_node',
uciroutingrule = 'routing_rule';
const ucinode = 'node',
uciserver = 'server';
const ucinode = 'node';
const routing_mode = uci.get(uciconfig, ucimain, 'routing_mode') || 'bypass_mainland_china';
const server_enabled = uci.get(uciconfig, uciserver, 'enabled') || '0';
let wan_dns = executeCommand('ifstatus wan | jsonfilter -e \'@["dns-server"][0]\'');
if (wan_dns.exitcode === 0 && trim(wan_dns.stdout))
@ -263,7 +261,7 @@ const config = {};
config.log = {
disabled: false,
level: 'warn',
output: RUN_DIR + '/sing-box.log',
output: RUN_DIR + '/sing-box-c.log',
timestamp: true
};
@ -385,154 +383,48 @@ if (!isEmpty(main_node)) {
/* Inbound start */
config.inbounds = [];
if (!isEmpty(main_node) || !isEmpty(default_outbound)) {
push(config.inbounds, {
type: 'direct',
tag: 'dns-in',
listen: '::',
listen_port: int(dns_port)
});
if (match(proxy_mode, /redirect/))
push(config.inbounds, {
type: 'direct',
tag: 'dns-in',
type: 'redirect',
tag: 'redirect-in',
listen: '::',
listen_port: int(dns_port)
listen_port: int(redirect_port),
sniff: true,
sniff_override_destination: (sniff_override === '1')
});
if (match(proxy_mode, /tproxy/))
push(config.inbounds, {
type: 'tproxy',
tag: 'tproxy-in',
if (match(proxy_mode, /redirect/))
push(config.inbounds, {
type: 'redirect',
tag: 'redirect-in',
listen: '::',
listen_port: int(tproxy_port),
network: 'udp',
sniff: true,
sniff_override_destination: (sniff_override === '1')
});
if (match(proxy_mode, /tun/))
push(config.inbounds, {
type: 'tun',
tag: 'tun-in',
listen: '::',
listen_port: int(redirect_port),
sniff: true,
sniff_override_destination: (sniff_override === '1')
});
if (match(proxy_mode, /tproxy/))
push(config.inbounds, {
type: 'tproxy',
tag: 'tproxy-in',
listen: '::',
listen_port: int(tproxy_port),
network: 'udp',
sniff: true,
sniff_override_destination: (sniff_override === '1')
});
if (match(proxy_mode, /tun/))
push(config.inbounds, {
type: 'tun',
tag: 'tun-in',
interface_name: tun_name,
inet4_address: tun_addr4,
inet6_address: (ipv6_support === '1') ? tun_addr6 : null,
mtu: strToInt(tun_mtu),
auto_route: false,
endpoint_independent_nat: (endpoint_independent_nat === '1') || null,
stack: tcpip_stack,
sniff: true,
sniff_override_destination: (sniff_override === '1'),
});
}
if (server_enabled === '1')
uci.foreach(uciconfig, uciserver, (cfg) => {
if (cfg.enabled !== '1')
return;
push(config.inbounds, {
type: cfg.type,
tag: 'cfg-' + cfg['.name'] + '-in',
listen: '::',
listen_port: strToInt(cfg.port),
tcp_fast_open: (cfg.tcp_fast_open === '1') || null,
udp_fragment: (cfg.udp_fragment === '1') || null,
sniff: true,
sniff_override_destination: (cfg.sniff_override === '1'),
domain_strategy: cfg.domain_strategy,
proxy_protocol: (cfg.proxy_protocol === '1') || null,
proxy_protocol_accept_no_header: (cfg.proxy_protocol_accept_no_header === '1') || null,
network: cfg.network,
/* Hysteria */
up_mbps: strToInt(cfg.hysteria_up_mbps),
down_mbps: strToInt(cfg.hysteria_down_mbps),
obfs: cfg.hysteria_obfs_password,
recv_window_conn: strToInt(cfg.hysteria_recv_window_conn),
recv_window_client: strToInt(cfg.hysteria_revc_window_client),
max_conn_client: strToInt(cfg.hysteria_max_conn_client),
disable_mtu_discovery: (cfg.hysteria_disable_mtu_discovery === '1') || null,
/* Shadowsocks */
method: (cfg.type === 'shadowsocks') ? cfg.shadowsocks_encrypt_method : null,
password: (cfg.type in ['shadowsocks', 'shadowtls']) ? cfg.password : null,
/* HTTP / Hysteria / Socks / Trojan / VLESS / VMess */
users: (cfg.type !== 'shadowsocks') ? [
{
name: !(cfg.type in ['http', 'socks']) ? 'cfg-' + cfg['.name'] + '-server' : null,
username: cfg.username,
password: cfg.password,
/* Hysteria */
auth: (cfg.hysteria_auth_type === 'base64') ? cfg.hysteria_auth_payload : null,
auth_str: (cfg.hysteria_auth_type === 'string') ? cfg.hysteria_auth_payload : null,
/* VLESS / VMess */
uuid: cfg.uuid,
flow: cfg.vless_flow,
alterId: strToInt(cfg.vmess_alterid)
}
] : null,
tls: (cfg.tls === '1') ? {
enabled: true,
server_name: cfg.tls_sni,
alpn: cfg.tls_alpn,
min_version: cfg.tls_min_version,
max_version: cfg.tls_max_version,
cipher_suites: cfg.tls_cipher_suites,
certificate_path: cfg.tls_cert_path,
key_path: cfg.tls_key_path,
acme: (cfg.tls_acme === '1') ? {
domain: cfg.tls_acme_domains,
data_directory: HP_DIR + '/certs',
default_server_name: cfg.tls_acme_dsn,
email: cfg.tls_acme_email,
provider: cfg.tls_acme_provider,
disable_http_challenge: (cfg.tls_acme_dhc === '1'),
disable_tls_alpn_challenge: (cfg.tls_acme_dtac === '1'),
alternative_http_port: strToInt(cfg.tls_acme_ahp),
alternative_tls_port: strToInt(cfg.tls_acme_atp),
external_account: (cfg.tls_acme_external_account === '1') ? {
key_id: cfg.tls_acme_ea_keyid,
mac_key: cfg.tls_acme_ea_mackey
} : null
} : null,
reality: (cfg.tls_reality === '1') ? {
enabled: true,
private_key: cfg.tls_reality_private_key,
short_id: cfg.tls_reality_short_id,
max_time_difference: cfg.tls_reality_max_time_difference ? (cfg.max_time_difference + 's') : null,
handshake: {
server: cfg.tls_reality_server_addr,
server_port: cfg.tls_reality_server_port
}
} : null
} : null,
transport: !isEmpty(cfg.transport) ? {
type: cfg.transport,
host: cfg.http_host,
path: cfg.http_path || cfg.ws_path,
headers: cfg.ws_host ? {
Host: cfg.ws_host
} : null,
method: cfg.http_method,
max_early_data: strToInt(cfg.websocket_early_data),
early_data_header_name: cfg.websocket_early_data_header,
service_name: cfg.grpc_servicename,
idle_timeout: cfg.http_idle_timeout ? (cfg.http_idle_timeout + 's') : null,
ping_timeout: cfg.http_ping_timeout ? (cfg.http_ping_timeout + 's') : null
} : null
});
interface_name: tun_name,
inet4_address: tun_addr4,
inet6_address: (ipv6_support === '1') ? tun_addr6 : null,
mtu: strToInt(tun_mtu),
auto_route: false,
endpoint_independent_nat: (endpoint_independent_nat === '1') || null,
stack: tcpip_stack,
sniff: true,
sniff_override_destination: (sniff_override === '1'),
});
/* Inbound end */
@ -580,31 +472,30 @@ if (!isEmpty(main_node)) {
/* Routing rules start */
/* Default settings */
if (!isEmpty(main_node) || !isEmpty(default_outbound))
config.route = {
geoip: !isEmpty(default_outbound) ? {
path: HP_DIR + '/resources/geoip.db',
download_url: 'https://github.com/1715173329/sing-geoip/releases/latest/download/geoip.db',
download_detour: get_outbound(default_outbound)
} : null,
geosite: !isEmpty(default_outbound) ? {
path: HP_DIR + '/resources/geosite.db',
download_url: 'https://github.com/1715173329/sing-geosite/releases/latest/download/geosite.db',
download_detour: get_outbound(default_outbound)
} : null,
rules: [
{
inbound: 'dns-in',
outbound: 'dns-out'
},
{
protocol: 'dns',
outbound: 'dns-out'
}
],
auto_detect_interface: isEmpty(default_interface) ? true : null,
default_interface: default_interface
};
config.route = {
geoip: !isEmpty(default_outbound) ? {
path: HP_DIR + '/resources/geoip.db',
download_url: 'https://github.com/1715173329/sing-geoip/releases/latest/download/geoip.db',
download_detour: get_outbound(default_outbound)
} : null,
geosite: !isEmpty(default_outbound) ? {
path: HP_DIR + '/resources/geosite.db',
download_url: 'https://github.com/1715173329/sing-geosite/releases/latest/download/geosite.db',
download_detour: get_outbound(default_outbound)
} : null,
rules: [
{
inbound: 'dns-in',
outbound: 'dns-out'
},
{
protocol: 'dns',
outbound: 'dns-out'
}
],
auto_detect_interface: isEmpty(default_interface) ? true : null,
default_interface: default_interface
};
/* Routing rules */
if (!isEmpty(main_node)) {
@ -659,4 +550,4 @@ if (!isEmpty(main_node)) {
/* Routing rules end */
system('mkdir -p ' + RUN_DIR);
writefile(RUN_DIR + '/sing-box.json', sprintf('%.J\n', removeBlankAttrs(config)));
writefile(RUN_DIR + '/sing-box-c.json', sprintf('%.J\n', removeBlankAttrs(config)));

View File

@ -0,0 +1,147 @@
#!/usr/bin/ucode
/*
* SPDX-License-Identifier: GPL-2.0-only
*
* Copyright (C) 2023 ImmortalWrt.org
*/
'use strict';
import { readfile, writefile } from 'fs';
import { cursor } from 'uci';
import {
executeCommand, isEmpty, strToInt,
removeBlankAttrs, validateHostname, validation,
HP_DIR, RUN_DIR
} from 'homeproxy';
/* UCI config start */
const uci = cursor();
const uciconfig = 'homeproxy';
uci.load(uciconfig);
const uciserver = 'server';
const config = {};
/* Log */
config.log = {
disabled: false,
level: 'warn',
output: RUN_DIR + '/sing-box-s.log',
timestamp: true
};
config.inbounds = [];
uci.foreach(uciconfig, uciserver, (cfg) => {
if (cfg.enabled !== '1')
return;
push(config.inbounds, {
type: cfg.type,
tag: 'cfg-' + cfg['.name'] + '-in',
listen: '::',
listen_port: strToInt(cfg.port),
tcp_fast_open: (cfg.tcp_fast_open === '1') || null,
udp_fragment: (cfg.udp_fragment === '1') || null,
sniff: true,
sniff_override_destination: (cfg.sniff_override === '1'),
domain_strategy: cfg.domain_strategy,
proxy_protocol: (cfg.proxy_protocol === '1') || null,
proxy_protocol_accept_no_header: (cfg.proxy_protocol_accept_no_header === '1') || null,
network: cfg.network,
/* Hysteria */
up_mbps: strToInt(cfg.hysteria_up_mbps),
down_mbps: strToInt(cfg.hysteria_down_mbps),
obfs: cfg.hysteria_obfs_password,
recv_window_conn: strToInt(cfg.hysteria_recv_window_conn),
recv_window_client: strToInt(cfg.hysteria_revc_window_client),
max_conn_client: strToInt(cfg.hysteria_max_conn_client),
disable_mtu_discovery: (cfg.hysteria_disable_mtu_discovery === '1') || null,
/* Shadowsocks */
method: (cfg.type === 'shadowsocks') ? cfg.shadowsocks_encrypt_method : null,
password: (cfg.type in ['shadowsocks', 'shadowtls']) ? cfg.password : null,
/* HTTP / Hysteria / Socks / Trojan / VLESS / VMess */
users: (cfg.type !== 'shadowsocks') ? [
{
name: !(cfg.type in ['http', 'socks']) ? 'cfg-' + cfg['.name'] + '-server' : null,
username: cfg.username,
password: cfg.password,
/* Hysteria */
auth: (cfg.hysteria_auth_type === 'base64') ? cfg.hysteria_auth_payload : null,
auth_str: (cfg.hysteria_auth_type === 'string') ? cfg.hysteria_auth_payload : null,
/* VLESS / VMess */
uuid: cfg.uuid,
flow: cfg.vless_flow,
alterId: strToInt(cfg.vmess_alterid)
}
] : null,
tls: (cfg.tls === '1') ? {
enabled: true,
server_name: cfg.tls_sni,
alpn: cfg.tls_alpn,
min_version: cfg.tls_min_version,
max_version: cfg.tls_max_version,
cipher_suites: cfg.tls_cipher_suites,
certificate_path: cfg.tls_cert_path,
key_path: cfg.tls_key_path,
acme: (cfg.tls_acme === '1') ? {
domain: cfg.tls_acme_domains,
data_directory: HP_DIR + '/certs',
default_server_name: cfg.tls_acme_dsn,
email: cfg.tls_acme_email,
provider: cfg.tls_acme_provider,
disable_http_challenge: (cfg.tls_acme_dhc === '1'),
disable_tls_alpn_challenge: (cfg.tls_acme_dtac === '1'),
alternative_http_port: strToInt(cfg.tls_acme_ahp),
alternative_tls_port: strToInt(cfg.tls_acme_atp),
external_account: (cfg.tls_acme_external_account === '1') ? {
key_id: cfg.tls_acme_ea_keyid,
mac_key: cfg.tls_acme_ea_mackey
} : null
} : null,
reality: (cfg.tls_reality === '1') ? {
enabled: true,
private_key: cfg.tls_reality_private_key,
short_id: cfg.tls_reality_short_id,
max_time_difference: cfg.tls_reality_max_time_difference ? (cfg.max_time_difference + 's') : null,
handshake: {
server: cfg.tls_reality_server_addr,
server_port: cfg.tls_reality_server_port
}
} : null
} : null,
transport: !isEmpty(cfg.transport) ? {
type: cfg.transport,
host: cfg.http_host,
path: cfg.http_path || cfg.ws_path,
headers: cfg.ws_host ? {
Host: cfg.ws_host
} : null,
method: cfg.http_method,
max_early_data: strToInt(cfg.websocket_early_data),
early_data_header_name: cfg.websocket_early_data_header,
service_name: cfg.grpc_servicename,
idle_timeout: cfg.http_idle_timeout ? (cfg.http_idle_timeout + 's') : null,
ping_timeout: cfg.http_ping_timeout ? (cfg.http_ping_timeout + 's') : null
} : null
});
});
if (length(config.inbounds) === 0) {
exit(1);
}
system('mkdir -p ' + RUN_DIR);
writefile(RUN_DIR + '/sing-box-s.json', sprintf('%.J\n', removeBlankAttrs(config)));

View File

@ -42,21 +42,19 @@ start_service() {
fi
mkdir -p "$RUN_DIR"
ucode -S "$HP_DIR/scripts/generate_sing-box.uc" 2>>"$LOG_PATH"
local inbounds="$(jsonfilter -i "$RUN_DIR/sing-box.json" -e "@.inbounds[@.tag!='dns-in']" 2>"/dev/null")"
if [ ! -e "$RUN_DIR/sing-box.json" ]; then
log "Error: failed to generate configuration."
return 1
elif [ -z "$inbounds" ]; then
log "Error: no valid inbound found."
return 1
elif ! "$PROG" check --config "$RUN_DIR/sing-box.json" 2>>"$LOG_PATH"; then
log "Error: wrong configuration detected."
return 1
fi
if [ "$outbound_node" != "nil" ]; then
# Generate/Validate client config
ucode -S "$HP_DIR/scripts/generate_client.uc" 2>>"$LOG_PATH"
if [ ! -e "$RUN_DIR/sing-box-c.json" ]; then
log "Error: failed to generate client configuration."
return 1
elif ! "$PROG" check --config "$RUN_DIR/sing-box-c.json" 2>>"$LOG_PATH"; then
log "Error: wrong client configuration detected."
return 1
fi
# Auto update
local auto_update auto_update_time
config_get_bool auto_update "subscription" "auto_update" "0"
@ -66,10 +64,9 @@ start_service() {
/etc/init.d/cron restart
fi
# DNSMasq rules
local ipv6_support
config_get_bool ipv6_support "config" "ipv6_support" "0"
# DNSMasq rules
local dns_port china_dns_server china_dns_port
config_get dns_port "infra" "dns_port" "5333"
mkdir -p "$DNSMASQ_DIR"
@ -116,7 +113,7 @@ start_service() {
fi
/etc/init.d/dnsmasq restart >"/dev/null" 2>&1
# Setup firewall
# Setup routing table
local table_mark
config_get table_mark "infra" "table_mark" "100"
case "$proxy_mode" in
@ -152,57 +149,91 @@ start_service() {
;;
esac
utpl -S "$HP_DIR/scripts/firewall_post.ut" > "$RUN_DIR/fw4_post.nft"
# sing-box (client)
procd_open_instance "sing-box-c"
procd_set_param command "$PROG"
procd_append_param command run --config "$RUN_DIR/sing-box-c.json"
if [ -x "/sbin/ujail" ] && [ "$routing_mode" != "custom" ] && ! grep -Eq '"type": "(wireguard|tun)"' "$RUN_DIR/sing-box-c.json"; then
procd_add_jail "sing-box-c" log procfs
procd_add_jail_mount "$RUN_DIR/sing-box-c.json"
procd_add_jail_mount_rw "$RUN_DIR/sing-box-c.log"
procd_add_jail_mount "$HP_DIR/certs/"
procd_add_jail_mount "/etc/ssl/"
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_set_param limits core="unlimited"
procd_set_param limits nofile="1000000 1000000"
procd_set_param stderr 1
procd_set_param respawn
procd_close_instance
# 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
procd_open_instance "chinadns-ng"
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 --gfwlist-file "$HP_DIR/resources/gfw_list.txt"
[ "$ipv6_support" -eq "1" ] || procd_append_param command --no-ipv6=tC
if [ -x "/sbin/ujail" ]; then
procd_add_jail "chinadns-ng" log
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_set_param limits core="unlimited"
procd_set_param limits nofile="1000000 1000000"
procd_set_param stderr 1
procd_set_param respawn
procd_close_instance
fi
fi
utpl -S "$HP_DIR/scripts/firewall_pre.ut" > "$RUN_DIR/fw4_pre.nft"
fw4 reload >"/dev/null" 2>&1
if [ "$server_enabled" = "1" ]; then
# Generate/Validate server config
ucode -S "$HP_DIR/scripts/generate_server.uc" 2>>"$LOG_PATH"
# sing-box
procd_open_instance "sing-box"
if [ ! -e "$RUN_DIR/sing-box-s.json" ]; then
log "Error: failed to generate server configuration."
return 1
elif ! "$PROG" check --config "$RUN_DIR/sing-box-s.json" 2>>"$LOG_PATH"; then
log "Error: wrong server configuration detected."
return 1
fi
procd_set_param command "$PROG"
procd_append_param command run --config "$RUN_DIR/sing-box.json"
# sing-box (server)
procd_open_instance "sing-box-s"
if [ -x "/sbin/ujail" ] && [ "$routing_mode" != "custom" ] && ! grep -Eq '"type": "(wireguard|tun)"' "$RUN_DIR/sing-box.json"; then
procd_add_jail "sing-box" log procfs
procd_add_jail_mount "$RUN_DIR/sing-box.json"
procd_add_jail_mount_rw "$RUN_DIR/sing-box.log"
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_set_param limits core="unlimited"
procd_set_param limits nofile="1000000 1000000"
procd_set_param stderr 1
procd_set_param respawn
procd_close_instance
# 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
procd_open_instance "chinadns-ng"
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 --gfwlist-file "$HP_DIR/resources/gfw_list.txt"
[ "$ipv6_support" -eq "1" ] || procd_append_param command --no-ipv6=tC
procd_set_param command "$PROG"
procd_append_param command run --config "$RUN_DIR/sing-box-s.json"
if [ -x "/sbin/ujail" ]; then
procd_add_jail "chinadns-ng" log
procd_add_jail_mount "$HP_DIR/resources/gfw_list.txt"
procd_add_jail "sing-box-s" log procfs
procd_add_jail_mount "$RUN_DIR/sing-box-s.json"
procd_add_jail_mount_rw "$RUN_DIR/sing-box-s.log"
procd_add_jail_mount "$HP_DIR/certs/"
procd_set_param capabilities "/etc/capabilities/homeproxy.json"
procd_set_param no_new_privs 1
procd_set_param user sing-box
@ -224,10 +255,22 @@ start_service() {
procd_close_instance
# Update permissions for ujail
echo > "$RUN_DIR/sing-box.log"
chown sing-box:sing-box "$RUN_DIR/sing-box.log"
chown sing-box:sing-box "$RUN_DIR/sing-box.json"
chmod 0644 "$HP_DIR/resources/gfw_list.txt"
if [ "$outbound_node" != "nil" ]; then
echo > "$RUN_DIR/sing-box-c.log"
chown sing-box:sing-box "$RUN_DIR/sing-box-c.log"
chown sing-box:sing-box "$RUN_DIR/sing-box-c.json"
chmod 0644 "$HP_DIR/resources/gfw_list.txt"
fi
if [ "$server_enabled" = "1" ]; then
echo > "$RUN_DIR/sing-box-s.log"
chown sing-box:sing-box "$RUN_DIR/sing-box-s.log"
chown sing-box:sing-box "$RUN_DIR/sing-box-s.json"
fi
# Setup firewall
[ "$outbound_node" = "nil" ] || utpl -S "$HP_DIR/scripts/firewall_post.ut" > "$RUN_DIR/fw4_post.nft"
utpl -S "$HP_DIR/scripts/firewall_pre.ut" > "$RUN_DIR/fw4_pre.nft"
fw4 reload >"/dev/null" 2>&1
log "$(sing-box version | awk 'NR==1{print $1,$3}') started."
}
@ -289,7 +332,8 @@ stop_service() {
rm -rf "$DNSMASQ_DIR/../dnsmasq-homeproxy.conf" "$DNSMASQ_DIR"
/etc/init.d/dnsmasq restart >"/dev/null" 2>&1
rm -f "$RUN_DIR/sing-box.json" "$RUN_DIR/sing-box.log"
rm -f "$RUN_DIR/sing-box-c.json" "$RUN_DIR/sing-box-c.log" \
"$RUN_DIR/sing-box-s.json" "$RUN_DIR/sing-box-s.log"
log "Service stopped."
}

View File

@ -5,7 +5,8 @@
"file": {
"/etc/homeproxy/scripts/update_subscriptions.uc": [ "exec" ],
"/var/run/homeproxy/homeproxy.log": [ "read" ],
"/var/run/homeproxy/sing-box.log": [ "read" ]
"/var/run/homeproxy/sing-box-c.log": [ "read" ],
"/var/run/homeproxy/sing-box-s.log": [ "read" ]
},
"ubus": {
"service": [ "list" ],