Go FFW is a reverse tunnel based on fasthttp and websocket. It comes in to play by acting as a middle man in relaying the traffic between your blocked applications using http which is normally not blocked and to the destination server, effectively bypassing the restrictions on firewall.
Features:
- Sock5 proxy
- TCP proxy
- All data is encrypted
- Easy to use CLI
- Support websocket or http request
Common use cases:
- Bypass Blocked Sites
- Bypass blocked protocols (ssh,ftp,...)
- Get reverse Shell - Bypass firewall
- Pivot network
How it works is based on the following model
There are two executables:
- ffwd - the tunnel server, to be run on publicly available host like VPS
- ffwc - the tunnel client, to be run on your local machine or in your private network
To get help on the command parameters run ffwd -h or ffwc -h.
An encrypted tunnel requires the generation of public and private keys
$ openssl genrsa -out key.pem
$ openssl rsa -in key.pem -pubout > key-pub.pem
On server:
$ ffwd --addr 0.0.0.0:80 --priv key.pem --pub key-pub.pem
This will run HTTP server on port 80
.
On client:
$ ffwc --addr 127.0.0.1:1995 --server 127.0.0.1:80 --ignore 127.0.0.1,*.google.com --mode http
This will run SOCK5 proxy server on port 1995
. Configuring your application to use socks proxy.
A GitHub star is always appreciated!