Comments (17)
With --socks5 yes; but when you try with SOCKS4, then NO!
as expected...
That's the reason to request for supporting SOCKS4.
Because I want to use it as an upstream proxy using the SOCKS4 protocol.
what advantage do you expect from using SOCKS4 ?
Advantage? Nothing in fact. But not all socks clients support the SOCKS5 protocol. A lot supports only SOCKS4. So to use this tool another SOCKS5->SOCKS4 translator is required.
So, please consider to support both versions.
Regards.
from microsocks.
A lot supports only SOCKS4
do you have some actual examples of programs supporting only socks4 ?
from microsocks.
i made a socks4 server implementation in python, you can use it instead: https://github.com/rofl0r/pysocks4
from microsocks.
Since it does not look like this is going anywhere, I'll leave this here: https://github.com/niklata/muonsocks - a minimalistic socks4/socks4a/socks5 proxy, based on microsocks
from microsocks.
that's really good news. i can wholeheartedly recommend that implementation, as i know the author from the early days of musl libc development and can vouch for his skills and security-concious programming style.
from microsocks.
With --socks5 yes; but when you try with SOCKS4, then NO!
as expected...
Because I want to use it as an upstream proxy using the SOCKS4 protocol.
what advantage do you expect from using SOCKS4 ?
from microsocks.
socat
only supports socks4 FWIW
from microsocks.
the difference is not that small, even the number of packets for handshake differs (here, socks4a is more efficient in that it requires less traffic, which is why tor defaults to it). i estimate that supporting socks4a in addition to socks5 would require adding about 20% more code and it would make everything more convoluted.
it would make more sense to fork microsocks for this purpose and make it socks4a only. but then, pysocks4 seems good enough for me, apart from not being written in C.
And a lot of other tools only supports socks4.
you keep repeating that, but so far only socat and an exotic java library called jetty have been mentioned. you gotta provide more examples to convince me there's really "a lot" of them.
from microsocks.
microsocks is not GNU software, it doesn't try to be everything at once - there are other socks proxy implementations for that. it's a minimal, yet fully usable and performant implementation of one thing. in my opinion it's also a good example for a multithreaded TCP server app to be used for teaching. adding all sorts of features to it would make it hard to read and modify.
from microsocks.
I really appreciate that microsocks keeps it really simple and effective. It does one thing well and doesn't require any complicated setup, configuration files, user accounts, none of that. Thank you for making this software.
from microsocks.
Hi @cloudrac3r (and @rofl0r),
We all really appreciate that microsocks makes things simple and efficient. We don't want to change that. However, socks is a protocol, and what we ask is that this tool supports both version 5 and version 4 of that same protocol. A parallel example might be a web server with HTTP v1.1 support that doen't support v1.0.
from microsocks.
I'm testing with CURL and it only supports SOCKS5 protocol, and not SOCKS4
so microsocks and curl are perfectly compatible...
Please, can you provide dual protocol support?
why ?
from microsocks.
I'm testing with CURL and it only supports SOCKS5 protocol, and not SOCKS4
so microsocks and curl are perfectly compatible...
With --socks5
yes; but when you try with SOCKS4, then NO!
Please, can you provide dual protocol support?
why ?
Because I want to use it as an upstream proxy using the SOCKS4 protocol.
from microsocks.
do you have some actual examples of programs supporting only socks4 ?
Any Java application based on the HTTP client library from jetty (https://www.eclipse.org/jetty/) will not be able to use a socks5-only proxy since it only supports socks4 and socks4a.
from microsocks.
And not only all Java apps but all based on SSH fordwarding. In fact you can found more clients supporting only Socks4 than clients supporting Socks5 version.
from microsocks.
socat
only supports socks4 FWIW
And a lot of other tools only supports socks4. That's the reason to request to "upgrade" microsoks with v4 support. That seems to be easy as v4 is subset of v5 with only small differences.
from microsocks.
I'll add into this, socks4 support can be added as a module or as a extra feature that isn't even built by default, it doesn't have to actually complicate the code in main.c itself. Plus, jetty is not at all exotic. It's a massive (and widely used) java network library.
from microsocks.
Related Issues (20)
- Parameter -q (quiet) to disable logging HOT 2
- FR: whitelist IP address in parameter HOT 6
- Use custom DNS HOT 20
- Can't connect to `0.0.0.0` on client HOT 4
- Connect to server running on the same machine HOT 17
- microsocks-1.0.2-x86_64-static may contain security issues HOT 1
- EC_TTL_EXPIRED error is sent down idle connection, and treated as application-layer traffic by client
- microsocks: not found HOT 1
- Configuration of the Proxy HOT 1
- Blocking some IPs HOT 1
- Any plans to support UDP? HOT 2
- Allow passthrough of TCP/ip headers HOT 1
- a little Suggest. Change release url to https HOT 1
- Any chance of a new release with -q flag added? HOT 2
- Disconnect logging
- Using 443 Port HOT 1
- buffer overflow detected HOT 6
- Bandwidth testing tools HOT 5
- add systemd service file HOT 3
- Trying IPv6 sockets w/ IPv6 being available but down, leads to connection failures HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from microsocks.