GFW

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

前面写了自编译 OpenWRT 固件,本来玩的好好的,结果最主要的两个插件据说开发者删库了,只能重新找办法升级了。
都回来了,方法还是好用的
如果只要更新 Passwall 和 SSR-plus,还有 Clash,那就直接到这里下载 ipk 吧(我编译的插件都不支持 SSR 或 SS):
https://share.mianao.info/Router-openwrt/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

添加下面代码到 openwrt 或 lede 源码根目录 feeds.conf.default 文件

src-git kenzo https://github.com/kenzok8/openwrt-packages

然后执行:

./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. 本方法实际上就是将前面的步骤在本地电脑进行,到最后一步编译命令 make V=s 时交给了 GitHub 自动操作,适合网络问题多的情况,后续更新编译也方便。可以看参考文章自定义更多内容。

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

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

微信扫一扫,向我赞赏

微信扫一扫,向我赞赏

回复

  1. Zeng sipeng Zeng sipeng
    Chrome 86 10

    文件不存在了,考虑一下度云,天翼云,蓝奏云吧!感谢

    1. Harry Harry
      Chrome 86

      改了文件夹名字,忘记改链接了。百度天翼会删文件,蓝奏全广告

  2. dkstryc dkstryc
    Chrome 85 10

    您好,安装您编译好的SSR-Plus.ipk,最后会提示uci entry not found。订阅url填写好,一点更新订阅就变回空白,无法订阅,手动添加服务器的是可以正常使用的,只是GFW模式用不了,别的都OK,请教下原因?另外180-9更新了,不忙的时候可以编译下新的了:)

    1. Harry Harry
      Chrome 86

      这个我不知道呢,一个是SSR插件我不怎么用,另一个是我从来没有订阅过。要不要回退其他版本试试

  3. wan wan
    Chrome 77 10

    找到了,是 openwrt-x86-64-combined-squashfs-8-23.img.gz 吧?

    1. Harry Harry
      Chrome 85 10

      是,直接用这个升级就好了

  4. dkstryc dkstryc
    Chrome 85 10

    您好,下载了您提供的x86-64的SSR-plus,原版op安装的时候提示缺少依赖,麻烦能在下载地址里也提供一下吗,感谢:)

    1. Harry Harry
      Chrome 85 10

      这依赖就繁琐了,我都不知道具体有哪些。我上传了一个固件,可以试一下,常用插件都有,不喜欢可以删除的

      1. dkstryc dkstryc
        Chrome 85 10

        感谢,下载来试一下,我在一个google云盘把需要的插件下载全了,安装也成功了,但是一直显示not runing,服务启动不起来。

      2. wan wan
        Chrome 77 10

        地址有吗,谢谢。

        1. Harry Harry
          Chrome 86

          我分享的链接文件夹里有,你试试

          1. wan wan
            Chrome 77 10

            分享的链接文件夹 找不到,可以再贴下吗,谢谢。

  5. wan wan
    Chrome 77 10

    依赖找到了,可是在安装 libltdl7_2.4.6-2_x86_64 提示 Package size mismatch: libltdl7 is 15500 bytes, expecting 15508 bytes。

    1. Harry Harry
      Chrome 85 10

      这种比较麻烦,最后是升级一下固件,直接支持passwall或SSRplus的,我上传了一份可以试一下

  6. wan wan
    Chrome 77 10

    你好,请问,我在x86软路由安装 luci-app-passwall: 提示出错

    trojan-plustrojan-gobrookchinadns-ngopkg_install_cmd: Cannot install package luci-app-passwall.

    opkg update 更新,出现一个 * opkg_download: Failed to download https://openwrt.proxy.ustclug.org/snapshots/packages/x86_64/helloworld/Packages.gz, wget returned 8.
    哪里可以下载x86的trojan-plus trojan-go brook chinadns-ng?

    1. Harry Harry
      Chrome 86

      之前安装过passwall吗?如果有我就不知道原因了,如果没有是否是这个插件还有一些依赖,那就要更新一下openwrt了

  7. ZHOU WEI ZHOU WEI
    Chrome 85 10

    请教下,为了支持VLESS协议,我编译了coolwoolf的lede,也加了最新的linoel大神的passwall,但是配置好了,外网还是不通,手机连是通的。请问你在路由器上有试过吗

    1. Harry Harry
      Chrome 85

      有的,我测试过vless,新版的passwall没问题
      填写时下面的域名,证书路径,ws host都不用写,一些方框也不勾试试

  8. layueee zhang layueee zhang
    Edge 18 10

    请问一下,这个版本没有负载均衡吗?

    1. Harry Harry
      Chrome 85

      有的,从我用开始就有

  9. 咸鱼 咸鱼
    Chrome 85 10

    想问下arm的openwrt,怎么装helloworld啊,我路由器原来有这个,换了r2s当软路由后,里面只有passwall,总感觉不稳的样子,昨天还好好的,今天起来连订阅链接都莫名其妙没了

    1. Harry Harry
      Chrome 84

      这得找对应ARM的固件了,不然就自己编译加入helloworld插件

  10. Chen Chen
    Safari < 11

    请问openwrt的passwall跟see plus,哪一个可以搭建server

    1. Harry Harry
      Chrome 84 10

      两个都可以

      1. Chen Chen
        Safari < 11

        奇怪、因为我装了passwall找不到服务端。只能添加节点当Client

  11. K2p K2p
    Chrome 84

    你好,请问这个编译好的passwall插件ipk是不是不支持k2p的openwrt安装?

    1. Harry Harry
      Chrome 84

      不支持,这是x86的

  12. hansun hansun
    Chrome 81 10

    我在“https://share.mianao.info/Router/X86-64/”下载的IPK文件,我想在koolshare lede 2.33上安装,但是提示需要依赖包,请问需要如何添加,下面是错误提示:
    [email protected]:~# 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的固件,因为他们也不开源所以不知道

  13. 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.