DNS污染问题很是让人烦心,小米路由器mini的pandorabox自带了shadowsocks-libev,没有UDP转发功能,在期待下次pandorabox的更新能够自带shadowsocks-libev-spec的时候,我们还可以选择手动安装,下面老高就介绍一下如何安装。

你也许能通过以下关键字找到本文:

如何安装shadowsocks-libev-spec
如何配置shadowsocks-libev-spec
openwrtpandorabox如何转发UDP
如果解决DNS污染

项目官网

http://openwrt-dist.sourceforge.net

安装前的准备

安装前我们需要删除原来的shadowsocks-libev。原来的ss可以通过 ps |grep ss-ll /usr/bin/|grep ss- 找到!

停止进程

killall ss-local
killall ss-redir
killall ss-tunnel

备份配置文件

mv /etc/config/shadowsocks /etc/config/shadowsocks_old

备份执行文件

# 重命名
cd /usr/bin
mv ss-local ss-local.old
mv ss-redir ss-redir.old
mv ss-tunnel ss-tunnel.old

开始安装

更新opkg源

请参考 配置opkg篇 配置好OpenWrt-dist的源

开始安装

配置好opkg的源后我们先更新一下 opkg update

更新成功应该是如下图:

opkg更新

下面我们开始安装shadowsocks-libev-spec,先执行下面的命令安装。

opkg install shadowsocks-libev-spec
opkg install luci-app-shadowsocks-spec
由于最近一次shadowsocks-libev-spec的更新会导致直接用opkg安装报错!

opkg install shadowsocks-libev-spec

所以出现此类错误,请下载老版本的shadowsocks-libev-spec,老高目前使用r512稳定版,下载shadowsocks-libev-spec_2.1.4-1_ramips_24kec.ipk,可以正常安装!

成功安装

安装完毕后无需重启路由器,luci后台的已经可以看到新的ss配置信息了。

如何使用

shadowsocks-libev-spec的配置文件位于/etc/shadowsocks/config.json

配置示例如下:

{
    "server": "xx.x.x.x",
    "server_port": 23456,
    "local": "0.0.0.0",
    "local_port": 1080,
    "password": "xxxosihd",
    "timeout": 60,
    "method": "rc4-md5"
}

luci如图配置即可!

shadowsocks-libev-spec

配置chinadns

由于我们默认绑定了5300端口,现在需要指定解析服务器为127.0.0.1:5300,如图配置:

chinadns

配置DNS转发

ps.不要忘了转发DNS解析到127.0.0.1#1053

转发DNS解析

这样设置后,DNS的查询变为

  • 设备查询dns->路由器:53->chinaDNS->114.114.114.114:53
  • 设备查询dns->路由器:53->chinaDNS->ss:5300->8.8.8.8:53

现在所有子网的设备都可以零配置翻墙了!速度还很快!

关于内核不兼容

请移步 https://github.com/shadowsocks/openwrt-shadowsocks/

作者提供了最新版的编译ipk下载,请使用ipk文件安装。

补充

安装redsocks2

大家还记得路由器自动翻墙篇中,讲了如何安装redsocks2,现在安装的更简单了。

# 安装redsocks2
opkg install redsocks2
# 安装redsocks2后台luci菜单
cd /tmp
# wget 如果404,请移步 http://sourceforge.net/projects/openwrt-dist/files/luci-app/redsocks2/ 自己下载ipk,然后安装
wget http://iweb.dl.sourceforge.net/project/openwrt-dist/luci-app/redsocks2/luci-app-redsocks2_1.3.0-1_all.ipk
opkg install luci-app-redsocks2_1.3.0-1_all.ipk

nginx反代配置

还是记录一下吧,省的以后出错时又得手写。

server {
    listen       80;
    server_name  openwrt-dist.kxswq.ml;

    #charset koi8-r;
    location / {
        sub_filter openwrt-dist.sourceforge.net openwrt-dist.kxswq.ml;
        proxy_pass       http://openwrt-dist.sourceforge.net;
        #proxy_redirect     off;
        #proxy_set_header   Host $host;
        proxy_set_header   X-Real-IP  $remote_addr;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   Referer http://$host;
    }
    error_page  404              /404.html;
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

标签: shadowsocks, opkg, config, udp, dns, redsocks2

已有 182 条评论

  1. indexzero indexzero

    您好,关于 UDP 转发那一块的配置,是不是也要ss服务端 也要开启udp转发才可以,(因为 ss账号是付费购买的,如果ss-server那边关闭了udp转发 ,在openwrt上 要配合chinaDns要怎么设置才可以 路由翻墙)

  2. 肥鸡 肥鸡

    是不是已经没有shadowsocks-libev-spec??

  3. 肥鸡 肥鸡

    Upgrading luci-app-shadowsocks on root from 0.12+svn-r512-1 to 1.3.7-1...
    shadowsocks-libev was autoinstalled and is now orphaned, removing.
    Removing package shadowsocks-libev from root...
    Removing obsolete file /usr/share/shadowsocks/firewall.include.
    Removing obsolete file /lib/upgrade/keep.d/shadowsocks.
    Removing obsolete file /usr/lib/lua/luci/model/cbi/shadowsocks.lua.
    Configuring luci-app-shadowsocks.
    //usr/lib/opkg/info/luci-app-shadowsocks.postinst: line 4: default_postinst: not found
    Collected errors:
    * resolve_conffiles: Existing conffile /etc/config/shadowsocks is different from the conffile in the new package. The new conffile will be placed at /etc/config/shadowsocks-opkg.
    * pkg_run_script: package "luci-app-shadowsocks" postinst script returned status 127.
    * opkg_configure: luci-app-shadowsocks.postinst returned 127.

    安装失败.怎么破??

    //usr/lib/opkg/info/luci-app-shadowsocks.postinst: line 4: default_postinst: not found
    好像这里出了问题.

    1. 肥鸡 肥鸡

      Package curl (7.38.0-1) installed in root is up to date.
      Configuring libpolarssl.
      //usr/lib/opkg/info/libpolarssl.postinst: line 4: default_postinst: not found
      Collected errors:
      * pkg_run_script: package "libpolarssl" postinst script returned status 127.
      * opkg_configure: libpolarssl.postinst returned 127.

      安装curl也提示这个.line 4: default_postinst: not found

  4. 魅亚力 魅亚力

    这个教程是全局翻墙的吗?我跟着设置 国内网站全都跑SS流量了

    1. 这个是可以配置的

  5. Liu Junwei Liu Junwei

    老高大神, 我在pandora R512的黄精下 安装ss lvbev spec ramips 的很多版本ipk都提示* pkg_hash_fetch_best_installation_candidate: Packages for shadowsocks-libev-spec-polarssl found, but incompatible with the architectures configured

    依赖包已经安装 硬件是小米mini MT7620a,应该是的确要用remips的版本,可是为什么还是会这样的提示呢 重新刷了其他版本的pandora也是这样

    btw 谢谢您的教程 学会了很多

    1. 配置改了吗?

      1. Liu Junwei Liu Junwei

        ss lvbev spec安装失败 用R512自带的SS-libev是可以使用的 我比较不想使用ip白名单..

  6. qinrui qinrui

    能不能不刷机,只是通过小米路由器官方知道的方法获取root,然后安装ss呢?

    1. 可以,不过只能在命令行里配置

  7. laowang laowang

    good,今天还很实现,成功了。谢谢老高,用的小米mini最新版0721的测试版本,安装这个成功了。。电脑和路由都要重启,把dns缓存清除。。。

    高老板,如何实现基于gfwlist的智能切换呢,这样所有国外的流量 都要经过ss速度还是有点慢?有没有基于ss的方案?

  8. Leeloomoo Leeloomoo

    shadowsocks-libev-spec_2.1.4-1_ramips_24kec.ipk安装不了。怎样查看应该安装什么版本?

    1. 下不同版本的试试

  9. monkey monkey

    你好,我想问下无论我怎么设置都是shadowsocks未运行是怎么回事,下的是openwrt-dist里的最新版,用的是小米路由器,也是在openwrt下的最新的stable版本,用start命令提示unknown operand

  10. Aoi Aoi

    你好老高,我想请教一个问题~ 按照教程做到最后,PC端能打开instagram、facebook,打不开YOUTUBE GOOGLE TWITTER IOS端则全部都能打开,这个问题十分让人困扰,请教一下

    1. 你看看是不是DNS缓存的问题

  11. hello,老高我安装并且配置好了shadowsocks-libev-spec,基本上依照了你上面提到的配置。比如我转发的是127.0.0.1#1053,然后是127.0.0.1:5300,指向的是8.8.8.8:53。不过只能用google,不能访问youtube和twitter。这个是怎么回事?如何改呢?万分感谢!

    1. jiyongjie jiyongjie

      同样的情况,应该还是DNS污染问题!

  12. chor chor

    我的也下载shadowsocks-libev-spec_2.1.4-1_ramips_24kec.ipk下来安装,同时也luci-app-shadowsocks-spec下来安装,但luci只能下载1.4的版本,启动不了。后来换了: src/gz openwrt_dist http://openwrt-dist.sourceforge.net/releases/ramips/packages src/gz openwrt_dist_luci http://openwrt-dist.sourceforge.net/releases/luci/packages 装了1.6的luci就可以了

  13. guan080 guan080

    老高,我安装好luci-app-shadowsocks-spec后,浏览器登陆路由器后,点击每个按钮都会提示我需要验证,提交任何东西都需要输密码,关键输入密码登陆进去之后,改动的东西又变回去了,我没找到类似的案例,麻烦帮我提点提点,谢谢。

    1. guan080 guan080

      我自己google了国外的一些案例后无果,但是手机登录路由器是正常的,推测是电脑浏览器缓存之类的导致的,清理浏览器全部数据后,正常了。

  14. dao dao

    老高,按照你的攻略弄好后,能访问google,但不能访问油管、face、t,查了半天也不知道问题出在哪。你能帮忙猜猜不,谢谢。

  15. 没看懂为什么最后用了nginx反向代理呢?

    1. 这个是我反代源网站的配置

  16. 是的

  17. 老高你好,请问一下shadowsocks-libev-spec的udp转发开启后是不是可以用来玩游戏?本人小白

  18. 请问我的PC 可以正常翻墙,但是平板却不可以。我要怎么查找原因?

    1. Aoi Aoi

      我的正好相反,IOS、pad端都可以正常翻了,就是PC不行,只能打开facebook,ins……

    2. 清一下DNS缓存,或者重启一下

  19. 请问下老高,这个UDP转发是不是需要服务器端也要开启这个功能呢?

  20. 小王 小王

    你好,老高。我是隔壁小王。 感谢你提供这么完美的教程,完完整整按照你的教程操作,已经成功翻出去了。 目前遇到一个问题:所有网站的都走国外SS服务器了。搞不清是哪里出问题。猜测是不是所有的解析都通过ChinaDNS后分配给了本地SS的IP(127.0.0.1:5300),然后UDP转发到国外解析了。

    1. DNS走国外和链接不一样,估计你是不是开透明代理了。

添加新评论