/luci-app-shadowsocksr

OpenWrt/LEDE LuCI for ShadowsocksR-libev

Primary LanguageShellGNU General Public License v3.0GPL-3.0

OpenWrt LuCI for ShadowSocksR-libev

简介 (预览)

本软件包是 shadowsocksr-libev 的 LuCI 控制界面, 方便用户控制和使用「透明代理」「SOCKS5 代理」「端口转发」功能.

软件包文件结构:

├── etc/
│   ├── config/
│   │   └── shadowsocksr                            // UCI 配置文件
│   │── init.d/
│   │   └── shadowsocksr                            // init 脚本
│   └── uci-defaults/
│       └── luci-shadowsocksr                       // uci-defaults 脚本
└── usr/
    ├── bin/
    │   └── ssr-rules                               // 生成代理转发规则的脚本
    └── lib/
        └── lua/
            └── luci/                               // LuCI 部分
                ├── controller/
                │   └── shadowsocksr.lua            // LuCI 菜单配置
                ├── i18n/                           // LuCI 语言文件目录
                │   └── shadowsocksr.zh-cn.lmo
                └── model/
                    ├── cbi/
                    |   └── shadowsocksr/
                    |       ├── general.lua         // LuCI 基本设置
                    |       ├── servers.lua         // LuCI 服务器列表
                    |       ├── servers-details.lua // LuCI 服务器管理
                    |       ├── gfwlist-custom.lua  // LuCI 自定义GFW
                    |       └── access-control.lua  // LuCI 访问控制
                    └── view/
                        └── shadowsocksr/
                            └── gfwlist.htm         // LuCI GFW列表

依赖

软件包的正常使用需要依赖 iptablesipset.
软件包不显式依赖 shadowsocksr-libev, 会根据用户添加的可执行文件启用相应的功能.
GFW-List模式正常使用需要依赖 dnsmasq-extra, 其中包括DNS防污染GFW-List
可执行文件可通过安装 openwrt-shadowsocksr 中提供的 shadowsocksr-libev 获得.
只有当文件存在时, 相应的功能才可被使用, 并显示相应的 LuCI 设置界面.

可执行文件 可选 功能 TCP协议 UDP协议
ssr-redir 透明代理 支持 需安装 iptables-mod-tproxy, ip
ssr-local SOCKS5 代理 支持 支持
ssr-tunnel 端口转发 支持 支持

注: 可执行文件在 $PATH 环境变量所表示的搜索路径中, 都可被正确调用.

配置

软件包的配置文件路径: /etc/config/shadowsocksr
此文件为 UCI 配置文件, 配置方式可参考 Wiki -> Use-UCI-systemOpenWrt Wiki
透明代理的访问控制功能设置可参考 Wiki -> LuCI-Access-Control

编译

从 OpenWrt 的 SDK 编译

# 解压下载好的 SDK
tar xjf OpenWrt-SDK-ar71xx-for-linux-x86_64-gcc-4.8-linaro_uClibc-0.9.33.2.tar.bz2
cd OpenWrt-SDK-ar71xx-*
# Clone 项目
git clone https://github.com/chenhw2/luci-app-shadowsocksr.git package/feeds/luci-app-shadowsocksr
# 编译 po2lmo (如果有po2lmo可跳过)
pushd package/feeds/luci-app-shadowsocksr/tools/po2lmo
make && sudo make install
popd
# 选择要编译的包 LuCI -> 3. Applications
make menuconfig
# 开始编译
make package/feeds/luci-app-shadowsocksr/compile V=99