返回介绍

编译 shadowsocks-libev for OpenWrt ipk 安装包

发布于 2025-03-08 15:05:09 字数 4059 浏览 0 评论 0 收藏 0

不同 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
  • Subtarget:
    • Generic device with NAND flash
      适合: WNDR4300
    • Generic
      适合: DIR505A1
  • 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文