S
S
Sild2012-10-09 02:24:25
Java
Sild, 2012-10-09 02:24:25

writing a generic proxy

Hello, there is a desire to write your own proxy server, which, upon request from the client side (we also write the client with pens), forwarded all outgoing requests through some third-party server. The client specifies the protocol and/or port, and all requests using these parameters are bypassed to the final destination.

So, for what purpose did I create the question?
First, I would like to ask you - are there any ready-made solutions? Maybe it would be useful for me to read about them, or even look at the source codes. It is quite possible that there are projects that partially implement my plans (TOR, SOCKS - those that I found. It would be great to figure it out more, because regarding SOCKS - it’s a complete mess in my head. Do you have anything else to share?)

Secondly, at the moment I am considering Java as a PL, but this is due only to cross-platform and little experience with it. Tell me if this is the right choice, maybe there are better options?

Answer the question

In order to leave comments, you need to log in

5 answer(s)
S
Semyon Dubina, 2012-10-09
@sam002

Do you pee for practice or do you need the real thing? I think that after a normal acquaintance with TOR technologies, you will have no questions, but ideas will appear)) Even on your knee, you can configure iptables for this.

V
vsespb, 2012-10-09
@vsespb

Regarding languages ​​- if the server is only under linux - then Perl is a great option.

B
bogolt, 2012-10-09
@bogolt

Cross- platform PLs:
C, C++, Python, Ruby, Java, Erlang, and so on, in fact, almost anything.
For C C++, you will only need to choose a cross-platform library for working with the network ( boost for pluses for example )

F
FanKiLL, 2012-10-09
@FanKiLL

netty.io There is an example of a highly efficient NIO proxy server.

S
Sild, 2012-10-10
@Sild

With manuals, as correctly mentioned in this post , netty has problems. But the library seems to be pretty, although its tasks are slightly different - I’m not building a highly loaded server, but some kind of loop on the local machine.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question