mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-02-14 19:41:51 +00:00
Add haproxy and add pot for glorytun
This commit is contained in:
parent
5dc4952622
commit
1de17a4886
14 changed files with 716 additions and 1 deletions
|
@ -17,6 +17,9 @@ msgstr ""
|
||||||
msgid "Bind port"
|
msgid "Bind port"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Enable"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Enabled"
|
msgid "Enabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -80,6 +83,9 @@ msgstr ""
|
||||||
msgid "The secret key"
|
msgid "The secret key"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Use ChaCha20 stream cipher"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "no"
|
msgid "no"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
35
luci-app-glorytun/po/zh-cn/haproxy-tcp.zh-cn.po
Normal file
35
luci-app-glorytun/po/zh-cn/haproxy-tcp.zh-cn.po
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
msgid ""
|
||||||
|
msgstr "Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
|
||||||
|
msgid "%u seconds"
|
||||||
|
msgstr "%u 秒"
|
||||||
|
|
||||||
|
msgid "Enable"
|
||||||
|
msgstr "启用"
|
||||||
|
|
||||||
|
msgid "General Setting"
|
||||||
|
msgstr "基本设置"
|
||||||
|
|
||||||
|
msgid "HAProxy-TCP"
|
||||||
|
msgstr "负载均衡-TCP"
|
||||||
|
|
||||||
|
msgid "Listen Address:Port"
|
||||||
|
msgstr "服务地址"
|
||||||
|
|
||||||
|
msgid "Retries"
|
||||||
|
msgstr "重试次数"
|
||||||
|
|
||||||
|
msgid "Status Admin"
|
||||||
|
msgstr "状态管理"
|
||||||
|
|
||||||
|
msgid "Startup Delay"
|
||||||
|
msgstr "自启动延时"
|
||||||
|
|
||||||
|
msgid "Port"
|
||||||
|
msgstr "端口"
|
||||||
|
|
||||||
|
msgid "Timeout Connect (ms)"
|
||||||
|
msgstr "连接超时 (毫秒)"
|
||||||
|
|
||||||
|
msgid "UpStream Server"
|
||||||
|
msgstr "上游服务器"
|
21
luci-app-haproxy-tcp/LICENSE
Normal file
21
luci-app-haproxy-tcp/LICENSE
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2017 chenhw2
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
80
luci-app-haproxy-tcp/Makefile
Normal file
80
luci-app-haproxy-tcp/Makefile
Normal file
|
@ -0,0 +1,80 @@
|
||||||
|
#
|
||||||
|
# Copyright (C) 2016 chenhw2 <chenhw2@github.com>
|
||||||
|
# Copyright (C) 2018 Ycarus (Yannick Chabanois) <ycarus@zugaina.org>
|
||||||
|
#
|
||||||
|
# See /LICENSE for more information.
|
||||||
|
#
|
||||||
|
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
|
PKG_NAME:=luci-app-haproxy-tcp
|
||||||
|
PKG_VERSION:=0.1.4
|
||||||
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
|
PKG_LICENSE:=MIT
|
||||||
|
PKG_LICENSE_FILES:=LICENSE
|
||||||
|
PKG_MAINTAINER:=chenhw2 <chenhw2@github.com>
|
||||||
|
|
||||||
|
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
|
||||||
|
|
||||||
|
include ../luci/luci.mk
|
||||||
|
|
||||||
|
define Package/luci-app-haproxy-tcp
|
||||||
|
SECTION:=luci
|
||||||
|
CATEGORY:=LuCI
|
||||||
|
SUBMENU:=3. Applications
|
||||||
|
TITLE:=LuCI Support for HAProxy-TCP
|
||||||
|
PKGARCH:=all
|
||||||
|
DEPENDS:=+haproxy-nossl
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/luci-app-haproxy-tcp/description
|
||||||
|
LuCI Support for HAProxy-TCP.
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Build/Configure
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Build/Compile
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/luci-app-haproxy-tcp/postinst
|
||||||
|
#!/bin/sh
|
||||||
|
if [ -z "$${IPKG_INSTROOT}" ]; then
|
||||||
|
if [ -f /etc/uci-defaults/luci-haproxy-tcp ]; then
|
||||||
|
( . /etc/uci-defaults/luci-haproxy-tcp ) && \
|
||||||
|
rm -f /etc/uci-defaults/luci-haproxy-tcp
|
||||||
|
fi
|
||||||
|
rm -rf /tmp/luci-indexcache /tmp/luci-modulecache
|
||||||
|
fi
|
||||||
|
exit 0
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/luci-app-haproxy-tcp/prerm
|
||||||
|
#!/bin/sh
|
||||||
|
/etc/init.d/haproxy-tcp disable
|
||||||
|
/etc/init.d/haproxy-tcp stop
|
||||||
|
rm -f /usr/sbin/haproxy-tcp
|
||||||
|
exit 0
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/luci-app-haproxy-tcp/conffiles
|
||||||
|
/etc/config/haproxy-tcp
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/luci-app-haproxy-tcp/install
|
||||||
|
$(INSTALL_DIR) $(1)/usr/lib/lua/luci/controller
|
||||||
|
$(INSTALL_DATA) ./luasrc/controller/*.lua $(1)/usr/lib/lua/luci/controller/
|
||||||
|
$(INSTALL_DIR) $(1)/usr/lib/lua/luci/model/cbi
|
||||||
|
$(INSTALL_DATA) ./luasrc/model/cbi/*.lua $(1)/usr/lib/lua/luci/model/cbi/
|
||||||
|
$(INSTALL_DIR) $(1)/etc/config
|
||||||
|
$(INSTALL_DATA) ./root/etc/config/haproxy-tcp $(1)/etc/config/haproxy-tcp
|
||||||
|
$(INSTALL_DIR) $(1)/etc/init.d
|
||||||
|
$(INSTALL_BIN) ./root/etc/init.d/haproxy-tcp $(1)/etc/init.d/haproxy-tcp
|
||||||
|
$(INSTALL_DIR) $(1)/etc/uci-defaults
|
||||||
|
$(INSTALL_BIN) ./root/etc/uci-defaults/luci-haproxy-tcp $(1)/etc/uci-defaults/luci-haproxy-tcp
|
||||||
|
$(INSTALL_DIR) $(1)/usr/sbin
|
||||||
|
$(LN) haproxy $(1)/usr/sbin/haproxy-tcp
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call BuildPackage,luci-app-haproxy-tcp))
|
69
luci-app-haproxy-tcp/README.md
Normal file
69
luci-app-haproxy-tcp/README.md
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
OpenWrt/LEDE LuCI for HAProxy-TCP
|
||||||
|
===
|
||||||
|
|
||||||
|
简介
|
||||||
|
---
|
||||||
|
|
||||||
|
本软件包是 HAProxy-TCP 的 LuCI 控制界面,
|
||||||
|
|
||||||
|
软件包文件结构:
|
||||||
|
```
|
||||||
|
/
|
||||||
|
├── etc/
|
||||||
|
│ ├── config/
|
||||||
|
│ │ └── haproxy-tcp // UCI 配置文件
|
||||||
|
│ │── init.d/
|
||||||
|
│ │ └── haproxy-tcp // init 脚本
|
||||||
|
│ └── uci-defaults/
|
||||||
|
│ └── luci-haproxy-tcp // uci-defaults 脚本
|
||||||
|
└── usr/
|
||||||
|
└── lib/
|
||||||
|
└── lua/
|
||||||
|
└── luci/ // LuCI 部分
|
||||||
|
├── controller/
|
||||||
|
│ └── haproxy-tcp.lua // LuCI 菜单配置
|
||||||
|
├── i18n/ // LuCI 语言文件目录
|
||||||
|
│ └── haproxy-tcp.zh-cn.lmo
|
||||||
|
└── model/
|
||||||
|
└── cbi/
|
||||||
|
└── haproxy-tcp.lua // LuCI 基本设置
|
||||||
|
```
|
||||||
|
|
||||||
|
依赖
|
||||||
|
---
|
||||||
|
|
||||||
|
软件包的正常使用需要依赖 `haproxy` .
|
||||||
|
|
||||||
|
预览
|
||||||
|
---
|
||||||
|
![preview](https://github.com/chenhw2/luci-app-haproxy-tcp/blob/master/preview.png)
|
||||||
|
|
||||||
|
配置
|
||||||
|
---
|
||||||
|
|
||||||
|
软件包的配置文件路径: `/etc/config/haproxy-tcp`
|
||||||
|
此文件为 UCI 配置文件, 配置方式可参考 [Wiki -> Use-UCI-system][Use-UCI-system] 和 [OpenWrt Wiki][uci]
|
||||||
|
|
||||||
|
编译
|
||||||
|
---
|
||||||
|
|
||||||
|
从 OpenWrt 的 [SDK][openwrt-sdk] 编译
|
||||||
|
```bash
|
||||||
|
# 解压下载好的 SDK
|
||||||
|
tar xjf OpenWrt-SDK-ar71xx-for-linux-x86_64-gcc-4.8-linaro_uClibc-0.9.33.2.tar.bz2
|
||||||
|
cd OpenWrt-SDK-ar71xx-*
|
||||||
|
# Clone 项目
|
||||||
|
git clone https://github.com/chenhw2/luci-app-haproxy-tcp.git package/feeds/luci-app-haproxy-tcp
|
||||||
|
# 编译 po2lmo (如果有po2lmo可跳过)
|
||||||
|
pushd package/feeds/luci-app-haproxy-tcp/tools/po2lmo
|
||||||
|
make && sudo make install
|
||||||
|
popd
|
||||||
|
# 选择要编译的包 LuCI -> 3. Applications
|
||||||
|
make menuconfig
|
||||||
|
# 开始编译
|
||||||
|
make package/feeds/luci-app-haproxy-tcp/compile V=s
|
||||||
|
```
|
||||||
|
|
||||||
|
[openwrt-sdk]: https://wiki.openwrt.org/doc/howto/obtain.firmware.sdk
|
||||||
|
[Use-UCI-system]: https://github.com/shadowsocks/luci-app-shadowsocks/wiki/Use-UCI-system
|
||||||
|
[uci]: https://wiki.openwrt.org/doc/uci
|
7
luci-app-haproxy-tcp/luasrc/controller/haproxy-tcp.lua
Normal file
7
luci-app-haproxy-tcp/luasrc/controller/haproxy-tcp.lua
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
module("luci.controller.haproxy-tcp", package.seeall)
|
||||||
|
|
||||||
|
function index()
|
||||||
|
entry(
|
||||||
|
{"admin", "services", "haproxy-tcp"},
|
||||||
|
cbi("haproxy-tcp"), _("HAProxy-TCP"), 55)
|
||||||
|
end
|
57
luci-app-haproxy-tcp/luasrc/model/cbi/haproxy-tcp.lua
Normal file
57
luci-app-haproxy-tcp/luasrc/model/cbi/haproxy-tcp.lua
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
local m, s, o
|
||||||
|
|
||||||
|
if luci.sys.call("pgrep haproxy-tcp >/dev/null") == 0 then
|
||||||
|
m = Map("haproxy-tcp", translate("HAProxy-TCP"), "%s - %s" %{translate("HAProxy-TCP"), translate("RUNNING")})
|
||||||
|
else
|
||||||
|
m = Map("haproxy-tcp", translate("HAProxy-TCP"), "%s - %s" %{translate("HAProxy-TCP"), translate("NOT RUNNING")})
|
||||||
|
end
|
||||||
|
|
||||||
|
s = m:section(TypedSection, "general", translate("General Setting"),
|
||||||
|
"<a target=\"_blank\" href=\"http://%s:%s\">%s</a>" %{
|
||||||
|
luci.sys.exec("uci get network.lan.ipaddr | tr -d '\r\n'"),
|
||||||
|
luci.sys.exec("uci get haproxy-tcp.general.admin_stats | tr -d '\r\n'"),
|
||||||
|
translate("Status Admin")
|
||||||
|
})
|
||||||
|
s.anonymous = true
|
||||||
|
|
||||||
|
o = s:option(Flag, "enable", translate("Enable"))
|
||||||
|
o.rmempty = false
|
||||||
|
|
||||||
|
o = s:option(Value, "startup_delay", translate("Startup Delay"))
|
||||||
|
o:value(0, translate("Not enabled"))
|
||||||
|
for _, v in ipairs({5, 10, 15, 25, 40}) do
|
||||||
|
o:value(v, translate("%u seconds") %{v})
|
||||||
|
end
|
||||||
|
o.datatype = "uinteger"
|
||||||
|
o.default = 0
|
||||||
|
o.rmempty = false
|
||||||
|
|
||||||
|
o = s:option(Value, "admin_stats", "%s%s" %{translate("Status Admin"), translate("Port")})
|
||||||
|
o.placeholder = "7777"
|
||||||
|
o.default = "7777"
|
||||||
|
o.datatype = "port"
|
||||||
|
o.rmempty = false
|
||||||
|
|
||||||
|
o = s:option(Value, "listen", translate("Listen Address:Port"))
|
||||||
|
o.placeholder = "0.0.0.0:6666"
|
||||||
|
o.default = "0.0.0.0:6666"
|
||||||
|
o.rmempty = false
|
||||||
|
|
||||||
|
o = s:option(Value, "timeout", translate("Timeout Connect (ms)"))
|
||||||
|
o.placeholder = "666"
|
||||||
|
o.default = "666"
|
||||||
|
o.datatype = "range(33, 10000)"
|
||||||
|
o.rmempty = false
|
||||||
|
|
||||||
|
o = s:option(Value, "retries", translate("Retries"))
|
||||||
|
o.placeholder = "1"
|
||||||
|
o.default = "1"
|
||||||
|
o.datatype = "range(1, 10)"
|
||||||
|
o.rmempty = false
|
||||||
|
|
||||||
|
|
||||||
|
o = s:option(DynamicList, "upstreams", translate("UpStream Server"), translate("e.g. [123.123.123.123:65101 check]"))
|
||||||
|
o.placeholder = "123.123.123.123:65101"
|
||||||
|
o.rmempty = false
|
||||||
|
|
||||||
|
return m
|
47
luci-app-haproxy-tcp/po/templates/haproxy-tcp.pot
Normal file
47
luci-app-haproxy-tcp/po/templates/haproxy-tcp.pot
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
msgid ""
|
||||||
|
msgstr "Content-Type: text/plain; charset=UTF-8"
|
||||||
|
|
||||||
|
msgid "%u seconds"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Enable"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "General Setting"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "HAProxy-TCP"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Listen Address:Port"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "NOT RUNNING"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Not enabled"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Port"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "RUNNING"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Retries"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Startup Delay"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Status Admin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Timeout Connect (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "UpStream Server"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "e.g. [123.123.123.123:65101 check]"
|
||||||
|
msgstr ""
|
BIN
luci-app-haproxy-tcp/preview.png
Normal file
BIN
luci-app-haproxy-tcp/preview.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 29 KiB |
9
luci-app-haproxy-tcp/root/etc/config/haproxy-tcp
Normal file
9
luci-app-haproxy-tcp/root/etc/config/haproxy-tcp
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
|
||||||
|
config general 'general'
|
||||||
|
option enable '0'
|
||||||
|
option retries '1'
|
||||||
|
option timeout '1000'
|
||||||
|
option listen '0.0.0.0:65101'
|
||||||
|
option admin_stats '7777'
|
||||||
|
option startup_delay '5'
|
||||||
|
list upstreams '1.2.3.4:65101'
|
110
luci-app-haproxy-tcp/root/etc/init.d/haproxy-tcp
Normal file
110
luci-app-haproxy-tcp/root/etc/init.d/haproxy-tcp
Normal file
|
@ -0,0 +1,110 @@
|
||||||
|
#!/bin/sh /etc/rc.common
|
||||||
|
# Copyright (C) 2016 chenhw2 <chenhw2@github.com>
|
||||||
|
# Copyright (C) 2018 Ycarus (Yannick Chabanois) <ycarus@zugaina.org>
|
||||||
|
|
||||||
|
START=85
|
||||||
|
|
||||||
|
USE_PROCD=1
|
||||||
|
PROG_NAME=haproxy-tcp
|
||||||
|
PROG=/usr/sbin/${PROG_NAME}
|
||||||
|
|
||||||
|
PIDCOUNT=0
|
||||||
|
|
||||||
|
_log() {
|
||||||
|
logger -p daemon.info -t ${PROG_NAME} "$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
_err() {
|
||||||
|
logger -p daemon.err -t ${PROG_NAME} "$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
validate_section() {
|
||||||
|
uci_validate_section haproxy-tcp general "${1}" \
|
||||||
|
'enable:bool:0' \
|
||||||
|
'retries:uinteger:1' \
|
||||||
|
'timeout:uinteger:1000' \
|
||||||
|
'startup_delay:uinteger:5' \
|
||||||
|
'admin_stats:port:7777' \
|
||||||
|
'listen:string' \
|
||||||
|
'upstreams:list(string)'
|
||||||
|
}
|
||||||
|
|
||||||
|
genline_srv(){
|
||||||
|
line="$1"
|
||||||
|
hash="$(echo -n $line | md5sum | cut -c1-6)"
|
||||||
|
hash="$(echo -n $line | tr -d '\t ' | cut -c1-8)__$hash"
|
||||||
|
echo " server $hash $line" | tr -d "\'"
|
||||||
|
}
|
||||||
|
|
||||||
|
boot() {
|
||||||
|
local delay=$(uci -q get $NAME.general.startup_delay)
|
||||||
|
(sleep ${delay:-0} && start >/dev/null 2>&1) &
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
start_instance() {
|
||||||
|
local enable retries timeout admin_stats startup_delay listen upstreams
|
||||||
|
|
||||||
|
validate_section "${1}" || {
|
||||||
|
_err "validation failed"
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
[ "$enable" = 1 ] || return 1
|
||||||
|
|
||||||
|
PIDCOUNT="$(( ${PIDCOUNT} + 1))"
|
||||||
|
|
||||||
|
mkdir -p /var/etc
|
||||||
|
cat <<-EOF > /var/etc/$PROG_NAME.cfg
|
||||||
|
global
|
||||||
|
nbproc $(grep -c '^processor' /proc/cpuinfo | tr -d "\n")
|
||||||
|
|
||||||
|
defaults
|
||||||
|
mode tcp
|
||||||
|
retries ${retries:-2}
|
||||||
|
timeout connect ${timeout:-1000}
|
||||||
|
|
||||||
|
listen admin_stats
|
||||||
|
bind 0.0.0.0:${admin_stats:-7777}
|
||||||
|
mode http
|
||||||
|
stats uri /
|
||||||
|
stats refresh 10s
|
||||||
|
|
||||||
|
frontend tcp-in
|
||||||
|
bind ${listen:-0.0.0.0:6666}
|
||||||
|
default_backend tcp-out
|
||||||
|
|
||||||
|
backend tcp-out
|
||||||
|
$( if [ 0 -lt $(grep -c weight /etc/config/$PROG_NAME) ]; then
|
||||||
|
echo " balance static-rr"
|
||||||
|
sed -n 's/.*upstreams[\t ]*//p' /etc/config/$PROG_NAME |
|
||||||
|
while read upstream; do
|
||||||
|
genline_srv "$upstream"
|
||||||
|
done
|
||||||
|
else
|
||||||
|
config_list_foreach "${1}" "upstreams" genline_srv
|
||||||
|
fi
|
||||||
|
)
|
||||||
|
|
||||||
|
EOF
|
||||||
|
|
||||||
|
procd_open_instance
|
||||||
|
procd_set_param command ${PROG} \
|
||||||
|
-q -D -f /var/etc/$PROG_NAME.cfg \
|
||||||
|
-p /var/run/${PROG}.${PIDCOUNT}.pid
|
||||||
|
|
||||||
|
procd_set_param respawn 0 30 0
|
||||||
|
procd_set_param stdout 1
|
||||||
|
procd_set_param stderr 1
|
||||||
|
|
||||||
|
procd_close_instance
|
||||||
|
}
|
||||||
|
|
||||||
|
start_service() {
|
||||||
|
config_load haproxy-tcp
|
||||||
|
config_foreach start_instance general
|
||||||
|
}
|
||||||
|
|
||||||
|
service_triggers() {
|
||||||
|
procd_add_reload_trigger haproxy-tcp general
|
||||||
|
}
|
15
luci-app-haproxy-tcp/root/etc/uci-defaults/luci-haproxy-tcp
Normal file
15
luci-app-haproxy-tcp/root/etc/uci-defaults/luci-haproxy-tcp
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
uci -q batch <<-EOF >/dev/null
|
||||||
|
delete ucitrack.@haproxy-tcp[-1]
|
||||||
|
add ucitrack haproxy-tcp
|
||||||
|
set ucitrack.@haproxy-tcp[-1].init=haproxy-tcp
|
||||||
|
commit ucitrack
|
||||||
|
EOF
|
||||||
|
|
||||||
|
/etc/init.d/haproxy stop
|
||||||
|
/etc/init.d/haproxy disable
|
||||||
|
|
||||||
|
/etc/init.d/haproxy-tcp enable
|
||||||
|
|
||||||
|
exit 0
|
259
luci-app-shadowsocks-libev/po/templates/shadowsocks-libev.pot
Normal file
259
luci-app-shadowsocks-libev/po/templates/shadowsocks-libev.pot
Normal file
|
@ -0,0 +1,259 @@
|
||||||
|
msgid ""
|
||||||
|
msgstr "Content-Type: text/plain; charset=UTF-8"
|
||||||
|
|
||||||
|
msgid "<hidden>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Add"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Advanced Settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Bind address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Bypass ss-redir for packets with dst address in this list"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Bypass ss-redir for packets with src address in this list"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"Continue to have dst address checked for packets with src address in this "
|
||||||
|
"list"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Default action for locally generated TCP packets"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"Default action for packets whose dst address do not match any of the dst ip "
|
||||||
|
"list"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"Default action for packets whose src address do not match any of the src ip/"
|
||||||
|
"net list"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"Definition of remote shadowsocks servers. Disable any of them will also "
|
||||||
|
"disable instances refering to it."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Destination Settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Disable"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Disabled"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Dst default"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Dst ip/net bypass"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Dst ip/net bypass file"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Dst ip/net forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Dst ip/net forward file"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Enable"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Enable MPTCP"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Enable SO_REUSEPORT"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Enable TCP Fast Open"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Enable TCP_NODELAY"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Enable/Disable"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Enabled"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Extra arguments"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"File containing ip/net for the purposes as with <em>Dst ip/net bypass</em>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"File containing ip/net for the purposes as with <em>Dst ip/net forward</em>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Forward recentrst"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"Forward those packets whose dst have recently sent to us multiple tcp-rst"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Forward through ss-redir for packets with dst address in this list"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Forward through ss-redir for packets with src address in this list"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "General Settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "HTTP path uri"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Host"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "IPv6 First"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Ingress interfaces"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Install package %q"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Install package iptables-mod-conntrack-extra"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"Instances of shadowsocks-libev components, e.g. ss-local, ss-redir, ss-"
|
||||||
|
"tunnel, ss-server, etc. To enable an instance it is required to enable both "
|
||||||
|
"the instance itself and the remote server it refers to."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Key (base64 encoding)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Local Instances"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Local address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Local port"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Local-out default"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "MTU"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Mode of operation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Name"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Obfuscating"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"On this page you can configure how traffics are to be forwarded to ss-redir "
|
||||||
|
"instances. If enabled, packets will first have their src ip addresses "
|
||||||
|
"checked against <em>Src ip/net bypass</em>, <em>Src ip/net forward</em>, "
|
||||||
|
"<em>Src ip/net checkdst</em> and if none matches <em>Src default</em> will "
|
||||||
|
"give the default action to be taken. If the prior check results in action "
|
||||||
|
"<em>checkdst</em>, packets will continue to have their dst addresses checked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Only apply rules on packets from these network interfaces"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Overview"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Package is not installed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Passes additional arguments to iptables. Use with care!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Password"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Prefer IPv6 addresses when resolving names"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Redir Rules"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Remote Servers"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Remote server"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Run as"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Running"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Server"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Server port"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Shadowsocks-libev"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Source Settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Src default"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Src ip/net bypass"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Src ip/net checkdst"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Src ip/net forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "The address ss-server will initiate connection from"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "The address ss-tunnel will forward traffic to"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Timeout (sec)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Tunnel address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Verbose"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "ss-redir for TCP"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "ss-redir for UDP"
|
||||||
|
msgstr ""
|
|
@ -37,7 +37,7 @@ MY_DEPENDS := \
|
||||||
luci-i18n-base-fr \
|
luci-i18n-base-fr \
|
||||||
luci-i18n-firewall-en \
|
luci-i18n-firewall-en \
|
||||||
luci-i18n-firewall-fr \
|
luci-i18n-firewall-fr \
|
||||||
luci-mod-admin-full luci-app-firewall luci-app-glorytun luci-app-shadowsocks-libev luci-app-unbound luci-theme-openmptcprouter luci-base
|
luci-mod-admin-full luci-app-firewall luci-app-glorytun luci-app-shadowsocks-libev luci-app-unbound luci-theme-openmptcprouter luci-base luci-app-haproxy-tcp
|
||||||
|
|
||||||
|
|
||||||
define Package/$(PKG_NAME)
|
define Package/$(PKG_NAME)
|
||||||
|
|
Loading…
Reference in a new issue