DEV Community

loading...
Cover image for Faster than a VPN and caching Proxy

Faster than a VPN and caching Proxy

loouislow profile image Loouis Low ・2 min read

The project ARCH codenamed Primitive (later on, there was another called Primitive-Ion) was an ultra-high-performance network proxy specifically designed for an embedded system to use in a large corporation, where the company that I used to work with. I was a firmware engineer.

There are several ways to run this application with instructions over my Github repository page. But here, we'll be sticking with the Docker, which you do not have to set up tons of things. With Docker, everything is predefined in the image container. All you need to do is pull the image and follow the minimal instructions below.

(See also, arch-primitive-ion, maybe I'll write a new article for this later on)

Docker Image

Get your Terminal ready to pull the image from Docker Hub,

$ docker pull loouislow81/arch-primitive
Enter fullscreen mode Exit fullscreen mode

arch-primitive uses default port 7878, you will need to map the port 7878 expose into your host system with another new port number, in the example, we'll stick with both ports number as 7878:7878. But, if you prefer your own port number, you can do this (e.g. 4545:7878 with -p flag). Once decided, first is to run the container in the background with added -d flag,

$ docker run -it -d -p 7878:7878 loouislow81/arch-primitive
Enter fullscreen mode Exit fullscreen mode

If you can't get the Docker Container fired up (but usually 100% worked), you can use the nerd way,

$ iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 7878 -j DNAT --to-destination 172.17.0.2:7878
Enter fullscreen mode Exit fullscreen mode

And, if you prefer to run the container as a system boot up forever,

$ docker run --restart=always -p 7878:7878 loouislow81/arch-primitive
Enter fullscreen mode Exit fullscreen mode

To remove the container,

$ docker rmi -f loouislow81/arch-primitive:latest
Enter fullscreen mode Exit fullscreen mode

Finally, you can configure your system proxy to use the ARCH primitive with the port number (e.g. 7878).

I've removed the built-in VPN adapter for your easy setup and running by using the only proxy that available on most platforms. Now, set it up as proxy, use the local IP address or (0.0.0.0, 127.0.0.1, localhost), port number is 7878 across these protocols HTTP, HTTPS, FTP & SOCKS.

((!)) You can close the Terminal that running the Docker Container, the arch-primitive will keep running at the background until you restart the system or the Docker services.

Enjoy!


Screenshots

Alt Text

Alt Text

Alt Text

Alt Text


Thank you for reading this article. Please heart or unicorn would encourage me to write more about this kind of article next time.

Discussion (0)

pic
Editor guide