| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- -- Copyright (C) 2017 yushi studio <[email protected]>
- -- Licensed to the public under the GNU General Public License v3.
- require "luci.http"
- require "luci.dispatcher"
- local m, sec, o
- local shadowsocksr = "shadowsocksr"
- local encrypt_methods = {
- "table",
- "rc4",
- "rc4-md5",
- "rc4-md5-6",
- "aes-128-cfb",
- "aes-192-cfb",
- "aes-256-cfb",
- "aes-128-ctr",
- "aes-192-ctr",
- "aes-256-ctr",
- "bf-cfb",
- "camellia-128-cfb",
- "camellia-192-cfb",
- "camellia-256-cfb",
- "cast5-cfb",
- "des-cfb",
- "idea-cfb",
- "rc2-cfb",
- "seed-cfb",
- "salsa20",
- "chacha20",
- "chacha20-ietf",
- }
- local protocol = {
- "origin",
- "verify_deflate",
- "auth_sha1_v4",
- "auth_aes128_sha1",
- "auth_aes128_md5",
- "auth_chain_a",
- }
- obfs = {
- "plain",
- "http_simple",
- "http_post",
- "random_head",
- "tls1.2_ticket_auth",
- "tls1.2_ticket_fastauth",
- }
- m = Map(shadowsocksr)
- -- [[ Global Setting ]]--
- sec = m:section(TypedSection, "server_global", translate("Global Setting"))
- sec.anonymous = true
- o = sec:option(Flag, "enable_server", translate("Enable Server"))
- o.rmempty = false
- -- [[ Server Setting ]]--
- sec = m:section(TypedSection, "server_config", translate("Server Setting"))
- sec.anonymous = true
- sec.addremove = true
- sec.template = "cbi/tblsection"
- sec.extedit = luci.dispatcher.build_url("admin/services/shadowsocksr/server/%s")
- function sec.create(...)
- local sid = TypedSection.create(...)
- if sid then
- luci.http.redirect(sec.extedit % sid)
- return
- end
- end
- o = sec:option(Flag, "enable", translate("Enable"))
- function o.cfgvalue(...)
- return Value.cfgvalue(...) or translate("0")
- end
- o.rmempty = false
- o = sec:option(DummyValue, "type", translate("Server Type"))
- function o.cfgvalue(...)
- return Value.cfgvalue(...) or "ssr"
- end
- o = sec:option(DummyValue, "server_port", translate("Server Port"))
- function o.cfgvalue(...)
- return Value.cfgvalue(...) or "-"
- end
- o = sec:option(DummyValue, "username", translate("Username"))
- function o.cfgvalue(...)
- return Value.cfgvalue(...) or "-"
- end
- o = sec:option(DummyValue, "encrypt_method", translate("Encrypt Method"))
- function o.cfgvalue(...)
- local v = Value.cfgvalue(...)
- return v and v:upper() or "-"
- end
- o = sec:option(DummyValue, "protocol", translate("Protocol"))
- function o.cfgvalue(...)
- return Value.cfgvalue(...) or "-"
- end
- o = sec:option(DummyValue, "obfs", translate("Obfs"))
- function o.cfgvalue(...)
- return Value.cfgvalue(...) or "-"
- end
- return m
|