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.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.default = '';
o.depends('acceptRoutes', '1');
o.rmempty = true;
o = s.option(form.MultiValue, 'access', _('Access Control'));

View File

@@ -1,6 +1,10 @@
msgid ""
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
msgid "Accept DNS"
msgstr ""
@@ -13,7 +17,7 @@ msgstr ""
msgid "Accept subnet routes that other nodes advertise."
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"
msgstr ""
@@ -25,7 +29,7 @@ msgstr ""
msgid "Are you sure you want to logout and unbind the current device?"
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"
msgstr ""
@@ -42,7 +46,7 @@ msgstr ""
msgid "Collecting data ..."
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"
msgstr ""
@@ -62,11 +66,11 @@ msgstr ""
msgid "Exit Node"
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"
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"
msgstr ""
@@ -98,7 +102,7 @@ msgstr ""
msgid "Interface Name"
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"
msgstr ""
@@ -159,7 +163,7 @@ msgstr ""
msgid "RUNNING"
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"
msgstr ""
@@ -167,6 +171,10 @@ msgstr ""
msgid "Set the Tailscale port number."
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/setting.js:51
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:53
@@ -175,11 +183,11 @@ msgstr ""
msgid "Tailscale"
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"
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"
msgstr ""
@@ -208,11 +216,11 @@ msgstr ""
msgid "Unable to get interface info: %s."
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."
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"
msgstr ""

View File

@@ -7,6 +7,10 @@ msgstr ""
"MIME-Version: 1.0\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
msgid "Accept DNS"
msgstr "允许DNS"
@@ -19,7 +23,7 @@ msgstr "使用 Tailscale 管理控制台的 DNS 配置。"
msgid "Accept subnet routes that other nodes advertise."
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"
msgstr "访问控制"
@@ -31,7 +35,7 @@ msgstr "高级设置"
msgid "Are you sure you want to logout and unbind the current device?"
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"
msgstr "认证密钥"
@@ -48,7 +52,7 @@ msgstr "基础设置"
msgid "Collecting data ..."
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"
msgstr "自定义服务器"
@@ -68,11 +72,11 @@ msgstr "错误日志"
msgid "Exit Node"
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"
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"
msgstr "广播子网路由至 Tailscale。例如10.0.0.0/24"
@@ -104,7 +108,7 @@ msgstr "接口信息"
msgid "Interface Name"
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"
msgstr "本地局域网访问虚拟局域网"
@@ -165,7 +169,7 @@ msgstr "端口"
msgid "RUNNING"
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"
msgstr "服务器地址"
@@ -173,6 +177,10 @@ msgstr "服务器地址"
msgid "Set the Tailscale port number."
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/setting.js:51
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:53
@@ -181,11 +189,11 @@ msgstr "设置 Tailscale 端口号。"
msgid "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"
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"
msgstr "虚拟局域网访问本地广域网"
@@ -214,11 +222,11 @@ msgstr "无法获取接口 %s 的信息:%s。"
msgid "Unable to get interface info: %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."
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"
msgstr "本地广域网访问虚拟局域网"

View File

@@ -7,6 +7,10 @@ msgstr ""
"MIME-Version: 1.0\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
msgid "Accept DNS"
msgstr "允許DNS"
@@ -19,7 +23,7 @@ msgstr "使用 Tailscale 管理控制台的DNS配置。"
msgid "Accept subnet routes that other nodes advertise."
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"
msgstr "訪問控制"
@@ -31,7 +35,7 @@ msgstr "高級設置"
msgid "Are you sure you want to logout and unbind the current device?"
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"
msgstr "認證密鑰"
@@ -48,7 +52,7 @@ msgstr "基礎設置"
msgid "Collecting data ..."
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"
msgstr "自定義服務器"
@@ -68,11 +72,11 @@ msgstr "錯誤日誌"
msgid "Exit Node"
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"
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"
msgstr "廣播子網路由至 Tailscale。例如10.0.0.0/24"
@@ -104,7 +108,7 @@ msgstr "接口信息"
msgid "Interface Name"
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"
msgstr "本地局域網訪問虛擬局域網"
@@ -165,7 +169,7 @@ msgstr "端口"
msgid "RUNNING"
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"
msgstr "服務器地址"
@@ -173,6 +177,10 @@ msgstr "服務器地址"
msgid "Set the Tailscale port number."
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/setting.js:51
#: luci-app-tailscale/htdocs/luci-static/resources/view/tailscale/setting.js:53
@@ -181,11 +189,11 @@ msgstr "設置 Tailscale 端口號。"
msgid "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"
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"
msgstr "虛擬局域網訪問本地廣域網"
@@ -214,11 +222,11 @@ msgstr "無法獲取接口 %s 的信息:%s。"
msgid "Unable to get interface info: %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."
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"
msgstr "本地廣域網訪問虛擬局域網"

View File

@@ -20,7 +20,7 @@ section_enabled() {
custom_instance() {
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"
if ! section_enabled "$cfg"; then
@@ -32,6 +32,7 @@ custom_instance() {
config_get hostname $cfg 'hostname'
config_get_bool acceptDNS $cfg 'acceptDNS'
config_get_bool advertiseExitNode $cfg 'advertiseExitNode'
config_get_bool s2s $cfg 's2s'
config_get advertiseRoutes $cfg 'advertiseRoutes'
config_get loginServer $cfg 'loginServer'
config_get authkey $cfg 'authkey'
@@ -42,6 +43,7 @@ custom_instance() {
[ -n "$hostname" ] && ARGS="$ARGS --hostname=$hostname"
[ "$acceptDNS" = "0" ] && ARGS="$ARGS --accept-dns=false"
[ "$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 "$loginServer" ] && ARGS="$ARGS --login-server=$loginServer"
[ -n "$authkey" ] && ARGS="$ARGS --authkey=$authkey"