How to Set Up Shadowsocks on a HiWiFi Router

hiwifi-ss

We shall fight on the beaches.

HiWiFi + ss configuration, adapted for newer HiWiFi versions. The supported HiWiFi versions are (Since there’s no way to test every HiWiFi model, if your working HiWiFi is not on this list, please reply in issue#38. Thank you!):

The project is currently using Mainland China whitelist mode. For how Mainland China whitelist and gfwlsit are handled, see issue#37. The gfw rules in this project are modified from the rules generated by the project cokebar/gfwlist2dnsmasq, with the last update on 2017.08.08.

Installation Method

  1. Newer HiWiFi =>
    Use the shadow.sh script in the project root directory for installation,
    it is recommended to use the following one-click command:

    cd /tmp && curl -k -o shadow.sh https://raw.githubusercontent.com/qiwihui/hiwifi-ss/master/shadow.sh && sh shadow.sh && rm shadow.sh

  2. hiwifi 1.2.5.15805s

    cd /tmp && curl -k -o shadow.sh https://raw.githubusercontent.com/qiwihui/hiwifi-ss/master/shadow.sh && sh shadow.sh 12515805s && rm shadow.sh

Update dnsmasq.conf Locally

Just use the script in the project gfwlist2dnsmasq

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

# Copy gw-shadowsocks.dnslist to hiwifi-ss/etc/gw-shadowsocks/gw-shadowsocks.dnslist for packaging
# Or, copy it directly to HiWiFi at etc/gw-shadowsocks/gw-shadowsocks.dnslist

Local Installation/Development

Using tag v1.0.5 as an example

# Generate the tar package locally
git clone [email protected]: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 [email protected]:/tmp

# Log in to HiWiFi via SSH
tar xzvf /tmp/hiwifi-ss.tar.gz -C /

How to enable chacha20 support on the server side:

  1. Compile and install 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. Fix the dynamic link library:

Edit the /etc/ld.so.conf file,
add a line /usr/local/lib and save it. Run the command ldconfig

  1. Then just change it to chacha20 in the ss configuration

Note: Compiled based on a reference from xqd’s little site, Thank you!

Frequently Asked Questions

  1. Which encryption methods are supported?

Theoretically, all algorithms supported by ss-local 2.4.7 are supported.

  1. After installation, it shows The requested interface does not exist?

Please restart the router. issue#28

  1. Which HiWiFi versions are supported?

see issue#38

  1. How do I uninstall the script?(issue#12)

Rename /usr/lib/lua/luci/view/admin_web/network/index.htm.ssbak to /usr/lib/lua/luci/view/admin_web/network/index.htm,
and remove ss: opkg remove geewan-ss

  1. If you see an error like the one below, please make sure you are logged into the HiWiFi backend before running the script: ssh
    [email protected]
    -p 1022
    . Do not run it on your own computer 🙁

    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. How does the project run automatically at startup?

The project adds S99gw-shadowsocks under /etc/rc.d/, pointing to /etc/init.d/gw-shadowsocks, so it will run automatically at startup.

Some questions about open-sourcing the underlying source code

This project is based on geewan’s hiwifi configuration program. At the underlying level, there is only compiled lua
code. Aside from the shadowsocks used, which is licensed under the GPL,
there is no issue with the other parts not being open source.
In the spirit of making progress together, the author has tried to implement and open-source some features; any feedback on shortcomings is welcome.

This project will continue to add and improve features. It’s just that the author hasn’t been developing for very long, so progress will be relatively slow. Please don’t rush~

TODO

  1. Phase One
  •  Adapt to the new version of the interface

    •  Switch style
    •  Added a “shadowsocks settings” button
    •  Fixed the functionality of the “shadowsocks settings” button
    •  Fixed the password display function
    •  Fixed the popup prompt box
    •  Fixed the dropdown style
    •  Fixed the “Import configuration file (JSON format)” interface;
      The interface has been fixed, but there are issues with the underlying functionality;
    •  Fixed the “Advanced Settings” interface
  •  release/v1.1.0 => Completed UI adaptation of all previous features for the new version
  •  Use GitHub as file storage.
    Since scripts can be used from raw.githubusercontent.com, downloading ss.tar.gz should not be a problem either, just slower;
  •  Add more routing rules to the underlying layer
  •  Some issues regarding open-sourcing the underlying source code
  1. Next stage
  •  Upgrade the ss-libev version
  •  Support ss-libev obfuscation
    (simple-obfs)
  •  Support SSR

Contributions

  1. If you encounter any problems or have suggestions while using it, please don’t hesitate to open an issue for me;
  2. If you have your own ideas about the code and have implemented them, please send me a Pull Request;
  3. I am no longer accepting emails. Everyone should be able to see the issues, which reduces duplicate answers. Please open an issue, thank you~

Current status

  1. New Interface

(1). SS Account Settings

Leave a Comment

Your email address will not be published. Required fields are marked *

中文 EN
🚀

RedGate VPN

免费节点太挤太慢?
升级高速稳定专线

立即体验 →

告别卡顿

RedGate VPN
全球高速节点

免费下载 →
Scroll to Top