版本 2.5.6
为编译此固件所需依赖包而写的Makefile,在CC 15.05,CC 15.05.1,LEDE 17.01.0编译成功
本项目是 shadowsocksr-libev 在 OpenWrt 上的移植 ,写法参考https://github.com/shadowsocks/openwrt-shadowsocks/
可与luci-app-shadowsocksR搭配使用
软件包只包含 shadowsocksr-libev 的可执行文件 可编译两种版本
-
shadowsocksr-libev
客户端/ └── usr/ └── bin/ ├── ssr-local // 提供 SOCKS 代理 ├── ssr-redir // 提供透明代理, 从 v2.2.0 开始支持 UDP └── ssr-tunnel // 提供端口转发, 可用于 DNS 查询
-
shadowsocksr-libev-server
服务端/ └── usr/ └── bin/ └── ssr-server // 服务端可执行文件
可以修改Makefile中PKG_SOURCE_VERSION为你需要编译的commit id
-
从 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-* # 安装 feeds # 如果是 uClibc SDK (15.05.1 及以下) git clone https://github.com/AlexZhuo/openwrt-feeds.git package/feeds # 如果是 musl SDK (trunk 或 LEDE) ./scripts/feeds update base packages ./scripts/feeds install zlib libopenssl libpolarssl libmbedtls libpcre rm -rf package/feeds/base/mbedtls/patches # 获取 shadowsocksr-libev Makefile git clone https://github.com/AlexZhuo/openwrt-shadowsocksr.git package/shadowsocksr-libev # 选择要编译的包 Network -> shadowsocksr-libev make menuconfig # 开始编译 make package/shadowsocksr-libev/compile V=99
1、报错C compiler cannot create executables
错误原因:当前Linux系统没有完整的编译环境
解决方法:sudo apt-get install ccache build-essential
2、报错configure: error: PolarSSL libraries not found.
错误原因:SDK没有找到PolarSSl的feed
解决方法:git clone https://github.com/AlexZhuo/openwrt-feeds.git package/feeds
3、报错configure: error: "zlib header files not found."
错误原因:SDK没有找到libopenssl和zlib的feed,该问题会出现在LEDE rc1的SDK中,使用17.01.0 SDK不会有这个问题
解决方法:git clone https://github.com/AlexZhuo/openwrt-feeds.git package/feeds
4、报错
checking for pcre-config... pcre-config
checking for pcre headers in ... not found
checking for library containing pcre_exec... no
configure: error: Cannot find pcre library. Configure --with-pcre=DIR
报错原因:SDK没有找到pcre的feed
解决方法:git clone https://github.com/AlexZhuo/openwrt-feeds.git package/feeds或者
./scripts/feeds update base packages
./scripts/feeds install libpcre
5、执行./scripts/feeds install zlib libopenssl libpolarssl libmbedtls libpcre
时输出不为如下标准输出
Installing package 'zlib' from base
Installing package 'openssl' from base
Installing package 'libpolarssl' from base
Installing package 'mbedtls' from base
Installing package 'pcre' from packages
而是报找不到feed的错误,如下
WARNING: No feed for package 'zlib' found, maybe it's already part of the standard packages?
WARNING: No feed for package 'libopenssl' found, maybe it's already part of the standard packages?
WARNING: No feed for package 'libpolarssl' found, maybe it's already part of the standard packages?
WARNING: No feed for package 'libmbedtls' found, maybe it's already part of the standard packages?
Installing package 'pcre' from packages
报错原因:一般出现在LEDE rc1,rc2的SDK上,更换SDK可解决这个问题。
解决方法:更换SDK,或者 git clone https://github.com/AlexZhuo/openwrt-feeds.git package/feeds
软件包本身并不包含配置文件, 配置文件内容为 JSON 格式, 支持的键:
键名 | 数据类型 | 说明 |
---|---|---|
server | 字符串 | 服务器地址, 可以是 IP 或者域名 |
server_port | 整数值 | 服务器端口号 |
local_address | 字符串 | 本地绑定的 IP 地址, 默认 127.0.0.1 |
local_port | 整数值 | 本地绑定的端口号 |
password | 字符串 | 服务端设置的密码 |
method | 字符串 | 加密方式, 详情参考 |
timeout | 整数值 | 超时时间(秒), 默认 60 |
fast_open | 布尔值 | 是否启用 TCP Fast Open, 只适用于 ss-local , ss-server |
auth | 布尔值 | 是否启用一次验证 |
nofile | 整数值 | 设置 Linux ulimit |
protocol | 字符串 | 混淆协议 详情 |
protocol_param | 字符串 | 协议参数 详情 |
obfs | 字符串 | 混淆方式 详情 |
obfs_param | 字符串 | 混淆参数 详情 |