shadowsocks-libev使用 原版Openwrt安装SSR-plus插件

搬瓦工机场JMS

之前文章提到过,我使用恩山lean大神的固件,主要是看中了他固件中的luci-app-ssr-plus这个插件,但是由于自己编译的固件稳定性上总是差点意思,不得已换回了官方原版openwrt,随之科学上网的插件也换成了shadowsocks-libev,这个插件是非常优秀的,但还是存在几个我非常介意的问题:

  1. ss的特征貌似已经能被GFW识别,国庆前我的三台私人服务器就全挂了,全面换成v2ray是迫在眉睫,但是该插件只支持原版ss
  2. 该插件的地址只能是IP地址,不支持域名,所以对于justmysocks这样被封后自动动换IP的服务就非常麻烦

v2ray官方没有提供我路由器架构的二进制文件,当然,openwrt就是以插件多闻名,其实可选的v2ray方案也很多,比如第三方固件openwrt-v2ray就提供了我需要的文件,再配合luci-app-v2ray也可以搭建出来,不过这套配置我是试过的,说实话配置起来比较复杂,DNS的解析转发、ChinaList、GFWList等功能也都需要自己来,所以我的第一选择还是luci-app-ssr-plus

在原版openwrt上使用这个插件有两种方法

  1. 编译出适合架构的程序及依赖程序的ipk文件
  2. 在原版系统中加入插件然后整体编译出一个固件刷入

我使用的是第一种方案,第二种方案没有尝试呢,有时间的话试过之后再来分享,下面正式开始。

编译插件

注意:编译过程中必须全程全局科学上网,否则某些package下载不下来,有非常大的概率编译出错

1.首先要把lean的整套源码从github克隆下来,然后进入该目录

git clone https://github.com/coolsnowwolf/lede
cd lede

2.然后为你的固件更新/安装扩展包

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

3.个性化你自己的固件

这一步最为重要,先执行下面的命令

make menuconfig 

之后会进入类似下面这样的界面,前三个分别是系统架构、子架构和路由器型号,这三个必须根据你自己的情况选对。

选择好以后,向下翻,找到LuCI —> Applications进入,找到图片中的插件然后空格选中

由于我只用到了ss和v2ray,所以方括号中我只选择了我需要的,如有要用kcp和ssr可以相应选中,但是后续的依赖文件可能会更多。

如果你在luci-app-ssr-plus处按M而不是空格,那么相当于把该插件编译为模块而不是编译入固件,这样做当然可以,但是建议第一次先全部编译,然后再次单独编译,不然单独编译一个插件会失败。

4.下载所有脚本和程序

这一步就是要科学上网的原因所在,不然很多程序不能顺利下载导致编译失败。

代码最后的-j5可以把数字替换为你CPU核数+1

make download -j5

5.开始编译

同上,数字可以改,核越多越快,这一步需要等待几分钟~几十分钟不等。

make -j5 V=s

安装依赖及插件

在安装前,建议先看看我之前写过的两篇文章升级 Openwrt/LEDE 大版本至 18.06关于更换源那部分,这样会大大提升下载安装插件的速度。

上面编译完成后,编译出的文件就可以在bin/packages/路由器架构/base/里找到你要的全部文件,先把luci-app-ssr-plus传到路由器安装试试。

cd bin/packages/arm_cortex-a9_vfpv3/base/
scp -P 22 luci-app-ssr-plus*.ipk [email protected]:/tmp/

切换到路由器shell执行(插件文件名每个人可能略有不同)

opkg install /tmp/luci-app-ssr-plus_1-99_all.ipk

如果你是原版openwrt,那么执行完安装后一定会报错,提示找不到依赖

satisfy_dependencies_for: Cannot satisfy the following dependencies for luci-app-ssr-plus: shadowsocksr-libev-alt ipset ip-full iptables-mod-tproxy dnsmasq-full coreutils coreutils-base64 bash pdnsd-alt wget shadowsocks-libev-ss-redir v2ray opkg_install_cmd: Cannot install package luci-app-ssr-plus.

你的提示可能会和我的有点出入,缺少的依赖或多或少,但一定会报错,原因就在于luci-app-ssr-plus依赖三个插件不在官方源中,所以我们要把下面几个编译好的插件传上路由器提前安装好。文件都在上面提到的目录中,上传方法也相同,这里就不赘述了。

shadowsocksr-libev-alt

pdnsd-alt

v2ray

最后还有一点要注意的,在安装所有非官方依赖后,安装luci-app-ssr-plus前,还有一步操作。openwrt系统都会内置dnsmasq用于DNS服务,但是这个插件与dnsmasq-full是冲突的,所以要手动卸载掉,但是可以不手动安装,作为官方源中可以找到的依赖插件,它是可以自动安装的。

opkg remove dnsmasq
opkg install /tmp/luci-app-ssr-plus_1-99_all.ipk

安装好后,默认是看不到插件的,需要开启彩蛋,在路由器shell执行下面的命令

echo 0xDEADBEEF > /etc/config/google_fu_mode

至此就算大功告成。不过在我的路由器上还有一个小问题需要修复,没有问题的配置好自己的服务器应该就可以科学上网了,无需往下看。

替换pdnsd

在我安装配置好之后,依然不能访问外网,搜索一番发现#817#1599这两个问题和我遇到的一样,经过排查,问题确实出在pdnsd没有运行,索性我就用dnsforwarder把它替换掉。这个插件官方源中也不提供,不过好在有第三方提供,我们可以添加上直接使用,具体方法查看文章路由器自动翻墙中的安装密钥和新增源两部分。

准备就绪后就可以开始安装

opkg install dns-forwarder luci-app-dns-forwarder

最后按照下面两张图片分别设置好就可以了

1.dns-forwarder

2.ssr-plus

后记

luci-app-ssr-plus在我的路由器上还是有些问题,比如运行模式那里,只有绕过中国大陆IP模式可用,GFW列表模式是不起效的,这样就导致有很多IP是国外的,但是国内访问速度还不错的网站也必须走代理。问题具体原因我还没有找到,目前只能说是凑合用,之后找到办法再说吧。

未经允许不得转载:美国VPS_搬瓦工CN2 GIA VPS » shadowsocks-libev使用 原版Openwrt安装SSR-plus插件

赞 (13) 打赏

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏