The community Standalone Snowflake proxy page currently has instructions for running a standalone snowflake proxy on various systems. Based on my recent experience with setting one up on my home router running OpenWrt, I think it may be useful to add instructions for OpenWrt too. Here is my thinking:
- OpenWrt can run on a large number of modern routers and is designed to replace the OEM firmware
- I’ve seen here at least one case of someone running a standalone snowflake proxy on their router
- The OpenWrt forum has a number of questions from users asking how to do this
- The setup cost on an existing router is nil - compared to, say, running the proxy on a dedicated server
- A router is up pretty much 24/7 and proxied traffic is routed without touching the rest of the LAN
- My own (albeit short) experience suggests the hardware & other requirements are no challenge
- Most of the setup is possible through the router’s web GUI interface (OpenWrt’s default is called LuCI)
On that final point I thought I’d share my present setup:
I recently decided to upgrade my old router and wanted an OpenWrt-compatible replacement. I eventually chose OpenWrt’s own hardware; the OpenWrt One. This model has 1GB RAM and many home routers have less than this, but see below re memory requirements.
My router acts as a gateway router - i.e. it is connected directly to my modem and my WAN settings contain my ISP’s PPPoE credentials. Another contributor here describes running a standalone snowflake proxy on a machine behind an OpenWrt router. My post here concerns running the proxy on the gateway router itself.
Installing the snowflake-proxy package can be done via the web GUI. The firewall rules it order to attain the desired “unrestricted” NAT can also be set up via the web GUI. No port forwarding is required, as the device itself hosts the proxy. The program is started and set to start at reboot automatically.
The only part which requires some command line skills is adding the required parameters to the snowflake-proxy command it its ‘init’ script (located at /etc/init.d/snowflake-proxy). I have the -ephemeral-ports-range set to the maximum recommended range; 32768:60999 to match the ports I opened in the firewall.
Memory requirements were my biggest worry, as I’d read many opinions here on limiting the number of connections (via the -capacity flag) so as not to exceed available RAM. I experimented with a few figures and my proxy currently runs in default ‘unlimited’ mode. AFAICT the number of concurrent connections is peaking so far in the low 20’s. Memory usage so far is surprisingly manageable; less than 40 MB (RSS) and my router shows overall memory usage of only 22% (I don’t have any other additional software running on it).
The level of hourly traffic I’m seeing right now looks like this, so the proxy seems to be useful. If we were to project these kind of figures 24/7 it gives a pretty high monthly usage number, but I’ll need to look at a few 24hr periods to get a better view on whether this may be an issue with my ISP.
![]()
In summary, though it is very early days, my experience of running a standalone snowflake proxy on my OpenWrt home router has been excellent. I am sure many more people would be willing to do the same and adding OpenWrt-specific setup instructions on the community page would, I think, be very useful. I’d be happy to help with this, if needed.

