update 2025-08-25 09:23:01
This commit is contained in:
parent
2c20f43520
commit
e4e07d79b6
@ -5,10 +5,10 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=daed
|
||||
PKG_VERSION:=2025.07.23
|
||||
PKG_VERSION:=2025.08.24
|
||||
DAED_VERSION:=daed-c3588a9
|
||||
WING_VERSION:=wing-6df3da2
|
||||
CORE_VERSION:=core-358f459
|
||||
CORE_VERSION:=core-1228e82
|
||||
WING_HASH_SHORT:=$(shell echo $(WING_VERSION) | cut -d- -f2)
|
||||
CORE_HASH_SHORT:=$(shell echo $(CORE_VERSION) | cut -d- -f2)
|
||||
PKG_RELEASE:=1
|
||||
|
@ -9,12 +9,10 @@ PKG_NAME:=dns2socks-rust
|
||||
PKG_VERSION:=0.2.1
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://github.com/tun2proxy/dns2socks.git
|
||||
PKG_SOURCE_DATE:=2025-08-18
|
||||
PKG_SOURCE_VERSION:=a23fe67ff4e2a218fcd4726055514c8c2b5299c9
|
||||
PKG_MIRROR_HASH:=7d2829cc0da6e9eacc5ed97f51f37ee0ce1ea1a10f38f1e4d2a30ae80d237289
|
||||
PKG_SOURCE_URL:=https://codeload.github.com/tun2proxy/dns2socks/tar.gz/v$(PKG_VERSION)?
|
||||
PKG_HASH:=c7e9cc18f79edf421012dd9f7f915df8270be5b77dfd7ea8ac4513c32965ba4b
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/dns2socks-$(PKG_VERSION)
|
||||
|
||||
PKG_MAINTAINER:=Zxlhhyccc <zxlhhyccc@gmail.com>
|
||||
PKG_LICENSE:=MIT
|
||||
|
@ -1091,10 +1091,6 @@ function renderNodeSettings(section, data, features, main_node, routing_mode) {
|
||||
o.depends('tls', '1');
|
||||
o.modalonly = true;
|
||||
|
||||
o = s.option(form.Flag, 'tls_ech_enable_pqss', _('Enable PQ signature schemes'));
|
||||
o.depends('tls_ech', '1');
|
||||
o.modalonly = true;
|
||||
|
||||
o = s.option(form.Value, 'tls_ech_config_path', _('ECH config path'),
|
||||
_('The path to the ECH config, in PEM format. If empty, load from DNS will be attempted.'));
|
||||
o.value('/etc/homeproxy/certs/client_ech_conf.pem');
|
||||
@ -1123,7 +1119,7 @@ function renderNodeSettings(section, data, features, main_node, routing_mode) {
|
||||
o.value('random');
|
||||
o.value('randomized');
|
||||
o.value('safari');
|
||||
o.depends({'tls': '1', 'type': /^((?!hysteria2?$).)+$/});
|
||||
o.depends({'tls': '1', 'type': /^((?!hysteria2?|tuic$).)+$/});
|
||||
o.validate = function(section_id, value) {
|
||||
if (section_id) {
|
||||
let tls_reality = this.map.findElement('id', 'cbid.homeproxy.%s.tls_reality'.format(section_id)).firstElementChild;
|
||||
|
@ -301,7 +301,6 @@ function generate_outbound(node) {
|
||||
certificate_path: node.tls_cert_path,
|
||||
ech: (node.tls_ech === '1') ? {
|
||||
enabled: true,
|
||||
pq_signature_schemes_enabled: strToBool(node.tls_ech_enable_pqss),
|
||||
config: node.tls_ech_config,
|
||||
config_path: node.tls_ech_config_path
|
||||
} : null,
|
||||
|
@ -173,6 +173,8 @@ o.cfgvalue = function(t, n)
|
||||
protocol = "HY2"
|
||||
elseif protocol == "anytls" then
|
||||
protocol = "AnyTLS"
|
||||
elseif protocol == "ssh" then
|
||||
protocol = "SSH"
|
||||
else
|
||||
protocol = protocol:gsub("^%l",string.upper)
|
||||
end
|
||||
|
@ -59,6 +59,7 @@ end
|
||||
if version_ge_1_12_0 then
|
||||
o:value("anytls", "AnyTLS")
|
||||
end
|
||||
o:value("ssh", "SSH")
|
||||
o:value("_urltest", translate("URLTest"))
|
||||
o:value("_shunt", translate("Shunt"))
|
||||
o:value("_iface", translate("Custom Interface"))
|
||||
@ -249,6 +250,7 @@ end
|
||||
o = s:option(Value, _n("username"), translate("Username"))
|
||||
o:depends({ [_n("protocol")] = "http" })
|
||||
o:depends({ [_n("protocol")] = "socks" })
|
||||
o:depends({ [_n("protocol")] = "ssh" })
|
||||
|
||||
o = s:option(Value, _n("password"), translate("Password"))
|
||||
o.password = true
|
||||
@ -258,6 +260,7 @@ o:depends({ [_n("protocol")] = "shadowsocks" })
|
||||
o:depends({ [_n("protocol")] = "trojan" })
|
||||
o:depends({ [_n("protocol")] = "tuic" })
|
||||
o:depends({ [_n("protocol")] = "anytls" })
|
||||
o:depends({ [_n("protocol")] = "ssh" })
|
||||
|
||||
o = s:option(ListValue, _n("security"), translate("Encrypt Method"))
|
||||
for a, t in ipairs(security_list) do o:value(t) end
|
||||
@ -413,6 +416,24 @@ if singbox_tags:find("with_quic") then
|
||||
o:depends({ [_n("protocol")] = "hysteria2"})
|
||||
end
|
||||
|
||||
-- [[ SSH config start ]] --
|
||||
o = s:option(Value, _n("ssh_priv_key"), translate("Private Key"))
|
||||
o:depends({ [_n("protocol")] = "ssh" })
|
||||
|
||||
o = s:option(Value, _n("ssh_priv_key_pp"), translate("Private Key Passphrase"))
|
||||
o.password = true
|
||||
o:depends({ [_n("protocol")] = "ssh" })
|
||||
|
||||
o = s:option(DynamicList, _n("ssh_host_key"), translate("Host Key"), translate("Accept any if empty."))
|
||||
o:depends({ [_n("protocol")] = "ssh" })
|
||||
|
||||
o = s:option(DynamicList, _n("ssh_host_key_algo"), translate("Host Key Algorithms"))
|
||||
o:depends({ [_n("protocol")] = "ssh" })
|
||||
|
||||
o = s:option(Value, _n("ssh_client_version"), translate("Client Version"), translate("Random version will be used if empty."))
|
||||
o:depends({ [_n("protocol")] = "ssh" })
|
||||
-- [[ SSH config end ]] --
|
||||
|
||||
o = s:option(Flag, _n("tls"), translate("TLS"))
|
||||
o.default = 0
|
||||
o:depends({ [_n("protocol")] = "vmess" })
|
||||
|
@ -474,6 +474,8 @@ function get_valid_nodes()
|
||||
protocol = "HY2"
|
||||
elseif protocol == "anytls" then
|
||||
protocol = "AnyTLS"
|
||||
elseif protocol == "ssh" then
|
||||
protocol = "SSH"
|
||||
else
|
||||
protocol = protocol:gsub("^%l",string.upper)
|
||||
end
|
||||
@ -520,6 +522,8 @@ function get_node_remarks(n)
|
||||
protocol = "HY2"
|
||||
elseif protocol == "anytls" then
|
||||
protocol = "AnyTLS"
|
||||
elseif protocol == "ssh" then
|
||||
protocol = "SSH"
|
||||
else
|
||||
protocol = protocol:gsub("^%l",string.upper)
|
||||
end
|
||||
|
@ -478,6 +478,18 @@ function gen_outbound(flag, node, tag, proxy_table)
|
||||
}
|
||||
end
|
||||
|
||||
if node.protocol == "ssh" then
|
||||
protocol_table = {
|
||||
user = (node.username and node.username ~= "") and node.username or "root",
|
||||
password = (node.password and node.password ~= "") and node.password or "",
|
||||
private_key = node.ssh_priv_key,
|
||||
private_key_passphrase = node.ssh_priv_key_pp,
|
||||
host_key = node.ssh_host_key,
|
||||
host_key_algorithms = node.ssh_host_key_algo,
|
||||
client_version = node.ssh_client_version
|
||||
}
|
||||
end
|
||||
|
||||
if protocol_table then
|
||||
for key, value in pairs(protocol_table) do
|
||||
result[key] = value
|
||||
|
@ -1953,3 +1953,21 @@ msgstr "可以通过输入 GeoIP/Geosite,提取它们所包含的域名/IP。"
|
||||
|
||||
msgid "Use the GeoIP/Geosite query function to verify if the entered Geo rules are correct."
|
||||
msgstr "利用 GeoIP/Geosite 查询功能,可以验证输入的 Geo 规则是否正确。"
|
||||
|
||||
msgid "Private Key Passphrase"
|
||||
msgstr "私钥指纹"
|
||||
|
||||
msgid "Host Key"
|
||||
msgstr "主机密钥"
|
||||
|
||||
msgid "Accept any if empty."
|
||||
msgstr "留空则不校验。"
|
||||
|
||||
msgid "Host Key Algorithms"
|
||||
msgstr "主机密钥算法"
|
||||
|
||||
msgid "Client Version"
|
||||
msgstr "客户端版本"
|
||||
|
||||
msgid "Random version will be used if empty."
|
||||
msgstr "如留空,则使用随机版本。"
|
||||
|
Loading…
x
Reference in New Issue
Block a user