Merge pull request #425 from aa65535/master

luci-app-shadowsocks-libev: add package
This commit is contained in:
Christian Schoenebeck 2015-07-04 21:20:00 +02:00
commit cfd8ad89c4
6 changed files with 323 additions and 0 deletions

View 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

View file

@ -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

View file

@ -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

View file

@ -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 ""

View file

@ -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"

View file

@ -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