A 100 line shadowsocks like tunneling proxy in nodejs.
MIT License
simple-shadow
A 100 line shadowsocks like firewall tunneling proxy written in nodejs with educational purpose.
# install
npm install -g viti
# start remote server
viti --remote --password 'sample password'
# start local server and connect with remote
viti --local --host '127.0.0.1' --password 'sample password'
127.0.0.1:1081
; Then, you need to set up socks proxy for your computer
1082
; make sure this port is opened.Your local machine is not able to visit google.com because a firewall blacklist the google's IP or reading your request and preventing you from visit google.
However, you have another machine which you can access and that machine can access google.com.
It is easy to think of that you can ask that machine to visit sites on behalf of you and return result back to you. But the firewall may reading your request to that machine. So, you will need to encrypt your data when you are requesting that machine.
local tcp proxy
local tcp proxy
encrypt the data and send to remote tcp proxy
(pass the wall)remote tcp proxy
decrypt the data and send to SOCKS5 server
SOCKS5 server
do the request to google.com and send the response back to remote tcp proxy
remote tcp proxy
encrypt the data and send to local tcp proxy
(pass the wall)local tcp proxy
decrypt the data and send back to brower, now you can access google.com!