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

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

如何安装shadowsocks-libev-spec 如何配置shadowsocks-libev-spec openwrt\pandorabox如何转发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. opkg install shadowsocks-libev-spec这条命令装不上我就用下面的啊 opkg install shadowsocks-libev-spec_2.1.4-1_ramips_24kec.ipk

    1. shadowsocks-libev-spec_2.1.4-1_ramips_24kec.ipk 你下载了没?

    2. 喔。。。好吧,没看仔细

  2. [root@PandoraBox:/usr/bin]#opkg install shadowsocks-libev-spec Installing shadowsocks-libev-spec (2.2.1-1) to root... Downloading http://openwrt-dist.kxswq.ml/releases/ramips/packages/shadowsocks-libev-spec_2.2.1-1_ramips_24kec.ipk. Multiple packages (kmod-ipt-conntrack and kmod-ipt-conntrack) providing same name marked HOLD or PREFER. Using latest. Multiple packages (kmod-ipv6 and kmod-ipv6) providing same name marked HOLD or PREFER. Using latest. Multiple packages (kmod-ip6tables and kmod-ip6tables) providing same name marked HOLD or PREFER. Using latest. Multiple packages (kmod-ipt-core and kmod-ipt-core) providing same name marked HOLD or PREFER. Using latest. Collected errors: * satisfy_dependencies_for: Cannot satisfy the following dependencies for shadowsocks-libev-spec: * kernel (= 3.10.49-1-3df3ab26a49a04478a9633bf83827ca3) * * opkg_install_cmd: Cannot install package shadowsocks-libev-spec. [root@PandoraBox:/usr/bin]#opkg install shadowsocks-libev-spec_2.1.4-1_ramips_24kec.ipk Collected errors: * wfopen: shadowsocks-libev-spec_2.1.4-1_ramips_24kec.ipk: No such file or directory. * pkg_init_from_file: Failed to extract control file from shadowsocks-libev-spec_2.1.4-1_ramips_24kec.ipk.

    1. 请问你仔细看我的教程了吗?

  3. Couldn't stat shadowsocks-libev-spec: No such file or directory. 大哥怎么回事啊。我是r512版本的

    1. 问得我无言以对,你干啥的时候遇到这个错误的?前置操作是啥?

  4. garipan garipan

    [root@PandoraBox:/etc]#opkg install shadowsocks-libev-spec Installing shadowsocks-libev-spec (2.2.1-1) to root... Downloading http://openwrt-dist.kxswq.ml/releases/ramips/packages/shadowsocks-libev-spec_2.2.1-1_ramips_24kec.ipk. Collected errors: * satisfy_dependencies_for: Cannot satisfy the following dependencies for shadowsocks-libev-spec: * kernel (= 3.10.49-1-3df3ab26a49a04478a9633bf83827ca3) * kernel (= 3.10.49-1-3df3ab26a49a04478a9633bf83827ca3) * kernel (= 3.10.49-1-3df3ab26a49a04478a9633bf83827ca3) * kernel (= 3.10.49-1-3df3ab26a49a04478a9633bf83827ca3) * kernel (= 3.10.49-1-3df3ab26a49a04478a9633bf83827ca3) * kernel (= 3.10.49-1-3df3ab26a49a04478a9633bf83827ca3) * kernel (= 3.10.49-1-3df3ab26a49a04478a9633bf83827ca3) * * opkg_install_cmd: Cannot install package shadowsocks-libev-spec. [root@PandoraBox:/etc]#opkg install luci-app-shadowsocks-spec Package luci-app-shadowsocks-spec (1.3.2-1) installed in root is up to date. ##这咋回事儿 内核不对吗 装不上啊

    1. 我也是r512

    2. 微博上说吧

    3. garipan garipan

      opkg.conf的配置在这里 http://undownding.me/2015/02/10/use-shadowsocks-on-openwrt/ 2.2段落

    4. garipan garipan

      我刷的是这个版本 http://downloads.openwrt.org.cn/PandoraBox/Xiaomi-Mini-R1CM/stable/ 三月九号的

    5. garipan garipan

      执行过了,可能是软件源的问题,update完以后在软件包列表中找不到ss-libev-spec,直接opkg install也无法安装。还是回到了那一步的问题,软件源这个问题如果解决,应该就能按照你的教程来了。但是我这边一旦配置 系统/软件包/配置 就会报错。要不您再检查一下,配置的那部分确定没错吗?

    6. garipan garipan

      恩 我是稳定版的pandorabox :PandoraBox 14.09 r512 stable 你是哪个版本?我刷你那个版本试试

    7. garipan garipan

      我是3月9号的stable版本,因为没办法更新软件包列表,我干脆去项目主页下载了shadowsocks-libev-spec和Luci的包,扔进tmp文件夹里本地安装,可是装luci成功了,ss-libev-spec却失败了,提示不兼容,但是我下载的确实是ramips 架构的。依赖包也装了,还是不行。polarssl也不行。实在是不知道怎么解决了……烦请帮忙 不胜感激,比特币或者CNY感谢 谢谢

    8. ssh 到后台执行 opkg update

    9. OK

    10. 稳定版的 安装 shadowsocks-libev-spec 出现Couldn't stat shadowsocks-libev-spec: No such file or directory 请问怎么解决啊

    11. 请刷稳定版

  5. 为什么如此执着?

    1. 嘉

      好的,大哥,我现在回复出厂,然后试试

    2. 嘉

      也就是说,我可以根据你之前的那篇文章来进行配置,就可以正常使用了么

    3. shadowsocks-libev-spec只是多了UDP转发,没必要安装,使用默认的shadowsocks-libev就行了

    4. 嘉

      - -只是想给我的ps4加上一个全局shadowsocks,因为dnsmasq已经没用了

    5. 是的

  6. 嘉

    这样子不是忽略依赖安装么,,,安装上还能用么

  7. 嘉

    等等,我目录好像弄错了,我到tmp底下试试

  8. 嘉

    [root@Think:/root]#wget http://openwrt-dist.kxswq.ml/releases/ramips/packages/shadowsocks-libev-spec_2 .2.1-1_ramips_24kec.ipk --2015-05-17 17:14:35-- http://openwrt-dist.kxswq.ml/releases/ramips/packages/shadowsocks-libev-spec_2.2.1-1_ramips_24kec.ipk Resolving openwrt-dist.kxswq.ml... 45.62.107.90 Connecting to openwrt-dist.kxswq.ml|45.62.107.90|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 118218 (115K) [application/vnd.shana.informed.package] Saving to: 'shadowsocks-libev-spec_2.2.1-1_ramips_24kec.ipk' shadowsocks-libev-spec_2. 100%[=====================================>] 115.45K 86.3KB/s in 1.3s 2015-05-17 17:14:37 (86.3 KB/s) - 'shadowsocks-libev-spec_2.2.1-1_ramips_24kec.ipk' saved [118218/118218] [root@Think:/root]#opkg install -f shadowsocks-libev-spec Collected errors: * opkg_conf_load: Couldn't stat shadowsocks-libev-spec: No such file or directory.

    1. Yacyin Yacyin

      @老高 这个和我碰到的情况一样,我发现最新的潘多拉已经支持UDP转发了,但是还是有点搞不定,麻烦@老歌有空看一下啊

    2. 嘉

      按教程那样做的话会提示 [root@Think:/root]#opkg install shadowsocks-libev-spec Installing shadowsocks-libev-spec (2.2.1-1) to root... Downloading http://openwrt-dist.kxswq.ml/releases/ramips/packages/shadowsocks-libev-spec_2.2.1-1_ramips_24kec.ipk. Collected errors: * satisfy_dependencies_for: Cannot satisfy the following dependencies for shadowsocks-libev-spec: * kernel (= 3.10.49-1-3df3ab26a49a04478a9633bf83827ca3) * kernel (= 3.10.49-1-3df3ab26a49a04478a9633bf83827ca3) * kernel (= 3.10.49-1-3df3ab26a49a04478a9633bf83827ca3) * kernel (= 3.10.49-1-3df3ab26a49a04478a9633bf83827ca3) * kernel (= 3.10.49-1-3df3ab26a49a04478a9633bf83827ca3) * kernel (= 3.10.49-1-3df3ab26a49a04478a9633bf83827ca3) * kernel (= 3.10.49-1-3df3ab26a49a04478a9633bf83827ca3) * * opkg_install_cmd: Cannot install package shadowsocks-libev-spec.

    3. 文章已更新

    4. 嘉

      大哥。。。这个还是安装不上去啊。。。

    5. 嘉

      大哥啊。。。这个怎么破

    6. 我的教程怎么写的?

    7. 那你就要看你下载下来的文件名叫啥了
      opkg install -f 文件名
      opkg install -f shadowsocks-libev-spec_2.2.1-1_ramips_24kec.ipk

    8. 嘉

      - -那应该怎么样子装啊

    9. 我啥时候教你这样装了?

    10. opkg install PackageName.ipk --force-depends

  9. opkg install -f shadowsocks-libev-spec

    1. Baymax Baymax

      [root@Baymax:/tmp]#opkg install -f shadowsocks-libev-spec Collected errors: * opkg_conf_load: Couldn't stat shadowsocks-libev-spec: No such file or directory.

    2. Baymax Baymax

      还是没用 我下载下来了,怎么安装

    3. 命令一样,-f 可选
      opkg install shadowsocks-libev-spec.ipk

    4. 文章已更新

  10. Baymax Baymax

    今天手痒 结果悲剧了 [root@Baymax:/root]#opkg install shadowsocks-libev-spec Installing shadowsocks-libev-spec (2.2.1-1) to root... Downloading http://openwrt-dist.kxswq.ml/releases/ramips/packages/shadowsocks-libev-spec_2 .2.1-1_ramips_24kec.ipk.Collected errors: * satisfy_dependencies_for: Cannot satisfy the following dependencies for shadowsocks-lib ev-spec: * kernel (= 3.10.49-1-3df3ab26a49a04478a9633bf83827ca3) * kernel (= 3.10.49- 1-3df3ab26a49a04478a9633bf83827ca3) * kernel (= 3.10.49-1-3df3ab26a49a04478a9633bf83827ca3) * kernel (= 3.10.49-1-3df3ab26a49a04478a9633bf83827ca3) * kernel (= 3.10.49-1-3df3ab26a49a04478a9633bf83827ca3) * kernel (= 3.10.49-1-3df3ab26a49a04478a9633bf83827ca3) * kernel (= 3.10.49-1-3df3ab26a49a04478a9633bf83827ca3) * * opkg_install_cmd: Cannot install package shadowsocks-libev-spec.

  11. Charles Charles

    opkg install shadowsocks-libev-spec Installing shadowsocks-libev-spec (2.2.0-1) to root... Downloading http://openwrt-dist.kxswq.ml/releases/ramips/packages/shadowsocks-libev-spec_2.2.0-1_ramips_24kec.ipk. Collected errors: * satisfy_dependencies_for: Cannot satisfy the following dependencies for shadowsocks-libev-spec: * iptables-mod-tproxy * * opkg_install_cmd: Cannot install package shadowsocks-libev-spec. 被这个折腾死了,网上也找不到这个 "iptalbes-mod-tproxy" 的组件~ 求教如何解决。谢谢。

    1. opkg install -f iptables-mod-tproxy

    2. PandoraBox-ralink-mt7620-xiaomi-mini-squashfs-sysupgrade-r512-20150309.bin 这个包,新刷的系统

    3. 你用的哪个版本的pandorabaox?

    4. 你歪楼了。。。我的建议是你需要还是重新刷一次系统,再试试。

  12. 你好,我按照文中的步骤都顺利安装完成了,本地1080端口也在监听,但无法翻墙,执行/etc/init.d/shadowsocks restart时,提示iptables: No chain/target/match by that name. 请问该如何解决呢

    1. r820里面的redsocks2是修改版,似乎整合了shadowsocks,但是不知道怎么用

    2. 你最近刷系统了吗?

    3. 试了一下r820,还是一样的问题,我刷的时候保留的配置跟这个有关系吗

    4. 我也碰到这样的问题,我是PandoraBox 14.09 r512,不知道怎么解决

    5. 官网都出到r820了,要不刷刷试试? BTW,我的r601

    6. http://www.phpgao.com/redsocks_config.html
      热乎的

  13. lcyx lcyx

    请问shadowsocks启动之后会有几个进程,我启动之后只有redir和tunnel两个进程,正常吗?

    1. 正常,一个是透明代理,一个是隧道

  14. 系统 - 语言和界面 - 主题 改成 Bookstrap,默认的是Luci

  15. 感谢,根据你的教程把家里的mini搞定了,就是稳定性不怎么样,不清楚是我的搬瓦工VPS有问题还是线路问题还是路由问题,但发现路由问题的多,经常需要重启 另外我装了ss-libev-spec后也装了redsocks2,但是不是装不装都无所谓? 还有教程中没写需要把“忽略解析文件的勾打上”,但我看别的教程中有些,所以我打上了,是否有影响?

    1. dnsmasq可以设定读取解析文件。具体在DHCP/DNS->HOSTS和解析文件

    2. 1. FQ影响的因素太多,不知道你的不稳定指的是什么。网站的访问简单的说就是dns解析+数据传输两个大环节,一般出问题都会在dns解析上。
      2. 无所谓。
      2. 无所谓。

    3. 那现在用spec之后dns解析白名单如何手动查找名单呢?

    4. 好的,我去学习下,谢谢!

    5. 出问题了,pandorabox前天出新的版本,然后spec就装不上去了,显示什么kernel 3.10错误,我用--force-depends强制安装后Luci界面也和以前的不一样,正常配置后就无法fq了

  16. T-virus T-virus

    老高,我看你的那个系统导航菜单是在上面的,我的是在左边的。是因为稳定版和测试版的区别么?

  17. 明白了,我的mini本来作为副路由与主路由不在一个网段,这时可以fq,但昨天我的mini做了有线中继,网线接到了lan口, 这样与主路由属于一个网段,就无法fq了。刚刚又换成wan口不在一个网段,就又可以fq了。现在想问下在有线中继的情况下无法使用ss嘛?

    1. 主副一换吧。

    2. 我也想过,但我主路由是小米硬盘版,里面放了视频,而mini主要作为fq和联机用,且主副路由都在一个房间,所以如果主付对换的话就没意义了。

  18. zxsheep zxsheep

    opkg_conf_parse_file: /etc/opkg.conf:1: Ignoring invalid line: `t root /' * satisfy_dependencies_for: Cannot satisfy the following dependencies for redsocks2: * libc * libc * * opkg_install_cmd: Cannot install package redsocks2. 不能安装 这个怎么解决啊?

  19. chinadns可以不用了吗?

    1. 好吧,貌似还是需要的。文章已更新!

  20. 没有安装libc,你在这里找找http://www.phpgao.com/xiaomi_router_python.html

    1. zxsheep zxsheep

      [root@PandoraBox:/root]#opkg install libc_0.9.33.2-1_ramips_24kec.ipk Collected errors: * wfopen: libc_0.9.33.2-1_ramips_24kec.ipk: No such file or directory. * pkg_init_from_file: Failed to extract control file from libc_0.9.33.2-1_ramips_24kec.ipk. 按照你的教程安装libc,请问这个是怎么回事?能QQ指导下嘛?感激不尽

    2. 解决方法:libc需要手动安装

      cd /tmp
      wget http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/base/libc_0.9.33.2-1_ramips_24kec.ipk
      ## 安装libc
      opkg install libc_0.9.33.2-1_ramips_24kec.ipk

    3. zxsheep zxsheep

      楼主写的这些教程基于小米的哪个版本的潘多拉固件?

    4. 都支持 http://downloads.openwrt.org.cn/PandoraBox/Xiaomi-Mini-R1CM/testing/

    5. zxsheep zxsheep

      [root@PandoraBox:/tmp]#opkg install luci-app-redsocks2_1.3.0-1_all.ipk Collected errors: * wfopen: luci-app-redsocks2_1.3.0-1_all.ipk: No such file or directory. * pkg_init_from_file: Failed to extract control file from luci-app-redsocks2_1.3.0-1_all.ipk. 安装luci redsocks提醒这个呢?已经安装好libc,老高能加我qq717886指导下嘛?

    6. zxsheep zxsheep

      好的 已经成功装上了 感激!!! 顺便问下 shadowsocks-libev-spec装好之后,还需要用chinadns 和redsock2 吗?

    7. zxsheep zxsheep

      如教程配置成功,可以上国内网,翻墙无效,ss账号是有效的

    8. 下载redsocks2的ftp链接404了,你可以手动在这里下载,然后安装。 我的系统是mac,没办法给你远程。。。 http://sourceforge.net/projects/openwrt-dist/files/luci-app/redsocks2/

    9. 需要chinadns,教程里有写,请先仔细看完教程在发问行吗?

添加新评论