极路由是全球首家集智能路由器软硬件研发、生产、销售为一体的厂商。HiWiFiOS、云平台、手机app、商页云服务、智能插件平台构成极路由智能路由器的平台生态圈。

五年前接触到了第一台的极路由-极路由1s,在当那时大多数的路由器还没有那么智能化,后台界面还是TP-Link那个时代的产物一样,也没有新的理念,大部分家用路由都貌似朝着一个方将继续前进的时候,极路由出现了。

它的云平台出现可以让普通使用者也可以使用上诸如屏蔽视频广告、App Store加速、QQ语音加速等功能,而这些功能大多都在在云平台下一键操作,使得让使用惯了TP-Link这种不能定制化功能后台眼前一亮, 甚至早期极路由有自带的官方插件,SSH,可以轻松通过该插件使用SSH梯子,后来SSH插件就下架了,仿佛极路由再也不能使用梯子了。而现在我们就来说说如何在HiWiFiOS上来安装Shadowsocks。

第一种方法

Shadowsocks的出现使其成为了新的梯子,聪明的极客们已经有方法可以在极路由上使用Shadowsocks了,网上亦能搜到很多相关的教程,但是看起来对一般人来说不是那么简单的事情,要开发者权限要root什么的,其实有更简单的方法可以使用上Shadowsocks插件,不需要开发者权限也不需要root。

所需要准备的东西就是一台极路由智能路由器,以及一个SS服务器。然后仅需要五步,即可安装好Shadowsocks插件。

第一步:打开极路由的插件管理,选择添加应用

第二步:随便点开一个你没有安装的应用

第三步:修改地址

打开一个未安装的应用后,它的地址应该是长下面这样的:

https://app.hiwifi.com/store.php?m=plugins&a=install&rid=rXXXXXXXXX&sid=XXXXXXXXX

其中前面rid的XXXXXXXXX几位数字不用管,不要改动,主要是sid的数字,把它改为163116535,然后访问。

第四步:点击免费安装,确定安装

第五步:填写SS服务器信息

关于代理模式,笔者是只用白名单模式的,白名单域名列表可以搜GFWList或者在ShadowsocksR客户端中的pac文件中提取获得。当然也可以直接用白名单+国外IP模式,但是笔者没试过。

填好后按下一步,等待下载完成后会自动安装,并提醒安装成功。

完成

见到插件运行中就搞定了,这个时候就可以自由浏览网站了。你可以随时点下暂停服务暂时停止使用SS服务,也可以随时在配置参数中修改服务器信息和增删白名单。

第二种方法

Hiwifi-SS

极路由+shadow配置, 适应新版极路由,支持的极路由版本(因为没办法测试所有的极路由,所以你能运行的极路由不在这个列表,请在issue#38中回复,谢谢!):

现在项目使用的是大陆白名单模式,关于适用大陆白名单和gfwlsit的处理,见issue#37。项目中的gfw规则使用项目 cokebar/gfwlist2dnsmasq 生成的规则修改而成,最后更新日期为2017.08.08。

用户选择

安装方法

  1. 使用项目根目录下的 shadow.sh 脚本进行安装, 建议使用以下一键命令:
cd /tmp && curl -k -o shadow.sh https://raw.githubusercontent.com/qiwihui/hiwifi-ss/master/shadow.sh && sh shadow.sh && rm shadow.sh

2. 重启路由器

其他方法

因为作者能力有限,很多功能不能及时跟上,所以大家可以尝试其他的解决方案,比如 Paull/hiwifi.easucks

开发者选择

编译极路由版本的shadowsocks-libev, obfs_simple
见项目 qiwihui/hiwifi-ss-compile

本地更新dnsmasq.conf(项目已支持一键更新)
使用项目 gfwlist2dnsmasq 中的脚本即可

git clone https://github.com/cokebar/gfwlist2dnsmasq.git
cd gfwlist2dnsmasq
./gfwlist2dnsmasq.sh --port 53535 -o gw-shadowsocks.dnslist

# 复制 gw-shadowsocks.dnslist 到 hiwifi-ss/etc/gw-shadowsocks/gw-shadowsocks.dnslist 打包
# 或者,直接复制到极路由 etc/gw-shadowsocks/gw-shadowsocks.dnslist 上

本地安装/开发

以 tag v1.0.5 为例

# 本地生成 tar 包
git clone git@github.com:qiwihui/hiwifi-ss.git
cd hiwifi-ss
git checkout v1.0.5
tar -C ./ -czvf hiwifi-ss.tar.gz etc lib usr
scp -P 1022 hiwifi-ss.tar.gz root@192.168.199.1:/tmp

# ssh登录极路由
tar xzvf /tmp/hiwifi-ss.tar.gz -C /

如何在服务器端启用chacha20的支持:

  1. 编译并安装libsodium:
apt-get update
apt-get install build-essential
wget https://github.com/jedisct1/libsodium/releases/download/1.0.3/libsodium-1.0.3.tar.gz
tar xf libsodium-1.0.3.tar.gz && cd libsodium-1.0.3
./configure && make && make install

2. 修复动态链接库:

编辑 /etc/ld.so.conf 文件, 加入一行 /usr/local/lib 并保存。运行命令 ldconfig

在ss配置中修改为 chacha20 即可

常见问题

  1. 支持哪些加密方法?    答:理论上 ss-local 3.2.0 能支持的算法都支持。
  2. 安装后显示请求的接口不存在?    答:请重启路由器. issue#28
  3. 适用极路由版本有哪些?   答:请重启路由器. issue#38
  4. 如何卸载脚本?(issue#12)   答:如何卸载脚本?(issue#12)

/usr/lib/lua/luci/view/admin_web/network/index.htm.ssbak 重命名为/usr/lib/lua/luci/view/admin_web/network/index.htm ,并移除ss: opkg remove geewan-ss

1. 如果出现类似下面的报错,请确保你是登录到极路由后台执行脚本: ssh root@192.168.199.1 -p 1022, 不要在自己的电脑上执行 :(

x etc/: Could not remove symlink etc
x etc/config/: Cannot extract through symlink etc
x etc/firewall.d/: Cannot extract through symlink etc
x etc/gw-redsocks/: Cannot extract through symlink etc
x etc/gw-redsocks.conf: Cannot extract through symlink etc
x etc/gw-shadowsocks/: Cannot extract through symlink etc
x etc/init.d/: Cannot extract through symlink etc
x etc/rc.d/: Cannot extract through symlink etc
x etc/ss/: Cannot extract through symlink etc
......

2. 项目如何开机自动运行?

项目在 /etc/rc.d/ 下添加了 S99gw-shadowsocks 指向 /etc/init.d/gw-shadowsocks,所以会开机自动运行的。

关于底层源码开源的一些问题

这个项目基于 geewan 的 hiwifi 配置程序,底层只有编译后的 lua 程序,除开用到的 shadowsocks 使用了 GPL 协议, 其他部分不开源也并没有问题。 本着共同进步的原则,作者尝试完成了部分功能的实现并开源,不足之处请多指教。

本项目会不断补充并完善功能,只是作者开发时间不长,进度会比较慢,请勿催~

文章转自: