choury / sproxy Goto Github PK
View Code? Open in Web Editor NEWhttp proxy over ssl
http proxy over ssl
Hello my friend.
I am behind a ISP firewall .
i use sproxy on port 53
, becuase it is the only port that my ISP allow use CONNECT method , i used this command:
docker run -itd --name sproxy --ip 0.0.0.0 -p 53:80 choury/sproxy
The sproxy server (VPS ) recive only the first line of the HTTP request here is the log :
root@TameValid-VM:~# docker logs sproxy
void reloadstrategy()[262]: read policy file sites.list failed!
Accepting connections ...
[DNS] set dns server: 208.67.222.222
[DNS] set dns server: 208.67.220.220
[::ffff:186.77.138.44]:23068 [10000] CONNECT youtubei.googleapis.com:443 [direct] 200 [Sproxy/0.202 (Android 9; Redmi Note 7 Build/1571686662)]
[::ffff:186.77.138.44]:1285 [10001] CONNECT youtubei.googleapis.com:443 [direct] 200 [Sproxy/0.202 (Android 9; Redmi Note 7 Build/1571686662)]
Checksocket[22]: virtual void RWer::defaultHE(RW_EVENT):sock error: Broken pipe
virtual void Host::Error(int, int)[220]: Host error <youtubei.googleapis.com:443> 10001 80/32
Checksocket[22]: virtual void RWer::defaultHE(RW_EVENT):sock error: Broken pipe
virtual void Host::Error(int, int)[220]: Host error <youtubei.googleapis.com:443> 10000 80/32
[::ffff:186.77.138.44]:54125 [10002] CONNECT youtubei.googleapis.com:443 [direct] 200 [Sproxy/0.202 (Android 9; Redmi Note 7 Build/1571686662)]
[::ffff:186.77.138.44]:16053 [10003] CONNECT redirector.googlevideo.com:443 [direct] 200 [Sproxy/0.202 (Android 9; Redmi Note 7 Build/1571686662)]
Checksocket[22]: virtual void RWer::defaultHE(RW_EVENT):sock error: Broken pipe
virtual void Host::Error(int, int)[220]: Host error <youtubei.googleapis.com:443> 10002 80/32
Checksocket[22]: virtual void RWer::defaultHE(RW_EVENT):sock error: Broken pipe
virtual void Host::Error(int, int)[220]: Host error <redirector.googlevideo.com:443> 10003 80/32
[::ffff:186.77.138.44]:63101 [10004] CONNECT data.mistat.intl.xiaomi.com:443 [direct] 200 [Sproxy/0.202 (Android 9; Redmi Note 7 Build/1571686662)]
[::ffff:186.77.138.44]:17235 [10005] CONNECT youtubei.googleapis.com:443 [direct] 200 [Sproxy/0.202 (Android 9; Redmi Note 7 Build/1571686662)]
Connect[205]: connecting [2607:f8b0:4007:80f::200a]:443 error: Cannot assign requested address
Connect[205]: connecting [2607:f8b0:4007:80f::200a]:443 error: Cannot assign requested address
void NetRWer::con_failed()[178]: connect to youtubei.googleapis.com error
[DNS] down for youtubei.googleapis.com: [2607:f8b0:4007:80f::200a]
void NetRWer::con_failed()[178]: connect to youtubei.googleapis.com error
[DNS] down for youtubei.googleapis.com: [2607:f8b0:4007:80f::200a]
[::ffff:186.77.138.44]:48313 [10006] CONNECT youtubei.googleapis.com:443 [direct] 200 [Sproxy/0.202 (Android 9; Redmi Note 7 Build/1571686662)]
[::ffff:186.77.138.44]:13053 [10007] CONNECT youtubei.googleapis.com:443 [direct] 200 [Sproxy/0.202 (Android 9; Redmi Note 7 Build/1571686662)]
Checksocket[22]: virtual void RWer::defaultHE(RW_EVENT):sock error: Connection timed out
virtual void Host::Error(int, int)[220]: Host error <data.mistat.intl.xiaomi.com:443> 10004 80/110
Checksocket[22]: virtual void RWer::defaultHE(RW_EVENT):sock error: Broken pipe
virtual void Host::Error(int, int)[220]: Host error <youtubei.googleapis.com:443> 10005 80/32
Checksocket[22]: virtual void RWer::defaultHE(RW_EVENT):sock error: Broken pipe
virtual void Host::Error(int, int)[220]: Host error <youtubei.googleapis.com:443> 10006 80/32
Checksocket[22]: virtual void RWer::defaultHE(RW_EVENT):sock error: Broken pipe
virtual void Host::Error(int, int)[220]: Host error <youtubei.googleapis.com:443> 10007 80/32
Android log :
But on my android do not open any websites using my mobile network , but if i use my WIFI works fine.
Do you have a idea how to bypass this restricction ? maybe using a server SSH on my VPS ( CONNECT 172.245.22.211:443 HTTP/1.1
) or something else instead CONNECT youtubei.googleapis.com:443 HTTP/1.1
? to create a better tunnel ?
Or modifying something on the app ? you are the master . Please help me with this, because it is the first time after much time i see a request goes to the server using a proxy on my mobile network.
I will wait your answer.
@choury the problem it is the sproxy stop or crash on the VPS when I run the sproxy on the Android, then when I log in to my VPS the sproxy is closed or not listening on any port .
I use this command like :
docker run -itd -p 80:80 choury/sproxy
我发现如果用了SSL系列的read和write,和LT模式的epoll,如果读事件到达以后没有把所有数据都读完,那么在下一次数据来之前都不会有新事件,epoll表现的和ET模式一样,网上查了查才发现,这是由于SSL_read会缓存数据,虽然我这里没把数据读完,但是数据其实已经被ssl读完了,所以就不会再触发事件了,因此,这种情况要按照ET模式处理
Hello.
is there a way you add a feature or option where we can edit the HTTP request that send the SPROXY app ? because there are many ISP providers that only allow some Host or Domains .
This way we can trick the firewall . The firewall will think we are just visiting the allow websites.
Is it posible to add a custom windows where the user can modify the HTTP request ?
i will wait your reply.
Hello.
My name is Nelson, I am from Nicaragua, can you help me with a reverse proxy , i would be glad to pay you for your services.
I am behind a firewall
The client is a Android Application, it can sends an HTTP request with the proxy and then to the SSH server to create the tunnel
On the internet I found the following:
HTTP proxy: 50.18.211.227:8043
Fully qualified domain name (FQDN): 5ef50094901b6f5fccdfd0f6-172-245-22-211.cloudmi.datami.net
The proxy is linked to their domain, the only thing that altered was the domain which removed their IP that it had and put or added mine 172-245-22-211 so that your proxy will not reject the connection.
I show you the connection that WIRESHARK shows me. What you send and what you receive :
It is possible to create a proxy that support CONNECT method and support HTTPS or SSL like that proxy I found on the internet ?
The proxy 50.18.211.227:8043 response is :
HTTP/1.1 200 Connection established.
Server: sdgw
then goes the response from my SSH dropbear and the tunnel is created.
i want a proxy like that on my VPS .
I am going to wait for your reply.
Hello.
I found that sproxy is leaking our ISP IP .
If we connect the sproxy then we visit the website www.whatismyip.com it shows our ISP IP.
Maybe is a DNS leaking problem ??
Look :
On the sproxy log (android ) said :
[DNS] ack error:
I will wait your answer.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.