文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
编译 shadowsocks-libev for OpenWrt ipk 安装包
不同 OpenWrt 版本下编译的 shadowsocks-libev ipk 一般是不能通用的。比如现在用的是 trunk 版的 OpenWrt,如果使用 OpenWrt Chaos Calmer 15.05 下编译的 shadowsocks-libev,可能安装后根本不能启动。
前面我曾编译出翻墙固件,其中 shadowsocks-libev 是别人编译,从 sourceforge 上下载的,刷上固件后,shadowsocks 总是没有自动启动,运行/usr/bin/ss-redir,报告没有找到这个文件,其实文件是在的,只是不兼容。所以,最好还是自行编译 shadowsocks-libev。
以下 不要使用 root 用户来操作
下面是在 Ubuntu 64bit 下编译 shadowsocks-libev for OpenWrt ipk 安装包的步骤:
安装依赖库,不同的操作系统版本可能要作相应调整
sudo apt-get install build-essential subversion libncurses5-dev zlib1g-dev gawk gcc-multilib flex git-core gettext
下载 OpenWrt 源代码
cd ~/Downloads
git clone git://git.openwrt.org/openwrt.git
下载 shadowsocks-libev 源码
cd ~/Downloads/openwrt
pushd package
git clone https://github.com/shadowsocks/shadowsocks-libev.git
popd
或者:
cd ~/Downloads/openwrt/package
git clone https://github.com/shadowsocks/shadowsocks-libev.git
编译 DIR505 固件 2015-12 版时用的源码版本是:Date: Tue Dec 22 21:42:40 2015
更新 Feeds,使 package 在 make menuconfig 中可用,而不是真正安装或编译
cd ~/Downloads/openwrt
./scripts/feeds update -a
./scripts/feeds install -a
make defconfig
先编译要用到的工具和库
make prereq && make tools/install && make toolchain/install
等待时间较长,可以先和大妈一起去跳个广场舞,制造更多噪音恶心一下别人:)
make menuconfig 配置选项
# 运行命令
make menuconfig
有三个选项:
- y: 编译进固件
- m: 编译出安装包,但不打包进固件
- n: 排除
输入命令 make menuconfig
进入配置程序后:
- Target System:
- Atheros AR7xxx/AR9XXX (Default value,不同的路由器,可能选择不同)
适合: WNDR4300, DIR505A1, TLWR2543
- Atheros AR7xxx/AR9XXX (Default value,不同的路由器,可能选择不同)
- Subtarget:
- Generic device with NAND flash
适合: WNDR4300 - Generic
适合: DIR505A1
- Generic device with NAND flash
- Target Profile: (因我们只是编译包,这步可以不选)
- Network, 选择 shadowsocks-libev 和 shadowsocks-libev-polarssl, 按 m 设置为编译独立 ipk 安装包
- Save && Exit
图 make menuconfig
图 选择 shadowsocks-libev-polarssl
编译 shadowsocks-libev for OpenWrt
make V=99 package/shadowsocks-libev/openwrt/compile
查看编译出的 shadowsocks-libev 和 shadowsocks-libev-polarssl 文件
cd ~/Downloads/openwrt/bin/ar71xx/packages/base/
tree
├── libc_1.1.11-1_ar71xx.ipk
├── libgcc_5.2.0-1_ar71xx.ipk
├── libopenssl_1.0.2e-1_ar71xx.ipk
├── libpolarssl_1.3.15-1_ar71xx.ipk
├── libpthread_1.1.11-1_ar71xx.ipk
├── shadowsocks-libev_2.4.3_ar71xx.ipk
├── shadowsocks-libev-polarssl_2.4.3_ar71xx.ipk
└── zlib_1.2.8-1_ar71xx.ipk
# 如果用来编译翻墙固件,把 shadowsocks-libev 复制到 Image Builder 目录下:
# for DIR505A1:
cp shadowsocks* ~/Downloads/OpenWrt-ImageBuilder-ar71xx-generic.Linux-x86_64/packages/base
# for WNDR4300
cp shadowsocks* ~/Downloads/OpenWrt-ImageBuilder-ar71xx-nand.Linux-x86_64/packages/base
把文件 scp 复制到 OpenWrt 路由器/tmp,就可以 opkg install shadowsocks-libev_2.4.3_ar71xx.ipk
安装了。
参考:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论