├── .gitattributes ├── .gitignore ├── README.md ├── lienol ├── luci-app-brook-server │ ├── LICENSE │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── brook_server.lua │ │ ├── model │ │ │ └── cbi │ │ │ │ └── brook_server │ │ │ │ ├── api │ │ │ │ └── brook.lua │ │ │ │ ├── config.lua │ │ │ │ └── index.lua │ │ └── view │ │ │ └── brook_server │ │ │ ├── brook.htm │ │ │ ├── log.htm │ │ │ ├── users_list_status.htm │ │ │ └── users_status.htm │ ├── po │ │ └── zh-cn │ │ │ └── brook_server.po │ └── root │ │ ├── etc │ │ ├── config │ │ │ └── brook_server │ │ ├── init.d │ │ │ └── brook_server │ │ └── uci-defaults │ │ │ └── luci-app-brook-server │ │ └── usr │ │ └── share │ │ ├── brook_server │ │ └── firewall.include │ │ └── rpcd │ │ └── acl.d │ │ └── luci-app-brook-server.json ├── luci-app-fileassistant │ ├── Makefile │ ├── htdocs │ │ └── luci-static │ │ │ └── resources │ │ │ └── fileassistant │ │ │ ├── fb.css │ │ │ ├── fb.js │ │ │ ├── file-icon.png │ │ │ ├── folder-icon.png │ │ │ └── link-icon.png │ └── luasrc │ │ ├── controller │ │ └── fileassistant.lua │ │ └── view │ │ └── fileassistant.htm ├── luci-app-filebrowser │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── filebrowser.lua │ │ ├── model │ │ │ └── cbi │ │ │ │ └── filebrowser │ │ │ │ ├── api.lua │ │ │ │ └── settings.lua │ │ └── view │ │ │ └── filebrowser │ │ │ ├── download.htm │ │ │ ├── log.htm │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── filebrowser.po │ └── root │ │ ├── etc │ │ ├── config │ │ │ └── filebrowser │ │ ├── init.d │ │ │ └── filebrowser │ │ └── uci-defaults │ │ │ └── luci-app-filebrowser │ │ └── usr │ │ └── share │ │ └── rpcd │ │ └── acl.d │ │ └── luci-app-filebrowser.json ├── luci-app-guest-wifi │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── guest-wifi.lua │ │ └── model │ │ │ └── cbi │ │ │ └── guest-wifi.lua │ ├── po │ │ └── zh-cn │ │ │ └── guest-wifi.po │ └── root │ │ ├── etc │ │ ├── config │ │ │ └── guest-wifi │ │ ├── init.d │ │ │ └── guest-wifi │ │ └── uci-defaults │ │ │ └── luci-app-guest-wifi │ │ └── usr │ │ └── share │ │ └── rpcd │ │ └── acl.d │ │ └── luci-app-guest-wifi.json ├── luci-app-ipsec-vpnserver-manyusers │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── ipsec-server.lua │ │ ├── model │ │ │ └── cbi │ │ │ │ └── ipsec-server │ │ │ │ ├── settings.lua │ │ │ │ └── users.lua │ │ └── view │ │ │ └── ipsec-server │ │ │ ├── index.htm │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── ipsec.po │ └── root │ │ ├── etc │ │ ├── config │ │ │ └── ipsec │ │ ├── init.d │ │ │ └── ipsecvpn │ │ └── uci-defaults │ │ │ └── luci-app-ipsec-vpnserver-manyusers │ │ └── usr │ │ └── share │ │ ├── ipsecvpn │ │ └── firewall.include │ │ └── rpcd │ │ └── acl.d │ │ └── luci-app-ipsec-vpnserver-manyusers.json ├── luci-app-kodexplorer │ ├── LICENSE │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── kodexplorer.lua │ │ ├── model │ │ │ └── cbi │ │ │ │ └── kodexplorer │ │ │ │ ├── api.lua │ │ │ │ └── settings.lua │ │ └── view │ │ │ └── kodexplorer │ │ │ ├── download.htm │ │ │ ├── status.htm │ │ │ └── version.htm │ ├── po │ │ └── zh-cn │ │ │ └── kodexplorer.po │ └── root │ │ ├── etc │ │ ├── config │ │ │ └── kodexplorer │ │ ├── init.d │ │ │ └── kodexplorer │ │ └── uci-defaults │ │ │ └── luci-app-kodexplorer │ │ └── usr │ │ └── share │ │ └── rpcd │ │ └── acl.d │ │ └── luci-app-kodexplorer.json ├── luci-app-passwall │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── luasrc │ │ ├── controller │ │ │ └── passwall.lua │ │ ├── model │ │ │ └── cbi │ │ │ │ └── passwall │ │ │ │ ├── acl.lua │ │ │ │ ├── api │ │ │ │ ├── api.lua │ │ │ │ ├── brook.lua │ │ │ │ ├── gen_trojan.lua │ │ │ │ ├── gen_v2ray.lua │ │ │ │ ├── gen_v2ray_balancing.lua │ │ │ │ ├── gen_v2ray_shunt.lua │ │ │ │ ├── kcptun.lua │ │ │ │ ├── passwall.lua │ │ │ │ └── v2ray.lua │ │ │ │ ├── auto_switch.lua │ │ │ │ ├── global.lua │ │ │ │ ├── haproxy.lua │ │ │ │ ├── log.lua │ │ │ │ ├── node_config.lua │ │ │ │ ├── node_list.lua │ │ │ │ ├── node_subscribe.lua │ │ │ │ ├── other.lua │ │ │ │ └── rule.lua │ │ └── view │ │ │ └── passwall │ │ │ ├── global │ │ │ ├── status.htm │ │ │ ├── status2.htm │ │ │ └── tips.htm │ │ │ ├── haproxy │ │ │ └── status.htm │ │ │ ├── log │ │ │ └── log.htm │ │ │ ├── node_list │ │ │ ├── auto_ping.htm │ │ │ ├── link_add_node.htm │ │ │ ├── node_list.htm │ │ │ └── ping.htm │ │ │ └── rule │ │ │ ├── brook_version.htm │ │ │ ├── kcptun_version.htm │ │ │ ├── passwall_version.htm │ │ │ ├── rule_version.htm │ │ │ └── v2ray_version.htm │ ├── po │ │ └── zh-cn │ │ │ └── passwall.po │ └── root │ │ ├── etc │ │ ├── config │ │ │ ├── passwall │ │ │ └── passwall_show │ │ ├── init.d │ │ │ └── passwall │ │ └── uci-defaults │ │ │ └── luci-app-passwall │ │ └── usr │ │ └── share │ │ ├── passwall │ │ ├── app.sh │ │ ├── config.default │ │ ├── iptables.sh │ │ ├── monitor.sh │ │ ├── rule_update.lua │ │ ├── rules │ │ │ ├── adblock.conf │ │ │ ├── blacklist_host │ │ │ ├── blacklist_ip │ │ │ ├── chnlist │ │ │ ├── chnroute │ │ │ ├── gfwlist.conf │ │ │ ├── whitelist_host │ │ │ └── whitelist_ip │ │ ├── subscribe.lua │ │ └── test.sh │ │ └── rpcd │ │ └── acl.d │ │ └── luci-app-passwall.json ├── luci-app-pppoe-relay │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── pppoe-relay.lua │ │ ├── model │ │ │ └── cbi │ │ │ │ └── pppoe-relay.lua │ │ └── view │ │ │ └── pppoe-relay │ │ │ ├── ajax.htm │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── pppoe-relay.po │ └── root │ │ ├── etc │ │ ├── config │ │ │ └── pppoe-relay │ │ ├── init.d │ │ │ └── pppoe-relay │ │ └── uci-defaults │ │ │ └── luci-app-pppoe-relay │ │ └── usr │ │ └── share │ │ └── rpcd │ │ └── acl.d │ │ └── luci-app-pppoe-relay.json ├── luci-app-pppoe-server │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── pppoe-server.lua │ │ ├── model │ │ │ └── cbi │ │ │ │ └── pppoe-server │ │ │ │ ├── online.lua │ │ │ │ ├── settings.lua │ │ │ │ └── users.lua │ │ └── view │ │ │ └── pppoe-server │ │ │ ├── index.htm │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── pppoe-server.po │ └── root │ │ ├── etc │ │ ├── config │ │ │ └── pppoe-server │ │ ├── init.d │ │ │ └── pppoe-server │ │ └── uci-defaults │ │ │ └── luci-app-pppoe-server │ │ └── usr │ │ └── share │ │ └── rpcd │ │ └── acl.d │ │ └── luci-app-pppoe-server.json ├── luci-app-pptp-vpnserver-manyusers │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── pptpd.lua │ │ ├── model │ │ │ └── cbi │ │ │ │ └── pptpd │ │ │ │ ├── online.lua │ │ │ │ ├── settings.lua │ │ │ │ └── users.lua │ │ └── view │ │ │ └── pptpd │ │ │ ├── index.htm │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── pptpd.po │ └── root │ │ ├── etc │ │ ├── config │ │ │ └── pptpd │ │ ├── init.d │ │ │ └── pptpd │ │ └── uci-defaults │ │ │ └── luci-app-pptp-vpnserver-manyusers │ │ └── usr │ │ └── share │ │ ├── pptpd │ │ └── firewall.include │ │ └── rpcd │ │ └── acl.d │ │ └── luci-app-pptp-vpnserver-manyusers.json ├── luci-app-ramfree │ ├── Makefile │ ├── luasrc │ │ └── controller │ │ │ └── release_ram.lua │ └── po │ │ └── zh-cn │ │ └── release_ram.po ├── luci-app-softethervpn │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── softethervpn.lua │ │ ├── model │ │ │ └── cbi │ │ │ │ └── softethervpn.lua │ │ └── view │ │ │ └── softethervpn │ │ │ ├── index.htm │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── softethervpn.po │ └── root │ │ ├── etc │ │ ├── config │ │ │ └── softethervpn │ │ ├── init.d │ │ │ └── softethervpn │ │ └── uci-defaults │ │ │ └── luci-app-softethervpn │ │ └── usr │ │ └── share │ │ ├── rpcd │ │ └── acl.d │ │ │ └── luci-app-softethervpn.json │ │ └── softethervpn │ │ └── firewall.include ├── luci-app-ssr-libev-server │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── ssr_libev_server.lua │ │ ├── model │ │ │ └── cbi │ │ │ │ └── ssr_libev_server │ │ │ │ ├── config.lua │ │ │ │ └── index.lua │ │ └── view │ │ │ └── ssr_libev_server │ │ │ ├── users_list_status.htm │ │ │ └── users_status.htm │ ├── po │ │ └── zh-cn │ │ │ └── ssr_libev_server.po │ └── root │ │ ├── etc │ │ ├── config │ │ │ └── ssr_libev_server │ │ ├── init.d │ │ │ └── ssr_libev_server │ │ └── uci-defaults │ │ │ └── luci-app-ssr-libev-server │ │ └── usr │ │ └── share │ │ ├── rpcd │ │ └── acl.d │ │ │ └── luci-app-ssr-libev-server.json │ │ └── ssr_libev_server │ │ └── firewall.include ├── luci-app-ssr-python-pro-server │ ├── LICENSE │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── ssr_python_pro_server.lua │ │ ├── model │ │ │ └── cbi │ │ │ │ └── ssr_python_pro_server │ │ │ │ ├── config.lua │ │ │ │ ├── genssrmudbconfig.lua │ │ │ │ └── index.lua │ │ └── view │ │ │ └── ssr_python_pro_server │ │ │ ├── ssr_python.htm │ │ │ ├── status.htm │ │ │ ├── users_link.htm │ │ │ ├── users_status.htm │ │ │ └── users_total_traffic.htm │ ├── po │ │ └── zh-cn │ │ │ └── ssr_python_pro_server.po │ └── root │ │ ├── etc │ │ ├── config │ │ │ └── ssr_python_pro_server │ │ ├── init.d │ │ │ └── ssr_python_pro_server │ │ └── uci-defaults │ │ │ └── luci-app-ssr-python-pro-server │ │ └── usr │ │ └── share │ │ ├── rpcd │ │ └── acl.d │ │ │ └── luci-app-ssr-python-pro-server.json │ │ └── ssr_python_pro_server │ │ ├── .travis.yml │ │ ├── CHANGES │ │ ├── CONTRIBUTING.md │ │ ├── Dockerfile │ │ ├── MANIFEST.in │ │ ├── apiconfig.py │ │ ├── asyncmgr.py │ │ ├── config.json │ │ ├── configloader.py │ │ ├── configloader.pyc │ │ ├── db_transfer.py │ │ ├── db_transfer.pyc │ │ ├── debian │ │ ├── changelog │ │ ├── compat │ │ ├── config.json │ │ ├── control │ │ ├── copyright │ │ ├── docs │ │ ├── init.d │ │ ├── install │ │ ├── rules │ │ ├── shadowsocks.default │ │ ├── shadowsocks.manpages │ │ ├── source │ │ │ └── format │ │ ├── sslocal.1 │ │ └── ssserver.1 │ │ ├── firewall.include │ │ ├── importloader.py │ │ ├── importloader.pyc │ │ ├── initcfg.bat │ │ ├── initcfg.sh │ │ ├── initmudbjson.sh │ │ ├── logrun.sh │ │ ├── mudb.json │ │ ├── mujson_mgr.py │ │ ├── mujson_mgr_backup.py │ │ ├── mysql.json │ │ ├── run.sh │ │ ├── server.py │ │ ├── server_pool.py │ │ ├── server_pool.pyc │ │ ├── setup.py │ │ ├── setup_cymysql.sh │ │ ├── sh │ │ └── clear_traffic_all_users.sh │ │ ├── shadowsocks │ │ ├── __init__.py │ │ ├── __init__.pyc │ │ ├── asyncdns.py │ │ ├── asyncdns.pyc │ │ ├── common.py │ │ ├── common.pyc │ │ ├── crypto │ │ │ ├── __init__.py │ │ │ ├── __init__.pyc │ │ │ ├── ctypes_libsodium.py │ │ │ ├── ctypes_openssl.py │ │ │ ├── openssl.py │ │ │ ├── openssl.pyc │ │ │ ├── rc4_md5.py │ │ │ ├── rc4_md5.pyc │ │ │ ├── sodium.py │ │ │ ├── sodium.pyc │ │ │ ├── table.py │ │ │ ├── table.pyc │ │ │ ├── util.py │ │ │ └── util.pyc │ │ ├── daemon.py │ │ ├── encrypt.py │ │ ├── encrypt.pyc │ │ ├── eventloop.py │ │ ├── eventloop.pyc │ │ ├── local.py │ │ ├── logrun.sh │ │ ├── lru_cache.py │ │ ├── lru_cache.pyc │ │ ├── manager.py │ │ ├── obfs.py │ │ ├── obfs.pyc │ │ ├── obfsplugin │ │ │ ├── __init__.py │ │ │ ├── __init__.pyc │ │ │ ├── auth.py │ │ │ ├── auth.pyc │ │ │ ├── auth_chain.py │ │ │ ├── auth_chain.pyc │ │ │ ├── http_simple.py │ │ │ ├── http_simple.pyc │ │ │ ├── obfs_tls.py │ │ │ ├── obfs_tls.pyc │ │ │ ├── plain.py │ │ │ ├── plain.pyc │ │ │ ├── verify.py │ │ │ └── verify.pyc │ │ ├── ordereddict.py │ │ ├── run.sh │ │ ├── server.py │ │ ├── shell.py │ │ ├── shell.pyc │ │ ├── stop.sh │ │ ├── tail.sh │ │ ├── tcprelay.py │ │ ├── tcprelay.pyc │ │ ├── udprelay.py │ │ ├── udprelay.pyc │ │ ├── user.py │ │ ├── version.py │ │ └── version.pyc │ │ ├── stop.sh │ │ ├── switchrule.py │ │ ├── switchrule.pyc │ │ ├── tail.sh │ │ ├── tests │ │ ├── aes-cfb1.json │ │ ├── aes-cfb8.json │ │ ├── aes-ctr.json │ │ ├── aes.json │ │ ├── assert.sh │ │ ├── chacha20.json │ │ ├── client-multi-server-ip.json │ │ ├── coverage_server.py │ │ ├── fastopen.json │ │ ├── ipv6-client-side.json │ │ ├── ipv6.json │ │ ├── jenkins.sh │ │ ├── libsodium │ │ │ └── install.sh │ │ ├── nose_plugin.py │ │ ├── rc4-md5.json │ │ ├── salsa20-ctr.json │ │ ├── salsa20.json │ │ ├── server-multi-passwd-client-side.json │ │ ├── server-multi-passwd-table.json │ │ ├── server-multi-passwd.json │ │ ├── server-multi-ports.json │ │ ├── setup_tc.sh │ │ ├── socksify │ │ │ ├── install.sh │ │ │ └── socks.conf │ │ ├── table.json │ │ ├── test.py │ │ ├── test_command.sh │ │ ├── test_daemon.sh │ │ ├── test_large_file.sh │ │ ├── test_udp_src.py │ │ ├── test_udp_src.sh │ │ └── workers.json │ │ ├── user-config.json │ │ ├── userapiconfig.py │ │ ├── userapiconfig.pyc │ │ ├── usermysql.json │ │ └── utils │ │ ├── README.md │ │ ├── autoban.py │ │ └── fail2ban │ │ └── shadowsocks.conf ├── luci-app-timecontrol │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── timecontrol.lua │ │ ├── model │ │ │ └── cbi │ │ │ │ └── timecontrol.lua │ │ └── view │ │ │ └── timecontrol │ │ │ ├── index.htm │ │ │ └── timecontrol.htm │ ├── po │ │ └── zh-cn │ │ │ └── timecontrol.po │ └── root │ │ ├── etc │ │ ├── config │ │ │ └── timecontrol │ │ ├── init.d │ │ │ └── timecontrol │ │ └── uci-defaults │ │ │ └── luci-app-timecontrol │ │ └── usr │ │ └── share │ │ └── rpcd │ │ └── acl.d │ │ └── luci-app-timecontrol.json ├── luci-app-trojan-server │ ├── LICENSE │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── trojan_server.lua │ │ ├── model │ │ │ └── cbi │ │ │ │ └── trojan_server │ │ │ │ ├── api │ │ │ │ └── gen_trojan_config_file.lua │ │ │ │ ├── config.lua │ │ │ │ └── index.lua │ │ └── view │ │ │ └── trojan_server │ │ │ ├── log.htm │ │ │ ├── users_list_status.htm │ │ │ └── users_status.htm │ ├── po │ │ └── zh-cn │ │ │ └── trojan_server.po │ └── root │ │ ├── etc │ │ ├── config │ │ │ └── trojan_server │ │ ├── init.d │ │ │ └── trojan_server │ │ └── uci-defaults │ │ │ └── luci-app-trojan-server │ │ └── usr │ │ └── share │ │ ├── rpcd │ │ └── acl.d │ │ │ └── luci-app-trojan-server.json │ │ └── trojan_server │ │ └── firewall.include ├── luci-app-v2ray-server │ ├── LICENSE │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── v2ray_server.lua │ │ ├── model │ │ │ └── cbi │ │ │ │ └── v2ray_server │ │ │ │ ├── api │ │ │ │ ├── genv2rayconfig.lua │ │ │ │ └── v2ray.lua │ │ │ │ ├── config.lua │ │ │ │ └── index.lua │ │ └── view │ │ │ └── v2ray_server │ │ │ ├── log.htm │ │ │ ├── users_list_status.htm │ │ │ ├── users_status.htm │ │ │ └── v2ray.htm │ ├── po │ │ └── zh-cn │ │ │ └── v2ray_server.po │ └── root │ │ ├── etc │ │ ├── config │ │ │ └── v2ray_server │ │ ├── init.d │ │ │ └── v2ray_server │ │ └── uci-defaults │ │ │ └── luci-app-v2ray-server │ │ └── usr │ │ └── share │ │ ├── rpcd │ │ └── acl.d │ │ │ └── luci-app-v2ray-server.json │ │ └── v2ray_server │ │ └── firewall.include ├── luci-theme-argon-dark-mod │ ├── Makefile │ ├── htdocs │ │ └── luci-static │ │ │ ├── argon_dark │ │ │ ├── css │ │ │ │ └── style.css │ │ │ ├── favicon.ico │ │ │ ├── fonts │ │ │ │ ├── font.eot │ │ │ │ ├── font.svg │ │ │ │ ├── font.ttf │ │ │ │ ├── font.woff │ │ │ │ ├── ssr.eot │ │ │ │ ├── ssr.svg │ │ │ │ ├── ssr.ttf │ │ │ │ └── ssr.woff │ │ │ ├── js │ │ │ │ ├── jquery.min.js │ │ │ │ └── script.js │ │ │ └── logo.png │ │ │ └── argon_dark_purple │ │ │ ├── css │ │ │ └── style.css │ │ │ ├── favicon.ico │ │ │ ├── fonts │ │ │ ├── font.eot │ │ │ ├── font.svg │ │ │ ├── font.ttf │ │ │ ├── font.woff │ │ │ ├── ssr.eot │ │ │ ├── ssr.svg │ │ │ ├── ssr.ttf │ │ │ └── ssr.woff │ │ │ ├── js │ │ │ ├── jquery.min.js │ │ │ └── script.js │ │ │ └── logo.png │ ├── luasrc │ │ └── view │ │ │ └── themes │ │ │ ├── argon_dark │ │ │ ├── footer.htm │ │ │ └── header.htm │ │ │ └── argon_dark_purple │ │ │ ├── footer.htm │ │ │ └── header.htm │ └── root │ │ └── etc │ │ └── uci-defaults │ │ └── 30_luci-theme-argon-dark-mod ├── luci-theme-argon-light-mod │ ├── Makefile │ ├── htdocs │ │ └── luci-static │ │ │ ├── argon_light │ │ │ ├── css │ │ │ │ ├── purecss.css │ │ │ │ └── style.css │ │ │ ├── favicon.ico │ │ │ ├── fonts │ │ │ │ ├── TypoGraphica.eot │ │ │ │ ├── TypoGraphica.svg │ │ │ │ ├── TypoGraphica.ttf │ │ │ │ ├── TypoGraphica.woff │ │ │ │ ├── font.eot │ │ │ │ ├── font.svg │ │ │ │ ├── font.ttf │ │ │ │ ├── font.woff │ │ │ │ ├── icomoon.eot │ │ │ │ ├── icomoon.svg │ │ │ │ ├── icomoon.ttf │ │ │ │ ├── icomoon.woff │ │ │ │ ├── ssr.eot │ │ │ │ ├── ssr.svg │ │ │ │ ├── ssr.ttf │ │ │ │ └── ssr.woff │ │ │ ├── img │ │ │ │ ├── bg1.jpg │ │ │ │ ├── bg2.jpg │ │ │ │ └── bg3.jpg │ │ │ ├── js │ │ │ │ ├── jquery.min.js │ │ │ │ └── script.js │ │ │ └── logo.png │ │ │ └── argon_light_green │ │ │ ├── css │ │ │ ├── purecss.css │ │ │ └── style.css │ │ │ ├── favicon.ico │ │ │ ├── fonts │ │ │ ├── TypoGraphica.eot │ │ │ ├── TypoGraphica.svg │ │ │ ├── TypoGraphica.ttf │ │ │ ├── TypoGraphica.woff │ │ │ ├── font.eot │ │ │ ├── font.svg │ │ │ ├── font.ttf │ │ │ ├── font.woff │ │ │ ├── icomoon.eot │ │ │ ├── icomoon.svg │ │ │ ├── icomoon.ttf │ │ │ ├── icomoon.woff │ │ │ ├── ssr.eot │ │ │ ├── ssr.svg │ │ │ ├── ssr.ttf │ │ │ └── ssr.woff │ │ │ ├── img │ │ │ ├── bg1.jpg │ │ │ ├── bg2.jpg │ │ │ └── bg3.jpg │ │ │ ├── js │ │ │ ├── jquery.min.js │ │ │ └── script.js │ │ │ └── logo.png │ ├── luasrc │ │ └── view │ │ │ └── themes │ │ │ ├── argon_light │ │ │ ├── footer.htm │ │ │ └── header.htm │ │ │ └── argon_light_green │ │ │ ├── footer.htm │ │ │ └── header.htm │ └── root │ │ └── etc │ │ └── uci-defaults │ │ └── 30_luci-theme-argon-light-mod └── luci-theme-bootstrap-mod │ ├── LICENSE │ ├── Makefile │ ├── htdocs │ └── luci-static │ │ ├── bootstrap_blue │ │ ├── cascade.css │ │ ├── favicon.ico │ │ ├── html5.js │ │ ├── mobile.css │ │ └── wifi.png │ │ └── bootstrap_mod │ │ ├── cascade.css │ │ ├── favicon.ico │ │ ├── html5.js │ │ ├── mobile.css │ │ └── wifi.png │ ├── luasrc │ └── view │ │ └── themes │ │ ├── bootstrap_blue │ │ ├── footer.htm │ │ └── header.htm │ │ └── bootstrap_mod │ │ ├── footer.htm │ │ └── header.htm │ └── root │ └── etc │ └── uci-defaults │ └── 30_luci-theme-bootstrap-mod ├── others ├── luci-app-control-timewol │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── timewol.lua │ │ ├── model │ │ │ └── cbi │ │ │ │ └── timewol.lua │ │ └── view │ │ │ └── timewol │ │ │ ├── index.htm │ │ │ └── timewol.htm │ ├── po │ │ └── zh-cn │ │ │ └── timewol.po │ └── root │ │ ├── etc │ │ ├── config │ │ │ └── timewol │ │ ├── init.d │ │ │ └── timewol │ │ └── uci-defaults │ │ │ └── luci-app-control-timewol │ │ └── usr │ │ └── share │ │ └── rpcd │ │ └── acl.d │ │ └── luci-app-control-timewol.json ├── luci-app-control-webrestriction │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── webrestriction.lua │ │ ├── model │ │ │ └── cbi │ │ │ │ └── webrestriction.lua │ │ └── view │ │ │ └── webrestriction │ │ │ ├── index.htm │ │ │ └── webrestriction.htm │ ├── po │ │ └── zh-cn │ │ │ └── webrestriction.po │ └── root │ │ ├── etc │ │ ├── config │ │ │ └── webrestriction │ │ ├── init.d │ │ │ └── webrestriction │ │ └── uci-defaults │ │ │ └── luci-app-control-webrestriction │ │ └── usr │ │ └── share │ │ └── rpcd │ │ └── acl.d │ │ └── luci-app-control-webrestriction.json ├── luci-app-control-weburl │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── weburl.lua │ │ ├── model │ │ │ └── cbi │ │ │ │ └── weburl.lua │ │ └── view │ │ │ └── weburl │ │ │ ├── index.htm │ │ │ └── weburl.htm │ ├── po │ │ └── zh-cn │ │ │ └── weburl.po │ └── root │ │ ├── etc │ │ ├── config │ │ │ └── weburl │ │ ├── init.d │ │ │ └── weburl │ │ └── uci-defaults │ │ │ └── luci-app-control-weburl │ │ └── usr │ │ └── share │ │ └── rpcd │ │ └── acl.d │ │ └── luci-app-control-weburl.json ├── luci-app-kcptun │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── luasrc │ │ ├── controller │ │ │ └── kcptun.lua │ │ ├── model │ │ │ ├── cbi │ │ │ │ └── kcptun │ │ │ │ │ ├── servers-detail.lua │ │ │ │ │ ├── servers.lua │ │ │ │ │ └── settings.lua │ │ │ └── kcptun.lua │ │ └── view │ │ │ └── kcptun │ │ │ ├── button.htm │ │ │ ├── log_view.htm │ │ │ └── status.htm │ ├── po │ │ ├── templates │ │ │ └── kcptun.pot │ │ └── zh-cn │ │ │ └── kcptun.po │ └── root │ │ ├── etc │ │ ├── config │ │ │ └── kcptun │ │ ├── init.d │ │ │ └── kcptun │ │ └── uci-defaults │ │ │ └── 40_luci-kcptun │ │ └── usr │ │ └── share │ │ └── rpcd │ │ └── acl.d │ │ └── luci-app-kcptun.json ├── luci-app-syncthing │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── syncthing.lua │ │ ├── model │ │ │ └── cbi │ │ │ │ └── syncthing.lua │ │ └── view │ │ │ └── syncthing │ │ │ └── syncthing_status.htm │ ├── po │ │ └── zh-cn │ │ │ └── syncthing.po │ └── root │ │ ├── etc │ │ ├── config │ │ │ └── syncthing │ │ ├── init.d │ │ │ └── syncthing │ │ └── uci-defaults │ │ │ └── luci-syncthing │ │ └── usr │ │ └── share │ │ └── rpcd │ │ └── acl.d │ │ └── luci-app-syncthing.json └── luci-app-verysync │ ├── Makefile │ ├── luasrc │ ├── controller │ │ └── verysync.lua │ ├── model │ │ └── cbi │ │ │ └── verysync.lua │ └── view │ │ └── verysync │ │ └── verysync_status.htm │ ├── po │ └── zh-cn │ │ └── verysync.po │ └── root │ ├── etc │ ├── config │ │ └── verysync │ ├── init.d │ │ └── verysync │ └── uci-defaults │ │ └── luci-verysync │ └── usr │ └── share │ └── rpcd │ └── acl.d │ └── luci-app-verysync.json └── package ├── brook └── Makefile ├── chinadns-ng ├── LICENSE └── Makefile ├── dns2socks └── Makefile ├── ipt2socks └── Makefile ├── kcptun └── Makefile ├── openssl1.1 ├── Makefile └── patches │ └── 1.1.1 │ ├── 100-Configure-afalg-support.patch │ ├── 110-openwrt_targets.patch │ ├── 120-strip-cflags-from-binary.patch │ ├── 130-dont-build-tests-fuzz.patch │ └── 140-allow-prefer-chacha20.patch ├── pdnsd-alt ├── Makefile └── files │ └── pdnsd.init ├── shadowsocksr-libev ├── Makefile └── patches │ ├── 0001-Add-ss-server-and-ss-check.patch │ ├── 0002-Revert-verify_simple-and-auth_simple.patch │ ├── 0003-Refine-Usage.patch │ └── 999-Fix-Werror-sizeof-pointer-memaccess.patch ├── simple-obfs ├── LICENSE └── Makefile ├── syncthing └── Makefile ├── tcping ├── LICENSE └── Makefile ├── trojan ├── Makefile └── patches │ └── 001-force-openssl-version.patch ├── v2ray-plugin ├── LICENSE └── Makefile ├── v2ray ├── Config.in └── Makefile └── verysync └── Makefile /.gitattributes: -------------------------------------------------------------------------------- 1 | *.py linguist-language=Shell 2 | *.css linguist-language=Shell 3 | *.lua linguist-language=Shell -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | zzz_test/ 2 | *_test* 3 | *~ 4 | *.bak -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # openwrt-package 2 | 3 | luci-app-passwall停止开发,当然如果存在BUG,欢迎各位大佬PR。 4 | 5 | [OpenWRT-Actions](https://github.com/Lienol/openwrt-actions/actions) 6 | 7 | 请使用[基于官方openwrt源码](https://github.com/Lienol/openwrt) 和 [基于大雕源码](https://github.com/Lienol/openwrt/tree/dev-lean-lede)源码编译 8 | 9 | 使用方法: 10 | 11 | 添加 src-git lienol https://github.com/Lienol/openwrt-package 到 OpenWRT源码根目录feeds.conf.default文件 12 | 13 | 使用上面源码请忽略上一步 14 | 15 | 然后执行 16 | ```bash 17 | ./scripts/feeds clean 18 | ./scripts/feeds update -a 19 | ./scripts/feeds install -a 20 | ``` 21 | 或者你可以把该源码手动下载或Git Clone下载放到OpenWRT源码的Package目录里面,然后编译。 22 | 如果你使用的是Luci19,请编译时选上"luci","luci-compat","luci-lib-ipkg"后编译 23 | 24 | 25 | Some OpenWrt/LEDE LuCI for Commonly Used Package 26 | 27 | Add "src-git lienol https://github.com/Lienol/openwrt-package" to feeds.conf.default. 28 | 29 | ```bash 30 | ./scripts/feeds clean 31 | ./scripts/feeds update -a 32 | ./scripts/feeds install -a 33 | ``` 34 | 35 | Or download it yourself and put it in the package folder. 36 | make after enjoy... 37 | 38 | If you use Luci-19, Please selected the "luci-compat" and "luci-lib-ipkg" before compile 39 | -------------------------------------------------------------------------------- /lienol/luci-app-brook-server/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2019-2020 Lienol 2 | # 3 | # This is free software, licensed under the GNU General Public License v3. 4 | # 5 | 6 | include $(TOPDIR)/rules.mk 7 | 8 | PKG_NAME:=luci-app-brook-server 9 | LUCI_TITLE:=LuCI support for Brook Server 10 | LUCI_DEPENDS:=+brook 11 | LUCI_PKGARCH:=all 12 | PKG_VERSION:=1 13 | PKG_RELEASE:=2-20200326 14 | 15 | include $(TOPDIR)/feeds/luci/luci.mk 16 | 17 | # call BuildPackage - OpenWrt buildroot signature 18 | 19 | 20 | -------------------------------------------------------------------------------- /lienol/luci-app-brook-server/luasrc/model/cbi/brook_server/config.lua: -------------------------------------------------------------------------------- 1 | local app_name = "brook_server" 2 | local d = require "luci.dispatcher" 3 | 4 | map = Map(app_name, "Brook " .. translate("Server Config")) 5 | map.redirect = d.build_url("admin", "vpn", "brook_server") 6 | 7 | t = map:section(NamedSection, arg[1], "user", "") 8 | t.addremove = false 9 | t.dynamic = false 10 | 11 | enable = t:option(Flag, "enable", translate("Enable")) 12 | enable.default = "1" 13 | enable.rmempty = false 14 | 15 | remarks = t:option(Value, "remarks", translate("Remarks")) 16 | remarks.default = translate("Remarks") 17 | remarks.rmempty = false 18 | 19 | port = t:option(Value, "port", translate("Port")) 20 | port.datatype = "port" 21 | port.rmempty = false 22 | 23 | protocol = t:option(ListValue, "protocol", translate("Protocol"), translate( 24 | "if shadowsocks server mode, fixed method is aes-256-cfb")) 25 | protocol:value("server", translate("Brook")) 26 | protocol:value("ssserver", translate("Shadowsocks")) 27 | 28 | password = t:option(Value, "password", translate("Password")) 29 | password.password = true 30 | password.rmempty = false 31 | 32 | return map 33 | -------------------------------------------------------------------------------- /lienol/luci-app-brook-server/luasrc/view/brook_server/log.htm: -------------------------------------------------------------------------------- 1 | 25 |
26 | 27 | <%:Logs%> 28 | 29 | 30 | 31 |
-------------------------------------------------------------------------------- /lienol/luci-app-brook-server/luasrc/view/brook_server/users_list_status.htm: -------------------------------------------------------------------------------- 1 | <% 2 | local dsp = require "luci.dispatcher" 3 | -%> 4 | 5 | -------------------------------------------------------------------------------- /lienol/luci-app-brook-server/luasrc/view/brook_server/users_status.htm: -------------------------------------------------------------------------------- 1 | <%+cbi/valueheader%> 2 | -- 3 | <%+cbi/valuefooter%> -------------------------------------------------------------------------------- /lienol/luci-app-brook-server/root/etc/config/brook_server: -------------------------------------------------------------------------------- 1 | 2 | config global 3 | option enable '0' 4 | option brook_path '/usr/bin/brook' 5 | 6 | config user 7 | option remarks '测试' 8 | option port '12345' 9 | list password 'aaa' 10 | option protocol 'server' 11 | option enable '1' 12 | 13 | -------------------------------------------------------------------------------- /lienol/luci-app-brook-server/root/etc/uci-defaults/luci-app-brook-server: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | uci -q batch <<-EOF >/dev/null 4 | delete firewall.brook_server 5 | set firewall.brook_server=include 6 | set firewall.brook_server.type=script 7 | set firewall.brook_server.path=/usr/share/brook_server/firewall.include 8 | set firewall.brook_server.reload=1 9 | EOF 10 | 11 | uci -q batch <<-EOF >/dev/null 12 | delete ucitrack.@brook_server[-1] 13 | add ucitrack brook_server 14 | set ucitrack.@brook_server[-1].init=brook_server 15 | commit ucitrack 16 | EOF 17 | 18 | chmod a+x /usr/share/brook_server/* >/dev/null 2>&1 19 | 20 | rm -f /tmp/luci-indexcache 21 | exit 0 22 | -------------------------------------------------------------------------------- /lienol/luci-app-brook-server/root/usr/share/brook_server/firewall.include: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | count=$(iptables -n -L INPUT 2>/dev/null | grep -c "BROOK-SERVER") 4 | if [ -n "$count" ]; then 5 | until [ "$count" = 0 ] 6 | do 7 | rules=$(iptables -n -L INPUT --line-num 2>/dev/null | grep "BROOK-SERVER" | awk '{print $1}') 8 | for rule in $rules 9 | do 10 | iptables -D INPUT $rule 2>/dev/null 11 | break 12 | done 13 | count=$(expr $count - 1) 14 | done 15 | fi 16 | 17 | iptables -F BROOK-SERVER 2>/dev/null && iptables -X BROOK-SERVER 2>/dev/null 18 | 19 | enable=$(uci -q get brook_server.@global[0].enable) 20 | if [ $enable -eq 1 ]; then 21 | iptables -N BROOK-SERVER 22 | iptables -I INPUT -j BROOK-SERVER 23 | 24 | count=$(uci show brook_server | grep "@user" | sed -n '$p' | cut -d '[' -f 2 | cut -d ']' -f 1) 25 | [ -n "$count" ] && [ "$count" -ge 0 ] && { 26 | u_get() { 27 | local ret=$(uci -q get brook_server.@user[$1].$2) 28 | echo ${ret:=$3} 29 | } 30 | for i in $(seq 0 $count); do 31 | enable=$(u_get $i enable 0) 32 | [ $enable -eq 0 ] && continue 33 | remarks=$(u_get $i remarks) 34 | port=$(u_get $i port) 35 | iptables -A BROOK-SERVER -p tcp --dport $port -m comment --comment "$remarks" -j ACCEPT 36 | iptables -A BROOK-SERVER -p udp --dport $port -m comment --comment "$remarks" -j ACCEPT 37 | done 38 | } 39 | fi 40 | -------------------------------------------------------------------------------- /lienol/luci-app-brook-server/root/usr/share/rpcd/acl.d/luci-app-brook-server.json: -------------------------------------------------------------------------------- 1 | { 2 | "luci-app-brook-server": { 3 | "description": "Grant UCI access for luci-app-brook-server", 4 | "read": { 5 | "uci": [ "brook_server" ] 6 | }, 7 | "write": { 8 | "uci": [ "brook_server" ] 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /lienol/luci-app-fileassistant/Makefile: -------------------------------------------------------------------------------- 1 | # From https://github.com/DarkDean89/luci-app-filebrowser 2 | # From https://github.com/stuarthua/oh-my-openwrt/tree/master/stuart/luci-app-fileassistant 3 | # This is free software, licensed under the Apache License, Version 2.0 . 4 | 5 | include $(TOPDIR)/rules.mk 6 | 7 | LUCI_TITLE:=LuCI support for Fileassistant 8 | LUCI_PKGARCH:=all 9 | PKG_VERSION:=1.0 10 | PKG_RELEASE:=2 11 | 12 | include $(TOPDIR)/feeds/luci/luci.mk 13 | 14 | # call BuildPackage - OpenWrt buildroot signature -------------------------------------------------------------------------------- /lienol/luci-app-fileassistant/htdocs/luci-static/resources/fileassistant/file-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-app-fileassistant/htdocs/luci-static/resources/fileassistant/file-icon.png -------------------------------------------------------------------------------- /lienol/luci-app-fileassistant/htdocs/luci-static/resources/fileassistant/folder-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-app-fileassistant/htdocs/luci-static/resources/fileassistant/folder-icon.png -------------------------------------------------------------------------------- /lienol/luci-app-fileassistant/htdocs/luci-static/resources/fileassistant/link-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-app-fileassistant/htdocs/luci-static/resources/fileassistant/link-icon.png -------------------------------------------------------------------------------- /lienol/luci-app-fileassistant/luasrc/view/fileassistant.htm: -------------------------------------------------------------------------------- 1 | <%+header%> 2 | 3 | 4 |

文件助手

5 |
6 | 7 |
8 |
文件列表
9 | 10 |
11 |
12 | 13 | 14 |
15 |
16 |
17 | 18 | 19 | 20 | <%+footer%> 21 | -------------------------------------------------------------------------------- /lienol/luci-app-filebrowser/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2018-2020 Lienol 2 | # 3 | # This is free software, licensed under the Apache License, Version 2.0 . 4 | # 5 | 6 | include $(TOPDIR)/rules.mk 7 | 8 | LUCI_TITLE:=LuCI support for FileBrowser 9 | LUCI_PKGARCH:=all 10 | PKG_VERSION:=1.1 11 | PKG_RELEASE:=1 12 | 13 | include $(TOPDIR)/feeds/luci/luci.mk 14 | 15 | # call BuildPackage - OpenWrt buildroot signature 16 | 17 | 18 | -------------------------------------------------------------------------------- /lienol/luci-app-filebrowser/luasrc/view/filebrowser/log.htm: -------------------------------------------------------------------------------- 1 | 25 |
26 | 27 | <%:Logs%> 28 | 29 | 30 | 31 |
-------------------------------------------------------------------------------- /lienol/luci-app-filebrowser/luasrc/view/filebrowser/status.htm: -------------------------------------------------------------------------------- 1 | <% 2 | local dsp = require "luci.dispatcher" 3 | -%> 4 | 5 |
6 | <%:Running Status%> 7 |
8 |
9 | 10 |
<%:Collecting data...%>
11 |
12 |
13 |
14 | 15 | -------------------------------------------------------------------------------- /lienol/luci-app-filebrowser/root/etc/config/filebrowser: -------------------------------------------------------------------------------- 1 | 2 | config global 3 | option port '8088' 4 | option root_path '/' 5 | option project_directory '/tmp' 6 | option enable '0' 7 | 8 | -------------------------------------------------------------------------------- /lienol/luci-app-filebrowser/root/etc/init.d/filebrowser: -------------------------------------------------------------------------------- 1 | #!/bin/sh /etc/rc.common 2 | # Copyright (C) 2018-2020 Lienol 3 | 4 | START=99 5 | 6 | LOG_PATH="/var/log/filebrowser.log" 7 | 8 | echolog() { 9 | echo -e "$(date "+%Y-%m-%d %H:%M:%S"): $1" >> $LOG_PATH 10 | } 11 | 12 | config_t_get() { 13 | local index=0 14 | [ -n "$4" ] && index=$4 15 | local ret=$(uci get filebrowser.@$1[$index].$2 2>/dev/null) 16 | echo ${ret:=$3} 17 | } 18 | start() { 19 | ENABLED=$(config_t_get global enable 0) 20 | [ "$ENABLED" = "0" ] && return 21 | PORT=$(config_t_get global port 8088) 22 | ROOT_PATH=$(config_t_get global root_path /) 23 | project_directory=$(config_t_get global project_directory /tmp) 24 | [ ! -f "$project_directory/filebrowser" ] && echolog "在$project_directory找不到FileBrowser主程序,请下载。" && exit 25 | export HOME="/root" 26 | $project_directory/filebrowser -a 0.0.0.0 -p $PORT -r $ROOT_PATH -d ${ROOT_PATH}filebrowser.db -l $LOG_PATH >/dev/null 2>&1 & 27 | } 28 | 29 | stop() { 30 | ps -w | grep -v "grep" | grep "$project_directory/filebrowser -a 0.0.0.0" | awk '{print $1}' | xargs kill -9 >/dev/null 2>&1 & 31 | rm -rf $LOG_PATH 32 | } 33 | 34 | restart() { 35 | stop 36 | sleep 1 37 | start 38 | } -------------------------------------------------------------------------------- /lienol/luci-app-filebrowser/root/etc/uci-defaults/luci-app-filebrowser: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | uci -q batch <<-EOF >/dev/null 4 | delete ucitrack.@filebrowser[-1] 5 | add ucitrack filebrowser 6 | set ucitrack.@filebrowser[-1].init=filebrowser 7 | commit ucitrack 8 | EOF 9 | 10 | rm -f /tmp/luci-indexcache 11 | exit 0 12 | -------------------------------------------------------------------------------- /lienol/luci-app-filebrowser/root/usr/share/rpcd/acl.d/luci-app-filebrowser.json: -------------------------------------------------------------------------------- 1 | { 2 | "luci-app-filebrowser": { 3 | "description": "Grant UCI access for luci-app-filebrowser", 4 | "read": { 5 | "uci": [ "filebrowser" ] 6 | }, 7 | "write": { 8 | "uci": [ "filebrowser" ] 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /lienol/luci-app-guest-wifi/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2018 By-Ameng Openwrt.org 3 | # 4 | # This is free software, licensed under the Apache License, Version 2.0 . 5 | # 6 | 7 | include $(TOPDIR)/rules.mk 8 | 9 | LUCI_TITLE:=luci-app-guest-wifi 10 | LUCI_DEPENDS:= 11 | LUCI_PKGARCH:=all 12 | PKG_VERSION:=1.0 13 | PKG_RELEASE:=2 14 | 15 | include $(TOPDIR)/feeds/luci/luci.mk 16 | 17 | # call BuildPackage - OpenWrt buildroot signature 18 | -------------------------------------------------------------------------------- /lienol/luci-app-guest-wifi/luasrc/controller/guest-wifi.lua: -------------------------------------------------------------------------------- 1 | module("luci.controller.guest-wifi", package.seeall) 2 | 3 | function index() 4 | if not nixio.fs.access("/etc/config/guest-wifi") then 5 | return 6 | end 7 | entry({"admin","network","guest-wifi"}, cbi("guest-wifi"), translate("Guest-wifi"), 16) 8 | end 9 | -------------------------------------------------------------------------------- /lienol/luci-app-guest-wifi/root/etc/config/guest-wifi: -------------------------------------------------------------------------------- 1 | 2 | config guest-wifi 3 | option enable '0' 4 | option wifi_name 'Guest-WiFi' 5 | option interface_name 'guest' 6 | option encryption 'psk2' 7 | option passwd 'guestnetwork' 8 | option interface_ip '192.168.4.1' 9 | option isolate '1' 10 | option start '50' 11 | option limit '200' 12 | option leasetime '1h' 13 | option device 'radio0' 14 | option create '0' 15 | -------------------------------------------------------------------------------- /lienol/luci-app-guest-wifi/root/etc/uci-defaults/luci-app-guest-wifi: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | uci -q batch <<-EOF >/dev/null 4 | delete ucitrack.@guest-wifi[-1] 5 | add ucitrack guest-wifi 6 | set ucitrack.@guest-wifi[-1].init=guest-wifi 7 | commit ucitrack 8 | EOF 9 | 10 | rm -f /tmp/luci-indexcache 11 | exit 0 12 | -------------------------------------------------------------------------------- /lienol/luci-app-guest-wifi/root/usr/share/rpcd/acl.d/luci-app-guest-wifi.json: -------------------------------------------------------------------------------- 1 | { 2 | "luci-app-guest-wifi": { 3 | "description": "Grant UCI access for luci-app-guest-wifi", 4 | "read": { 5 | "uci": [ "guest-wifi" ] 6 | }, 7 | "write": { 8 | "uci": [ "guest-wifi" ] 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /lienol/luci-app-ipsec-vpnserver-manyusers/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2018-2020 Lienol 2 | # 3 | # This is free software, licensed under the Apache License, Version 2.0 . 4 | # 5 | 6 | include $(TOPDIR)/rules.mk 7 | 8 | LUCI_TITLE:=LuCI support for IPSec VPN Server 9 | LUCI_DEPENDS:=+strongswan +strongswan-minimal +strongswan-mod-xauth-generic 10 | LUCI_PKGARCH:=all 11 | PKG_VERSION:=1 12 | PKG_RELEASE:=6-20200402 13 | 14 | include $(TOPDIR)/feeds/luci/luci.mk 15 | 16 | # call BuildPackage - OpenWrt buildroot signature 17 | -------------------------------------------------------------------------------- /lienol/luci-app-ipsec-vpnserver-manyusers/luasrc/controller/ipsec-server.lua: -------------------------------------------------------------------------------- 1 | -- Copyright 2018-2019 Lienol 2 | module("luci.controller.ipsec-server", package.seeall) 3 | 4 | function index() 5 | if not nixio.fs.access("/etc/config/ipsec") then return end 6 | 7 | entry({"admin", "vpn"}, firstchild(), "VPN", 45).dependent = false 8 | entry({"admin", "vpn", "ipsec-server"}, 9 | alias("admin", "vpn", "ipsec-server", "settings"), 10 | _("IPSec VPN Server"), 49).dependent = false 11 | entry({"admin", "vpn", "ipsec-server", "settings"}, 12 | cbi("ipsec-server/settings"), _("General Settings"), 10).leaf = true 13 | entry({"admin", "vpn", "ipsec-server", "users"}, cbi("ipsec-server/users"), 14 | _("Users Manager"), 20).leaf = true 15 | entry({"admin", "vpn", "ipsec-server", "status"}, call("status")).leaf = 16 | true 17 | end 18 | 19 | function status() 20 | local e = {} 21 | e.status = luci.sys.call("/usr/bin/pgrep ipsec > /dev/null") == 0 22 | luci.http.prepare_content("application/json") 23 | luci.http.write_json(e) 24 | end 25 | -------------------------------------------------------------------------------- /lienol/luci-app-ipsec-vpnserver-manyusers/luasrc/model/cbi/ipsec-server/users.lua: -------------------------------------------------------------------------------- 1 | mp = Map("ipsec", translate("IPSec VPN Server")) 2 | mp.description = translate( 3 | "IPSec VPN connectivity using the native built-in VPN Client on iOS or Andriod (IKEv1 with PSK and Xauth)") 4 | 5 | s = mp:section(TypedSection, "users", translate("Users Manager")) 6 | s.addremove = true 7 | s.anonymous = true 8 | s.template = "cbi/tblsection" 9 | 10 | enabled = s:option(Flag, "enabled", translate("Enabled")) 11 | enabled.rmempty = false 12 | username = s:option(Value, "username", translate("User name")) 13 | username.placeholder = translate("User name") 14 | username.rmempty = true 15 | password = s:option(Value, "password", translate("Password")) 16 | password.rmempty = true 17 | 18 | return mp 19 | -------------------------------------------------------------------------------- /lienol/luci-app-ipsec-vpnserver-manyusers/luasrc/view/ipsec-server/index.htm: -------------------------------------------------------------------------------- 1 | <% include("cbi/map") %> 2 | 14 | -------------------------------------------------------------------------------- /lienol/luci-app-ipsec-vpnserver-manyusers/luasrc/view/ipsec-server/status.htm: -------------------------------------------------------------------------------- 1 | <%+cbi/valueheader%> 2 | <%=pcdata(self:cfgvalue(section) or self.default or "")%> 3 | <%+cbi/valuefooter%> 4 | -------------------------------------------------------------------------------- /lienol/luci-app-ipsec-vpnserver-manyusers/po/zh-cn/ipsec.po: -------------------------------------------------------------------------------- 1 | msgid "IPSec VPN Server" 2 | msgstr "IPSec VPN 服务器" 3 | 4 | msgid "IPSec VPN connectivity using the native built-in VPN Client on iOS or Andriod (IKEv1 with PSK and Xauth)" 5 | msgstr "使用iOS 或者 Andriod (IKEv1 with PSK and Xauth) 原生内置 IPSec VPN 客户端进行连接" 6 | 7 | msgid "IPSec VPN Server status" 8 | msgstr "IPSec VPN 服务器运行状态" 9 | 10 | msgid "Current Condition" 11 | msgstr "当前状态" 12 | 13 | msgid "General settings" 14 | msgstr "基本设置" 15 | 16 | msgid "VPN Client IP" 17 | msgstr "VPN客户端地址段" 18 | 19 | msgid "VPN Client reserved started IP addresses with the same subnet mask" 20 | msgstr "VPN客户端获取IP的起始地址,例如 192.168.100.10/24" 21 | 22 | msgid "VPN Client DNS" 23 | msgstr "VPN客户端DNS服务器" 24 | 25 | msgid "DNS using in VPN tunnel." 26 | msgstr "指定VPN客户端的DNS地址。" 27 | 28 | msgid "Secret Pre-Shared Key" 29 | msgstr "PSK密钥" 30 | 31 | msgid "is_nat" 32 | msgstr "NAT转发" 33 | 34 | msgid "Interface" 35 | msgstr "接口" 36 | 37 | msgid "Specify interface forwarding traffic." 38 | msgstr "指定接口转发流量。" 39 | 40 | msgid "Disable from startup" 41 | msgstr "禁止开机启动" 42 | 43 | msgid "Enable on startup" 44 | msgstr "允许开机启动" 45 | 46 | msgid "NOT RUNNING" 47 | msgstr "未运行" 48 | 49 | msgid "RUNNING" 50 | msgstr "运行中" -------------------------------------------------------------------------------- /lienol/luci-app-ipsec-vpnserver-manyusers/root/etc/config/ipsec: -------------------------------------------------------------------------------- 1 | 2 | config service 'ipsec' 3 | option enabled '0' 4 | option secret 'ipsec' 5 | option clientip '192.168.100.10/24' 6 | option clientdns '223.5.5.5' 7 | 8 | config users 9 | option enabled '1' 10 | option username 'guest' 11 | option password '123456' 12 | 13 | -------------------------------------------------------------------------------- /lienol/luci-app-ipsec-vpnserver-manyusers/root/etc/uci-defaults/luci-app-ipsec-vpnserver-manyusers: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | uci -q batch <<-EOF >/dev/null 4 | delete firewall.ipsecvpn 5 | set firewall.ipsecvpn=include 6 | set firewall.ipsecvpn.type=script 7 | set firewall.ipsecvpn.path=/usr/share/ipsecvpn/firewall.include 8 | set firewall.ipsecvpn.reload=1 9 | EOF 10 | 11 | uci -q batch <<-EOF >/dev/null 12 | delete ucitrack.@ipsec[-1] 13 | add ucitrack ipsec 14 | set ucitrack.@ipsec[-1].init=ipsecvpn 15 | commit ucitrack 16 | EOF 17 | 18 | /etc/init.d/ipsec disable && /etc/init.d/ipsec stop 19 | rm -f /etc/init.d/ipsec 20 | chmod a+x /usr/share/ipsecvpn/* >/dev/null 2>&1 21 | 22 | rm -rf /tmp/luci-*cache 23 | exit 0 24 | -------------------------------------------------------------------------------- /lienol/luci-app-ipsec-vpnserver-manyusers/root/usr/share/rpcd/acl.d/luci-app-ipsec-vpnserver-manyusers.json: -------------------------------------------------------------------------------- 1 | { 2 | "luci-app-ipsec-vpnserver-manyusers": { 3 | "description": "Grant UCI access for luci-app-ipsec-vpnserver-manyusers", 4 | "read": { 5 | "uci": [ "ipsec" ] 6 | }, 7 | "write": { 8 | "uci": [ "ipsec" ] 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /lienol/luci-app-kodexplorer/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2018-2020 Lienol 2 | # 3 | # This is free software, licensed under the GNU General Public License v3. 4 | # 5 | 6 | include $(TOPDIR)/rules.mk 7 | 8 | LUCI_TITLE:=LuCI support for KodExplorer 9 | LUCI_DEPENDS:=+nginx +zoneinfo-asia +php7 +php7-fpm +php7-mod-curl +php7-mod-gd +php7-mod-iconv +php7-mod-json +php7-mod-mbstring +php7-mod-opcache +php7-mod-session +php7-mod-zip 10 | LUCI_PKGARCH:=all 11 | PKG_VERSION:=1.1 12 | PKG_RELEASE:=20200210 13 | 14 | include $(TOPDIR)/feeds/luci/luci.mk 15 | 16 | # call BuildPackage - OpenWrt buildroot signature -------------------------------------------------------------------------------- /lienol/luci-app-kodexplorer/luasrc/view/kodexplorer/status.htm: -------------------------------------------------------------------------------- 1 | <% 2 | local dsp = require "luci.dispatcher" 3 | -%> 4 | 5 |
6 | <%:Running Status%> 7 |
8 |
9 | 10 |
<%:Collecting data...%>
11 |
12 |
13 | 14 |
<%:Collecting data...%>
15 |
16 |
17 |
18 | 19 | -------------------------------------------------------------------------------- /lienol/luci-app-kodexplorer/luasrc/view/kodexplorer/version.htm: -------------------------------------------------------------------------------- 1 | <% 2 | local kodexplorer_path = luci.sys.exec("echo -n `uci get kodexplorer.@global[0].project_directory`") 3 | local kodexplorer_version = luci.sys.exec("[ -f '" .. kodexplorer_path .. "/ChangeLog.md' ] && echo -n `cat " .. kodexplorer_path .. "/ChangeLog.md | head -1 | awk '{print $2}'`") 4 | -%> 5 | 6 | <% if kodexplorer_version ~= nil and kodexplorer_version~="" then %> 7 |
8 | 11 |
12 |
13 | 【 <%=kodexplorer_version%> 】 14 |
15 |
16 |
17 | <% end %> -------------------------------------------------------------------------------- /lienol/luci-app-kodexplorer/root/etc/config/kodexplorer: -------------------------------------------------------------------------------- 1 | 2 | config global 3 | option port '8081' 4 | option memory_limit '8M' 5 | option post_max_size '12M' 6 | option upload_max_filesize '12M' 7 | option storage_device_path '/mnt/sda1/' 8 | option project_directory '/mnt/sda1/kodexplorer' 9 | option enable '0' 10 | 11 | -------------------------------------------------------------------------------- /lienol/luci-app-kodexplorer/root/etc/uci-defaults/luci-app-kodexplorer: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | uci -q batch <<-EOF >/dev/null 4 | delete ucitrack.@kodexplorer[-1] 5 | add ucitrack kodexplorer 6 | set ucitrack.@kodexplorer[-1].init=kodexplorer 7 | commit ucitrack 8 | EOF 9 | 10 | /etc/init.d/php7-fpm disable && /etc/init.d/php7-fpm stop 11 | rm -f /tmp/luci-indexcache 12 | exit 0 13 | -------------------------------------------------------------------------------- /lienol/luci-app-kodexplorer/root/usr/share/rpcd/acl.d/luci-app-kodexplorer.json: -------------------------------------------------------------------------------- 1 | { 2 | "luci-app-kodexplorer": { 3 | "description": "Grant UCI access for luci-app-kodexplorer", 4 | "read": { 5 | "uci": [ "kodexplorer" ] 6 | }, 7 | "write": { 8 | "uci": [ "kodexplorer" ] 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /lienol/luci-app-passwall/README.md: -------------------------------------------------------------------------------- 1 | 本源码功能扩展性比较高,不适合给完全不懂的小白用。 2 | 3 | 所以如果你是,因自己操作不当导致不好用,觉得难用的,请不要使用。 4 | -------------------------------------------------------------------------------- /lienol/luci-app-passwall/luasrc/model/cbi/passwall/log.lua: -------------------------------------------------------------------------------- 1 | f = SimpleForm("passwall") 2 | f.reset = false 3 | f.submit = false 4 | f:append(Template("passwall/log/log")) 5 | return f 6 | -------------------------------------------------------------------------------- /lienol/luci-app-passwall/luasrc/view/passwall/global/tips.htm: -------------------------------------------------------------------------------- 1 |
2 | 3 |
4 | <%:Tips%>:<%:You can use load balancing for failover.%> 5 |
6 | <%:Restore the default configuration method. Input example in the address bar:%> http://192.168.1.1/cgi-bin/luci/admin/vpn/passwall/reset_config 7 |
8 | <%:Hide menu method, input example in the address bar:%> http://192.168.1.1/cgi-bin/luci/admin/vpn/passwall/hide 9 |
10 | <%:After the hidden to the display, input example in the address bar:%> http://192.168.1.1/cgi-bin/luci/admin/vpn/passwall/show 11 |
12 |
13 | -------------------------------------------------------------------------------- /lienol/luci-app-passwall/luasrc/view/passwall/haproxy/status.htm: -------------------------------------------------------------------------------- 1 | <% 2 | local dsp = require "luci.dispatcher" 3 | -%> 4 | 5 |

6 | 7 | -------------------------------------------------------------------------------- /lienol/luci-app-passwall/luasrc/view/passwall/log/log.htm: -------------------------------------------------------------------------------- 1 | <% 2 | local dsp = require "luci.dispatcher" 3 | -%> 4 | 5 | 29 |
30 | 31 | 32 |
33 | -------------------------------------------------------------------------------- /lienol/luci-app-passwall/luasrc/view/passwall/node_list/auto_ping.htm: -------------------------------------------------------------------------------- 1 | <%+cbi/valueheader%> 2 | --- 3 | <%+cbi/valuefooter%> -------------------------------------------------------------------------------- /lienol/luci-app-passwall/luasrc/view/passwall/node_list/ping.htm: -------------------------------------------------------------------------------- 1 | 6 | 7 | <%+cbi/valueheader%> 8 | 9 | Ping 10 | 11 | <%+cbi/valuefooter%> 12 | -------------------------------------------------------------------------------- /lienol/luci-app-passwall/root/etc/config/passwall_show: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-app-passwall/root/etc/config/passwall_show -------------------------------------------------------------------------------- /lienol/luci-app-passwall/root/etc/init.d/passwall: -------------------------------------------------------------------------------- 1 | #!/bin/sh /etc/rc.common 2 | 3 | START=99 4 | STOP=15 5 | 6 | boot() { 7 | /usr/share/passwall/app.sh boot 8 | } 9 | 10 | start() { 11 | /usr/share/passwall/app.sh start 12 | } 13 | 14 | stop() { 15 | /usr/share/passwall/app.sh stop 16 | } 17 | 18 | restart() { 19 | stop 20 | start 21 | } -------------------------------------------------------------------------------- /lienol/luci-app-passwall/root/etc/uci-defaults/luci-app-passwall: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | uci -q batch <<-EOF >/dev/null 4 | delete ucitrack.@passwall[-1] 5 | add ucitrack passwall 6 | set ucitrack.@passwall[-1].init=passwall 7 | commit ucitrack 8 | delete firewall.passwall 9 | set firewall.passwall=include 10 | set firewall.passwall.type=script 11 | set firewall.passwall.path=/var/etc/passwall.include 12 | set firewall.passwall.reload=1 13 | commit firewall 14 | EOF 15 | 16 | killall -q -9 kcptun haproxy shadowsocks-libev shadowsocksr-libev 17 | /etc/init.d/haproxy disable && /etc/init.d/haproxy stop 18 | rm -rf /tmp/luci-*cache 19 | exit 0 20 | -------------------------------------------------------------------------------- /lienol/luci-app-passwall/root/usr/share/passwall/rules/blacklist_host: -------------------------------------------------------------------------------- 1 | formyip.com 2 | msi.com 3 | github.com 4 | github.io 5 | githubusercontent.com 6 | github-production-release-asset-2e65be.s3.amazonaws.com 7 | openwrt.proxy.ustclug.org 8 | easylist-downloads.adblockplus.org 9 | adblockplus.org 10 | caddyserver.com -------------------------------------------------------------------------------- /lienol/luci-app-passwall/root/usr/share/passwall/rules/blacklist_ip: -------------------------------------------------------------------------------- 1 | 149.154.160.0/20 2 | 91.108.4.0/22 3 | 91.108.56.0/24 4 | 109.239.140.0/24 5 | 67.198.55.0/24 6 | 8.8.4.4 7 | 8.8.8.8 -------------------------------------------------------------------------------- /lienol/luci-app-passwall/root/usr/share/passwall/rules/whitelist_host: -------------------------------------------------------------------------------- 1 | apple.com 2 | microsoft.com 3 | dyndns.com -------------------------------------------------------------------------------- /lienol/luci-app-passwall/root/usr/share/passwall/rules/whitelist_ip: -------------------------------------------------------------------------------- 1 | 114.114.114.114 2 | 114.114.115.115 3 | 223.5.5.5 4 | 223.6.6.6 5 | 119.29.29.29 6 | 1.2.4.8 7 | 210.2.4.8 -------------------------------------------------------------------------------- /lienol/luci-app-passwall/root/usr/share/rpcd/acl.d/luci-app-passwall.json: -------------------------------------------------------------------------------- 1 | { 2 | "luci-app-passwall": { 3 | "description": "Grant UCI access for luci-app-passwall", 4 | "read": { 5 | "uci": [ "passwall" ] 6 | }, 7 | "write": { 8 | "uci": [ "passwall" ] 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /lienol/luci-app-pppoe-relay/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2018-2020 Lienol 2 | # 3 | # This is free software, licensed under the Apache License, Version 2.0 . 4 | # 5 | 6 | include $(TOPDIR)/rules.mk 7 | 8 | LUCI_TITLE:=LuCI support for PPPoE Relay 9 | LUCI_DEPENDS:=+rp-pppoe-common +rp-pppoe-relay 10 | LUCI_PKGARCH:=all 11 | PKG_VERSION:=1 12 | PKG_RELEASE:=2-20200326 13 | 14 | include $(TOPDIR)/feeds/luci/luci.mk 15 | 16 | # call BuildPackage - OpenWrt buildroot signature 17 | -------------------------------------------------------------------------------- /lienol/luci-app-pppoe-relay/luasrc/controller/pppoe-relay.lua: -------------------------------------------------------------------------------- 1 | -- Copyright 2018-2019 Lienol 2 | module("luci.controller.pppoe-relay", package.seeall) 3 | local uci = require"luci.model.uci".cursor() 4 | 5 | function index() 6 | if not nixio.fs.access("/etc/config/pppoe-relay") then return end 7 | entry({"admin", "services", "pppoe-relay"}, cbi("pppoe-relay"), 8 | _("PPPoE Relay"), 2).dependent = true 9 | entry({"admin", "services", "pppoe-relay", "get_status"}, call("get_status")).leaf = 10 | true 11 | end 12 | 13 | function get_status() 14 | local json = {} 15 | json.status = false 16 | json.index = luci.http.formvalue("index") 17 | local section = luci.http.formvalue("section") 18 | local server_interface = uci:get("pppoe-relay", section, "server_interface") 19 | local client_interface = uci:get("pppoe-relay", section, "client_interface") 20 | if server_interface and client_interface then 21 | status = luci.sys.call("ps | grep '/usr/sbin/pppoe-relay -S " .. 22 | server_interface .. " -C " .. 23 | client_interface .. 24 | "' | grep -v 'grep' >/dev/null") 25 | if status == 0 then json.status = true end 26 | end 27 | luci.http.prepare_content("application/json") 28 | luci.http.write_json(json) 29 | end 30 | -------------------------------------------------------------------------------- /lienol/luci-app-pppoe-relay/luasrc/view/pppoe-relay/ajax.htm: -------------------------------------------------------------------------------- 1 | <% 2 | local dsp = require "luci.dispatcher" 3 | -%> 4 | 5 | -------------------------------------------------------------------------------- /lienol/luci-app-pppoe-relay/luasrc/view/pppoe-relay/status.htm: -------------------------------------------------------------------------------- 1 | <%+cbi/valueheader%> 2 | <%=pcdata(self:cfgvalue(section) or self.default or "")%> 3 | <%+cbi/valuefooter%> 4 | -------------------------------------------------------------------------------- /lienol/luci-app-pppoe-relay/po/zh-cn/pppoe-relay.po: -------------------------------------------------------------------------------- 1 | msgid "PPPoE Relay" 2 | msgstr "PPPoE 穿透" 3 | 4 | msgid "Opening the PPPoE relay allows devices in the Intranet to create a separate PPPoE connection that can cross NAT." 5 | msgstr "开启 PPPoE 中继允许内网中的设备创建一个可穿过 NAT 的独立 PPPoE 连接" 6 | 7 | msgid "Enable or disable the PPPoE Relay" 8 | msgstr "启用或禁用PPPoE穿透" 9 | 10 | msgid "Server Interface" 11 | msgstr "服务端接口" 12 | 13 | msgid "Specify the PPPoE server interface" 14 | msgstr "指定PPPoE服务器接口" 15 | 16 | msgid "Client Interface" 17 | msgstr "客户端接口" 18 | 19 | msgid "Specify the PPPoE client interface" 20 | msgstr "指定PPPoE客户端接口" 21 | 22 | msgid "Enabled" 23 | msgstr "启用" -------------------------------------------------------------------------------- /lienol/luci-app-pppoe-relay/root/etc/config/pppoe-relay: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /lienol/luci-app-pppoe-relay/root/etc/init.d/pppoe-relay: -------------------------------------------------------------------------------- 1 | #!/bin/sh /etc/rc.common 2 | # Copyright (C) 2018-2020 Lienol 3 | 4 | START=99 5 | 6 | CONFIG="pppoe-relay" 7 | 8 | setup_service() { 9 | config_get enabled $1 enabled 10 | [ "$enabled" -eq 0 ] && return 0 11 | config_get server_interface $1 server_interface 12 | config_get client_interface $1 client_interface 13 | [ -n "$server_interface" -a -n "$client_interface" ] && { 14 | is_run=$(ps | grep "/usr/sbin/pppoe-relay -S $server_interface -C $client_interface" | grep -v "grep") 15 | [ -z "$is_run" ] && /usr/sbin/pppoe-relay -S $server_interface -C $client_interface 16 | } 17 | } 18 | 19 | start() { 20 | config_load $CONFIG 21 | config_foreach setup_service service 22 | } 23 | 24 | stop() { 25 | killall -q -9 pppoe-relay 26 | } 27 | -------------------------------------------------------------------------------- /lienol/luci-app-pppoe-relay/root/etc/uci-defaults/luci-app-pppoe-relay: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | uci -q batch <<-EOF >/dev/null 4 | delete ucitrack.@pppoe-relay[-1] 5 | add ucitrack pppoe-relay 6 | set ucitrack.@pppoe-relay[-1].init=pppoe-relay 7 | commit ucitrack 8 | EOF 9 | 10 | rm -f /tmp/luci-indexcache 11 | exit 0 12 | -------------------------------------------------------------------------------- /lienol/luci-app-pppoe-relay/root/usr/share/rpcd/acl.d/luci-app-pppoe-relay.json: -------------------------------------------------------------------------------- 1 | { 2 | "luci-app-pppoe-relay": { 3 | "description": "Grant UCI access for luci-app-pppoe-relay", 4 | "read": { 5 | "uci": [ "pppoe-relay" ] 6 | }, 7 | "write": { 8 | "uci": [ "pppoe-relay" ] 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /lienol/luci-app-pppoe-server/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2018-2020 Lienol 2 | # 3 | # This is free software, licensed under the Apache License, Version 2.0 . 4 | # 5 | 6 | include $(TOPDIR)/rules.mk 7 | 8 | LUCI_TITLE:=LuCI support for PPPoE Server 9 | LUCI_DEPENDS:=+rp-pppoe-common +rp-pppoe-server 10 | LUCI_PKGARCH:=all 11 | PKG_VERSION:=1 12 | PKG_RELEASE:=8-20200326 13 | 14 | define Package/luci-app-pppoe-server/preinst 15 | #!/bin/sh 16 | rm -rf $${IPKG_INSTROOT}/etc/config/pppoe-server >/dev/null 2>&1 17 | rm -rf $${IPKG_INSTROOT}/etc/init.d/pppoe-server >/dev/null 2>&1 18 | exit 0 19 | endef 20 | 21 | include $(TOPDIR)/feeds/luci/luci.mk 22 | 23 | # call BuildPackage - OpenWrt buildroot signature -------------------------------------------------------------------------------- /lienol/luci-app-pppoe-server/luasrc/controller/pppoe-server.lua: -------------------------------------------------------------------------------- 1 | -- Copyright 2018-2019 Lienol 2 | module("luci.controller.pppoe-server", package.seeall) 3 | 4 | function index() 5 | if not nixio.fs.access("/etc/config/pppoe-server") then return end 6 | 7 | entry({"admin", "services", "pppoe-server"}, 8 | alias("admin", "services", "pppoe-server", "settings"), 9 | _("PPPoE Server"), 3) 10 | entry({"admin", "services", "pppoe-server", "settings"}, 11 | cbi("pppoe-server/settings"), _("General Settings"), 10).leaf = true 12 | entry({"admin", "services", "pppoe-server", "users"}, 13 | cbi("pppoe-server/users"), _("Users Manager"), 20).leaf = true 14 | entry({"admin", "services", "pppoe-server", "online"}, 15 | cbi("pppoe-server/online"), _("Online Users"), 30).leaf = true 16 | entry({"admin", "services", "pppoe-server", "status"}, call("status")).leaf = 17 | true 18 | end 19 | 20 | function status() 21 | local e = {} 22 | e.status = luci.sys.call("pidof %s >/dev/null" % "pppoe-server") == 0 23 | luci.http.prepare_content("application/json") 24 | luci.http.write_json(e) 25 | end 26 | -------------------------------------------------------------------------------- /lienol/luci-app-pppoe-server/luasrc/model/cbi/pppoe-server/users.lua: -------------------------------------------------------------------------------- 1 | m = Map("pppoe-server", translate("PPPoE Server")) 2 | m.description = translate( 3 | "The PPPoE server is a broadband access authentication server that prevents ARP spoofing.") 4 | s = m:section(TypedSection, "user", translate("Users Manager")) 5 | s.addremove = true 6 | s.anonymous = true 7 | s.template = "cbi/tblsection" 8 | 9 | o = s:option(Flag, "enabled", translate("Enabled")) 10 | o.rmempty = false 11 | 12 | o = s:option(Value, "username", translate("User name")) 13 | o.placeholder = translate("User name") 14 | o.rmempty = true 15 | 16 | o = s:option(Value, "password", translate("Password")) 17 | o.rmempty = true 18 | 19 | o = s:option(Value, "ipaddress", translate("IP address")) 20 | o.placeholder = translate("Automatically") 21 | o.datatype = "ipaddr" 22 | o.rmempty = true 23 | function o.cfgvalue(e, t) 24 | value = e.map:get(t, "ipaddress") 25 | return value == "*" and "" or value 26 | end 27 | function o.remove(e, t) Value.write(e, t, "*") end 28 | return m 29 | -------------------------------------------------------------------------------- /lienol/luci-app-pppoe-server/luasrc/view/pppoe-server/index.htm: -------------------------------------------------------------------------------- 1 | <% include("cbi/map") %> 2 | 14 | -------------------------------------------------------------------------------- /lienol/luci-app-pppoe-server/luasrc/view/pppoe-server/status.htm: -------------------------------------------------------------------------------- 1 | <%+cbi/valueheader%> 2 | <%=pcdata(self:cfgvalue(section) or self.default or "")%> 3 | <%+cbi/valuefooter%> 4 | -------------------------------------------------------------------------------- /lienol/luci-app-pppoe-server/root/etc/config/pppoe-server: -------------------------------------------------------------------------------- 1 | 2 | config service 3 | option localip '10.0.1.1' 4 | option log '/var/log/pppoe-server.log' 5 | option count '50' 6 | option mru '1492' 7 | option mtu '1492' 8 | option remoteip '10.0.1.100-254' 9 | option is_nat '1' 10 | option export_interface 'default' 11 | option client_interface 'eth0' 12 | option enabled '0' 13 | option dns1 '10.0.1.1' 14 | option dns2 '192.168.0.2' 15 | 16 | config user 17 | option enabled '1' 18 | option ipaddress '*' 19 | option username 'guest' 20 | option password '123456' 21 | 22 | -------------------------------------------------------------------------------- /lienol/luci-app-pppoe-server/root/etc/uci-defaults/luci-app-pppoe-server: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | uci -q batch <<-EOF >/dev/null 4 | delete ucitrack.@pppoe-server[-1] 5 | add ucitrack pppoe-server 6 | set ucitrack.@pppoe-server[-1].init=pppoe-server 7 | commit ucitrack 8 | EOF 9 | 10 | rm -f /tmp/luci-indexcache 11 | exit 0 12 | -------------------------------------------------------------------------------- /lienol/luci-app-pppoe-server/root/usr/share/rpcd/acl.d/luci-app-pppoe-server.json: -------------------------------------------------------------------------------- 1 | { 2 | "luci-app-pppoe-server": { 3 | "description": "Grant UCI access for luci-app-pppoe-server", 4 | "read": { 5 | "uci": [ "pppoe-server" ] 6 | }, 7 | "write": { 8 | "uci": [ "pppoe-server" ] 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /lienol/luci-app-pptp-vpnserver-manyusers/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2018-2020 Lienol 2 | # 3 | # This is free software, licensed under the Apache License, Version 2.0 . 4 | # 5 | 6 | include $(TOPDIR)/rules.mk 7 | 8 | LUCI_TITLE:=LuCI support for PPTP VPN Server 9 | LUCI_DEPENDS:=+pptpd +kmod-mppe +ppp 10 | LUCI_PKGARCH:=all 11 | PKG_VERSION:=1 12 | PKG_RELEASE:=2-20200326 13 | 14 | include $(TOPDIR)/feeds/luci/luci.mk 15 | 16 | # call BuildPackage - OpenWrt buildroot signature 17 | 18 | 19 | -------------------------------------------------------------------------------- /lienol/luci-app-pptp-vpnserver-manyusers/luasrc/controller/pptpd.lua: -------------------------------------------------------------------------------- 1 | -- Copyright 2018-2019 Lienol 2 | module("luci.controller.pptpd", package.seeall) 3 | 4 | function index() 5 | if not nixio.fs.access("/etc/config/pptpd") then return end 6 | 7 | entry({"admin", "vpn"}, firstchild(), "VPN", 45).dependent = false 8 | entry({"admin", "vpn", "pptpd"}, alias("admin", "vpn", "pptpd", "settings"), 9 | _("PPTP VPN Server"), 48) 10 | entry({"admin", "vpn", "pptpd", "settings"}, cbi("pptpd/settings"), 11 | _("General Settings"), 10).leaf = true 12 | entry({"admin", "vpn", "pptpd", "users"}, cbi("pptpd/users"), 13 | _("Users Manager"), 20).leaf = true 14 | entry({"admin", "vpn", "pptpd", "online"}, cbi("pptpd/online"), 15 | _("Online Users"), 30).leaf = true 16 | entry({"admin", "vpn", "pptpd", "status"}, call("status")).leaf = true 17 | end 18 | 19 | function status() 20 | local e = {} 21 | e.status = luci.sys.call("pidof %s >/dev/null" % "pptpd") == 0 22 | luci.http.prepare_content("application/json") 23 | luci.http.write_json(e) 24 | end 25 | -------------------------------------------------------------------------------- /lienol/luci-app-pptp-vpnserver-manyusers/luasrc/model/cbi/pptpd/users.lua: -------------------------------------------------------------------------------- 1 | m = Map("pptpd", translate("PPTP VPN Server")) 2 | m.description = translate( 3 | "Simple, quick and convenient PPTP VPN, universal across the platform") 4 | s = m:section(TypedSection, "users", translate("Users Manager")) 5 | s.addremove = true 6 | s.anonymous = true 7 | s.template = "cbi/tblsection" 8 | o = s:option(Flag, "enabled", translate("Enabled")) 9 | o.rmempty = false 10 | o = s:option(Value, "username", translate("User name")) 11 | o.placeholder = translate("User name") 12 | o.rmempty = true 13 | o = s:option(Value, "password", translate("Password")) 14 | o.rmempty = true 15 | o = s:option(Value, "ipaddress", translate("IP address")) 16 | o.placeholder = translate("Automatically") 17 | o.datatype = "ipaddr" 18 | o.rmempty = true 19 | return m 20 | -------------------------------------------------------------------------------- /lienol/luci-app-pptp-vpnserver-manyusers/luasrc/view/pptpd/index.htm: -------------------------------------------------------------------------------- 1 | <% include("cbi/map") %> 2 | 14 | -------------------------------------------------------------------------------- /lienol/luci-app-pptp-vpnserver-manyusers/luasrc/view/pptpd/status.htm: -------------------------------------------------------------------------------- 1 | <%+cbi/valueheader%> 2 | <%=pcdata(self:cfgvalue(section) or self.default or "")%> 3 | <%+cbi/valuefooter%> 4 | -------------------------------------------------------------------------------- /lienol/luci-app-pptp-vpnserver-manyusers/root/etc/config/pptpd: -------------------------------------------------------------------------------- 1 | 2 | config service 'pptpd' 3 | option mppe '1' 4 | option localip '192.168.2.1' 5 | option remoteip '192.168.2.10-20' 6 | option dns '192.168.2.1' 7 | option enabled '0' 8 | 9 | config users 10 | option enabled '1' 11 | option ipaddress '*' 12 | option username 'guest' 13 | option password '123456' 14 | 15 | -------------------------------------------------------------------------------- /lienol/luci-app-pptp-vpnserver-manyusers/root/etc/uci-defaults/luci-app-pptp-vpnserver-manyusers: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | uci -q batch <<-EOF >/dev/null 4 | delete firewall.pptpd 5 | set firewall.pptpd=include 6 | set firewall.pptpd.type=script 7 | set firewall.pptpd.path=/usr/share/pptpd/firewall.include 8 | set firewall.pptpd.reload=1 9 | EOF 10 | 11 | uci -q batch <<-EOF >/dev/null 12 | delete ucitrack.@pptpd[-1] 13 | add ucitrack pptpd 14 | set ucitrack.@pptpd[-1].init=pptpd 15 | commit ucitrack 16 | EOF 17 | 18 | chmod a+x /usr/share/pptpd/* >/dev/null 2>&1 19 | 20 | rm -rf /tmp/luci-* 21 | exit 0 22 | -------------------------------------------------------------------------------- /lienol/luci-app-pptp-vpnserver-manyusers/root/usr/share/rpcd/acl.d/luci-app-pptp-vpnserver-manyusers.json: -------------------------------------------------------------------------------- 1 | { 2 | "luci-app-pptp-vpnserver-manyusers": { 3 | "description": "Grant UCI access for luci-app-pptp-vpnserver-manyusers", 4 | "read": { 5 | "uci": [ "pptpd" ] 6 | }, 7 | "write": { 8 | "uci": [ "pptpd" ] 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /lienol/luci-app-ramfree/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2018 Lienol 2 | # 3 | # This is free software, licensed under the Apache License, Version 2.0 . 4 | # 5 | 6 | include $(TOPDIR)/rules.mk 7 | 8 | LUCI_TITLE:=Add Release RAM Button 9 | LUCI_PKGARCH:=all 10 | PKG_VERSION:=1.0 11 | PKG_RELEASE:=1 12 | 13 | include $(TOPDIR)/feeds/luci/luci.mk 14 | 15 | # call BuildPackage - OpenWrt buildroot signature 16 | 17 | 18 | -------------------------------------------------------------------------------- /lienol/luci-app-ramfree/luasrc/controller/release_ram.lua: -------------------------------------------------------------------------------- 1 | module("luci.controller.release_ram",package.seeall) 2 | 3 | function index() 4 | entry({"admin","status","release_ram"}, call("release_ram"), _("Release Ram"), 9999) 5 | end 6 | function release_ram() 7 | luci.sys.call("sync && echo 3 > /proc/sys/vm/drop_caches") 8 | luci.http.redirect(luci.dispatcher.build_url("admin/status")) 9 | end 10 | -------------------------------------------------------------------------------- /lienol/luci-app-ramfree/po/zh-cn/release_ram.po: -------------------------------------------------------------------------------- 1 | msgid "Release Ram" 2 | msgstr "释放内存" 3 | -------------------------------------------------------------------------------- /lienol/luci-app-softethervpn/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2018-2020 Lienol 2 | # 3 | # This is free software, licensed under the Apache License, Version 2.0 . 4 | # 5 | 6 | include $(TOPDIR)/rules.mk 7 | 8 | LUCI_TITLE:=LuCI support for SoftEtherVPN 9 | LUCI_DEPENDS:=+zlib +libpthread +librt +libreadline +libncurses +libiconv-full +kmod-tun +libopenssl +softethervpn5-bridge +softethervpn5-client +softethervpn5-server 10 | LUCI_PKGARCH:=all 11 | PKG_VERSION:=1 12 | PKG_RELEASE:=11-20200326 13 | 14 | include $(TOPDIR)/feeds/luci/luci.mk 15 | 16 | # call BuildPackage - OpenWrt buildroot signature 17 | -------------------------------------------------------------------------------- /lienol/luci-app-softethervpn/luasrc/controller/softethervpn.lua: -------------------------------------------------------------------------------- 1 | module("luci.controller.softethervpn",package.seeall) 2 | 3 | function index() 4 | if not nixio.fs.access("/etc/config/softethervpn")then 5 | return 6 | end 7 | 8 | entry({"admin","vpn"}, firstchild(), "VPN", 45).dependent = false 9 | entry({"admin","vpn","softethervpn"},cbi("softethervpn"),_("SoftEther VPN"),50).dependent=true 10 | entry({"admin","vpn","softethervpn","status"},call("status")).leaf=true 11 | end 12 | 13 | function status() 14 | local e={} 15 | e.status=luci.sys.call("pidof %s >/dev/null"%"vpnserver")==0 16 | luci.http.prepare_content("application/json") 17 | luci.http.write_json(e) 18 | end 19 | -------------------------------------------------------------------------------- /lienol/luci-app-softethervpn/luasrc/model/cbi/softethervpn.lua: -------------------------------------------------------------------------------- 1 | local s = require "luci.sys" 2 | local m, s, o 3 | m = Map("softethervpn", translate("SoftEther VPN")) 4 | m.description = translate( 5 | "SoftEther VPN is an open source, cross-platform, multi-protocol virtual private network solution developed by university of tsukuba graduate student Daiyuu Nobori for master's thesis.
can easily set up OpenVPN, IPsec, L2TP, ms-sstp, L2TPv3 and EtherIP servers on the router using the console.") 6 | m.template = "softethervpn/index" 7 | s = m:section(TypedSection, "softether") 8 | s.anonymous = true 9 | o = s:option(DummyValue, "softethervpn_status", translate("Current Condition")) 10 | o.template = "softethervpn/status" 11 | o.value = translate("Collecting data...") 12 | o = s:option(Flag, "enable", translate("Enabled")) 13 | o.rmempty = false 14 | o = s:option(DummyValue, "moreinfo", translate( 15 | "控制台下载:
Windows-x86_x64-intel.exe

macos-x86-32bit.pkg
")) 16 | return m 17 | -------------------------------------------------------------------------------- /lienol/luci-app-softethervpn/luasrc/view/softethervpn/index.htm: -------------------------------------------------------------------------------- 1 | <%# 2 | Copyright (C) 2018-2019 Lienol 3 | Licensed to the public under the Apache License 2.0. 4 | -%> 5 | 6 | <% include("cbi/map") %> 7 | 19 | -------------------------------------------------------------------------------- /lienol/luci-app-softethervpn/luasrc/view/softethervpn/status.htm: -------------------------------------------------------------------------------- 1 | <%+cbi/valueheader%> 2 | <%=pcdata(self:cfgvalue(section) or self.default or "")%> 3 | <%+cbi/valuefooter%> 4 | -------------------------------------------------------------------------------- /lienol/luci-app-softethervpn/po/zh-cn/softethervpn.po: -------------------------------------------------------------------------------- 1 | msgid "SoftEther VPN" 2 | msgstr "SoftEther VPN 服务器" 3 | 4 | msgid "SoftEther VPN is an open source, cross-platform, multi-protocol virtual private network solution developed by university of tsukuba graduate student Daiyuu Nobori for master's thesis.
can easily set up OpenVPN, IPsec, L2TP, ms-sstp, L2TPv3 and EtherIP servers on the router using the console." 5 | msgstr "SoftEther VPN是由筑波大学研究生Daiyuu Nobori因硕士论文开发的开源,跨平台,多重协定的虚拟私人网路方案。
使用控制台可以轻松在路由器上搭建OpenVPN, IPsec, L2TP, MS-SSTP, L2TPv3 和 EtherIP服务器。" 6 | 7 | msgid "PPTP VPN Server status" 8 | msgstr "PPTP VPN 服务器运行状态" 9 | 10 | msgid "Current Condition" 11 | msgstr "当前状态" 12 | 13 | msgid "Enabled" 14 | msgstr "启用" 15 | 16 | msgid "Open L2TP/IPSec firewall" 17 | msgstr "开启L2TP/IPSec防火墙" 18 | 19 | msgid "Open the MS-SSTP firewall" 20 | msgstr "开启MS-SSTP防火墙" 21 | 22 | msgid "Open the OpenVPN firewall" 23 | msgstr "开启OpenVPN防火墙" -------------------------------------------------------------------------------- /lienol/luci-app-softethervpn/root/etc/config/softethervpn: -------------------------------------------------------------------------------- 1 | 2 | config softether 3 | option enable '0' 4 | 5 | -------------------------------------------------------------------------------- /lienol/luci-app-softethervpn/root/etc/init.d/softethervpn: -------------------------------------------------------------------------------- 1 | #!/bin/sh /etc/rc.common 2 | # Copyright (C) 2016 Chen RuiWei 3 | 4 | START=99 5 | STOP=10 6 | 7 | CONFIG=softethervpn 8 | 9 | start() 10 | { 11 | enable=$(uci -q get $CONFIG.@softether[0].enable) 12 | [ $enable -ne 1 ] && exit 0 13 | /usr/bin/env LANG=en_US.UTF-8 /usr/libexec/softethervpn/vpnserver start > /dev/null 2>&1 14 | fw3 reload > /dev/null 2>&1 & 15 | } 16 | 17 | stop() 18 | { 19 | /usr/bin/env LANG=en_US.UTF-8 /usr/libexec/softethervpn/vpnserver stop > /dev/null 2>&1 20 | fw3 reload > /dev/null 2>&1 21 | } 22 | -------------------------------------------------------------------------------- /lienol/luci-app-softethervpn/root/etc/uci-defaults/luci-app-softethervpn: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | uci -q batch <<-EOF >/dev/null 4 | delete firewall.softethervpn 5 | set firewall.softethervpn=include 6 | set firewall.softethervpn.type=script 7 | set firewall.softethervpn.path=/usr/share/softethervpn/firewall.include 8 | set firewall.softethervpn.reload=1 9 | EOF 10 | 11 | uci -q batch <<-EOF >/dev/null 12 | delete ucitrack.@softethervpn[-1] 13 | add ucitrack softethervpn 14 | set ucitrack.@softethervpn[-1].init=softethervpn 15 | commit ucitrack 16 | EOF 17 | 18 | /etc/init.d/softethervpnbridge disable && /etc/init.d/softethervpnbridge stop 19 | /etc/init.d/softethervpnclient disable && /etc/init.d/softethervpnclient stop 20 | /etc/init.d/softethervpnserver disable && /etc/init.d/softethervpnserver stop 21 | 22 | chmod a+x /usr/share/softethervpn/* >/dev/null 2>&1 23 | 24 | rm -f /tmp/luci-indexcache 25 | exit 0 26 | -------------------------------------------------------------------------------- /lienol/luci-app-softethervpn/root/usr/share/rpcd/acl.d/luci-app-softethervpn.json: -------------------------------------------------------------------------------- 1 | { 2 | "luci-app-softethervpn": { 3 | "description": "Grant UCI access for luci-app-softethervpn", 4 | "read": { 5 | "uci": [ "softethervpn" ] 6 | }, 7 | "write": { 8 | "uci": [ "softethervpn" ] 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /lienol/luci-app-softethervpn/root/usr/share/softethervpn/firewall.include: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | count=$(iptables -n -L INPUT 2>/dev/null | grep -c "SOFTETHER_VPN-SERVER") 4 | if [ -n "$count" ]; then 5 | until [ "$count" = 0 ] 6 | do 7 | rules=$(iptables -n -L INPUT --line-num 2>/dev/null | grep "SOFTETHER_VPN-SERVER" | awk '{print $1}') 8 | for rule in $rules 9 | do 10 | iptables -D INPUT $rule 2>/dev/null 11 | break 12 | done 13 | count=$(expr $count - 1) 14 | done 15 | fi 16 | 17 | iptables -F SOFTETHER_VPN-SERVER 2>/dev/null && iptables -X SOFTETHER_VPN-SERVER 2>/dev/null 18 | 19 | enable=$(uci -q get softethervpn.@softether[0].enable) 20 | if [ $enable -eq 1 ]; then 21 | openvpnport=$(cat /usr/libexec/softethervpn/vpn_server.config 2>/dev/null | grep OpenVPN_UdpPortList | awk -F " " '{print $3}') 22 | [ -z "$openvpnport" ] && openvpnport=1194 23 | 24 | iptables -N SOFTETHER_VPN-SERVER 25 | iptables -I INPUT -j SOFTETHER_VPN-SERVER 26 | 27 | iptables -A SOFTETHER_VPN-SERVER -p udp -m multiport --dports 500,1701,4500 -m comment --comment "L2TP/IPSec" -j ACCEPT 2>/dev/null 28 | iptables -A SOFTETHER_VPN-SERVER -p udp --dport $openvpnport -m comment --comment "OpenVPN" -j ACCEPT 29 | iptables -A SOFTETHER_VPN-SERVER -p tcp --dport $openvpnport -m comment --comment "OpenVPN" -j ACCEPT 30 | iptables -A SOFTETHER_VPN-SERVER -p tcp --dport 5555 -j ACCEPT 31 | iptables -A SOFTETHER_VPN-SERVER -p tcp --dport 8888 -j ACCEPT 32 | iptables -A SOFTETHER_VPN-SERVER -p tcp --dport 992 -j ACCEPT 33 | fi 34 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-libev-server/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2018-2020 Lienol 2 | # 3 | # This is free software, licensed under the Apache License, Version 2.0 . 4 | # 5 | 6 | include $(TOPDIR)/rules.mk 7 | 8 | LUCI_TITLE:=LuCI support for SSR Libev Server 9 | LUCI_DEPENDS:=+libsodium +shadowsocksr-libev-server 10 | LUCI_PKGARCH:=all 11 | PKG_VERSION:=1 12 | PKG_RELEASE:=8-20200326 13 | 14 | include $(TOPDIR)/feeds/luci/luci.mk 15 | 16 | # call BuildPackage - OpenWrt buildroot signature 17 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-libev-server/luasrc/controller/ssr_libev_server.lua: -------------------------------------------------------------------------------- 1 | -- Copyright 2018-2019 Lienol 2 | module("luci.controller.ssr_libev_server", package.seeall) 3 | local http = require "luci.http" 4 | 5 | function index() 6 | if not nixio.fs.access("/etc/config/ssr_libev_server") then return end 7 | entry({"admin", "vpn"}, firstchild(), "VPN", 45).dependent = false 8 | entry({"admin", "vpn", "ssr_libev_server"}, cbi("ssr_libev_server/index"), 9 | _("SSR Libev Server"), 2).dependent = true 10 | entry({"admin", "vpn", "ssr_libev_server", "config"}, 11 | cbi("ssr_libev_server/config")).leaf = true 12 | 13 | entry({"admin", "vpn", "ssr_libev_server", "users_status"}, 14 | call("ssr_libev_users_status")).leaf = true 15 | end 16 | 17 | local function http_write_json(content) 18 | http.prepare_content("application/json") 19 | http.write_json(content or {code = 1}) 20 | end 21 | 22 | function ssr_libev_users_status() 23 | local e = {} 24 | e.index = luci.http.formvalue("index") 25 | e.status = luci.sys.call( 26 | "ps -w| grep -v grep | grep '/var/etc/ssr_libev_server/" .. 27 | luci.http.formvalue("id") .. "' >/dev/null") == 0 28 | http_write_json(e) 29 | end 30 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-libev-server/luasrc/view/ssr_libev_server/users_list_status.htm: -------------------------------------------------------------------------------- 1 | <% 2 | local dsp = require "luci.dispatcher" 3 | -%> 4 | 5 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-libev-server/luasrc/view/ssr_libev_server/users_status.htm: -------------------------------------------------------------------------------- 1 | <%+cbi/valueheader%> 2 | -- 3 | <%+cbi/valuefooter%> -------------------------------------------------------------------------------- /lienol/luci-app-ssr-libev-server/po/zh-cn/ssr_libev_server.po: -------------------------------------------------------------------------------- 1 | msgid "ShadowsocksR Libev Server" 2 | msgstr "ShadowsocksR Libev 服务器" 3 | 4 | msgid "SSR Libev Server" 5 | msgstr "SSR Libev服务器" 6 | 7 | msgid "Global Settings" 8 | msgstr "全局设置" 9 | 10 | msgid "Server Config" 11 | msgstr "服务器配置" 12 | 13 | msgid "Users Manager" 14 | msgstr "用户管理" 15 | 16 | msgid "Remarks" 17 | msgstr "备注" 18 | 19 | msgid "Port" 20 | msgstr "端口" 21 | 22 | msgid "Password" 23 | msgstr "密码" 24 | 25 | msgid "Encrypt Method" 26 | msgstr "加密" 27 | 28 | msgid "Protocol" 29 | msgstr "协议" 30 | 31 | msgid "Protocol Param" 32 | msgstr "协议参数" 33 | 34 | msgid "Obfs" 35 | msgstr "混淆" 36 | 37 | msgid "Obfs Param" 38 | msgstr "混淆参数" 39 | 40 | msgid "Connection Timeout" 41 | msgstr "连接超时时间" 42 | 43 | msgid "redirect" 44 | msgstr "重定向" 45 | 46 | msgid "Fast Open" 47 | msgstr "快速打开" 48 | 49 | msgid "UDP Forward" 50 | msgstr "UDP转发" 51 | 52 | msgid "Enabled" 53 | msgstr "启用" 54 | 55 | msgid "Status" 56 | msgstr "状态" 57 | 58 | msgid "Current Condition" 59 | msgstr "当前状态" 60 | 61 | msgid "NOT RUNNING" 62 | msgstr "未运行" 63 | 64 | msgid "RUNNING" 65 | msgstr "运行中" -------------------------------------------------------------------------------- /lienol/luci-app-ssr-libev-server/root/etc/config/ssr_libev_server: -------------------------------------------------------------------------------- 1 | 2 | config global 3 | option enable '0' 4 | 5 | config user 6 | option enable '1' 7 | option remarks '备注2' 8 | option port '10002' 9 | option password '123456' 10 | option method 'table' 11 | option protocol 'origin' 12 | option obfs 'plain' 13 | option timeout '300' 14 | option fast_open 'false' 15 | option udp_forward '1' 16 | 17 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-libev-server/root/etc/uci-defaults/luci-app-ssr-libev-server: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | uci -q batch <<-EOF >/dev/null 4 | delete firewall.ssr_libev_server 5 | set firewall.ssr_libev_server=include 6 | set firewall.ssr_libev_server.type=script 7 | set firewall.ssr_libev_server.path=/usr/share/ssr_libev_server/firewall.include 8 | set firewall.ssr_libev_server.reload=1 9 | EOF 10 | 11 | uci -q batch <<-EOF >/dev/null 12 | delete ucitrack.@ssr_libev_server[-1] 13 | add ucitrack ssr_libev_server 14 | set ucitrack.@ssr_libev_server[-1].init=ssr_libev_server 15 | commit ucitrack 16 | EOF 17 | 18 | chmod a+x /usr/share/ssr_libev_server/* >/dev/null 2>&1 19 | 20 | rm -f /tmp/luci-indexcache 21 | exit 0 22 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-libev-server/root/usr/share/rpcd/acl.d/luci-app-ssr-libev-server.json: -------------------------------------------------------------------------------- 1 | { 2 | "luci-app-ssr-libev-server": { 3 | "description": "Grant UCI access for luci-app-ssr-libev-server", 4 | "read": { 5 | "uci": [ "ssr_libev_server" ] 6 | }, 7 | "write": { 8 | "uci": [ "ssr_libev_server" ] 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-libev-server/root/usr/share/ssr_libev_server/firewall.include: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | count=$(iptables -n -L INPUT 2>/dev/null | grep -c "SSR_LIBEV-SERVER") 4 | if [ -n "$count" ]; then 5 | until [ "$count" = 0 ] 6 | do 7 | rules=$(iptables -n -L INPUT --line-num 2>/dev/null | grep "SSR_LIBEV-SERVER" | awk '{print $1}') 8 | for rule in $rules 9 | do 10 | iptables -D INPUT $rule 2>/dev/null 11 | break 12 | done 13 | count=$(expr $count - 1) 14 | done 15 | fi 16 | 17 | iptables -F SSR_LIBEV-SERVER 2>/dev/null && iptables -X SSR_LIBEV-SERVER 2>/dev/null 18 | 19 | enable=$(uci -q get ssr_libev_server.@global[0].enable) 20 | if [ $enable -eq 1 ]; then 21 | iptables -N SSR_LIBEV-SERVER 22 | iptables -I INPUT -j SSR_LIBEV-SERVER 23 | 24 | count=$(uci show ssr_libev_server | grep "@user" | sed -n '$p' | cut -d '[' -f 2 | cut -d ']' -f 1) 25 | [ -n "$count" ] && [ "$count" -ge 0 ] && { 26 | u_get() { 27 | local ret=$(uci -q get ssr_libev_server.@user[$1].$2) 28 | echo ${ret:=$3} 29 | } 30 | for i in $(seq 0 $count); do 31 | enable=$(u_get $i enable 0) 32 | [ $enable -eq 0 ] && continue 33 | remarks=$(u_get $i remarks) 34 | port=$(u_get $i port) 35 | udp_forward=$(u_get $i udp_forward) 36 | iptables -A SSR_LIBEV-SERVER -p tcp --dport $port -m comment --comment "$remarks" -j ACCEPT 37 | [ "$udp_forward" = "1" ] && iptables -A SSR_LIBEV-SERVER -p udp --dport $port -m comment --comment "$remarks" -j ACCEPT 38 | done 39 | } 40 | fi 41 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2018-2020 Lienol 2 | # 3 | # This is free software, licensed under the GNU General Public License v3. 4 | # 5 | 6 | include $(TOPDIR)/rules.mk 7 | 8 | LUCI_TITLE:=LuCI support for SSR Python Pro Server 9 | LUCI_DEPENDS:=+libsodium +luci-lib-jsonc +python 10 | LUCI_PKGARCH:=all 11 | PKG_VERSION:=2 12 | PKG_RELEASE:=1-20200326 13 | 14 | include $(TOPDIR)/feeds/luci/luci.mk 15 | 16 | # call BuildPackage - OpenWrt buildroot signature 17 | 18 | 19 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/luasrc/view/ssr_python_pro_server/status.htm: -------------------------------------------------------------------------------- 1 | <%+cbi/valueheader%> 2 | <%=pcdata(self:cfgvalue(section) or self.default or "")%> 3 | <%+cbi/valuefooter%> 4 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/luasrc/view/ssr_python_pro_server/users_link.htm: -------------------------------------------------------------------------------- 1 | <%+cbi/valueheader%> 2 | 3 | <%=translate("GET")%> 4 | 5 | <%+cbi/valuefooter%> -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/luasrc/view/ssr_python_pro_server/users_status.htm: -------------------------------------------------------------------------------- 1 | <% 2 | local uci = require "luci.model.uci".cursor() 3 | function get_status(section) 4 | local port = uci:get("ssr_python_pro_server",section,"port") 5 | if port and port ~= "" then 6 | local status = luci.sys.call("netstat -an | grep '" .. port .. "' >/dev/null")==0 7 | if status then 8 | return '' 9 | else 10 | return ' X ' 11 | end 12 | end 13 | end 14 | %> 15 | 16 | <%+cbi/valueheader%> 17 | <%=get_status(section)%> 18 | <%+cbi/valuefooter%> -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/luasrc/view/ssr_python_pro_server/users_total_traffic.htm: -------------------------------------------------------------------------------- 1 | <%+cbi/valueheader%> 2 | 3 | <%=translate("GET")%> 4 | 5 | <%+cbi/valuefooter%> -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/etc/config/ssr_python_pro_server: -------------------------------------------------------------------------------- 1 | 2 | config global 3 | option enable '0' 4 | option auto_clear_transfer '0' 5 | 6 | config user 7 | option enable '1' 8 | option remarks 'test' 9 | option port '50005' 10 | option password '123456' 11 | option method 'none' 12 | option protocol 'auth_chain_a' 13 | option obfs 'plain' 14 | option device_limit '10' 15 | option speed_limit_per_con '0' 16 | option speed_limit_per_user '0' 17 | option transfer_enable '0' 18 | 19 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/etc/uci-defaults/luci-app-ssr-python-pro-server: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | uci -q batch <<-EOF >/dev/null 4 | delete firewall.ssr_python_pro_server 5 | set firewall.ssr_python_pro_server=include 6 | set firewall.ssr_python_pro_server.type=script 7 | set firewall.ssr_python_pro_server.path=/usr/share/ssr_python_pro_server/firewall.include 8 | set firewall.ssr_python_pro_server.reload=1 9 | EOF 10 | 11 | uci -q batch <<-EOF >/dev/null 12 | delete ucitrack.@ssr_python_pro_server[-1] 13 | add ucitrack ssr_python_pro_server 14 | set ucitrack.@ssr_python_pro_server[-1].init=ssr_python_pro_server 15 | commit ucitrack 16 | EOF 17 | 18 | chmod a+x /usr/share/ssr_python_pro_server/* >/dev/null 2>&1 19 | 20 | rm -f /tmp/luci-indexcache 21 | exit 0 22 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/rpcd/acl.d/luci-app-ssr-python-pro-server.json: -------------------------------------------------------------------------------- 1 | { 2 | "luci-app-ssr-python-pro-server": { 3 | "description": "Grant UCI access for luci-app-ssr-python-pro-server", 4 | "read": { 5 | "uci": [ "ssr_python_pro_server" ] 6 | }, 7 | "write": { 8 | "uci": [ "ssr_python_pro_server" ] 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/.travis.yml: -------------------------------------------------------------------------------- 1 | language: python 2 | python: 3 | - 2.6 4 | - 2.7 5 | - 3.3 6 | - 3.4 7 | cache: 8 | directories: 9 | - dante-1.4.0 10 | before_install: 11 | - sudo apt-get update -qq 12 | - sudo apt-get install -qq build-essential dnsutils iproute nginx bc 13 | - sudo dd if=/dev/urandom of=/usr/share/nginx/www/file bs=1M count=10 14 | - sudo sh -c "echo '127.0.0.1 localhost' > /etc/hosts" 15 | - sudo service nginx restart 16 | - pip install pep8 pyflakes nose coverage PySocks cymysql 17 | - sudo tests/socksify/install.sh 18 | - sudo tests/libsodium/install.sh 19 | - sudo tests/setup_tc.sh 20 | script: 21 | - tests/jenkins.sh 22 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | How to Contribute 2 | ================= 3 | 4 | Pull Requests 5 | ------------- 6 | 7 | 1. Pull requests are welcome. If you would like to add a large feature 8 | or make a significant change, make sure to open an issue to discuss with 9 | people first. 10 | 2. Follow PEP8. 11 | 3. Make sure to pass the unit tests. Write unit tests for new modules if 12 | needed. 13 | 14 | Issues 15 | ------ 16 | 17 | 1. Only bugs and feature requests are accepted here. 18 | 2. We'll only work on important features. If the feature you're asking only 19 | benefits a few people, you'd better implement the feature yourself and send us 20 | a pull request, or ask some of your friends to do so. 21 | 3. We don't answer questions of any other types here. Since very few people 22 | are watching the issue tracker here, you'll probably get no help from here. 23 | Read [Troubleshooting] and get help from forums or [mailing lists]. 24 | 4. Issues in languages other than English will be Google translated into English 25 | later. 26 | 27 | 28 | [Troubleshooting]: https://github.com/clowwindy/shadowsocks/wiki/Troubleshooting 29 | [mailing lists]: https://groups.google.com/forum/#!forum/shadowsocks 30 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM alpine:3.6 2 | 3 | ENV SERVER_ADDR 0.0.0.0 4 | ENV SERVER_PORT 51348 5 | ENV PASSWORD psw 6 | ENV METHOD aes-128-ctr 7 | ENV PROTOCOL auth_aes128_md5 8 | ENV PROTOCOLPARAM 32 9 | ENV OBFS tls1.2_ticket_auth_compatible 10 | ENV TIMEOUT 300 11 | ENV DNS_ADDR 8.8.8.8 12 | ENV DNS_ADDR_2 8.8.4.4 13 | 14 | ARG BRANCH=manyuser 15 | ARG WORK=~ 16 | 17 | 18 | RUN apk --no-cache add python \ 19 | libsodium \ 20 | wget 21 | 22 | 23 | RUN mkdir -p $WORK && \ 24 | wget -qO- --no-check-certificate https://github.com/shadowsocksr/shadowsocksr/archive/$BRANCH.tar.gz | tar -xzf - -C $WORK 25 | 26 | 27 | WORKDIR $WORK/shadowsocksr-$BRANCH/shadowsocks 28 | 29 | 30 | EXPOSE $SERVER_PORT 31 | CMD python server.py -p $SERVER_PORT -k $PASSWORD -m $METHOD -O $PROTOCOL -o $OBFS -G $PROTOCOLPARAM 32 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/MANIFEST.in: -------------------------------------------------------------------------------- 1 | recursive-include shadowsocks *.py 2 | include README.rst 3 | include LICENSE 4 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/apiconfig.py: -------------------------------------------------------------------------------- 1 | # Config 2 | API_INTERFACE = 'sspanelv2' #mudbjson, sspanelv2, sspanelv3, sspanelv3ssr, glzjinmod, legendsockssr, muapiv2(not support) 3 | UPDATE_TIME = 60 4 | SERVER_PUB_ADDR = '127.0.0.1' # mujson_mgr need this to generate ssr link 5 | 6 | #mudb 7 | MUDB_FILE = 'mudb.json' 8 | 9 | # Mysql 10 | MYSQL_CONFIG = 'usermysql.json' 11 | 12 | # API 13 | MUAPI_CONFIG = 'usermuapi.json' 14 | 15 | 16 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "server": "0.0.0.0", 3 | "server_ipv6": "::", 4 | "server_port": 8388, 5 | "local_address": "127.0.0.1", 6 | "local_port": 1080, 7 | 8 | "password": "m", 9 | "method": "aes-128-ctr", 10 | "protocol": "auth_aes128_md5", 11 | "protocol_param": "", 12 | "obfs": "tls1.2_ticket_auth_compatible", 13 | "obfs_param": "", 14 | "speed_limit_per_con": 0, 15 | "speed_limit_per_user": 0, 16 | 17 | "additional_ports" : {}, // only works under multi-user mode 18 | "additional_ports_only" : false, // only works under multi-user mode 19 | "timeout": 120, 20 | "udp_timeout": 60, 21 | "dns_ipv6": false, 22 | "connect_verbose_info": 0, 23 | "redirect": "", 24 | "fast_open": false 25 | } 26 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/configloader.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # -*- coding: UTF-8 -*- 3 | import importloader 4 | 5 | g_config = None 6 | 7 | def load_config(): 8 | global g_config 9 | g_config = importloader.loads(['userapiconfig', 'apiconfig']) 10 | 11 | def get_config(): 12 | return g_config 13 | 14 | load_config() 15 | 16 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/configloader.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/configloader.pyc -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/db_transfer.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/db_transfer.pyc -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/debian/changelog: -------------------------------------------------------------------------------- 1 | shadowsocks (2.1.0-1) unstable; urgency=low 2 | 3 | * Initial release (Closes: #758900) 4 | 5 | -- Shell.Xu Sat, 23 Aug 2014 00:56:04 +0800 6 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/debian/compat: -------------------------------------------------------------------------------- 1 | 8 2 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/debian/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "server":"my_server_ip", 3 | "server_port":8388, 4 | "local_address": "127.0.0.1", 5 | "local_port":1080, 6 | "password":"mypassword", 7 | "timeout":300, 8 | "method":"aes-256-cfb", 9 | "fast_open": false, 10 | "workers": 1 11 | } -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/debian/control: -------------------------------------------------------------------------------- 1 | Source: shadowsocks 2 | Section: python 3 | Priority: extra 4 | Maintainer: Shell.Xu 5 | Build-Depends: debhelper (>= 8), python-all (>= 2.6.6-3~), python-setuptools 6 | Standards-Version: 3.9.5 7 | Homepage: https://github.com/clowwindy/shadowsocks 8 | Vcs-Git: git://github.com/shell909090/shadowsocks.git 9 | Vcs-Browser: http://github.com/shell909090/shadowsocks 10 | 11 | Package: shadowsocks 12 | Architecture: all 13 | Pre-Depends: dpkg (>= 1.15.6~) 14 | Depends: ${misc:Depends}, ${python:Depends}, python-pkg-resources, python-m2crypto 15 | Description: Fast tunnel proxy that helps you bypass firewalls 16 | A secure socks5 proxy, designed to protect your Internet traffic. 17 | . 18 | This package contain local and server part of shadowsocks, a fast, 19 | powerful tunnel proxy to bypass firewalls. -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/debian/docs: -------------------------------------------------------------------------------- 1 | README.md 2 | README.rst 3 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/debian/install: -------------------------------------------------------------------------------- 1 | debian/config.json etc/shadowsocks/ -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | # -*- makefile -*- 3 | 4 | %: 5 | dh $@ --with python2 --buildsystem=python_distutils 6 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/debian/shadowsocks.default: -------------------------------------------------------------------------------- 1 | # Defaults for shadowsocks initscript 2 | # sourced by /etc/init.d/shadowsocks 3 | # installed at /etc/default/shadowsocks by the maintainer scripts 4 | 5 | USERID="nobody" 6 | 7 | # 8 | # This is a POSIX shell fragment 9 | # 10 | 11 | # Additional options that are passed to the Daemon. 12 | DAEMON_OPTS="-q -c /etc/shadowsocks/config.json" 13 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/debian/shadowsocks.manpages: -------------------------------------------------------------------------------- 1 | debian/sslocal.1 2 | debian/ssserver.1 -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (quilt) 2 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/debian/sslocal.1: -------------------------------------------------------------------------------- 1 | .\" Hey, EMACS: -*- nroff -*- 2 | .\" (C) Copyright 2014 Shell.Xu , 3 | .\" 4 | .TH SHADOWSOCKS 1 "August 23, 2014" 5 | .SH NAME 6 | shadowsocks \- Fast tunnel proxy that helps you bypass firewalls 7 | .SH SYNOPSIS 8 | .B ssserver 9 | .RI [ options ] 10 | .br 11 | .B sslocal 12 | .RI [ options ] 13 | .SH DESCRIPTION 14 | shadowsocks is a tunnel proxy helps you bypass firewall. 15 | .B ssserver 16 | is the server part, and 17 | .B sslocal 18 | is the local part. 19 | .SH OPTIONS 20 | .TP 21 | .B \-h, \-\-help 22 | Show this help message and exit. 23 | .TP 24 | .B \-s SERVER_ADDR 25 | Server address, default: 0.0.0.0. 26 | .TP 27 | .B \-p SERVER_PORT 28 | Server port, default: 8388. 29 | .TP 30 | .B \-k PASSWORD 31 | Password. 32 | .TP 33 | .B \-m METHOD 34 | Encryption method, default: aes-256-cfb. 35 | .TP 36 | .B \-t TIMEOUT 37 | Timeout in seconds, default: 300. 38 | .TP 39 | .B \-c CONFIG 40 | Path to config file. 41 | .TP 42 | .B \-\-fast-open 43 | Use TCP_FASTOPEN, requires Linux 3.7+. 44 | .TP 45 | .B \-\-workers WORKERS 46 | Number of workers, available on Unix/Linux. 47 | .TP 48 | .B \-v, \-vv 49 | Verbose mode. 50 | .TP 51 | .B \-q, \-qq 52 | Quiet mode, only show warnings/errors. 53 | .SH SEE ALSO 54 | .br 55 | The programs are documented fully by 56 | .IR "Shell Xu " 57 | and 58 | .IR "Clowwindy ", 59 | available via the Info system. 60 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/debian/ssserver.1: -------------------------------------------------------------------------------- 1 | .\" Hey, EMACS: -*- nroff -*- 2 | .\" (C) Copyright 2014 Shell.Xu , 3 | .\" 4 | .TH SHADOWSOCKS 1 "August 23, 2014" 5 | .SH NAME 6 | shadowsocks \- Fast tunnel proxy that helps you bypass firewalls 7 | .SH SYNOPSIS 8 | .B ssserver 9 | .RI [ options ] 10 | .br 11 | .B sslocal 12 | .RI [ options ] 13 | .SH DESCRIPTION 14 | shadowsocks is a tunnel proxy helps you bypass firewall. 15 | .B ssserver 16 | is the server part, and 17 | .B sslocal 18 | is the local part. 19 | .SH OPTIONS 20 | .TP 21 | .B \-h, \-\-help 22 | Show this help message and exit. 23 | .TP 24 | .B \-s SERVER_ADDR 25 | Server address, default: 0.0.0.0. 26 | .TP 27 | .B \-p SERVER_PORT 28 | Server port, default: 8388. 29 | .TP 30 | .B \-k PASSWORD 31 | Password. 32 | .TP 33 | .B \-m METHOD 34 | Encryption method, default: aes-256-cfb. 35 | .TP 36 | .B \-t TIMEOUT 37 | Timeout in seconds, default: 300. 38 | .TP 39 | .B \-c CONFIG 40 | Path to config file. 41 | .TP 42 | .B \-\-fast-open 43 | Use TCP_FASTOPEN, requires Linux 3.7+. 44 | .TP 45 | .B \-\-workers WORKERS 46 | Number of workers, available on Unix/Linux. 47 | .TP 48 | .B \-v, \-vv 49 | Verbose mode. 50 | .TP 51 | .B \-q, \-qq 52 | Quiet mode, only show warnings/errors. 53 | .SH SEE ALSO 54 | .br 55 | The programs are documented fully by 56 | .IR "Shell Xu " 57 | and 58 | .IR "Clowwindy ", 59 | available via the Info system. 60 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/firewall.include: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | count=$(iptables -n -L INPUT 2>/dev/null | grep -c "SSR_PYTHON-SERVER") 4 | if [ -n "$count" ]; then 5 | until [ "$count" = 0 ] 6 | do 7 | rules=$(iptables -n -L INPUT --line-num 2>/dev/null | grep "SSR_PYTHON-SERVER" | awk '{print $1}') 8 | for rule in $rules 9 | do 10 | iptables -D INPUT $rule 2>/dev/null 11 | break 12 | done 13 | count=$(expr $count - 1) 14 | done 15 | fi 16 | 17 | iptables -F SSR_PYTHON-SERVER 2>/dev/null && iptables -X SSR_PYTHON-SERVER 2>/dev/null 18 | 19 | enable=$(uci -q get ssr_python_pro_server.@global[0].enable) 20 | if [ $enable -eq 1 ]; then 21 | iptables -N SSR_PYTHON-SERVER 22 | iptables -I INPUT -j SSR_PYTHON-SERVER 23 | 24 | count=$(uci show ssr_python_pro_server | grep "@user" | sed -n '$p' | cut -d '[' -f 2 | cut -d ']' -f 1) 25 | [ -n "$count" ] && [ "$count" -ge 0 ] && { 26 | u_get() { 27 | local ret=$(uci -q get ssr_python_pro_server.@user[$1].$2) 28 | echo ${ret:=$3} 29 | } 30 | for i in $(seq 0 $count); do 31 | enable=$(u_get $i enable 0) 32 | [ $enable -eq 0 ] && continue 33 | remarks=$(u_get $i remarks) 34 | port=$(u_get $i port) 35 | iptables -A SSR_PYTHON-SERVER -p tcp --dport $port -m comment --comment "$remarks" -j ACCEPT 36 | iptables -A SSR_PYTHON-SERVER -p udp --dport $port -m comment --comment "$remarks" -j ACCEPT 37 | done 38 | } 39 | fi 40 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/importloader.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # -*- coding: UTF-8 -*- 3 | 4 | def load(name): 5 | try: 6 | obj = __import__(name) 7 | reload(obj) 8 | return obj 9 | except: 10 | pass 11 | 12 | try: 13 | import importlib 14 | obj = importlib.__import__(name) 15 | importlib.reload(obj) 16 | return obj 17 | except: 18 | pass 19 | 20 | def loads(namelist): 21 | for name in namelist: 22 | obj = load(name) 23 | if obj is not None: 24 | return obj 25 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/importloader.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/importloader.pyc -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/initcfg.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | If Not Exist "userapiconfig.py" Copy "apiconfig.py" "userapiconfig.py" 3 | If Not Exist "user-config.json" Copy "config.json" "user-config.json" 4 | If Not Exist "usermysql.json" Copy "mysql.json" "usermysql.json" 5 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/initcfg.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | chmod +x *.sh 4 | chmod +x shadowsocks/*.sh 5 | cp -n apiconfig.py userapiconfig.py 6 | cp -n config.json user-config.json 7 | cp -n mysql.json usermysql.json 8 | 9 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/initmudbjson.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | bash initcfg.sh 4 | sed -i "s/API_INTERFACE = .\+\?\#/API_INTERFACE = \'mudbjson\' \#/g" userapiconfig.py 5 | ip_addr=`ifconfig -a|grep inet|grep -v inet6|grep -v "127.0.0."|grep -v -e "192\.168\..[0-9]\+\.[0-9]\+"|grep -v -e "10\.[0-9]\+\.[0-9]\+\.[0-9]\+"|awk '{print $2}'|tr -d "addr:"` 6 | ip_count=`echo $ip_addr|grep -e "^[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+$" -c` 7 | 8 | if [[ $ip_count == 1 ]]; then 9 | ip_addr=`ip a|grep inet|grep -v inet6|grep -v "127.0.0."|grep -v -e "192\.168\..[0-9]\+\.[0-9]\+"|grep -v -e "10\.[0-9]\+\.[0-9]\+\.[0-9]\+"|awk '{print $2}'` 10 | ip_addr=${ip_addr%/*} 11 | ip_count=`echo $ip_addr|grep -e "^[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+$" -c` 12 | fi 13 | if [[ $ip_count == 1 ]]; then 14 | echo "server IP is "${ip_addr} 15 | sed -i "s/SERVER_PUB_ADDR = .\+/SERVER_PUB_ADDR = \'"${ip_addr}"\'/g" userapiconfig.py 16 | user_count=`python mujson_mgr.py -l|grep -c -e "[0-9]"` 17 | if [[ $user_count == 0 ]]; then 18 | port=`python -c 'import random;print(random.randint(10000, 65536))'` 19 | python mujson_mgr.py -a -p ${port} 20 | fi 21 | else 22 | echo "unable to detect server IP" 23 | fi 24 | 25 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/logrun.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cd `dirname $0` 3 | #python_ver=$(ls /usr/bin|grep -e "^python[23]\.[1-9]\+$"|tail -1) 4 | eval $(ps -ef | grep "[0-9] python server\\.py m" | awk '{print "kill "$2}') 5 | ulimit -n 512000 6 | nohup python server.py m >> ssserver.log 2>&1 & 7 | 8 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/mudb.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "d": 276776, 4 | "enable": 1, 5 | "forbidden_port": "", 6 | "id": "cfg05ae6f", 7 | "method": "none", 8 | "obfs": "tls1.2_ticket_auth", 9 | "passwd": "123456", 10 | "port": 11111, 11 | "protocol": "auth_chain_a", 12 | "protocol_param": "2", 13 | "speed_limit_per_con": 100, 14 | "speed_limit_per_user": 200, 15 | "transfer_enable": 10737418240, 16 | "u": 60612, 17 | "user": "\u563b\u563b" 18 | } 19 | ] -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/mysql.json: -------------------------------------------------------------------------------- 1 | { 2 | "host": "127.0.0.1", 3 | "port": 3306, 4 | "user": "ss", 5 | "password": "pass", 6 | "db": "sspanel", 7 | "node_id": 0, 8 | "transfer_mul": 1.0, 9 | "ssl_enable": 0, 10 | "ssl_ca": "", 11 | "ssl_cert": "", 12 | "ssl_key": "" 13 | } 14 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/run.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cd `dirname $0` 3 | #python_ver=$(ls /usr/bin|grep -e "^python[23]\.[1-9]\+$"|tail -1) 4 | eval $(ps -ef | grep "[0-9] python server\\.py m" | awk '{print "kill "$2}') 5 | ulimit -n 512000 6 | nohup python server.py m>> /dev/null 2>&1 & 7 | 8 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/server_pool.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/server_pool.pyc -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/setup_cymysql.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | rm -rf CyMySQL 3 | rm -rf cymysql 4 | git clone https://github.com/nakagami/CyMySQL.git 5 | mv CyMySQL/cymysql ./ 6 | rm -rf CyMySQL 7 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/sh/clear_traffic_all_users.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cd /usr/share/ssr_python_pro_server 4 | user_total=$(./mujson_mgr.py -l | wc -l) 5 | [ $user_total -eq 0 ] && echo -e "没有发现用户,请检查 !" && exit 1 6 | for i in `seq 1 $user_total` 7 | do 8 | user_id=$(./mujson_mgr.py -l | sed -n ${i}p | awk '{print $2}') 9 | match_clear=$(./mujson_mgr.py -c -I "${user_id}" | grep 'clear') 10 | if [ -z "$match_clear" ]; then 11 | echo -e "$user_id已使用流量清零失败" 12 | else 13 | echo -e "$user_id已使用流量清零成功" 14 | fi 15 | done 16 | exit 17 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # 3 | # Copyright 2012-2015 clowwindy 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); you may 6 | # not use this file except in compliance with the License. You may obtain 7 | # a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | # License for the specific language governing permissions and limitations 15 | # under the License. 16 | 17 | from __future__ import absolute_import, division, print_function, \ 18 | with_statement 19 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/__init__.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/__init__.pyc -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/asyncdns.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/asyncdns.pyc -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/common.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/common.pyc -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/crypto/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # 3 | # Copyright 2015 clowwindy 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); you may 6 | # not use this file except in compliance with the License. You may obtain 7 | # a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | # License for the specific language governing permissions and limitations 15 | # under the License. 16 | 17 | from __future__ import absolute_import, division, print_function, \ 18 | with_statement 19 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/crypto/__init__.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/crypto/__init__.pyc -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/crypto/openssl.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/crypto/openssl.pyc -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/crypto/rc4_md5.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/crypto/rc4_md5.pyc -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/crypto/sodium.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/crypto/sodium.pyc -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/crypto/table.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/crypto/table.pyc -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/crypto/util.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/crypto/util.pyc -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/encrypt.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/encrypt.pyc -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/eventloop.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/eventloop.pyc -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/logrun.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cd `dirname $0` 3 | eval $(ps -ef | grep "[0-9] python server\\.py a" | awk '{print "kill "$2}') 4 | ulimit -n 512000 5 | nohup python server.py a >> ssserver.log 2>&1 & 6 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/lru_cache.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/lru_cache.pyc -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/obfs.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/obfs.pyc -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/obfsplugin/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # 3 | # Copyright 2015 clowwindy 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); you may 6 | # not use this file except in compliance with the License. You may obtain 7 | # a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | # License for the specific language governing permissions and limitations 15 | # under the License. 16 | 17 | from __future__ import absolute_import, division, print_function, \ 18 | with_statement 19 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/obfsplugin/__init__.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/obfsplugin/__init__.pyc -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/obfsplugin/auth.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/obfsplugin/auth.pyc -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/obfsplugin/auth_chain.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/obfsplugin/auth_chain.pyc -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/obfsplugin/http_simple.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/obfsplugin/http_simple.pyc -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/obfsplugin/obfs_tls.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/obfsplugin/obfs_tls.pyc -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/obfsplugin/plain.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/obfsplugin/plain.pyc -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/obfsplugin/verify.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/obfsplugin/verify.pyc -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/run.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cd `dirname $0` 3 | eval $(ps -ef | grep "[0-9] python server\\.py a" | awk '{print "kill "$2}') 4 | ulimit -n 512000 5 | nohup python server.py a >> /dev/null 2>&1 & 6 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/shell.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/shell.pyc -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/stop.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | #python_ver=$(ls /usr/bin|grep -e "^python[23]\.[1-9]\+$"|tail -1) 4 | eval $(ps -ef | grep "[0-9] python server\\.py a" | awk '{print "kill "$2}') 5 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/tail.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | tail -f ssserver.log 4 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/tcprelay.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/tcprelay.pyc -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/udprelay.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/udprelay.pyc -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/version.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # -*- coding: utf-8 -*- 3 | # 4 | # Copyright 2017 breakwa11 5 | # 6 | # Licensed under the Apache License, Version 2.0 (the "License"); you may 7 | # not use this file except in compliance with the License. You may obtain 8 | # a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 14 | # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 15 | # License for the specific language governing permissions and limitations 16 | # under the License. 17 | 18 | def version(): 19 | return '3.4.0 2017-07-27' 20 | 21 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/version.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/shadowsocks/version.pyc -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/stop.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # python_ver=$(ls /usr/bin|grep -e "^python[23]\.[1-9]\+$"|tail -1) 4 | eval $(ps -ef | grep "[0-9] python server\\.py m" | awk '{print "kill "$2}') 5 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/switchrule.py: -------------------------------------------------------------------------------- 1 | def getKeys(key_list): 2 | return key_list 3 | #return key_list + ['plan'] # append the column name 'plan' 4 | 5 | def isTurnOn(row): 6 | return True 7 | #return row['plan'] == 'B' # then judge here 8 | 9 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/switchrule.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/switchrule.pyc -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/tail.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cd `dirname $0` 3 | tail -f ssserver.log 4 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/tests/aes-cfb1.json: -------------------------------------------------------------------------------- 1 | { 2 | "server":"127.0.0.1", 3 | "server_port":8388, 4 | "local_port":1081, 5 | "password":"aes_password", 6 | "timeout":60, 7 | "method":"aes-256-cfb1", 8 | "local_address":"127.0.0.1", 9 | "fast_open":false 10 | } 11 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/tests/aes-cfb8.json: -------------------------------------------------------------------------------- 1 | { 2 | "server":"127.0.0.1", 3 | "server_port":8388, 4 | "local_port":1081, 5 | "password":"aes_password", 6 | "timeout":60, 7 | "method":"aes-256-cfb8", 8 | "local_address":"127.0.0.1", 9 | "fast_open":false 10 | } 11 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/tests/aes-ctr.json: -------------------------------------------------------------------------------- 1 | { 2 | "server":"127.0.0.1", 3 | "server_port":8388, 4 | "local_port":1081, 5 | "password":"aes_password", 6 | "timeout":60, 7 | "method":"aes-256-ctr", 8 | "local_address":"127.0.0.1", 9 | "fast_open":false 10 | } 11 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/tests/aes.json: -------------------------------------------------------------------------------- 1 | { 2 | "server":"127.0.0.1", 3 | "server_port":8388, 4 | "local_port":1081, 5 | "password":"aes_password", 6 | "timeout":60, 7 | "method":"aes-256-cfb", 8 | "local_address":"127.0.0.1", 9 | "fast_open":false 10 | } 11 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/tests/chacha20.json: -------------------------------------------------------------------------------- 1 | { 2 | "server":"127.0.0.1", 3 | "server_port":8388, 4 | "local_port":1081, 5 | "password":"salsa20_password", 6 | "timeout":60, 7 | "method":"chacha20", 8 | "local_address":"127.0.0.1", 9 | "fast_open":false 10 | } 11 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/tests/client-multi-server-ip.json: -------------------------------------------------------------------------------- 1 | { 2 | "server":["127.0.0.1", "127.0.0.1"], 3 | "server_port":8388, 4 | "local_port":1081, 5 | "password":"aes_password", 6 | "timeout":60, 7 | "method":"aes-256-cfb", 8 | "local_address":"127.0.0.1", 9 | "fast_open":false 10 | } 11 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/tests/fastopen.json: -------------------------------------------------------------------------------- 1 | { 2 | "server":"127.0.0.1", 3 | "server_port":8388, 4 | "local_port":1081, 5 | "password":"fastopen_password", 6 | "timeout":60, 7 | "method":"aes-256-cfb", 8 | "local_address":"127.0.0.1", 9 | "fast_open":true 10 | } 11 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/tests/ipv6-client-side.json: -------------------------------------------------------------------------------- 1 | { 2 | "server":"::1", 3 | "server_port":8388, 4 | "local_port":1081, 5 | "password":"aes_password", 6 | "timeout":60, 7 | "method":"aes-256-cfb", 8 | "local_address":"127.0.0.1", 9 | "fast_open":false 10 | } 11 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/tests/ipv6.json: -------------------------------------------------------------------------------- 1 | { 2 | "server":"::", 3 | "server_port":8388, 4 | "local_port":1081, 5 | "password":"aes_password", 6 | "timeout":60, 7 | "method":"aes-256-cfb", 8 | "local_address":"127.0.0.1", 9 | "fast_open":false 10 | } 11 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/tests/libsodium/install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ ! -d libsodium-1.0.1 ]; then 4 | wget https://github.com/jedisct1/libsodium/releases/download/1.0.1/libsodium-1.0.1.tar.gz || exit 1 5 | tar xf libsodium-1.0.1.tar.gz || exit 1 6 | fi 7 | pushd libsodium-1.0.1 8 | ./configure && make -j2 && make install || exit 1 9 | sudo ldconfig 10 | popd 11 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/tests/nose_plugin.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # 3 | # Copyright 2015 clowwindy 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); you may 6 | # not use this file except in compliance with the License. You may obtain 7 | # a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | # License for the specific language governing permissions and limitations 15 | # under the License. 16 | 17 | import nose 18 | from nose.plugins.base import Plugin 19 | 20 | 21 | class ExtensionPlugin(Plugin): 22 | 23 | name = "ExtensionPlugin" 24 | 25 | def options(self, parser, env): 26 | Plugin.options(self, parser, env) 27 | 28 | def configure(self, options, config): 29 | Plugin.configure(self, options, config) 30 | self.enabled = True 31 | 32 | def wantFile(self, file): 33 | return file.endswith('.py') 34 | 35 | def wantDirectory(self, directory): 36 | return True 37 | 38 | def wantModule(self, file): 39 | return True 40 | 41 | 42 | if __name__ == '__main__': 43 | nose.main(addplugins=[ExtensionPlugin()]) 44 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/tests/rc4-md5.json: -------------------------------------------------------------------------------- 1 | { 2 | "server":"127.0.0.1", 3 | "server_port":8388, 4 | "local_port":1081, 5 | "password":"aes_password", 6 | "timeout":60, 7 | "method":"rc4-md5", 8 | "local_address":"127.0.0.1", 9 | "fast_open":false 10 | } 11 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/tests/salsa20-ctr.json: -------------------------------------------------------------------------------- 1 | { 2 | "server":"127.0.0.1", 3 | "server_port":8388, 4 | "local_port":1081, 5 | "password":"salsa20_password", 6 | "timeout":60, 7 | "method":"salsa20-ctr", 8 | "local_address":"127.0.0.1", 9 | "fast_open":false 10 | } 11 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/tests/salsa20.json: -------------------------------------------------------------------------------- 1 | { 2 | "server":"127.0.0.1", 3 | "server_port":8388, 4 | "local_port":1081, 5 | "password":"salsa20_password", 6 | "timeout":60, 7 | "method":"salsa20", 8 | "local_address":"127.0.0.1", 9 | "fast_open":false 10 | } 11 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/tests/server-multi-passwd-client-side.json: -------------------------------------------------------------------------------- 1 | { 2 | "server": "127.0.0.1", 3 | "server_port": "8385", 4 | "local_port": 1081, 5 | "password": "foobar5", 6 | "timeout": 60, 7 | "method": "aes-256-cfb" 8 | } 9 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/tests/server-multi-passwd-table.json: -------------------------------------------------------------------------------- 1 | { 2 | "server": "127.0.0.1", 3 | "server_port": 8384, 4 | "local_port": 1081, 5 | "password": "foobar4", 6 | "port_password": { 7 | "8381": "foobar1", 8 | "8382": "foobar2", 9 | "8383": "foobar3", 10 | "8384": "foobar4", 11 | "8385": "foobar5", 12 | "8386": "foobar6", 13 | "8387": "foobar7", 14 | "8388": "foobar8", 15 | "8389": "foobar9" 16 | }, 17 | "timeout": 60, 18 | "method": "table" 19 | } 20 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/tests/server-multi-passwd.json: -------------------------------------------------------------------------------- 1 | { 2 | "server": "127.0.0.1", 3 | "local_port": 1081, 4 | "port_password": { 5 | "8381": "foobar1", 6 | "8382": "foobar2", 7 | "8383": "foobar3", 8 | "8384": "foobar4", 9 | "8385": "foobar5", 10 | "8386": "foobar6", 11 | "8387": "foobar7", 12 | "8388": "foobar8", 13 | "8389": "foobar9" 14 | }, 15 | "timeout": 60, 16 | "method": "aes-256-cfb" 17 | } 18 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/tests/server-multi-ports.json: -------------------------------------------------------------------------------- 1 | { 2 | "server": "127.0.0.1", 3 | "server_port": [8384, 8345, 8346, 8347], 4 | "local_port": 1081, 5 | "password": "foobar4", 6 | "timeout": 60, 7 | "method": "aes-256-cfb" 8 | } 9 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/tests/setup_tc.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | DEV=lo 4 | PORT=8388 5 | DELAY=100ms 6 | 7 | type tc 2> /dev/null && ( 8 | tc qdisc add dev $DEV root handle 1: htb 9 | tc class add dev $DEV parent 1: classid 1:1 htb rate 2mbps 10 | tc class add dev $DEV parent 1:1 classid 1:6 htb rate 2mbps ceil 1mbps prio 0 11 | tc filter add dev $DEV parent 1:0 prio 0 protocol ip handle 6 fw flowid 1:6 12 | 13 | tc filter add dev $DEV parent 1:0 protocol ip u32 match ip dport $PORT 0xffff flowid 1:6 14 | tc filter add dev $DEV parent 1:0 protocol ip u32 match ip sport $PORT 0xffff flowid 1:6 15 | 16 | tc qdisc show dev lo 17 | ) 18 | 19 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/tests/socksify/install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ ! -d dante-1.4.0 ]; then 4 | wget http://www.inet.no/dante/files/dante-1.4.0.tar.gz || exit 1 5 | tar xf dante-1.4.0.tar.gz || exit 1 6 | fi 7 | pushd dante-1.4.0 8 | ./configure && make -j4 && make install || exit 1 9 | popd 10 | cp tests/socksify/socks.conf /etc/ || exit 1 11 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/tests/socksify/socks.conf: -------------------------------------------------------------------------------- 1 | route { 2 | from: 0.0.0.0/0 to: 0.0.0.0/0 via: 127.0.0.1 port = 1081 3 | proxyprotocol: socks_v5 4 | method: none 5 | } -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/tests/table.json: -------------------------------------------------------------------------------- 1 | { 2 | "server":"127.0.0.1", 3 | "server_port":8388, 4 | "local_port":1081, 5 | "password":"table_password", 6 | "timeout":60, 7 | "method":"table", 8 | "local_address":"127.0.0.1", 9 | "fast_open":false 10 | } 11 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/tests/test_large_file.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | PYTHON="coverage run -p" 4 | URL=http://127.0.0.1/file 5 | 6 | mkdir -p tmp 7 | 8 | $PYTHON shadowsocks/local.py -c tests/aes.json & 9 | LOCAL=$! 10 | 11 | $PYTHON shadowsocks/server.py -c tests/aes.json --forbidden-ip "" & 12 | SERVER=$! 13 | 14 | sleep 3 15 | 16 | time curl -o tmp/expected $URL 17 | time curl -o tmp/result --socks5-hostname 127.0.0.1:1081 $URL 18 | 19 | kill -s SIGINT $LOCAL 20 | kill -s SIGINT $SERVER 21 | 22 | sleep 2 23 | 24 | diff tmp/expected tmp/result || exit 1 25 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/tests/test_udp_src.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | PYTHON="coverage run -p" 4 | 5 | mkdir -p tmp 6 | 7 | $PYTHON shadowsocks/local.py -c tests/aes.json -v & 8 | LOCAL=$! 9 | 10 | $PYTHON shadowsocks/server.py -c tests/aes.json --forbidden-ip "" -v & 11 | SERVER=$! 12 | 13 | sleep 3 14 | 15 | python tests/test_udp_src.py 16 | r=$? 17 | 18 | kill -s SIGINT $LOCAL 19 | kill -s SIGINT $SERVER 20 | 21 | sleep 2 22 | 23 | exit $r 24 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/tests/workers.json: -------------------------------------------------------------------------------- 1 | { 2 | "server":"127.0.0.1", 3 | "server_port":8388, 4 | "local_port":1081, 5 | "password":"workers_password", 6 | "timeout":60, 7 | "method":"aes-256-cfb", 8 | "local_address":"127.0.0.1", 9 | "workers": 4 10 | } 11 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/user-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "server": "0.0.0.0", 3 | "server_ipv6": "::", 4 | "server_port": 8388, 5 | "local_address": "127.0.0.1", 6 | "local_port": 1080, 7 | 8 | "password": "m", 9 | "method": "aes-128-ctr", 10 | "protocol": "auth_aes128_md5", 11 | "protocol_param": "", 12 | "obfs": "tls1.2_ticket_auth_compatible", 13 | "obfs_param": "", 14 | "speed_limit_per_con": 0, 15 | "speed_limit_per_user": 0, 16 | 17 | "additional_ports" : {}, 18 | "additional_ports_only" : false, 19 | "timeout": 120, 20 | "udp_timeout": 60, 21 | "dns_ipv6": false, 22 | "connect_verbose_info": 0, 23 | "redirect": "", 24 | "fast_open": false 25 | } 26 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/userapiconfig.py: -------------------------------------------------------------------------------- 1 | # Config 2 | API_INTERFACE = 'mudbjson' #mudbjson, sspanelv2, sspanelv3, sspanelv3ssr, glzjinmod, legendsockssr, muapiv2(not support) 3 | UPDATE_TIME = 60 4 | SERVER_PUB_ADDR = '0.0.0.0' # mujson_mgr need this to generate ssr link 5 | 6 | #mudb 7 | MUDB_FILE = 'mudb.json' 8 | 9 | # Mysql 10 | MYSQL_CONFIG = 'usermysql.json' 11 | 12 | # API 13 | MUAPI_CONFIG = 'usermuapi.json' 14 | 15 | 16 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/userapiconfig.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/userapiconfig.pyc -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/usermysql.json: -------------------------------------------------------------------------------- 1 | { 2 | "host": "127.0.0.1", 3 | "port": 3306, 4 | "user": "ss", 5 | "password": "pass", 6 | "db": "sspanel", 7 | "node_id": 0, 8 | "transfer_mul": 1.0, 9 | "ssl_enable": 0, 10 | "ssl_ca": "", 11 | "ssl_cert": "", 12 | "ssl_key": "" 13 | } 14 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/utils/README.md: -------------------------------------------------------------------------------- 1 | Useful Tools 2 | =========== 3 | 4 | autoban.py 5 | ---------- 6 | 7 | Automatically ban IPs that try to brute force crack the server. 8 | 9 | See https://github.com/shadowsocks/shadowsocks/wiki/Ban-Brute-Force-Crackers 10 | -------------------------------------------------------------------------------- /lienol/luci-app-ssr-python-pro-server/root/usr/share/ssr_python_pro_server/utils/fail2ban/shadowsocks.conf: -------------------------------------------------------------------------------- 1 | [Definition] 2 | 3 | _daemon = shadowsocks 4 | 5 | failregex = ^\s+ERROR\s+can not parse header when handling connection from :\d+$ 6 | -------------------------------------------------------------------------------- /lienol/luci-app-timecontrol/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2020 Lienol 2 | # 3 | # This is free software, licensed under the GNU General Public License v3. 4 | # 5 | 6 | include $(TOPDIR)/rules.mk 7 | 8 | LUCI_TITLE:=LuCI support for Time Control 9 | LUCI_PKGARCH:=all 10 | PKG_VERSION:=1.0 11 | PKG_RELEASE:=1-20200402 12 | 13 | include $(TOPDIR)/feeds/luci/luci.mk 14 | 15 | # call BuildPackage - OpenWrt buildroot signature 16 | -------------------------------------------------------------------------------- /lienol/luci-app-timecontrol/luasrc/controller/timecontrol.lua: -------------------------------------------------------------------------------- 1 | module("luci.controller.timecontrol", package.seeall) 2 | 3 | function index() 4 | if not nixio.fs.access("/etc/config/timecontrol") then return end 5 | 6 | entry({"admin", "control"}, firstchild(), "Control", 44).dependent = false 7 | entry({"admin", "control", "timecontrol"}, cbi("timecontrol"), _("Internet Time Control"), 10).dependent = 8 | true 9 | entry({"admin", "control", "timecontrol", "status"}, call("status")).leaf = true 10 | end 11 | 12 | function status() 13 | local e = {} 14 | e.status = luci.sys.call("iptables -L FORWARD | grep TIMECONTROL >/dev/null") == 0 15 | luci.http.prepare_content("application/json") 16 | luci.http.write_json(e) 17 | end 18 | -------------------------------------------------------------------------------- /lienol/luci-app-timecontrol/luasrc/view/timecontrol/index.htm: -------------------------------------------------------------------------------- 1 | <% include("cbi/map") %> 2 | -------------------------------------------------------------------------------- /lienol/luci-app-timecontrol/luasrc/view/timecontrol/timecontrol.htm: -------------------------------------------------------------------------------- 1 | <%+cbi/valueheader%> 2 | <%=pcdata(self:cfgvalue(section) or self.default or "")%> 3 | <%+cbi/valuefooter%> -------------------------------------------------------------------------------- /lienol/luci-app-timecontrol/po/zh-cn/timecontrol.po: -------------------------------------------------------------------------------- 1 | msgid "Control" 2 | msgstr "管控" 3 | 4 | msgid "Internet Time Control" 5 | msgstr "上网时间控制" 6 | 7 | msgid "Status" 8 | msgstr "状态" 9 | 10 | msgid "Enabled" 11 | msgstr "启用" 12 | 13 | msgid "Client Settings" 14 | msgstr "客户端设置" 15 | 16 | msgid "No Internet start time" 17 | msgstr "禁止上网开始时间" 18 | 19 | msgid "No Internet end time" 20 | msgstr "取消禁止上网时间" 21 | 22 | msgid "Monday" 23 | msgstr "周一" 24 | 25 | msgid "Tuesday" 26 | msgstr "周二" 27 | 28 | msgid "Wednesday" 29 | msgstr "周三" 30 | 31 | msgid "Thursday" 32 | msgstr "周四" 33 | 34 | msgid "Friday" 35 | msgstr "周五" 36 | 37 | msgid "Saturday" 38 | msgstr "周六" 39 | 40 | msgid "Sunday" 41 | msgstr "周日" 42 | -------------------------------------------------------------------------------- /lienol/luci-app-timecontrol/root/etc/config/timecontrol: -------------------------------------------------------------------------------- 1 | 2 | config basic 3 | option enable '0' 4 | -------------------------------------------------------------------------------- /lienol/luci-app-timecontrol/root/etc/uci-defaults/luci-app-timecontrol: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | uci -q batch <<-EOF >/dev/null 4 | delete firewall.timecontrol 5 | set firewall.timecontrol=include 6 | set firewall.timecontrol.type=script 7 | set firewall.timecontrol.path=/var/etc/timecontrol.include 8 | set firewall.timecontrol.reload=1 9 | EOF 10 | 11 | uci -q batch <<-EOF >/dev/null 12 | delete ucitrack.@timecontrol[-1] 13 | add ucitrack timecontrol 14 | set ucitrack.@timecontrol[-1].init=timecontrol 15 | commit ucitrack 16 | EOF 17 | 18 | rm -rf /tmp/luci-*cache 19 | exit 0 20 | -------------------------------------------------------------------------------- /lienol/luci-app-timecontrol/root/usr/share/rpcd/acl.d/luci-app-timecontrol.json: -------------------------------------------------------------------------------- 1 | { 2 | "luci-app-timecontrol": { 3 | "description": "Grant UCI access for luci-app-timecontrol", 4 | "read": { 5 | "uci": [ "timecontrol" ] 6 | }, 7 | "write": { 8 | "uci": [ "timecontrol" ] 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /lienol/luci-app-trojan-server/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2019-2020 Lienol 2 | # 3 | # This is free software, licensed under the GNU General Public License v3. 4 | # 5 | 6 | include $(TOPDIR)/rules.mk 7 | 8 | PKG_NAME:=luci-app-trojan-server 9 | LUCI_TITLE:=LuCI support for Trojan Server 10 | LUCI_DEPENDS:=+luci-lib-jsonc +trojan 11 | LUCI_PKGARCH:=all 12 | PKG_VERSION:=1 13 | PKG_RELEASE:=3-20200326 14 | 15 | include $(TOPDIR)/feeds/luci/luci.mk 16 | 17 | # call BuildPackage - OpenWrt buildroot signature -------------------------------------------------------------------------------- /lienol/luci-app-trojan-server/luasrc/view/trojan_server/log.htm: -------------------------------------------------------------------------------- 1 | 25 |
26 | 27 | <%:Logs%> 28 | 29 | 30 | 31 |
-------------------------------------------------------------------------------- /lienol/luci-app-trojan-server/luasrc/view/trojan_server/users_list_status.htm: -------------------------------------------------------------------------------- 1 | <% 2 | local dsp = require "luci.dispatcher" 3 | -%> 4 | 5 | -------------------------------------------------------------------------------- /lienol/luci-app-trojan-server/luasrc/view/trojan_server/users_status.htm: -------------------------------------------------------------------------------- 1 | <%+cbi/valueheader%> 2 | -- 3 | <%+cbi/valuefooter%> -------------------------------------------------------------------------------- /lienol/luci-app-trojan-server/po/zh-cn/trojan_server.po: -------------------------------------------------------------------------------- 1 | msgid "Trojan Server" 2 | msgstr "Trojan 服务器" 3 | 4 | msgid "Global Settings" 5 | msgstr "全局设置" 6 | 7 | msgid "Server Config" 8 | msgstr "服务器配置" 9 | 10 | msgid "Users Manager" 11 | msgstr "用户管理" 12 | 13 | msgid "Remarks" 14 | msgstr "备注" 15 | 16 | msgid "Port" 17 | msgstr "端口" 18 | 19 | msgid "Password" 20 | msgstr "密码" 21 | 22 | msgid "TCP Fast Open" 23 | msgstr "TCP快速打开" 24 | 25 | msgid "Enable TCP fast open (kernel support required)" 26 | msgstr "是否启用TCP快速打开(需要内核支持)" 27 | 28 | msgid "Enable Remote" 29 | msgstr "启用转发" 30 | 31 | msgid "You can forward to Nginx/Caddy/V2ray WebSocket and more." 32 | msgstr "您可以转发到Nginx/Caddy/V2ray WebSocket等。" 33 | 34 | msgid "Remote Address" 35 | msgstr "远程地址" 36 | 37 | msgid "Remote Port" 38 | msgstr "远程端口" 39 | 40 | msgid "as:" 41 | msgstr "如:" 42 | 43 | msgid "Public key absolute path" 44 | msgstr "公钥文件绝对路径" 45 | 46 | msgid "Private key absolute path" 47 | msgstr "私钥文件绝对路径" 48 | 49 | msgid "Logs" 50 | msgstr "日志" 51 | 52 | msgid "Clear logs" 53 | msgstr "清空日志" 54 | 55 | msgid "Enabled" 56 | msgstr "启用" 57 | 58 | msgid "Status" 59 | msgstr "状态" 60 | 61 | msgid "Current Condition" 62 | msgstr "当前状态" 63 | 64 | msgid "NOT RUNNING" 65 | msgstr "未运行" 66 | 67 | msgid "RUNNING" 68 | msgstr "运行中" -------------------------------------------------------------------------------- /lienol/luci-app-trojan-server/root/etc/config/trojan_server: -------------------------------------------------------------------------------- 1 | 2 | config global 3 | option enable '0' 4 | 5 | config user 6 | option enable '1' 7 | option remarks '测试' 8 | option port '45443' 9 | option tcp_fast_open 'false' 10 | option ssl_certFile '/etc/config/ssl/fullchain.pem' 11 | option ssl_keyFile '/etc/config/ssl/private.key' 12 | list password '123456' 13 | 14 | -------------------------------------------------------------------------------- /lienol/luci-app-trojan-server/root/etc/uci-defaults/luci-app-trojan-server: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | uci -q batch <<-EOF >/dev/null 4 | delete firewall.trojan_server 5 | set firewall.trojan_server=include 6 | set firewall.trojan_server.type=script 7 | set firewall.trojan_server.path=/usr/share/trojan_server/firewall.include 8 | set firewall.trojan_server.reload=1 9 | EOF 10 | 11 | uci -q batch <<-EOF >/dev/null 12 | delete ucitrack.@trojan_server[-1] 13 | add ucitrack trojan_server 14 | set ucitrack.@trojan_server[-1].init=trojan_server 15 | commit ucitrack 16 | EOF 17 | 18 | chmod a+x /usr/share/trojan_server/* >/dev/null 2>&1 19 | 20 | rm -f /tmp/luci-indexcache 21 | exit 0 22 | -------------------------------------------------------------------------------- /lienol/luci-app-trojan-server/root/usr/share/rpcd/acl.d/luci-app-trojan-server.json: -------------------------------------------------------------------------------- 1 | { 2 | "luci-app-trojan-server": { 3 | "description": "Grant UCI access for luci-app-trojan-server", 4 | "read": { 5 | "uci": [ "trojan_server" ] 6 | }, 7 | "write": { 8 | "uci": [ "trojan_server" ] 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /lienol/luci-app-trojan-server/root/usr/share/trojan_server/firewall.include: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | count=$(iptables -n -L INPUT 2>/dev/null | grep -c "TROJAN-SERVER") 4 | if [ -n "$count" ]; then 5 | until [ "$count" = 0 ] 6 | do 7 | rules=$(iptables -n -L INPUT --line-num 2>/dev/null | grep "TROJAN-SERVER" | awk '{print $1}') 8 | for rule in $rules 9 | do 10 | iptables -D INPUT $rule 2>/dev/null 11 | break 12 | done 13 | count=$(expr $count - 1) 14 | done 15 | fi 16 | 17 | iptables -F TROJAN-SERVER 2>/dev/null && iptables -X TROJAN-SERVER 2>/dev/null 18 | 19 | enable=$(uci -q get trojan_server.@global[0].enable) 20 | if [ $enable -eq 1 ]; then 21 | iptables -N TROJAN-SERVER 22 | iptables -I INPUT -j TROJAN-SERVER 23 | 24 | count=$(uci show trojan_server | grep "@user" | sed -n '$p' | cut -d '[' -f 2 | cut -d ']' -f 1) 25 | [ -n "$count" ] && [ "$count" -ge 0 ] && { 26 | u_get() { 27 | local ret=$(uci -q get trojan_server.@user[$1].$2) 28 | echo ${ret:=$3} 29 | } 30 | for i in $(seq 0 $count); do 31 | enable=$(u_get $i enable 0) 32 | [ $enable -eq 0 ] && continue 33 | remarks=$(u_get $i remarks) 34 | port=$(u_get $i port) 35 | iptables -A TROJAN-SERVER -p tcp --dport $port -m comment --comment "$remarks" -j ACCEPT 36 | iptables -A TROJAN-SERVER -p udp --dport $port -m comment --comment "$remarks" -j ACCEPT 37 | done 38 | } 39 | fi 40 | -------------------------------------------------------------------------------- /lienol/luci-app-v2ray-server/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2018-2020 Lienol 2 | # 3 | # This is free software, licensed under the GNU General Public License v3. 4 | # 5 | 6 | include $(TOPDIR)/rules.mk 7 | 8 | PKG_NAME:=luci-app-v2ray-server 9 | LUCI_TITLE:=LuCI support for V2ray Server 10 | LUCI_DEPENDS:=+unzip +v2ray 11 | LUCI_PKGARCH:=all 12 | PKG_VERSION:=1 13 | PKG_RELEASE:=8-20200326 14 | 15 | include $(TOPDIR)/feeds/luci/luci.mk 16 | 17 | # call BuildPackage - OpenWrt buildroot signature 18 | 19 | 20 | -------------------------------------------------------------------------------- /lienol/luci-app-v2ray-server/luasrc/view/v2ray_server/log.htm: -------------------------------------------------------------------------------- 1 | 25 |
26 | 27 | <%:Logs%> 28 | 29 | 30 | 31 |
-------------------------------------------------------------------------------- /lienol/luci-app-v2ray-server/luasrc/view/v2ray_server/users_list_status.htm: -------------------------------------------------------------------------------- 1 | <% 2 | local dsp = require "luci.dispatcher" 3 | -%> 4 | 5 | -------------------------------------------------------------------------------- /lienol/luci-app-v2ray-server/luasrc/view/v2ray_server/users_status.htm: -------------------------------------------------------------------------------- 1 | <%+cbi/valueheader%> 2 | -- 3 | <%+cbi/valuefooter%> -------------------------------------------------------------------------------- /lienol/luci-app-v2ray-server/root/etc/config/v2ray_server: -------------------------------------------------------------------------------- 1 | 2 | config global 3 | option enable '0' 4 | 5 | config user 6 | option enable '1' 7 | option remarks 'tcp' 8 | option bind_local '0' 9 | option protocol 'vmess' 10 | list VMess_id 'fd00927a-b0c2-4629-aef7-d9ff15a9d722' 11 | option VMess_alterId '16' 12 | option VMess_level '1' 13 | option transport 'tcp' 14 | option tcp_guise 'none' 15 | option port '12366' 16 | 17 | config user 18 | option enable '1' 19 | option remarks 'ws' 20 | option bind_local '0' 21 | option protocol 'vmess' 22 | option VMess_alterId '16' 23 | option VMess_level '1' 24 | list VMess_id 'fd00927a-b0c2-4629-aef7-d9ff15a9d722' 25 | option transport 'ws' 26 | option ws_path '/websocket' 27 | option tls_enable '0' 28 | option port '30010' 29 | -------------------------------------------------------------------------------- /lienol/luci-app-v2ray-server/root/etc/init.d/v2ray_server: -------------------------------------------------------------------------------- 1 | #!/bin/sh /etc/rc.common 2 | # Copyright (C) 2018-2020 Lienol 3 | 4 | START=99 5 | 6 | CONFIG=v2ray_server 7 | CONFIG_PATH=/var/etc/$CONFIG 8 | LOG_PATH=/var/log/$CONFIG 9 | LOG_APP_FILE=$LOG_PATH/app.log 10 | 11 | echolog() { 12 | echo -e "$(date "+%Y-%m-%d %H:%M:%S"): $1" >> $LOG_APP_FILE 13 | } 14 | 15 | gen_v2ray_config_file() { 16 | config_get enable $1 enable 17 | [ "$enable" = "0" ] && return 0 18 | config_get remarks $1 remarks 19 | config_get port $1 port 20 | config_get transport $1 transport 21 | lua /usr/lib/lua/luci/model/cbi/v2ray_server/api/genv2rayconfig.lua $1 > $CONFIG_PATH/$1.json 22 | echolog "$remarks $port 生成并运行 V2ray 配置文件 - $CONFIG_PATH/$1.json" 23 | /usr/bin/v2ray/v2ray -config $CONFIG_PATH/$1.json >/dev/null 2>&1 & 24 | } 25 | 26 | start_v2ray_server() { 27 | mkdir -p $CONFIG_PATH $LOG_PATH 28 | touch $LOG_APP_FILE 29 | config_foreach gen_v2ray_config_file "user" 30 | fw3 reload > /dev/null 2>&1 & 31 | } 32 | 33 | stop_v2ray_server() { 34 | fw3 reload > /dev/null 2>&1 35 | ps -w | grep "$CONFIG_PATH/" | grep -v "grep" | awk '{print $1}' | xargs kill -9 >/dev/null 2>&1 & 36 | rm -rf $CONFIG_PATH 37 | rm -rf $LOG_PATH 38 | } 39 | 40 | start() { 41 | config_load $CONFIG 42 | enable=$(uci get $CONFIG.@global[0].enable) 43 | if [ "$enable" = "0" ];then 44 | stop_v2ray_server 45 | else 46 | start_v2ray_server 47 | fi 48 | } 49 | 50 | stop() { 51 | stop_v2ray_server 52 | } 53 | 54 | restart() { 55 | stop 56 | start 57 | } -------------------------------------------------------------------------------- /lienol/luci-app-v2ray-server/root/etc/uci-defaults/luci-app-v2ray-server: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | uci -q batch <<-EOF >/dev/null 4 | delete firewall.v2ray_server 5 | set firewall.v2ray_server=include 6 | set firewall.v2ray_server.type=script 7 | set firewall.v2ray_server.path=/usr/share/v2ray_server/firewall.include 8 | set firewall.v2ray_server.reload=1 9 | EOF 10 | 11 | uci -q batch <<-EOF >/dev/null 12 | delete ucitrack.@v2ray_server[-1] 13 | add ucitrack v2ray_server 14 | set ucitrack.@v2ray_server[-1].init=v2ray_server 15 | commit ucitrack 16 | EOF 17 | 18 | chmod a+x /usr/share/v2ray_server/* >/dev/null 2>&1 19 | 20 | rm -f /tmp/luci-indexcache 21 | exit 0 22 | -------------------------------------------------------------------------------- /lienol/luci-app-v2ray-server/root/usr/share/rpcd/acl.d/luci-app-v2ray-server.json: -------------------------------------------------------------------------------- 1 | { 2 | "luci-app-v2ray-server": { 3 | "description": "Grant UCI access for luci-app-v2ray-server", 4 | "read": { 5 | "uci": [ "v2ray_server" ] 6 | }, 7 | "write": { 8 | "uci": [ "v2ray_server" ] 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /lienol/luci-app-v2ray-server/root/usr/share/v2ray_server/firewall.include: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | count=$(iptables -n -L INPUT 2>/dev/null | grep -c "V2RAY-SERVER") 4 | if [ -n "$count" ]; then 5 | until [ "$count" = 0 ] 6 | do 7 | rules=$(iptables -n -L INPUT --line-num 2>/dev/null | grep "V2RAY-SERVER" | awk '{print $1}') 8 | for rule in $rules 9 | do 10 | iptables -D INPUT $rule 2>/dev/null 11 | break 12 | done 13 | count=$(expr $count - 1) 14 | done 15 | fi 16 | 17 | iptables -F V2RAY-SERVER 2>/dev/null && iptables -X V2RAY-SERVER 2>/dev/null 18 | 19 | enable=$(uci -q get v2ray_server.@global[0].enable) 20 | if [ $enable -eq 1 ]; then 21 | iptables -N V2RAY-SERVER 22 | iptables -I INPUT -j V2RAY-SERVER 23 | 24 | count=$(uci show v2ray_server | grep "@user" | sed -n '$p' | cut -d '[' -f 2 | cut -d ']' -f 1) 25 | [ -n "$count" ] && [ "$count" -ge 0 ] && { 26 | u_get() { 27 | local ret=$(uci -q get v2ray_server.@user[$1].$2) 28 | echo ${ret:=$3} 29 | } 30 | for i in $(seq 0 $count); do 31 | enable=$(u_get $i enable 0) 32 | [ $enable -eq 0 ] && continue 33 | remarks=$(u_get $i remarks) 34 | bind_local=$(u_get $i bind_local) 35 | port=$(u_get $i port) 36 | [ "$bind_local" != "1" ] && { 37 | iptables -A V2RAY-SERVER -p tcp --dport $port -m comment --comment "$remarks" -j ACCEPT 38 | iptables -A V2RAY-SERVER -p udp --dport $port -m comment --comment "$remarks" -j ACCEPT 39 | } 40 | done 41 | } 42 | fi 43 | -------------------------------------------------------------------------------- /lienol/luci-theme-argon-dark-mod/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2008-2019 Jerrykuku 2 | # Copyright (C) 2019-2020 Lienol 3 | # 4 | # This is free software, licensed under the Apache License, Version 2.0 . 5 | # 6 | 7 | include $(TOPDIR)/rules.mk 8 | 9 | LUCI_TITLE:=Argon Dark Mod Theme 10 | LUCI_DEPENDS:= 11 | PKG_VERSION:=1.4 12 | PKG_RELEASE:=02-20200101 13 | 14 | include $(TOPDIR)/feeds/luci/luci.mk 15 | 16 | # call BuildPackage - OpenWrt buildroot signature 17 | -------------------------------------------------------------------------------- /lienol/luci-theme-argon-dark-mod/htdocs/luci-static/argon_dark/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-dark-mod/htdocs/luci-static/argon_dark/favicon.ico -------------------------------------------------------------------------------- /lienol/luci-theme-argon-dark-mod/htdocs/luci-static/argon_dark/fonts/font.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-dark-mod/htdocs/luci-static/argon_dark/fonts/font.eot -------------------------------------------------------------------------------- /lienol/luci-theme-argon-dark-mod/htdocs/luci-static/argon_dark/fonts/font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-dark-mod/htdocs/luci-static/argon_dark/fonts/font.ttf -------------------------------------------------------------------------------- /lienol/luci-theme-argon-dark-mod/htdocs/luci-static/argon_dark/fonts/font.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-dark-mod/htdocs/luci-static/argon_dark/fonts/font.woff -------------------------------------------------------------------------------- /lienol/luci-theme-argon-dark-mod/htdocs/luci-static/argon_dark/fonts/ssr.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-dark-mod/htdocs/luci-static/argon_dark/fonts/ssr.eot -------------------------------------------------------------------------------- /lienol/luci-theme-argon-dark-mod/htdocs/luci-static/argon_dark/fonts/ssr.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-dark-mod/htdocs/luci-static/argon_dark/fonts/ssr.ttf -------------------------------------------------------------------------------- /lienol/luci-theme-argon-dark-mod/htdocs/luci-static/argon_dark/fonts/ssr.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-dark-mod/htdocs/luci-static/argon_dark/fonts/ssr.woff -------------------------------------------------------------------------------- /lienol/luci-theme-argon-dark-mod/htdocs/luci-static/argon_dark/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-dark-mod/htdocs/luci-static/argon_dark/logo.png -------------------------------------------------------------------------------- /lienol/luci-theme-argon-dark-mod/htdocs/luci-static/argon_dark_purple/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-dark-mod/htdocs/luci-static/argon_dark_purple/favicon.ico -------------------------------------------------------------------------------- /lienol/luci-theme-argon-dark-mod/htdocs/luci-static/argon_dark_purple/fonts/font.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-dark-mod/htdocs/luci-static/argon_dark_purple/fonts/font.eot -------------------------------------------------------------------------------- /lienol/luci-theme-argon-dark-mod/htdocs/luci-static/argon_dark_purple/fonts/font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-dark-mod/htdocs/luci-static/argon_dark_purple/fonts/font.ttf -------------------------------------------------------------------------------- /lienol/luci-theme-argon-dark-mod/htdocs/luci-static/argon_dark_purple/fonts/font.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-dark-mod/htdocs/luci-static/argon_dark_purple/fonts/font.woff -------------------------------------------------------------------------------- /lienol/luci-theme-argon-dark-mod/htdocs/luci-static/argon_dark_purple/fonts/ssr.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-dark-mod/htdocs/luci-static/argon_dark_purple/fonts/ssr.eot -------------------------------------------------------------------------------- /lienol/luci-theme-argon-dark-mod/htdocs/luci-static/argon_dark_purple/fonts/ssr.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-dark-mod/htdocs/luci-static/argon_dark_purple/fonts/ssr.ttf -------------------------------------------------------------------------------- /lienol/luci-theme-argon-dark-mod/htdocs/luci-static/argon_dark_purple/fonts/ssr.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-dark-mod/htdocs/luci-static/argon_dark_purple/fonts/ssr.woff -------------------------------------------------------------------------------- /lienol/luci-theme-argon-dark-mod/htdocs/luci-static/argon_dark_purple/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-dark-mod/htdocs/luci-static/argon_dark_purple/logo.png -------------------------------------------------------------------------------- /lienol/luci-theme-argon-dark-mod/root/etc/uci-defaults/30_luci-theme-argon-dark-mod: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | uci batch <<-EOF 3 | set luci.themes.Argon_Dark=/luci-static/argon_dark 4 | set luci.themes.Argon_Dark_Purple=/luci-static/argon_dark_purple 5 | commit luci 6 | EOF 7 | exit 0 8 | -------------------------------------------------------------------------------- /lienol/luci-theme-argon-light-mod/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2008-2019 Jerrykuku 2 | # Copyright (C) 2019-2020 Lienol 3 | # 4 | # This is free software, licensed under the Apache License, Version 2.0 . 5 | # 6 | 7 | include $(TOPDIR)/rules.mk 8 | 9 | LUCI_TITLE:=Argon Light Mod Theme 10 | LUCI_DEPENDS:= 11 | PKG_VERSION:=1.4 12 | PKG_RELEASE:=03-20200101 13 | 14 | include $(TOPDIR)/feeds/luci/luci.mk 15 | 16 | # call BuildPackage - OpenWrt buildroot signature 17 | -------------------------------------------------------------------------------- /lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light/favicon.ico -------------------------------------------------------------------------------- /lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light/fonts/TypoGraphica.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light/fonts/TypoGraphica.eot -------------------------------------------------------------------------------- /lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light/fonts/TypoGraphica.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light/fonts/TypoGraphica.ttf -------------------------------------------------------------------------------- /lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light/fonts/TypoGraphica.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light/fonts/TypoGraphica.woff -------------------------------------------------------------------------------- /lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light/fonts/font.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light/fonts/font.eot -------------------------------------------------------------------------------- /lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light/fonts/font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light/fonts/font.ttf -------------------------------------------------------------------------------- /lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light/fonts/font.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light/fonts/font.woff -------------------------------------------------------------------------------- /lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light/fonts/icomoon.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light/fonts/icomoon.eot -------------------------------------------------------------------------------- /lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light/fonts/icomoon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light/fonts/icomoon.ttf -------------------------------------------------------------------------------- /lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light/fonts/icomoon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light/fonts/icomoon.woff -------------------------------------------------------------------------------- /lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light/fonts/ssr.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light/fonts/ssr.eot -------------------------------------------------------------------------------- /lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light/fonts/ssr.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light/fonts/ssr.ttf -------------------------------------------------------------------------------- /lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light/fonts/ssr.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light/fonts/ssr.woff -------------------------------------------------------------------------------- /lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light/img/bg1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light/img/bg1.jpg -------------------------------------------------------------------------------- /lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light/img/bg2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light/img/bg2.jpg -------------------------------------------------------------------------------- /lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light/img/bg3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light/img/bg3.jpg -------------------------------------------------------------------------------- /lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light/logo.png -------------------------------------------------------------------------------- /lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light_green/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light_green/favicon.ico -------------------------------------------------------------------------------- /lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light_green/fonts/TypoGraphica.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light_green/fonts/TypoGraphica.eot -------------------------------------------------------------------------------- /lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light_green/fonts/TypoGraphica.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light_green/fonts/TypoGraphica.ttf -------------------------------------------------------------------------------- /lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light_green/fonts/TypoGraphica.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light_green/fonts/TypoGraphica.woff -------------------------------------------------------------------------------- /lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light_green/fonts/font.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light_green/fonts/font.eot -------------------------------------------------------------------------------- /lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light_green/fonts/font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light_green/fonts/font.ttf -------------------------------------------------------------------------------- /lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light_green/fonts/font.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light_green/fonts/font.woff -------------------------------------------------------------------------------- /lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light_green/fonts/icomoon.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light_green/fonts/icomoon.eot -------------------------------------------------------------------------------- /lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light_green/fonts/icomoon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light_green/fonts/icomoon.ttf -------------------------------------------------------------------------------- /lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light_green/fonts/icomoon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light_green/fonts/icomoon.woff -------------------------------------------------------------------------------- /lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light_green/fonts/ssr.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light_green/fonts/ssr.eot -------------------------------------------------------------------------------- /lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light_green/fonts/ssr.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light_green/fonts/ssr.ttf -------------------------------------------------------------------------------- /lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light_green/fonts/ssr.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light_green/fonts/ssr.woff -------------------------------------------------------------------------------- /lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light_green/img/bg1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light_green/img/bg1.jpg -------------------------------------------------------------------------------- /lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light_green/img/bg2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light_green/img/bg2.jpg -------------------------------------------------------------------------------- /lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light_green/img/bg3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light_green/img/bg3.jpg -------------------------------------------------------------------------------- /lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light_green/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-argon-light-mod/htdocs/luci-static/argon_light_green/logo.png -------------------------------------------------------------------------------- /lienol/luci-theme-argon-light-mod/root/etc/uci-defaults/30_luci-theme-argon-light-mod: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | uci batch <<-EOF 3 | set luci.themes.Argon_Light=/luci-static/argon_light 4 | set luci.themes.Argon_Light_Green=/luci-static/argon_light_green 5 | commit luci 6 | EOF 7 | exit 0 8 | -------------------------------------------------------------------------------- /lienol/luci-theme-bootstrap-mod/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2018-2020 Lienol 2 | # 3 | # This is free software, licensed under the GNU General Public License v3. 4 | # 5 | 6 | include $(TOPDIR)/rules.mk 7 | 8 | LUCI_TITLE:=Bootstrap Mod Theme By Lienol 9 | LUCI_DEPENDS:= 10 | PKG_VERSION:=1.5 11 | PKG_RELEASE:=20200413 12 | 13 | include $(TOPDIR)/feeds/luci/luci.mk 14 | 15 | # call BuildPackage - OpenWrt buildroot signature 16 | -------------------------------------------------------------------------------- /lienol/luci-theme-bootstrap-mod/htdocs/luci-static/bootstrap_blue/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-bootstrap-mod/htdocs/luci-static/bootstrap_blue/favicon.ico -------------------------------------------------------------------------------- /lienol/luci-theme-bootstrap-mod/htdocs/luci-static/bootstrap_blue/wifi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-bootstrap-mod/htdocs/luci-static/bootstrap_blue/wifi.png -------------------------------------------------------------------------------- /lienol/luci-theme-bootstrap-mod/htdocs/luci-static/bootstrap_mod/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-bootstrap-mod/htdocs/luci-static/bootstrap_mod/favicon.ico -------------------------------------------------------------------------------- /lienol/luci-theme-bootstrap-mod/htdocs/luci-static/bootstrap_mod/wifi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TinyTitanPro/lienol-openwrt-package/948333d87ed647c88a7e8583fa220549296e0649/lienol/luci-theme-bootstrap-mod/htdocs/luci-static/bootstrap_mod/wifi.png -------------------------------------------------------------------------------- /lienol/luci-theme-bootstrap-mod/root/etc/uci-defaults/30_luci-theme-bootstrap-mod: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | uci batch <<-EOF 3 | set luci.themes.Bootstrap_Mod=/luci-static/bootstrap_mod 4 | set luci.themes.Bootstrap_Blue=/luci-static/bootstrap_blue 5 | set luci.main.mediaurlbase=/luci-static/bootstrap_mod 6 | commit luci 7 | EOF 8 | exit 0 9 | -------------------------------------------------------------------------------- /others/luci-app-control-timewol/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2016 Openwrt.org 2 | # 3 | # This is free software, licensed under the Apache License, Version 2.0 . 4 | # 5 | 6 | include $(TOPDIR)/rules.mk 7 | 8 | LUCI_TITLE:=LuCI support for Timewol From Koolshare 9 | LUCI_DEPENDS:=+etherwake 10 | LUCI_PKGARCH:=all 11 | PKG_VERSION:=1.0 12 | PKG_RELEASE:=3-20190309 13 | 14 | include $(TOPDIR)/feeds/luci/luci.mk 15 | 16 | # call BuildPackage - OpenWrt buildroot signature 17 | -------------------------------------------------------------------------------- /others/luci-app-control-timewol/luasrc/controller/timewol.lua: -------------------------------------------------------------------------------- 1 | module("luci.controller.timewol", package.seeall) 2 | 3 | function index() 4 | if not nixio.fs.access("/etc/config/timewol") then return end 5 | 6 | entry({"admin", "control"}, firstchild(), "Control", 44).dependent = false 7 | entry({"admin", "control", "timewol"}, cbi("timewol"), _("定时唤醒"), 95).dependent = 8 | true 9 | entry({"admin", "control", "timewol", "status"}, call("status")).leaf = true 10 | end 11 | 12 | function status() 13 | local e = {} 14 | e.status = luci.sys 15 | .call("cat /etc/crontabs/root |grep etherwake >/dev/null") == 16 | 0 17 | luci.http.prepare_content("application/json") 18 | luci.http.write_json(e) 19 | end 20 | -------------------------------------------------------------------------------- /others/luci-app-control-timewol/luasrc/view/timewol/index.htm: -------------------------------------------------------------------------------- 1 | <%# 2 | Copyright 2016 Chen RuiWei 3 | Licensed to the public under the Apache License 2.0. 4 | -%> 5 | 6 | <% include("cbi/map") %> 7 | 19 | -------------------------------------------------------------------------------- /others/luci-app-control-timewol/luasrc/view/timewol/timewol.htm: -------------------------------------------------------------------------------- 1 | <%+cbi/valueheader%> 2 | <%=pcdata(self:cfgvalue(section) or self.default or "")%> 3 | <%+cbi/valuefooter%> 4 | -------------------------------------------------------------------------------- /others/luci-app-control-timewol/po/zh-cn/timewol.po: -------------------------------------------------------------------------------- 1 | msgid "Control" 2 | msgstr "管控" 3 | -------------------------------------------------------------------------------- /others/luci-app-control-timewol/root/etc/config/timewol: -------------------------------------------------------------------------------- 1 | 2 | config basic 3 | option enable '0' 4 | -------------------------------------------------------------------------------- /others/luci-app-control-timewol/root/etc/uci-defaults/luci-app-control-timewol: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | uci -q batch <<-EOF >/dev/null 4 | delete ucitrack.@timewol[-1] 5 | add ucitrack timewol 6 | set ucitrack.@timewol[-1].init=timewol 7 | commit ucitrack 8 | EOF 9 | 10 | rm -f /tmp/luci-indexcache 11 | exit 0 12 | -------------------------------------------------------------------------------- /others/luci-app-control-timewol/root/usr/share/rpcd/acl.d/luci-app-control-timewol.json: -------------------------------------------------------------------------------- 1 | { 2 | "luci-app-control-timewol": { 3 | "description": "Grant UCI access for luci-app-control-timewol", 4 | "read": { 5 | "uci": [ "timewol" ] 6 | }, 7 | "write": { 8 | "uci": [ "timewol" ] 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /others/luci-app-control-webrestriction/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2016 Openwrt.org 2 | # 3 | # This is free software, licensed under the Apache License, Version 2.0 . 4 | # 5 | 6 | include $(TOPDIR)/rules.mk 7 | 8 | LUCI_TITLE:=LuCI support for Webrestriction From Koolshare 9 | LUCI_PKGARCH:=all 10 | PKG_VERSION:=1.0 11 | PKG_RELEASE:=5-20200107 12 | 13 | include $(TOPDIR)/feeds/luci/luci.mk 14 | 15 | # call BuildPackage - OpenWrt buildroot signature 16 | 17 | 18 | -------------------------------------------------------------------------------- /others/luci-app-control-webrestriction/luasrc/controller/webrestriction.lua: -------------------------------------------------------------------------------- 1 | module("luci.controller.webrestriction", package.seeall) 2 | 3 | function index() 4 | if not nixio.fs.access("/etc/config/webrestriction") then return end 5 | 6 | entry({"admin", "control"}, firstchild(), "Control", 44).dependent = false 7 | entry({"admin", "control", "webrestriction"}, cbi("webrestriction"), 8 | _("访问限制"), 11).dependent = true 9 | entry({"admin", "control", "webrestriction", "status"}, call("status")).leaf = 10 | true 11 | end 12 | 13 | function status() 14 | local e = {} 15 | e.status = luci.sys.call( 16 | "iptables -L FORWARD |grep WEB_RESTRICTION >/dev/null") == 0 17 | luci.http.prepare_content("application/json") 18 | luci.http.write_json(e) 19 | end 20 | -------------------------------------------------------------------------------- /others/luci-app-control-webrestriction/luasrc/model/cbi/webrestriction.lua: -------------------------------------------------------------------------------- 1 | local o = require "luci.sys" 2 | local a, e, t 3 | a = Map("webrestriction", translate("访问限制"), translate( 4 | "使用黑名单或者白名单模式控制列表中的客户端是否能够连接到互联网。")) 5 | a.template = "webrestriction/index" 6 | e = a:section(TypedSection, "basic", translate("Running Status")) 7 | e.anonymous = true 8 | t = e:option(DummyValue, "webrestriction_status", translate("当前状态")) 9 | t.template = "webrestriction/webrestriction" 10 | t.value = translate("Collecting data...") 11 | e = a:section(TypedSection, "basic", translate("全局设置")) 12 | e.anonymous = true 13 | t = e:option(Flag, "enable", translate("开启")) 14 | t.rmempty = false 15 | t = e:option(ListValue, "limit_type", translate("限制模式")) 16 | t.default = "blacklist" 17 | t:value("whitelist", translate("白名单")) 18 | t:value("blacklist", translate("Blacklist")) 19 | t.rmempty = false 20 | e = a:section(TypedSection, "macbind", translate("名单设置"), translate( 21 | "如果是黑名单模式,列表中的客户端将被禁止连接到互联网;白名单模式表示仅有列表中的客户端可以连接到互联网。")) 22 | e.template = "cbi/tblsection" 23 | e.anonymous = true 24 | e.addremove = true 25 | t = e:option(Flag, "enable", translate("开启控制")) 26 | t.rmempty = false 27 | t = e:option(Value, "macaddr", translate("MAC地址")) 28 | t.rmempty = true 29 | o.net.mac_hints(function(e, a) t:value(e, "%s (%s)" % {e, a}) end) 30 | return a 31 | -------------------------------------------------------------------------------- /others/luci-app-control-webrestriction/luasrc/view/webrestriction/index.htm: -------------------------------------------------------------------------------- 1 | <%# 2 | Copyright 2016 Chen RuiWei 3 | Licensed to the public under the Apache License 2.0. 4 | -%> 5 | 6 | <% include("cbi/map") %> 7 | 19 | -------------------------------------------------------------------------------- /others/luci-app-control-webrestriction/luasrc/view/webrestriction/webrestriction.htm: -------------------------------------------------------------------------------- 1 | <%+cbi/valueheader%> 2 | <%=pcdata(self:cfgvalue(section) or self.default or "")%> 3 | <%+cbi/valuefooter%> 4 | -------------------------------------------------------------------------------- /others/luci-app-control-webrestriction/po/zh-cn/webrestriction.po: -------------------------------------------------------------------------------- 1 | msgid "Control" 2 | msgstr "管控" 3 | -------------------------------------------------------------------------------- /others/luci-app-control-webrestriction/root/etc/config/webrestriction: -------------------------------------------------------------------------------- 1 | 2 | config basic 3 | option enable '0' 4 | option limit_type 'blacklist' 5 | 6 | -------------------------------------------------------------------------------- /others/luci-app-control-webrestriction/root/etc/uci-defaults/luci-app-control-webrestriction: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | uci -q batch <<-EOF >/dev/null 4 | delete ucitrack.@webrestriction[-1] 5 | add ucitrack webrestriction 6 | set ucitrack.@webrestriction[-1].init=webrestriction 7 | commit ucitrack 8 | EOF 9 | 10 | rm -f /tmp/luci-indexcache 11 | exit 0 12 | -------------------------------------------------------------------------------- /others/luci-app-control-webrestriction/root/usr/share/rpcd/acl.d/luci-app-control-webrestriction.json: -------------------------------------------------------------------------------- 1 | { 2 | "luci-app-control-webrestriction": { 3 | "description": "Grant UCI access for luci-app-control-webrestriction", 4 | "read": { 5 | "uci": [ "webrestriction" ] 6 | }, 7 | "write": { 8 | "uci": [ "webrestriction" ] 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /others/luci-app-control-weburl/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2016 Openwrt.org 2 | # 3 | # This is free software, licensed under the Apache License, Version 2.0 . 4 | # 5 | 6 | include $(TOPDIR)/rules.mk 7 | 8 | LUCI_TITLE:=LuCI support for Weburl From Koolshare 9 | LUCI_DEPENDS:=+iptables-mod-filter +kmod-ipt-filter 10 | LUCI_PKGARCH:=all 11 | PKG_VERSION:=1.0 12 | PKG_RELEASE:=3-20190309 13 | 14 | include $(TOPDIR)/feeds/luci/luci.mk 15 | 16 | # call BuildPackage - OpenWrt buildroot signature 17 | 18 | 19 | -------------------------------------------------------------------------------- /others/luci-app-control-weburl/luasrc/controller/weburl.lua: -------------------------------------------------------------------------------- 1 | module("luci.controller.weburl", package.seeall) 2 | 3 | function index() 4 | if not nixio.fs.access("/etc/config/weburl") then return end 5 | 6 | entry({"admin", "control"}, firstchild(), "Control", 44).dependent = false 7 | entry({"admin", "control", "weburl"}, cbi("weburl"), _("网址过滤"), 12).dependent = 8 | true 9 | entry({"admin", "control", "weburl", "status"}, call("status")).leaf = true 10 | end 11 | 12 | function status() 13 | local e = {} 14 | e.status = luci.sys.call("iptables -L FORWARD |grep WEBURL >/dev/null") == 0 15 | luci.http.prepare_content("application/json") 16 | luci.http.write_json(e) 17 | end 18 | -------------------------------------------------------------------------------- /others/luci-app-control-weburl/luasrc/model/cbi/weburl.lua: -------------------------------------------------------------------------------- 1 | local o = require "luci.sys" 2 | local a, t, e 3 | a = Map("weburl", translate("网址过滤"), translate( 4 | "在这里设置关键词过滤,可以是URL里任意字符,可以过滤如视频网站、QQ、迅雷、淘宝。。。")) 5 | a.template = "weburl/index" 6 | t = a:section(TypedSection, "basic", translate("Running Status")) 7 | t.anonymous = true 8 | e = t:option(DummyValue, "weburl_status", translate("当前状态")) 9 | e.template = "weburl/weburl" 10 | e.value = translate("Collecting data...") 11 | t = a:section(TypedSection, "basic", translate("基本设置"), translate( 12 | "一般来说普通过滤效果就很好了,强制过滤会使用更复杂的算法导致更高的CPU占用。")) 13 | t.anonymous = true 14 | e = t:option(Flag, "enable", translate("开启")) 15 | e.rmempty = false 16 | e = t:option(Flag, "algos", translate("强效过滤")) 17 | e.rmempty = false 18 | t = a:section(TypedSection, "macbind", translate("关键词设置"), translate( 19 | "黑名单MAC不设置为全客户端过滤,如设置只过滤指定的客户端。过滤时间可不设置。")) 20 | t.template = "cbi/tblsection" 21 | t.anonymous = true 22 | t.addremove = true 23 | e = t:option(Flag, "enable", translate("开启控制")) 24 | e.rmempty = false 25 | e = t:option(Value, "macaddr", translate("黑名单MAC")) 26 | e.rmempty = true 27 | o.net.mac_hints(function(t, a) e:value(t, "%s (%s)" % {t, a}) end) 28 | e = t:option(Value, "timeon", translate("开始过滤时间")) 29 | e.placeholder = "00:00" 30 | e.rmempty = true 31 | e = t:option(Value, "timeoff", translate("取消过滤时间")) 32 | e.placeholder = "23:59" 33 | e.rmempty = true 34 | e = t:option(Value, "keyword", translate("网址关键词")) 35 | e.rmempty = false 36 | return a 37 | -------------------------------------------------------------------------------- /others/luci-app-control-weburl/luasrc/view/weburl/index.htm: -------------------------------------------------------------------------------- 1 | <%# 2 | Copyright 2016 Chen RuiWei 3 | Licensed to the public under the Apache License 2.0. 4 | -%> 5 | 6 | <% include("cbi/map") %> 7 | 19 | -------------------------------------------------------------------------------- /others/luci-app-control-weburl/luasrc/view/weburl/weburl.htm: -------------------------------------------------------------------------------- 1 | <%+cbi/valueheader%> 2 | <%=pcdata(self:cfgvalue(section) or self.default or "")%> 3 | <%+cbi/valuefooter%> 4 | -------------------------------------------------------------------------------- /others/luci-app-control-weburl/po/zh-cn/weburl.po: -------------------------------------------------------------------------------- 1 | msgid "Control" 2 | msgstr "管控" 3 | -------------------------------------------------------------------------------- /others/luci-app-control-weburl/root/etc/config/weburl: -------------------------------------------------------------------------------- 1 | 2 | config basic 3 | option enable '0' 4 | option algos '0' 5 | 6 | config macbind 7 | option keyword 'qq.com' 8 | option enable '0' 9 | option macaddr '00:0C:29:C8:99:9E' 10 | 11 | config macbind 12 | option keyword 'taobao.com' 13 | option enable '0' 14 | 15 | config macbind 16 | option enable '0' 17 | option keyword 'youku.com' 18 | 19 | config macbind 20 | option enable '0' 21 | option keyword 'www' 22 | 23 | -------------------------------------------------------------------------------- /others/luci-app-control-weburl/root/etc/uci-defaults/luci-app-control-weburl: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | uci -q batch <<-EOF >/dev/null 4 | delete ucitrack.@weburl[-1] 5 | add ucitrack weburl 6 | set ucitrack.@weburl[-1].init=weburl 7 | commit ucitrack 8 | EOF 9 | 10 | rm -f /tmp/luci-indexcache 11 | exit 0 12 | -------------------------------------------------------------------------------- /others/luci-app-control-weburl/root/usr/share/rpcd/acl.d/luci-app-control-weburl.json: -------------------------------------------------------------------------------- 1 | { 2 | "luci-app-control-weburl": { 3 | "description": "Grant UCI access for luci-app-control-weburl", 4 | "read": { 5 | "uci": [ "weburl" ] 6 | }, 7 | "write": { 8 | "uci": [ "weburl" ] 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /others/luci-app-kcptun/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2016-2017 Xingwang Liao 3 | # Licensed to the public under the Apache License 2.0. 4 | # 5 | 6 | include $(TOPDIR)/rules.mk 7 | 8 | PKG_NAME:=luci-app-kcptun 9 | PKG_VERSION:=1.4.5 10 | PKG_RELEASE:=1 11 | 12 | PKG_LICENSE:=Apache-2.0 13 | PKG_MAINTAINER:=Xingwang Liao 14 | 15 | LUCI_TITLE:=LuCI support for Kcptun 16 | LUCI_DEPENDS:=+jshn +wget +luci-lib-jsonc 17 | LUCI_PKGARCH:=all 18 | 19 | define Package/$(PKG_NAME)/conffiles 20 | /etc/config/kcptun 21 | endef 22 | 23 | include $(TOPDIR)/feeds/luci/luci.mk 24 | 25 | define Package/$(PKG_NAME)/postinst 26 | #!/bin/sh 27 | if [ -z "$${IPKG_INSTROOT}" ]; then 28 | ( . /etc/uci-defaults/40_luci-kcptun ) && rm -f /etc/uci-defaults/40_luci-kcptun 29 | chmod 755 /etc/init.d/kcptun >/dev/null 2>&1 30 | /etc/init.d/kcptun enable >/dev/null 2>&1 31 | fi 32 | exit 0 33 | endef 34 | 35 | # call BuildPackage - OpenWrt buildroot signature 36 | -------------------------------------------------------------------------------- /others/luci-app-kcptun/luasrc/view/kcptun/button.htm: -------------------------------------------------------------------------------- 1 | <%# 2 | Copyright 2017 Hsing-wang Liao 3 | Licensed to the public under the Apache License 2.0. 4 | -%> 5 | 6 | <%+cbi/valueheader%> 7 | <% if self:cfgvalue(section) ~= false then %> 8 | " type="button"<%= 9 | attr("name", cbid) .. 10 | attr("id", self.id or cbid) .. 11 | attr("value", self.inputtitle or self.title) .. 12 | ifattr(self.btnclick, "onclick", self.btnclick) .. 13 | ifattr(self.placeholder, "placeholder") 14 | %> /> 15 | 16 | <% else %> 17 | - 18 | <% end %> 19 | <%+cbi/valuefooter%> 20 | -------------------------------------------------------------------------------- /others/luci-app-kcptun/root/etc/config/kcptun: -------------------------------------------------------------------------------- 1 | 2 | config general 'general' 3 | option server '' 4 | option client_file '/usr/bin/kcptun-client' 5 | option daemon_user 'root' 6 | option enable_logging '1' 7 | 8 | config servers 'default' 9 | option server_addr '' 10 | option server_port '29900' 11 | option listen_addr '0.0.0.0' 12 | option listen_port '12948' 13 | option crypt 'aes' 14 | option mode 'fast' 15 | option nocomp 'false' 16 | -------------------------------------------------------------------------------- /others/luci-app-kcptun/root/etc/uci-defaults/40_luci-kcptun: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | uci -q batch <<-EOF >/dev/null 4 | delete ucitrack.@kcptun[-1] 5 | add ucitrack kcptun 6 | set ucitrack.@kcptun[-1].init=kcptun 7 | commit ucitrack 8 | EOF 9 | 10 | general=$(uci -q get kcptun.@general[-1]) 11 | 12 | if [ -z "$general" ]; then 13 | uci -q add kcptun general 14 | fi 15 | 16 | if [ ."$general" != ."general" ]; then 17 | uci -q batch <<-EOF >/dev/null 18 | rename kcptun.@general[-1]="general" 19 | set kcptun.general.server="" 20 | commit kcptun 21 | EOF 22 | fi 23 | 24 | rm -rf /tmp/luci-indexcache /tmp/luci-modulecache 25 | exit 0 26 | -------------------------------------------------------------------------------- /others/luci-app-kcptun/root/usr/share/rpcd/acl.d/luci-app-kcptun.json: -------------------------------------------------------------------------------- 1 | { 2 | "luci-app-kcptun": { 3 | "description": "Grant UCI access for luci-app-kcptun", 4 | "read": { 5 | "uci": [ "kcptun" ] 6 | }, 7 | "write": { 8 | "uci": [ "kcptun" ] 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /others/luci-app-syncthing/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2016 Openwrt.org 2 | # 3 | # This is free software, licensed under the Apache License, Version 2.0 . 4 | # 5 | 6 | include $(TOPDIR)/rules.mk 7 | 8 | LUCI_TITLE:=LuCI support for syncthing 9 | LUCI_DEPENDS:=+syncthing 10 | LUCI_PKGARCH:=all 11 | PKG_VERSION:=1.0 12 | PKG_RELEASE:=2 13 | 14 | include $(TOPDIR)/feeds/luci/luci.mk 15 | 16 | # call BuildPackage - OpenWrt buildroot signature 17 | 18 | -------------------------------------------------------------------------------- /others/luci-app-syncthing/luasrc/controller/syncthing.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.syncthing", package.seeall) 3 | 4 | function index() 5 | if not nixio.fs.access("/etc/config/syncthing") then 6 | return 7 | end 8 | 9 | entry({"admin", "nas"}, firstchild(), "NAS", 44).dependent = false 10 | entry({"admin", "nas", "syncthing"}, cbi("syncthing"), _("Syncthing"), 10).dependent = true 11 | entry({"admin","nas","syncthing","status"},call("act_status")).leaf=true 12 | end 13 | 14 | function act_status() 15 | local e={} 16 | e.running=luci.sys.call("pgrep syncthing >/dev/null")==0 17 | luci.http.prepare_content("application/json") 18 | luci.http.write_json(e) 19 | end 20 | -------------------------------------------------------------------------------- /others/luci-app-syncthing/luasrc/model/cbi/syncthing.lua: -------------------------------------------------------------------------------- 1 | -- Copyright 2008 Yanira 2 | -- Licensed to the public under the Apache License 2.0. 3 | 4 | require("nixio.fs") 5 | 6 | m = Map("syncthing", translate("SyncThing Synchronization Tool")) 7 | 8 | m:section(SimpleSection).template = "syncthing/syncthing_status" 9 | 10 | s = m:section(TypedSection, "setting", translate("Settings")) 11 | s.anonymous = true 12 | 13 | s:option(Flag, "enabled", translate("Enable")) 14 | 15 | s:option(Value, "port", translate("port")).default = 8384 16 | s.rmempty = true 17 | 18 | 19 | return m 20 | -------------------------------------------------------------------------------- /others/luci-app-syncthing/luasrc/view/syncthing/syncthing_status.htm: -------------------------------------------------------------------------------- 1 | 17 | 18 |
19 |

20 | <%:Collecting data...%> 21 |

22 |
23 | -------------------------------------------------------------------------------- /others/luci-app-syncthing/po/zh-cn/syncthing.po: -------------------------------------------------------------------------------- 1 | msgid "Syncthing" 2 | msgstr "储存同步" 3 | 4 | msgid "SyncThing Synchronization Tool" 5 | msgstr "syncthing同步工具" 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /others/luci-app-syncthing/root/etc/config/syncthing: -------------------------------------------------------------------------------- 1 | 2 | config setting 'config' 3 | option enabled '0' 4 | option port '8384' 5 | -------------------------------------------------------------------------------- /others/luci-app-syncthing/root/etc/init.d/syncthing: -------------------------------------------------------------------------------- 1 | #!/bin/sh /etc/rc.common 2 | START=50 3 | 4 | run_syncthing() 5 | { 6 | local enabled 7 | config_get_bool enabled $1 enabled 8 | if [ $enabled = 1 ]; then 9 | local port 10 | config_get port $1 port 11 | state=`pgrep syncthing | wc -l` 12 | if [ $state = 0 ] ; then 13 | export HOME="/root" 14 | syncthing -gui-address="0.0.0.0:$port" -logfile="/var/log/syncthing.log" -no-browser >/dev/null & 15 | echo "启动中..." 16 | start=`pgrep syncthing | wc -l` 17 | if [ $start = 0 ] ; then 18 | echo "启动失败" 19 | else 20 | echo "启动成功" 21 | fi 22 | else 23 | echo "已在运行" 24 | fi 25 | fi 26 | } 27 | 28 | start() 29 | { 30 | config_load syncthing 31 | config_foreach run_syncthing setting 32 | } 33 | 34 | stop() 35 | { 36 | kill -9 `pgrep syncthing` 37 | stop=`pgrep syncthing | wc -l` 38 | if [ $stop = 0 ] ; then 39 | echo "已停止运行" 40 | else 41 | echo "未停止运行" 42 | fi 43 | } 44 | -------------------------------------------------------------------------------- /others/luci-app-syncthing/root/etc/uci-defaults/luci-syncthing: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | touch /etc/config/syncthing 3 | 4 | uci -q batch <<-EOF >/dev/null 5 | delete ucitrack.@syncthing[-1] 6 | add ucitrack syncthing 7 | set ucitrack.@syncthing[-1].exec='/etc/init.d/syncthing restart' 8 | commit ucitrack 9 | EOF 10 | # remove LuCI cache 11 | rm -f /tmp/luci* 12 | exit 0 13 | -------------------------------------------------------------------------------- /others/luci-app-syncthing/root/usr/share/rpcd/acl.d/luci-app-syncthing.json: -------------------------------------------------------------------------------- 1 | { 2 | "luci-app-syncthing": { 3 | "description": "Grant UCI access for luci-app-syncthing", 4 | "read": { 5 | "uci": [ "syncthing" ] 6 | }, 7 | "write": { 8 | "uci": [ "syncthing" ] 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /others/luci-app-verysync/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2016 Openwrt.org 2 | # 3 | # This is free software, licensed under the Apache License, Version 2.0 . 4 | # 5 | 6 | include $(TOPDIR)/rules.mk 7 | 8 | LUCI_TITLE:=LuCI support for Verysync 9 | LUCI_DEPENDS:=+verysync 10 | LUCI_PKGARCH:=all 11 | PKG_VERSION:=1.0 12 | PKG_RELEASE:=5 13 | 14 | include $(TOPDIR)/feeds/luci/luci.mk 15 | 16 | # call BuildPackage - OpenWrt buildroot signature 17 | -------------------------------------------------------------------------------- /others/luci-app-verysync/luasrc/controller/verysync.lua: -------------------------------------------------------------------------------- 1 | module("luci.controller.verysync", package.seeall) 2 | 3 | function index() 4 | if not nixio.fs.access("/etc/config/verysync") then 5 | return 6 | end 7 | 8 | entry({"admin", "nas", "verysync"}, cbi("verysync"), _("Verysync"), 10).dependent = true 9 | entry({"admin","nas","verysync","status"},call("act_status")).leaf=true 10 | end 11 | 12 | function act_status() 13 | local e={} 14 | e.running=luci.sys.call("pgrep verysync >/dev/null")==0 15 | luci.http.prepare_content("application/json") 16 | luci.http.write_json(e) 17 | end 18 | -------------------------------------------------------------------------------- /others/luci-app-verysync/luasrc/model/cbi/verysync.lua: -------------------------------------------------------------------------------- 1 | -- Copyright 2008 Yanira 2 | -- Copyright 2020 KFERMercer 3 | -- Licensed to the public under the Apache License 2.0. 4 | 5 | m = Map("verysync") 6 | m.title = translate("Verysync") 7 | m.description = translate("Simple and easy-to-use multi-platform file synchronization software, astonishing transmission speed is different from the greatest advantage of other products. Micro-force synchronization of intelligent P2P technology to accelerate synchronization, will split the file into several KB-only data synchronization, and the file will be AES encryption processing.") 8 | 9 | m:section(SimpleSection).template = "verysync/verysync_status" 10 | 11 | s = m:section(TypedSection, "verysync") 12 | s.addremove = false 13 | s.anonymous = true 14 | 15 | o = s:option(Flag, "enabled", translate("Enable")) 16 | o.rmempty = false 17 | 18 | o = s:option(Value, "port", translate("Port")) 19 | o.datatype = "port" 20 | o.placeholder = "8886" 21 | o.default = "8886" 22 | o.rmempty = false 23 | 24 | return m 25 | -------------------------------------------------------------------------------- /others/luci-app-verysync/luasrc/view/verysync/verysync_status.htm: -------------------------------------------------------------------------------- 1 | 23 | 24 |
25 |

26 | <%:Collecting data...%> 27 |

28 |
29 | -------------------------------------------------------------------------------- /others/luci-app-verysync/po/zh-cn/verysync.po: -------------------------------------------------------------------------------- 1 | msgid "Verysync" 2 | msgstr "微力同步" 3 | 4 | msgid "Simple and easy-to-use multi-platform file synchronization software, astonishing transmission speed is different from the greatest advantage of other products. Micro-force synchronization of intelligent P2P technology to accelerate synchronization, will split the file into several KB-only data synchronization, and the file will be AES encryption processing." 5 | msgstr "简单易用的多平台文件同步软件, 惊人的传输速度是不同于其他产品的最大优势. 微力同步的智能 P2P 加速同步技术会将文件分割成若干份仅 KB 的数据进行传输, 同时会使用 AES 加密处理." 6 | 7 | msgid "Open Verysync page" 8 | msgstr "打开微力同步页面" 9 | -------------------------------------------------------------------------------- /others/luci-app-verysync/root/etc/config/verysync: -------------------------------------------------------------------------------- 1 | 2 | config verysync 'config' 3 | -------------------------------------------------------------------------------- /others/luci-app-verysync/root/etc/init.d/verysync: -------------------------------------------------------------------------------- 1 | #!/bin/sh /etc/rc.common 2 | 3 | START=50 4 | STOP=10 5 | 6 | start() { 7 | local enabled="$(uci get verysync.config.enabled)" 8 | local port="$(uci get verysync.config.port)" 9 | stop 10 | [ "${enabled}" == "1" ] || exit 0 11 | export HOME="/root/" 12 | verysync -gui-address="0.0.0.0:${port}" -logfile="/var/log/verysync.log" -home="/etc/verysync/" -no-browser >/dev/null 2>&1 & 13 | } 14 | 15 | stop() { 16 | kill -9 `pgrep verysync` >/dev/null 2>&1 17 | } 18 | -------------------------------------------------------------------------------- /others/luci-app-verysync/root/etc/uci-defaults/luci-verysync: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | uci -q batch <<-EOF >/dev/null 4 | delete ucitrack.@verysync[-1] 5 | add ucitrack verysync 6 | set ucitrack.@verysync[-1].init=verysync 7 | commit ucitrack 8 | EOF 9 | 10 | rm -f /tmp/luci-indexcache 11 | exit 0 12 | -------------------------------------------------------------------------------- /others/luci-app-verysync/root/usr/share/rpcd/acl.d/luci-app-verysync.json: -------------------------------------------------------------------------------- 1 | { 2 | "luci-app-verysync": { 3 | "description": "Grant UCI access for luci-app-verysync", 4 | "read": { 5 | "uci": [ "verysync" ] 6 | }, 7 | "write": { 8 | "uci": [ "verysync" ] 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /package/chinadns-ng/Makefile: -------------------------------------------------------------------------------- 1 | include $(TOPDIR)/rules.mk 2 | 3 | PKG_NAME:=chinadns-ng 4 | PKG_VERSION:=1.0-beta.22 5 | PKG_RELEASE:=1 6 | 7 | PKG_SOURCE_PROTO:=git 8 | PKG_SOURCE_URL:=https://github.com/zfl9/chinadns-ng.git 9 | PKG_SOURCE_VERSION:=83fd24bc259414358134fb5015ad3495b96bb451 10 | PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION) 11 | PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz 12 | PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)/$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION) 13 | 14 | PKG_BUILD_PARALLEL:=1 15 | PKG_USE_MIPS16:=0 16 | 17 | PKG_LICENSE:=GPLv3 18 | PKG_LICENSE_FILES:=LICENSE 19 | PKG_MAINTAINER:=pexcn 20 | 21 | include $(INCLUDE_DIR)/package.mk 22 | 23 | define Package/chinadns-ng 24 | SECTION:=net 25 | CATEGORY:=Network 26 | TITLE:=ChinaDNS next generation, refactoring with epoll and ipset 27 | URL:=https://github.com/zfl9/chinadns-ng 28 | DEPENDS:=+ipset 29 | endef 30 | 31 | define Package/chinadns-ng/description 32 | ChinaDNS next generation, refactoring with epoll and ipset. 33 | endef 34 | 35 | define Package/chinadns-ng/conffiles 36 | endef 37 | 38 | define Package/chinadns-ng/install 39 | $(INSTALL_DIR) $(1)/usr/bin 40 | $(INSTALL_BIN) $(PKG_BUILD_DIR)/chinadns-ng $(1)/usr/bin 41 | endef 42 | 43 | $(eval $(call BuildPackage,chinadns-ng)) 44 | -------------------------------------------------------------------------------- /package/ipt2socks/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2014 OpenWrt-dist 3 | # 4 | # This is free software, licensed under the GNU General Public License v2. 5 | # See /LICENSE for more information. 6 | # 7 | 8 | include $(TOPDIR)/rules.mk 9 | 10 | PKG_NAME:=ipt2socks 11 | PKG_VERSION:=1.0.2 12 | PKG_RELEASE:=5 13 | 14 | PKG_SOURCE_PROTO:=git 15 | PKG_SOURCE_URL:=https://github.com/zfl9/ipt2socks.git 16 | PKG_SOURCE_VERSION:=aebd43819d5eb63253c6df2610089188c194c3e3 17 | PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION) 18 | PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz 19 | PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)/$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION) 20 | 21 | include $(INCLUDE_DIR)/package.mk 22 | 23 | define Package/ipt2socks 24 | SECTION:=net 25 | CATEGORY:=Network 26 | TITLE:=Utility for converting iptables (REDIRECT/TPROXY) to SOCKS5 27 | URL:=https://github.com/zfl9/ipt2socks 28 | DEPENDS:=+libuv 29 | endef 30 | 31 | define Package/ipt2socks/description 32 | Utility for converting iptables (REDIRECT/TPROXY) to SOCKS5. 33 | endef 34 | 35 | define Package/ipt2socks/conffiles 36 | /etc/config/ipt2socks 37 | endef 38 | 39 | #MAKE_FLAGS += INCLUDES="-I$(STAGING_DIR)/usr/include" 40 | #MAKE_FLAGS += LDFLAGS="-L$(STAGING_DIR)/usr/lib" 41 | MAKE_FLAGS += LIBS="-l:libuv_a.a" 42 | 43 | define Package/ipt2socks/install 44 | $(INSTALL_DIR) $(1)/usr/bin 45 | $(INSTALL_BIN) $(PKG_BUILD_DIR)/ipt2socks $(1)/usr/bin 46 | endef 47 | 48 | $(eval $(call BuildPackage,ipt2socks)) 49 | -------------------------------------------------------------------------------- /package/openssl1.1/patches/1.1.1/100-Configure-afalg-support.patch: -------------------------------------------------------------------------------- 1 | From bf4f3a5696c65b4a48935599ccba43311c114c95 Mon Sep 17 00:00:00 2001 2 | From: Eneas U de Queiroz 3 | Date: Thu, 27 Sep 2018 08:29:21 -0300 4 | Subject: Do not use host kernel version to disable AFALG 5 | 6 | This patch prevents the Configure script from using the host kernel 7 | version to disable building the AFALG engine on openwrt targets. 8 | 9 | Signed-off-by: Eneas U de Queiroz 10 | 11 | --- a/Configure 12 | +++ b/Configure 13 | @@ -1532,7 +1532,9 @@ unless ($disabled{"crypto-mdebug-backtra 14 | 15 | unless ($disabled{afalgeng}) { 16 | $config{afalgeng}=""; 17 | - if (grep { $_ eq 'afalgeng' } @{$target{enable}}) { 18 | + if ($target =~ m/openwrt$/) { 19 | + push @{$config{engdirs}}, "afalg"; 20 | + } elsif (grep { $_ eq 'afalgeng' } @{$target{enable}}) { 21 | my $minver = 4*10000 + 1*100 + 0; 22 | if ($config{CROSS_COMPILE} eq "") { 23 | my $verstr = `uname -r`; 24 | -------------------------------------------------------------------------------- /package/openssl1.1/patches/1.1.1/120-strip-cflags-from-binary.patch: -------------------------------------------------------------------------------- 1 | From f453f3eccb852740e37e9436dac5670d311c13b0 Mon Sep 17 00:00:00 2001 2 | From: Eneas U de Queiroz 3 | Date: Thu, 27 Sep 2018 08:31:38 -0300 4 | Subject: void exposing build directories 5 | 6 | The CFLAGS contain the build directories, and are shown by calling 7 | OpenSSL_version(OPENSSL_CFLAGS), or running openssl version -a 8 | 9 | Signed-off-by: Eneas U de Queiroz 10 | 11 | --- a/crypto/build.info 12 | +++ b/crypto/build.info 13 | @@ -10,7 +10,7 @@ EXTRA= ../ms/uplink-x86.pl ../ms/uplink 14 | ppccpuid.pl pariscid.pl alphacpuid.pl arm64cpuid.pl armv4cpuid.pl 15 | 16 | DEPEND[cversion.o]=buildinf.h 17 | -GENERATE[buildinf.h]=../util/mkbuildinf.pl "$(CC) $(LIB_CFLAGS) $(CPPFLAGS_Q)" "$(PLATFORM)" 18 | +GENERATE[buildinf.h]=../util/mkbuildinf.pl "$(filter-out -I% -iremap% -fmacro-prefix-map%,$(CC) $(LIB_CFLAGS) $(CPPFLAGS_Q))" "$(PLATFORM)" 19 | DEPEND[buildinf.h]=../configdata.pm 20 | 21 | GENERATE[uplink-x86.s]=../ms/uplink-x86.pl $(PERLASM_SCHEME) 22 | -------------------------------------------------------------------------------- /package/openssl1.1/patches/1.1.1/130-dont-build-tests-fuzz.patch: -------------------------------------------------------------------------------- 1 | From e2339aa9c68837089d17cf309022cee497fe2412 Mon Sep 17 00:00:00 2001 2 | From: Eneas U de Queiroz 3 | Date: Thu, 27 Sep 2018 08:34:38 -0300 4 | Subject: Do not build tests and fuzz directories 5 | 6 | This shortens build time. 7 | 8 | Signed-off-by: Eneas U de Queiroz 9 | 10 | --- a/Configure 11 | +++ b/Configure 12 | @@ -296,7 +296,7 @@ my $auto_threads=1; # enable threads 13 | my $default_ranlib; 14 | 15 | # Top level directories to build 16 | -$config{dirs} = [ "crypto", "ssl", "engines", "apps", "test", "util", "tools", "fuzz" ]; 17 | +$config{dirs} = [ "crypto", "ssl", "engines", "apps", "util", "tools" ]; 18 | # crypto/ subdirectories to build 19 | $config{sdirs} = [ 20 | "objects", 21 | @@ -308,7 +308,7 @@ $config{sdirs} = [ 22 | "cms", "ts", "srp", "cmac", "ct", "async", "kdf", "store" 23 | ]; 24 | # test/ subdirectories to build 25 | -$config{tdirs} = [ "ossl_shim" ]; 26 | +$config{tdirs} = []; 27 | 28 | # Known TLS and DTLS protocols 29 | my @tls = qw(ssl3 tls1 tls1_1 tls1_2 tls1_3); 30 | -------------------------------------------------------------------------------- /package/pdnsd-alt/files/pdnsd.init: -------------------------------------------------------------------------------- 1 | #!/bin/sh /etc/rc.common 2 | 3 | START=65 4 | NAME=pdnsd 5 | DESC="proxy DNS server" 6 | 7 | DAEMON=/usr/sbin/pdnsd 8 | PID_FILE=/var/run/$NAME.pid 9 | CACHEDIR=/var/pdnsd 10 | CACHE=$CACHEDIR/pdnsd.cache 11 | 12 | USER=nobody 13 | GROUP=nogroup 14 | 15 | start() { 16 | echo -n "Starting $DESC: $NAME" 17 | 18 | gen_cache 19 | 20 | $DAEMON --daemon -p $PID_FILE 21 | echo " ." 22 | } 23 | 24 | stop() { 25 | echo -n "Stopping $DESC: $NAME" 26 | kill `cat $PID_FILE` > /dev/null 2>&1 27 | rm -rf $PID_FILE 28 | echo " ." 29 | } 30 | 31 | restart() { 32 | echo "Restarting $DESC: $NAME... " 33 | stop 34 | sleep 2 35 | start 36 | } 37 | 38 | gen_cache() 39 | { 40 | if ! test -f "$CACHE"; then 41 | mkdir -p `dirname $CACHE` 42 | dd if=/dev/zero of="$CACHE" bs=1 count=4 2> /dev/null 43 | chown -R $USER.$GROUP $CACHEDIR 44 | fi 45 | } 46 | 47 | -------------------------------------------------------------------------------- /package/shadowsocksr-libev/patches/0002-Revert-verify_simple-and-auth_simple.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/obfs/obfs.c b/src/obfs/obfs.c 2 | index 463359f..4cd750a 100644 3 | --- a/src/obfs/obfs.c 4 | +++ b/src/obfs/obfs.c 5 | @@ -88,7 +88,7 @@ 6 | plugin->client_decode = tls12_ticket_auth_client_decode; 7 | 8 | return plugin; 9 | - /*} else if (strcmp(plugin_name, "verify_simple") == 0) { 10 | + } else if (strcmp(plugin_name, "verify_simple") == 0) { 11 | obfs_class * plugin = (obfs_class*)malloc(sizeof(obfs_class)); 12 | plugin->init_data = init_data; 13 | plugin->new_obfs = verify_simple_new_obfs; 14 | @@ -115,7 +115,7 @@ 15 | plugin->client_udp_pre_encrypt = NULL; 16 | plugin->client_udp_post_decrypt = NULL; 17 | 18 | - return plugin;*/ 19 | + return plugin; 20 | } else if (strcmp(plugin_name, "auth_sha1") == 0) { 21 | obfs_class *plugin = (obfs_class *) malloc(sizeof(obfs_class)); 22 | plugin->init_data = auth_simple_init_data; -------------------------------------------------------------------------------- /package/shadowsocksr-libev/patches/999-Fix-Werror-sizeof-pointer-memaccess.patch: -------------------------------------------------------------------------------- 1 | --- a/src/local.c 2 | +++ b/src/local.c 3 | @@ -718,7 +718,7 @@ 4 | 5 | ss_free(hostname); 6 | } else { 7 | - strncpy(host, ip, sizeof(ip)); 8 | + strncpy(host, ip, INET6_ADDRSTRLEN); 9 | } 10 | } 11 | 12 | -------------------------------------------------------------------------------- /package/tcping/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2014 OpenWrt-dist 3 | # 4 | # This is free software, licensed under the GNU General Public License v2. 5 | # See /LICENSE for more information. 6 | # 7 | 8 | include $(TOPDIR)/rules.mk 9 | 10 | 11 | PKG_NAME:=tcping 12 | PKG_VERSION:=0.1 13 | PKG_RELEASE:=2 14 | 15 | PKG_SOURCE_PROTO:=git 16 | PKG_SOURCE_URL:=https://github.com/jlyo/tcping.git 17 | PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) 18 | PKG_SOURCE_VERSION:=79ef6f85d7147d33d0835fac060618ab136503c8 19 | PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz 20 | PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)/$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION) 21 | 22 | include $(INCLUDE_DIR)/package.mk 23 | 24 | define Package/tcping 25 | SECTION:=net 26 | CATEGORY:=Network 27 | TITLE:=tcping measures the latency of a tcp-connection 28 | URL:=https://github.com/jlyo/tcping 29 | endef 30 | 31 | define Package/tcping/description 32 | endef 33 | 34 | define Package/tcping/conffiles 35 | endef 36 | 37 | define Package/tcping/install 38 | $(INSTALL_DIR) $(1)/usr/sbin 39 | $(INSTALL_BIN) $(PKG_BUILD_DIR)/tcping $(1)/usr/sbin 40 | endef 41 | 42 | $(eval $(call BuildPackage,tcping)) 43 | -------------------------------------------------------------------------------- /package/trojan/patches/001-force-openssl-version.patch: -------------------------------------------------------------------------------- 1 | --- a/CMakeLists.txt 2 | +++ b/CMakeLists.txt 3 | @@ -43,7 +43,7 @@ if(MSVC) 4 | add_definitions(-DBOOST_DATE_TIME_NO_LIB) 5 | endif() 6 | 7 | -find_package(OpenSSL 1.1.0 REQUIRED) 8 | +find_package(OpenSSL 1.1.1 REQUIRED) 9 | include_directories(${OPENSSL_INCLUDE_DIR}) 10 | target_link_libraries(trojan ${OPENSSL_LIBRARIES}) 11 | if(OPENSSL_VERSION VERSION_GREATER_EQUAL 1.1.1) 12 | --------------------------------------------------------------------------------