new feature: site-to-site

fix #5
This commit is contained in:
asvow
2024-05-29 21:16:15 +08:00
parent 990ebc9d27
commit f97a9ed158
5 changed files with 66 additions and 34 deletions

View File

@@ -164,8 +164,14 @@ return view.extend({
o.default = o.disabled; o.default = o.disabled;
o.rmempty = false; o.rmempty = false;
o = s.option(form.Flag, 's2s', _('Site To Site'), _('Use site-to-site layer 3 networking to connect two subnets on your Tailscale network with each other.'));
o.default = o.disabled;
o.depends('acceptRoutes', '1');
o.rmempty = false;
o = s.option(form.Value, 'advertiseRoutes', _('Expose Subnets'), _('Expose physical network routes onto Tailscale. e.g. 10.0.0.0/24')); o = s.option(form.Value, 'advertiseRoutes', _('Expose Subnets'), _('Expose physical network routes onto Tailscale. e.g. 10.0.0.0/24'));
o.default = ''; o.default = '';
o.depends('acceptRoutes', '1');
o.rmempty = true; o.rmempty = true;
o = s.option(form.MultiValue, 'access', _('Access Control')); o = s.option(form.MultiValue, 'access', _('Access Control'));

View File

@@ -1,6 +1,10 @@
msgid "" msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8" msgstr "Content-Type: text/plain; charset=UTF-8"
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:167
msgid "Use site-to-site layer 3 networking to connect two subnets on your Tailscale network with each other."
msgstr ""
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:159 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:159
msgid "Accept DNS" msgid "Accept DNS"
msgstr "" msgstr ""
@@ -13,7 +17,7 @@ msgstr ""
msgid "Accept subnet routes that other nodes advertise." msgid "Accept subnet routes that other nodes advertise."
msgstr "" msgstr ""
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:171 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:177
msgid "Access Control" msgid "Access Control"
msgstr "" msgstr ""
@@ -25,7 +29,7 @@ msgstr ""
msgid "Are you sure you want to logout and unbind the current device?" msgid "Are you sure you want to logout and unbind the current device?"
msgstr "" msgstr ""
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:188 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:194
msgid "Auth Key" msgid "Auth Key"
msgstr "" msgstr ""
@@ -42,7 +46,7 @@ msgstr ""
msgid "Collecting data ..." msgid "Collecting data ..."
msgstr "" msgstr ""
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:181 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:187
msgid "Custom Server Settings" msgid "Custom Server Settings"
msgstr "" msgstr ""
@@ -62,11 +66,11 @@ msgstr ""
msgid "Exit Node" msgid "Exit Node"
msgstr "" msgstr ""
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:167 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:172
msgid "Expose Subnets" msgid "Expose Subnets"
msgstr "" msgstr ""
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:167 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:172
msgid "Expose physical network routes onto Tailscale. e.g. 10.0.0.0/24" msgid "Expose physical network routes onto Tailscale. e.g. 10.0.0.0/24"
msgstr "" msgstr ""
@@ -98,7 +102,7 @@ msgstr ""
msgid "Interface Name" msgid "Interface Name"
msgstr "" msgstr ""
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:174 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:180
msgid "LAN access Tailscale" msgid "LAN access Tailscale"
msgstr "" msgstr ""
@@ -159,7 +163,7 @@ msgstr ""
msgid "RUNNING" msgid "RUNNING"
msgstr "" msgstr ""
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:184 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:190
msgid "Server Address" msgid "Server Address"
msgstr "" msgstr ""
@@ -167,6 +171,10 @@ msgstr ""
msgid "Set the Tailscale port number." msgid "Set the Tailscale port number."
msgstr "" msgstr ""
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:167
msgid "Site To Site"
msgstr ""
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/interface.js:72 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/interface.js:72
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:51 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:51
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:53 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:53
@@ -175,11 +183,11 @@ msgstr ""
msgid "Tailscale" msgid "Tailscale"
msgstr "" msgstr ""
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:172 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:178
msgid "Tailscale access LAN" msgid "Tailscale access LAN"
msgstr "" msgstr ""
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:173 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:179
msgid "Tailscale access WAN" msgid "Tailscale access WAN"
msgstr "" msgstr ""
@@ -208,11 +216,11 @@ msgstr ""
msgid "Unable to get interface info: %s." msgid "Unable to get interface info: %s."
msgstr "" msgstr ""
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:182 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:188
msgid "Use %s to deploy a private server." msgid "Use %s to deploy a private server."
msgstr "" msgstr ""
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:175 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:181
msgid "WAN access Tailscale" msgid "WAN access Tailscale"
msgstr "" msgstr ""

View File

@@ -7,6 +7,10 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:167
msgid "Use site-to-site layer 3 networking to connect two subnets on your Tailscale network with each other."
msgstr "使用站点到站点的三层网络连接 Tailscale 中的两个子网。"
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:159 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:159
msgid "Accept DNS" msgid "Accept DNS"
msgstr "允许DNS" msgstr "允许DNS"
@@ -19,7 +23,7 @@ msgstr "使用 Tailscale 管理控制台的 DNS 配置。"
msgid "Accept subnet routes that other nodes advertise." msgid "Accept subnet routes that other nodes advertise."
msgstr "接受其他节点广播的子网路由。" msgstr "接受其他节点广播的子网路由。"
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:171 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:177
msgid "Access Control" msgid "Access Control"
msgstr "访问控制" msgstr "访问控制"
@@ -31,7 +35,7 @@ msgstr "高级设置"
msgid "Are you sure you want to logout and unbind the current device?" msgid "Are you sure you want to logout and unbind the current device?"
msgstr "是否注销当前登录并且解绑当前设备?" msgstr "是否注销当前登录并且解绑当前设备?"
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:188 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:194
msgid "Auth Key" msgid "Auth Key"
msgstr "认证密钥" msgstr "认证密钥"
@@ -48,7 +52,7 @@ msgstr "基础设置"
msgid "Collecting data ..." msgid "Collecting data ..."
msgstr "正在收集数据..." msgstr "正在收集数据..."
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:181 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:187
msgid "Custom Server Settings" msgid "Custom Server Settings"
msgstr "自定义服务器" msgstr "自定义服务器"
@@ -68,11 +72,11 @@ msgstr "错误日志"
msgid "Exit Node" msgid "Exit Node"
msgstr "出口节点" msgstr "出口节点"
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:167 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:172
msgid "Expose Subnets" msgid "Expose Subnets"
msgstr "公开网段" msgstr "公开网段"
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:167 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:172
msgid "Expose physical network routes onto Tailscale. e.g. 10.0.0.0/24" msgid "Expose physical network routes onto Tailscale. e.g. 10.0.0.0/24"
msgstr "广播子网路由至 Tailscale。例如10.0.0.0/24" msgstr "广播子网路由至 Tailscale。例如10.0.0.0/24"
@@ -104,7 +108,7 @@ msgstr "接口信息"
msgid "Interface Name" msgid "Interface Name"
msgstr "接口名称" msgstr "接口名称"
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:174 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:180
msgid "LAN access Tailscale" msgid "LAN access Tailscale"
msgstr "本地局域网访问虚拟局域网" msgstr "本地局域网访问虚拟局域网"
@@ -165,7 +169,7 @@ msgstr "端口"
msgid "RUNNING" msgid "RUNNING"
msgstr "运行中" msgstr "运行中"
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:184 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:190
msgid "Server Address" msgid "Server Address"
msgstr "服务器地址" msgstr "服务器地址"
@@ -173,6 +177,10 @@ msgstr "服务器地址"
msgid "Set the Tailscale port number." msgid "Set the Tailscale port number."
msgstr "设置 Tailscale 端口号。" msgstr "设置 Tailscale 端口号。"
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:167
msgid "Site To Site"
msgstr "子网互通"
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/interface.js:72 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/interface.js:72
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:51 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:51
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:53 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:53
@@ -181,11 +189,11 @@ msgstr "设置 Tailscale 端口号。"
msgid "Tailscale" msgid "Tailscale"
msgstr "Tailscale" msgstr "Tailscale"
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:172 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:178
msgid "Tailscale access LAN" msgid "Tailscale access LAN"
msgstr "虚拟局域网访问本地局域网" msgstr "虚拟局域网访问本地局域网"
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:173 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:179
msgid "Tailscale access WAN" msgid "Tailscale access WAN"
msgstr "虚拟局域网访问本地广域网" msgstr "虚拟局域网访问本地广域网"
@@ -214,11 +222,11 @@ msgstr "无法获取接口 %s 的信息:%s。"
msgid "Unable to get interface info: %s." msgid "Unable to get interface info: %s."
msgstr "无法获取接口信息:%s。" msgstr "无法获取接口信息:%s。"
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:182 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:188
msgid "Use %s to deploy a private server." msgid "Use %s to deploy a private server."
msgstr "使用 %s 部署私有服务器" msgstr "使用 %s 部署私有服务器"
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:175 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:181
msgid "WAN access Tailscale" msgid "WAN access Tailscale"
msgstr "本地广域网访问虚拟局域网" msgstr "本地广域网访问虚拟局域网"

View File

@@ -7,6 +7,10 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:167
msgid "Use site-to-site layer 3 networking to connect two subnets on your Tailscale network with each other."
msgstr "使用站點到站點的三層網路連線 Tailscale 中的兩個子網。"
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:159 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:159
msgid "Accept DNS" msgid "Accept DNS"
msgstr "允許DNS" msgstr "允許DNS"
@@ -19,7 +23,7 @@ msgstr "使用 Tailscale 管理控制台的DNS配置。"
msgid "Accept subnet routes that other nodes advertise." msgid "Accept subnet routes that other nodes advertise."
msgstr "接受其他節點廣播的子網路由。" msgstr "接受其他節點廣播的子網路由。"
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:171 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:177
msgid "Access Control" msgid "Access Control"
msgstr "訪問控制" msgstr "訪問控制"
@@ -31,7 +35,7 @@ msgstr "高級設置"
msgid "Are you sure you want to logout and unbind the current device?" msgid "Are you sure you want to logout and unbind the current device?"
msgstr "是否註銷當前登錄並且解綁當前設備?" msgstr "是否註銷當前登錄並且解綁當前設備?"
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:188 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:194
msgid "Auth Key" msgid "Auth Key"
msgstr "認證密鑰" msgstr "認證密鑰"
@@ -48,7 +52,7 @@ msgstr "基礎設置"
msgid "Collecting data ..." msgid "Collecting data ..."
msgstr "正在收集數據..." msgstr "正在收集數據..."
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:181 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:187
msgid "Custom Server Settings" msgid "Custom Server Settings"
msgstr "自定義服務器" msgstr "自定義服務器"
@@ -68,11 +72,11 @@ msgstr "錯誤日誌"
msgid "Exit Node" msgid "Exit Node"
msgstr "出口節點" msgstr "出口節點"
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:167 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:172
msgid "Expose Subnets" msgid "Expose Subnets"
msgstr "公開網段" msgstr "公開網段"
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:167 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:172
msgid "Expose physical network routes onto Tailscale. e.g. 10.0.0.0/24" msgid "Expose physical network routes onto Tailscale. e.g. 10.0.0.0/24"
msgstr "廣播子網路由至 Tailscale。例如10.0.0.0/24" msgstr "廣播子網路由至 Tailscale。例如10.0.0.0/24"
@@ -104,7 +108,7 @@ msgstr "接口信息"
msgid "Interface Name" msgid "Interface Name"
msgstr "接口名稱" msgstr "接口名稱"
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:174 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:180
msgid "LAN access Tailscale" msgid "LAN access Tailscale"
msgstr "本地局域網訪問虛擬局域網" msgstr "本地局域網訪問虛擬局域網"
@@ -165,7 +169,7 @@ msgstr "端口"
msgid "RUNNING" msgid "RUNNING"
msgstr "運行中" msgstr "運行中"
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:184 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:190
msgid "Server Address" msgid "Server Address"
msgstr "服務器地址" msgstr "服務器地址"
@@ -173,6 +177,10 @@ msgstr "服務器地址"
msgid "Set the Tailscale port number." msgid "Set the Tailscale port number."
msgstr "設置 Tailscale 端口號。" msgstr "設置 Tailscale 端口號。"
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:167
msgid "Site To Site"
msgstr "子網互聯"
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/interface.js:72 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/interface.js:72
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:51 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:51
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:53 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:53
@@ -181,11 +189,11 @@ msgstr "設置 Tailscale 端口號。"
msgid "Tailscale" msgid "Tailscale"
msgstr "Tailscale" msgstr "Tailscale"
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:172 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:178
msgid "Tailscale access LAN" msgid "Tailscale access LAN"
msgstr "虛擬局域網訪問本地局域網" msgstr "虛擬局域網訪問本地局域網"
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:173 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:179
msgid "Tailscale access WAN" msgid "Tailscale access WAN"
msgstr "虛擬局域網訪問本地廣域網" msgstr "虛擬局域網訪問本地廣域網"
@@ -214,11 +222,11 @@ msgstr "無法獲取接口 %s 的信息:%s。"
msgid "Unable to get interface info: %s." msgid "Unable to get interface info: %s."
msgstr "無法獲取接口信息:%s。" msgstr "無法獲取接口信息:%s。"
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:182 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:188
msgid "Use %s to deploy a private server." msgid "Use %s to deploy a private server."
msgstr "使用 %s 部署私有服務器" msgstr "使用 %s 部署私有服務器"
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:175 #: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:181
msgid "WAN access Tailscale" msgid "WAN access Tailscale"
msgstr "本地廣域網訪問虛擬局域網" msgstr "本地廣域網訪問虛擬局域網"

View File

@@ -20,7 +20,7 @@ section_enabled() {
custom_instance() { custom_instance() {
local cfg="$1" local cfg="$1"
local acceptRoutes hostname acceptDNS advertiseExitNode advertiseRoutes loginServer authkey std_out std_err local acceptRoutes hostname acceptDNS advertiseExitNode s2s advertiseRoutes loginServer authkey std_out std_err
local ARGS=" up --reset" local ARGS=" up --reset"
if ! section_enabled "$cfg"; then if ! section_enabled "$cfg"; then
@@ -32,6 +32,7 @@ custom_instance() {
config_get hostname $cfg 'hostname' config_get hostname $cfg 'hostname'
config_get_bool acceptDNS $cfg 'acceptDNS' config_get_bool acceptDNS $cfg 'acceptDNS'
config_get_bool advertiseExitNode $cfg 'advertiseExitNode' config_get_bool advertiseExitNode $cfg 'advertiseExitNode'
config_get_bool s2s $cfg 's2s'
config_get advertiseRoutes $cfg 'advertiseRoutes' config_get advertiseRoutes $cfg 'advertiseRoutes'
config_get loginServer $cfg 'loginServer' config_get loginServer $cfg 'loginServer'
config_get authkey $cfg 'authkey' config_get authkey $cfg 'authkey'
@@ -42,6 +43,7 @@ custom_instance() {
[ -n "$hostname" ] && ARGS="$ARGS --hostname=$hostname" [ -n "$hostname" ] && ARGS="$ARGS --hostname=$hostname"
[ "$acceptDNS" = "0" ] && ARGS="$ARGS --accept-dns=false" [ "$acceptDNS" = "0" ] && ARGS="$ARGS --accept-dns=false"
[ "$advertiseExitNode" = "1" ] && ARGS="$ARGS --advertise-exit-node" [ "$advertiseExitNode" = "1" ] && ARGS="$ARGS --advertise-exit-node"
[ "$s2s" = "1" ] && ARGS="$ARGS --snat-subnet-routes=false --stateful-filtering=false"
[ -n "$advertiseRoutes" ] && ARGS="$ARGS --advertise-routes=$advertiseRoutes" [ -n "$advertiseRoutes" ] && ARGS="$ARGS --advertise-routes=$advertiseRoutes"
[ -n "$loginServer" ] && ARGS="$ARGS --login-server=$loginServer" [ -n "$loginServer" ] && ARGS="$ARGS --login-server=$loginServer"
[ -n "$authkey" ] && ARGS="$ARGS --authkey=$authkey" [ -n "$authkey" ] && ARGS="$ARGS --authkey=$authkey"