GFW

编译更新OpenWrt PassWall和SSR-plus插件

前面写了自编译 OpenWRT 固件,本来玩的好好的,结果最主要的两个插件据说开发者删库了,只能重新找办法升级了。
如果只要更新 Passwall 和 SSR-plus,还有 Clash,那就直接到这里下载 ipk 吧:
https://share.mianao.info/Router/X86-64/
可以在 系统->文件传输,直接上传安装 ipk 软件包,如果 openwrt 固件没有这个,那就自行上传了 ssh 命令安装吧。
下面就可以不用看了。

本地自编译

编译 Lienol 源

如果用的源码:https://github.com/Lienol/openwrt

方法一

都说是 Lienol 是把他的 openwrt-package 删了,但我看了下回退也是有的,所以一个办法是修改 feeds.conf.default 文件,将最后一行修改为我回退的库 src-git lienol https://github.com/harry3633/openwrt-package
然后执行:

./scripts/feeds clean
./scripts/feeds update -a
./scripts/feeds install -a

接着编译就有最终版 Passwall 了。

方法二

不过我觉得另一个办法更好,因为这个源里有很多常用软件包,大家可以去 fork 下:https://github.com/kenzok8/openwrt-packages

cd openwrt/package
git clone https://github.com/kenzok8/openwrt-packages.git

然后执行:

./scripts/feeds update -a
./scripts/feeds install -a

接着编译 Passwall 和 SSR-plus 就都有了。

Lean's 源

如果用的源码:https://github.com/coolsnowwolf/lede

方法一

修改 feeds.conf.default 文件,将最后一行的注释 # 删除, src-git lienol https://github.com/fw876/helloworld
然后执行:

./scripts/feeds clean
./scripts/feeds update -a
./scripts/feeds install -a

然后编译就有最终版 SSR-plus 了。

方法二

同样的,也可以直接下载这个源的软件包,small 是依赖包:

cd lede/package
git clone https://github.com/kenzok8/openwrt-packages.git
git clone https://github.com/kenzok8/small.git

然后执行:

./scripts/feeds update -a
./scripts/feeds install -a

接着编译 Passwall 和 SSR-plus 就都有了。

注:
如果 feeds update 出现一堆类似下面的警告:

WARNING: Makefile 'package/lean/shadowsocksR-libev-full/Makefile' has a dependency on 'libpcre', which does not exist

解决办法就是删掉 feeds 整个文件夹,在 lede 或 openwrt 目录下执行 rm -rf ./feeds,然后再 update。

个人感觉 Lean's 的源码编译不是很好用,时而成功时而不行,原因根本不知道为什么,而 Lienol 的源基本网络没问题就编译没问题。

GitHub 在线编译

参考:https://p3terx.com/archives/build-openwrt-with-github-actions.html

上面这篇文章写得很详细了,我简单描述下我的操作:

  1. 在本地电脑上搭建编译环境中使用 Lean's OpenWrt 源码按照前文的编译操作,直到选择配置后保存生成的 .config 文件,一般位于 ledeopenwrt 目录下。
  2. 项目地址:https://github.com/P3TERX/Actions-OpenWrt,点击页面中的 Use this template 按钮。
  3. 填一个仓库名称,点击 Create repository from template 按钮,这样就按模板复制了一个自己的库。
  4. 上传修改好的 feeds.conf.default 文件,拖放入仓库根目录,它会自动覆盖 Open­Wrt 源码目录下的相关文件。

  5. 点击 Create new file 按钮,创建一个新文件,文件名填写为 .config,把第一步生成的 .config 文件打开,把里面的内容粘贴到下面的文本框中。点击 Commit new file 按钮创建。

  6. 后续编译工作会自动开始,等几个小时后可以在 Actions 页面进行查看编译的固件了。

说明:

  1. 默认情况下触发编译工作流程有两种方式,发布 release 和修改 .config 文件,所以无论是点发布还是修改 .config 都会自动开始编译。当发现仓库源码有更新时,在 releases 页面发布一个版本就会触发编译的工作流程,使用最新源码进行编译最新固件了。
  2. 这是我的编译配置文件 .configfeeds.conf.default 供参考:https://share.mianao.info/Router/X86-64/lede-config
  3. 本方法实际上就是将前面的步骤在本地电脑进行,到最后一步编译命令 make V=s 时交给了 GitHub 自动操作,适合网络问题多的情况,后续更新编译也方便。可以看参考文章自定义更多内容。

推荐目前我在使用觉得还算稳定可靠的便宜 VPS

Vultr:欢迎使用推荐链接,新用户充值有奖励,谢谢! www.vultr.com/?ref=7342510
虽然会有IP被墙,但欧美亚的机房可以随便切换,最低每月 $3.5:512M 内存 500G 流量。

微信扫一扫,向我赞赏

微信扫一扫,向我赞赏

回复

  1. anson anson
    Chrome 83

    你好,下载你提供的ssrplus ipk更新后,软路由断电重启后ssrplus的状态一直是 未运行,死活都运行不了,这是什么情况?

    1. Harry Harry
      Chrome 83

      之前固本身件有这个ipk吗?如果没有那可能有其他的依赖没有安装。这个适合升级用

      1. anson anson
        Chrome 83

        之前有这个ipk的,就是升级之后出现这个情况。

        1. Harry Harry
          Chrome 83

          这就不知道了呢,我是一直用着挺好没出啥问题

  2. shenweb shenweb
    Chrome 83 10

    依赖包能提供下吗?x86的

  3. hansun hansun
    Chrome 81 10

    我在“https://share.mianao.info/Router/X86-64/”下载的IPK文件,我想在koolshare lede 2.33上安装,但是提示需要依赖包,请问需要如何添加,下面是错误提示:
    root@Openwrt:~# opkg install luci-app-ssr-plus_176-7_all.ipk
    Installing luci-app-ssr-plus (176-7) to root...
    Collected errors:

    satisfy_dependencies_for: Cannot satisfy the following dependencies for luci-app-ssr-plus:shadowsocksr-libev-altcoreutils-base64pdnsd-altmicrosocksdns2socksshadowsocks-libev-ss-localshadowsocksr-libev-ssr-localshadowsocks-libev-ss-redirsimple-obfsv2ray-pluginv2raytrojanipt2socksredsocks2kcptun-clientshadowsocksr-libev-serveropkg_install_cmd: Cannot install package luci-app-ssr-plus.
    1. harry harry
      Chrome 81

      koolshare的安装版本不在这里,请看router另外一个文件夹

      1. hansun hansun
        Chrome 83 10

        意思是koolshare lede 无法安装“passwall”“ssr-plus”等插件是吗?

        1. harry harry
          Chrome 81

          应该是,我现在没用koolshare的固件,因为他们也不开源所以不知道

  4. whfweb whfweb
    Chrome 84 10

    以上几种方式都不能顺利把passwall整合进系统。
    编译出错代码:
    Configuring luci-i18n-firewall-zh-cn.
    Configuring luci-i18n-nlbwmon-zh-cn.
    Configuring dnsmasq-full.
    package/Makefile:65: recipe for target 'package/install' failed
    make[2]: Leaving directory '/workdir/openwrt'
    package/Makefile:108: recipe for target '/workdir/openwrt/staging_dir/target-arm_cortex-a9+vfpv3-d16_musl_eabi/stamp/.package_install' failed
    make[1]: Leaving directory '/workdir/openwrt'
    /workdir/openwrt/include/toplevel.mk:225: recipe for target 'world' failed
    make: * [world] Error 2

    [error]Process completed with exit code 2.

    这个是用的lienol的源码,方式二;

    1. harry harry
      Chrome 81

      编译出错的问题我是帮不了你,我自己都不懂,只会依葫芦画瓢。只要别人没问题我就尽量和别人环境一样,不行就全删了重来

    2. whfweb whfweb
      Chrome 84 10

      feeds.conf.default内容:

      src-git routing https://git.openwrt.org/feed/routing.git;openwrt-19.07
      src-git telephony https://git.openwrt.org/feed/telephony.git;openwrt-19.07
      src-git packages https://github.com/Lienol/openwrt-packages.git;dev-19.07
      src-git luci https://github.com/Lienol/openwrt-luci.git;dev-18.06
      src-git lienol https://github.com/Lienol/openwrt-package

      diy-part1.sh文件:

      !/bin/bash=============================================================https://github.com/P3TERX/Actions-OpenWrtFile name: diy-part1.shDescription: OpenWrt DIY script part 1 (Before Update feeds)Lisence: MITAuthor: P3TERXBlog: https://p3terx.com=============================================================Uncomment a feed sourcesed -i 's/^#(.*helloworld)/1/' feeds.conf.defaultAdd a feed sourcesed -i '$a src-git lienol https://github.com/Lienol/openwrt-package' feeds.conf.default

      git clone https://github.com/kenzok8/openwrt-packages.git package/package
      git clone https://github.com/kenzok8/small.git package/small

This is just a placeholder img.