Merge pull request #425 from aa65535/master
luci-app-shadowsocks-libev: add package
This commit is contained in:
commit
cfd8ad89c4
6 changed files with 323 additions and 0 deletions
14
applications/luci-app-shadowsocks-libev/Makefile
Normal file
14
applications/luci-app-shadowsocks-libev/Makefile
Normal file
|
@ -0,0 +1,14 @@
|
|||
#
|
||||
# Copyright (C) 2008-2014 The LuCI Team <luci@lists.subsignal.org>
|
||||
#
|
||||
# This is free software, licensed under the Apache License, Version 2.0 .
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
LUCI_TITLE:=LuCI Support for Shadowsocks-libev
|
||||
LUCI_DEPENDS:=
|
||||
|
||||
include ../../luci.mk
|
||||
|
||||
# call BuildPackage - OpenWrt buildroot signature
|
|
@ -0,0 +1,12 @@
|
|||
-- Copyright 2015 Jian Chang <aa65535@live.com>
|
||||
-- Licensed to the public under the Apache License 2.0.
|
||||
|
||||
module("luci.controller.shadowsocks-libev", package.seeall)
|
||||
|
||||
function index()
|
||||
if not nixio.fs.access("/etc/config/shadowsocks-libev") then
|
||||
return
|
||||
end
|
||||
|
||||
entry({"admin", "services", "shadowsocks-libev"}, cbi("shadowsocks-libev"), _("ShadowSocks-libev"), 74).dependent = true
|
||||
end
|
|
@ -0,0 +1,127 @@
|
|||
-- Copyright 2015 Jian Chang <aa65535@live.com>
|
||||
-- Licensed to the public under the Apache License 2.0.
|
||||
|
||||
local m, s, o, e, a
|
||||
|
||||
if luci.sys.call("pidof ss-redir >/dev/null") == 0 then
|
||||
m = Map("shadowsocks-libev", translate("ShadowSocks-libev"), translate("ShadowSocks-libev is running"))
|
||||
else
|
||||
m = Map("shadowsocks-libev", translate("ShadowSocks-libev"), translate("ShadowSocks-libev is not running"))
|
||||
end
|
||||
|
||||
-- Global Setting
|
||||
s = m:section(TypedSection, "shadowsocks-libev", translate("Global Setting"))
|
||||
s.anonymous = true
|
||||
|
||||
o = s:option(Flag, "enable", translate("Enable"))
|
||||
o.default = 1
|
||||
o.rmempty = false
|
||||
|
||||
o = s:option(Value, "server", translate("Server Address"))
|
||||
o.datatype = "host"
|
||||
o.rmempty = false
|
||||
|
||||
o = s:option(Value, "server_port", translate("Server Port"))
|
||||
o.datatype = "port"
|
||||
o.rmempty = false
|
||||
|
||||
o = s:option(Value, "local_port", translate("Local Port"))
|
||||
o.datatype = "port"
|
||||
o.default = 1080
|
||||
o.rmempty = false
|
||||
|
||||
o = s:option(Value, "timeout", translate("Connection Timeout"))
|
||||
o.datatype = "uinteger"
|
||||
o.default = 60
|
||||
o.rmempty = false
|
||||
|
||||
o = s:option(Value, "password", translate("Password"))
|
||||
o.password = true
|
||||
o.rmempty = false
|
||||
|
||||
e = {
|
||||
"table",
|
||||
"rc4",
|
||||
"rc4-md5",
|
||||
"aes-128-cfb",
|
||||
"aes-192-cfb",
|
||||
"aes-256-cfb",
|
||||
"bf-cfb",
|
||||
"camellia-128-cfb",
|
||||
"camellia-192-cfb",
|
||||
"camellia-256-cfb",
|
||||
"cast5-cfb",
|
||||
"des-cfb",
|
||||
"idea-cfb",
|
||||
"rc2-cfb",
|
||||
"seed-cfb",
|
||||
"salsa20",
|
||||
"chacha20",
|
||||
}
|
||||
|
||||
o = s:option(ListValue, "encrypt_method", translate("Encrypt Method"))
|
||||
for i,v in ipairs(e) do
|
||||
o:value(v)
|
||||
end
|
||||
o.rmempty = false
|
||||
|
||||
-- Proxy Setting
|
||||
s = m:section(TypedSection, "shadowsocks-libev", translate("Proxy Setting"))
|
||||
s.anonymous = true
|
||||
|
||||
o = s:option(ListValue, "udp_relay", translate("Proxy Protocol"))
|
||||
o:value("0", translate("TCP only"))
|
||||
o:value("1", translate("TCP+UDP"))
|
||||
o.default = 1
|
||||
o.rmempty = false
|
||||
|
||||
o = s:option(Value, "ignore_list", translate("Ignore List"))
|
||||
o:value("/dev/null", translate("Disabled"))
|
||||
o.default = "/dev/null"
|
||||
o.rmempty = false
|
||||
|
||||
-- UDP Forward
|
||||
s = m:section(TypedSection, "shadowsocks-libev", translate("UDP Forward"))
|
||||
s.anonymous = true
|
||||
|
||||
o = s:option(Flag, "tunnel_enable", translate("Enable"))
|
||||
o.default = 1
|
||||
o.rmempty = false
|
||||
|
||||
o = s:option(Value, "tunnel_port", translate("UDP Local Port"))
|
||||
o.datatype = "port"
|
||||
o.default = 5300
|
||||
|
||||
o = s:option(Value, "tunnel_forward", translate("Forwarding Tunnel"))
|
||||
o.default = "8.8.4.4:53"
|
||||
|
||||
-- Access Control
|
||||
s = m:section(TypedSection, "shadowsocks-libev", translate("Access Control"))
|
||||
s.anonymous = true
|
||||
|
||||
s:tab("lan_ac", translate("LAN"))
|
||||
|
||||
o = s:taboption("lan_ac", ListValue, "lan_ac_mode", translate("Access Control"))
|
||||
o:value("0", translate("Disabled"))
|
||||
o:value("1", translate("Allow listed only"))
|
||||
o:value("2", translate("Allow all except listed"))
|
||||
o.default = 0
|
||||
o.rmempty = false
|
||||
|
||||
a = luci.sys.net.arptable() or {}
|
||||
|
||||
o = s:taboption("lan_ac", DynamicList, "lan_ac_ip", translate("LAN IP List"))
|
||||
o.datatype = "ipaddr"
|
||||
for i,v in ipairs(a) do
|
||||
o:value(v["IP address"])
|
||||
end
|
||||
|
||||
s:tab("wan_ac", translate("WAN"))
|
||||
|
||||
o = s:taboption("wan_ac", DynamicList, "wan_bp_ip", translate("Bypassed IP"))
|
||||
o.datatype = "ip4addr"
|
||||
|
||||
o = s:taboption("wan_ac", DynamicList, "wan_fw_ip", translate("Forwarded IP"))
|
||||
o.datatype = "ip4addr"
|
||||
|
||||
return m
|
|
@ -0,0 +1,74 @@
|
|||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=UTF-8"
|
||||
|
||||
msgid "ShadowSocks-libev"
|
||||
msgstr ""
|
||||
|
||||
msgid "ShadowSocks-libev is running"
|
||||
msgstr ""
|
||||
|
||||
msgid "ShadowSocks-libev is not running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Global Setting"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enable"
|
||||
msgstr ""
|
||||
|
||||
msgid "Server Address"
|
||||
msgstr ""
|
||||
|
||||
msgid "Server Port"
|
||||
msgstr ""
|
||||
|
||||
msgid "Local Port"
|
||||
msgstr ""
|
||||
|
||||
msgid "Connection Timeout"
|
||||
msgstr ""
|
||||
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
msgid "Encrypt Method"
|
||||
msgstr ""
|
||||
|
||||
msgid "Proxy Setting"
|
||||
msgstr ""
|
||||
|
||||
msgid "Proxy Protocol"
|
||||
msgstr ""
|
||||
|
||||
msgid "Ignore List"
|
||||
msgstr ""
|
||||
|
||||
msgid "UDP Forward"
|
||||
msgstr ""
|
||||
|
||||
msgid "UDP Local Port"
|
||||
msgstr ""
|
||||
|
||||
msgid "Forwarding Tunnel"
|
||||
msgstr ""
|
||||
|
||||
msgid "Access Control"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disabled"
|
||||
msgstr ""
|
||||
|
||||
msgid "Allow listed only"
|
||||
msgstr ""
|
||||
|
||||
msgid "Allow all except listed"
|
||||
msgstr ""
|
||||
|
||||
msgid "LAN IP List"
|
||||
msgstr ""
|
||||
|
||||
msgid "Bypassed IP"
|
||||
msgstr ""
|
||||
|
||||
msgid "Forwarded IP"
|
||||
msgstr ""
|
|
@ -0,0 +1,85 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-11-12 14:12+0800\n"
|
||||
"PO-Revision-Date: 2015-07-02 14:26+0800\n"
|
||||
"Last-Translator: Jian Chang <aa65535@live.com>\n"
|
||||
"Language: zh_CN\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Pootle 2.0.6\n"
|
||||
|
||||
msgid "ShadowSocks-libev"
|
||||
msgstr "ShadowSocks-libev"
|
||||
|
||||
msgid "ShadowSocks-libev is running"
|
||||
msgstr "ShadowSocks-libev 运行中"
|
||||
|
||||
msgid "ShadowSocks-libev is not running"
|
||||
msgstr "ShadowSocks-libev 未运行"
|
||||
|
||||
msgid "Global Setting"
|
||||
msgstr "全局设置"
|
||||
|
||||
msgid "Enable"
|
||||
msgstr "启用"
|
||||
|
||||
msgid "Server Address"
|
||||
msgstr "服务器地址"
|
||||
|
||||
msgid "Server Port"
|
||||
msgstr "服务器端口"
|
||||
|
||||
msgid "Local Port"
|
||||
msgstr "本地端口"
|
||||
|
||||
msgid "Connection Timeout"
|
||||
msgstr "连接超时"
|
||||
|
||||
msgid "Password"
|
||||
msgstr "密码"
|
||||
|
||||
msgid "Encrypt Method"
|
||||
msgstr "加密方式"
|
||||
|
||||
msgid "Proxy Setting"
|
||||
msgstr "代理设置"
|
||||
|
||||
msgid "Proxy Protocol"
|
||||
msgstr "代理协议"
|
||||
|
||||
msgid "Ignore List"
|
||||
msgstr "忽略列表"
|
||||
|
||||
msgid "UDP Forward"
|
||||
msgstr "UDP转发"
|
||||
|
||||
msgid "UDP Local Port"
|
||||
msgstr "UDP本地端口"
|
||||
|
||||
msgid "Forwarding Tunnel"
|
||||
msgstr "UDP转发地址"
|
||||
|
||||
msgid "Access Control"
|
||||
msgstr "访问控制"
|
||||
|
||||
msgid "Disabled"
|
||||
msgstr "已禁用"
|
||||
|
||||
msgid "Allow listed only"
|
||||
msgstr "仅允许列表内"
|
||||
|
||||
msgid "Allow all except listed"
|
||||
msgstr "仅允许列表外"
|
||||
|
||||
msgid "LAN IP List"
|
||||
msgstr "内网IP列表"
|
||||
|
||||
msgid "Bypassed IP"
|
||||
msgstr "被忽略的IP"
|
||||
|
||||
msgid "Forwarded IP"
|
||||
msgstr "走代理的IP"
|
|
@ -0,0 +1,11 @@
|
|||
#!/bin/sh
|
||||
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
delete ucitrack.@shadowsocks-libev[-1]
|
||||
add ucitrack shadowsocks-libev
|
||||
set ucitrack.@shadowsocks-libev[-1].init=shadowsocks-libev
|
||||
commit ucitrack
|
||||
EOF
|
||||
|
||||
rm -f /tmp/luci-indexcache
|
||||
exit 0
|
Loading…
Reference in a new issue