turbo-tunnel icon indicating copy to clipboard operation
turbo-tunnel copied to clipboard

turbo-tunnel on android as a client .

Open ingnelson opened this issue 4 years ago โ€ข 5 comments

Hello .

will you create a android application to use it as a client to create the tunnel to the server (turbo-tunnel) ?

one more question: turbo-tunnel can use GET method and not CONNECT method to create the http tunneling ?

ingnelson avatar Jul 19 '20 14:07 ingnelson

  1. Android client needs to pack python runtime in it, so there is no plan currently.
  2. I supposed to write a plugin to support GET/POST method, because http tunnel is not a long connection tunnel, which can not transport TCP data.

drunkdream avatar Jul 25 '20 17:07 drunkdream

@drunkdream how possible create a shadowsock plugin in linux , so this way i can use go-shadowsocks2 on my android using TERMUX app (Linux Terminal) ?

Because my ISP firewall only allow GET or POST headers and the other limitation is my ISP provider blocks the connection if the server send more then 10,000 bytes on one request.

Can you help me to create that TUNNEL ? I will be glad to pay for your services.

Do you have Telegram ?

ingnelson avatar Jul 25 '20 19:07 ingnelson

I'm writing a plugin named relay-tunnel, which can create a tunnel through http server. The principle is both sides of communication periodically visit http server to send or recv data to or from the other end . So it needs the user has a http server which can save data temporarily.

But the support for shadowsocks is not planned. Have you tried this project?

drunkdream avatar Jul 26 '20 00:07 drunkdream

@drunkdream i will explain to you what i need :

  1. My ISP provider only let pass or allow GET method request without HTTP headers (example : Host , Connect etc), so only the first line.
  2. My ISP provider blocks the connection if the server send more then 10,000 bytes on one request. so the connection should be multiples connection and multiple request, maybe configure the server if the server send more that 9000 bytes close the connection and the client send other HTTP request to create a new connection ? or it'll require tricky job polling that 10K segments and reassembling them ?

At the and of the first line should end with \r\n ูŒูู’ู’ู’ู’ู’ู’ู’ู’ู’ู’ู’ู’ู’ู‘ู‘ู‘ู‘ู’ู’ู’ู’ูููู’ูู\r\n\r\n

As you can see this http request do not finish with \r\n\r\n , it finish with \r\n ูŒูู’ู’ู’ู’ู’ู’ู’ู’ู’ู’ู’ู’ู’ู‘ู‘ู‘ู‘ู’ู’ู’ู’ูููู’ูู\r\n\r\n this has NON-ASCII characters after the first \r\n + space , this NON-ASCII character is the trick to bypass the firewall

The HTTP should be like this:

GET #0=fown&method=1&down=15000# HTTP/1.1\r\n ูŒูู’ู’ู’ู’ู’ู’ู’ู’ู’ู’ู’ู’ู’ู‘ู‘ู‘ู‘ู’ู’ู’ู’ูููู’ูู\r\n\r\n

or

GET #123# HTTP/1.1\r\n\x20\xd9\x8c\xd9\x8f\xd9\x92\xd9\x92\xd9\x92\xd9\x92\xd9\x92\xd9\x92\xd9\x92\xd9\x92\xd9\x92\xd9\x92\xd9\x92\xd9\x92\xd9\x92\xd9\x91\xd9\x91\xd9\x91\xd9\x91\xd9\x92\xd9\x92\xd9\x92\xd9\x92\xd9\x8f\xd9\x8f\xd9\x8f\xd9\x92\xd9\x8f\xd9\x8f\r\n\r\n

So some guy create a connection using shadowsocks + a plugin , but he only let me try it one time , i know it works , and works on many countries around the world like this :

HTTP request on port 80 > Shadowsocks on port 443 > internet > HTTP server listen on port 80 > shadowsocks server listen on port 443

On wireshark program the connection looks like this :

4Full_request_and_response 1HTTP REQUEST 2NON-ASCII CHARACTERS 3HTTP RESPONSE

You can see the packet via WIRESHARK: quantumnica1.zip

Those screenshots are from a android app that create the tunnel like i told you, i just figurate how it works and i want to create the same connection.

Can you create connection like that using GET method , please ? or Can you modify this nex shadowsocks plugin to use only GET method for Downstream and GET method for Upstream ? https://github.com/Snawoot/httpierce/

Do you have Telegram ? i really need your help.

ingnelson avatar Jul 26 '20 16:07 ingnelson

That looks like your ISP is so complicated, and I'm not familiar with golang. So I'm very sorry that I can't help you. Best wishes!

drunkdream avatar Jul 31 '20 16:07 drunkdream