本项目是 shadowsocks-libev 在 OpenWrt 上的移植
静态编译免去依赖库, 因为未使用代码会在编译时剔除, 尺寸有些许缩小
软件包只包含 shadowsocks-libev 的可执行文件, 可与 luci-app-shadowsocks 搭配使用
可编译两种版本
-
shadowsocks-libev
客户端/ └── usr/ └── bin/ ├── ss-local // 提供 SOCKS 代理 ├── ss-redir // 提供透明代理, 从 v2.2.0 开始支持 UDP └── ss-tunnel // 提供端口转发, 可用于 DNS 查询
-
shadowsocks-libev-server
服务端/ └── usr/ └── bin/ └── ss-server // 服务端可执行文件
-
从 OpenWrt 的 SDK 编译
# 以 ar71xx 平台为例 tar xjf OpenWrt-SDK-ar71xx-for-linux-x86_64-gcc-4.8-linaro_uClibc-0.9.33.2.tar.bz2 cd OpenWrt-SDK-ar71xx-* # 获取 shadowsocks-libev Makefile git clone https://github.com/V-E-O/openwrt-shadowsocks.git package/shadowsocks-libev # 安装依赖库 scripts/feeds update -a scripts/feeds install libpcre make V=s # 开始编译 make package/shadowsocks-libev/compile V=s
软件包本身并不包含配置文件, 配置文件内容为 JSON 格式, 支持的键:
键名 | 数据类型 | 说明 |
---|---|---|
server | 字符串 | 服务器地址, 可以是 IP 或者域名 |
server_port | 整数值 | 服务器端口号 |
local_address | 字符串 | 本地绑定的 IP 地址, 默认 127.0.0.1 |
local_port | 整数值 | 本地绑定的端口号 |
password | 字符串 | 服务端设置的密码 |
method | 字符串 | 加密方式, 详情参考 |
timeout | 整数值 | 超时时间(秒), 默认 60 |
plugin | 字符串 | 插件名称, eg: obfs-local |
plugin_opts | 字符串 | 插件参数, eg: obfs=http;obfs-host=www.baidu.com |
fast_open | 布尔值 | 是否启用 TCP Fast Open, 只适用于 ss-local , ss-server |
auth | 布尔值 | 是否启用一次验证 |
nofile | 整数值 | 设置 Linux ulimit |
mode | 枚举值 | 转发模式, 可用值: [tcp_only , udp_only , tcp_and_udp ] |
mptcp | 布尔值 | 是否启用 Multipath TCP |