Shadowsocks container which works on HEX S 2025 (E60iUGS)

Hi All,

I am tying to install and run Shadowsocks container on my Mikrotik E60iUGS router but I get stucked on “Illegal instruction” messages. Whatever I am trying it does not work on my router. I tried to prepare some custom packages in Docker but any didn't work for me.

Is it possible to run Shadowsocks container on this machine?
Can anyone share a link to Shadowsocks container which is going to work on HEX S 2025?

I wanted to run Shadowsocks because I am going to China and want to hide from GFW using my router and Shadowsocks app on my phone.

ARMv5.

In the meantime I have found solution which is based on this ARMv5 Debian mentioned above.

Below what has worked for me and my HEX S 2025.

  1. Add container:
    /container add remote-image=arm32v5/debian:bookworm-slim root-dir=usb1-part1/ss_debian hostname=ss-debian interface=veth_ss logging=yes start-on-boot=no

  2. Add sleep condition and start container:
    /container set [find hostname="ss-debian"] cmd="tail -f /dev/null"
    /container start [find hostname="ss-debian"]

  3. Install Shadowsocks inside Debian container:
    /container shell [find hostname="ss-debian"]
    apt update
    apt install shadowsocks-libev -y
    exit

  4. Stop "dummy" container and run and configure Shadowsocks:
    /container stop [find hostname="ss-debian"]
    /container set [find hostname="ss-debian"] cmd="ss-server -s 0.0.0.0 -p 8388 -k PassWord -m aes-256-gcm -u"

  5. Final run and Start on boot enabled:
    /container set [find hostname="ss-debian"] start-on-boot=yes
    /container start [find hostname="ss-debian"]

You can check whether container is running by typing following command:
/container log print [find hostname="ss-debian"]

In the default config device-mode is off and after reboot of the router you will lost defined container. It can be fixed using NetWatch trigger and correct script which sums up above commands.

If device-mode=yes enabled then your defined container should not be wiped after reboot but this is less secure mode so you need to remember to secure your router well if it is visible from the Internet.

Hope this will help anyone.

That's step 1. You are now prepared to benefit from another of my articles, Containers Are Not VMs.

Briefly: roll all that up into a Containerfile and build an image, then use that instead of hand-rolling this prototype form each time you need to redeploy.

Sure. I am going to try and I will ask questions if I have a roadblock that I can't pass.

The better way to do this is to use cmd="sleep infinity" (doesn't open file descriptor, no IO check, responds immediately to SIGTERM).

Thanks for the tip.