tcp-multiplex
Why?
Some Internet Service Providers use a shaping technology which results in slow down each particular connection. Regular user may not notice this ever, as Internet browsing, chats and etc utilise multiple connections at a time.
This comes into play when we start using VPN, which encapsulates all our traffic into one connection by nature. This time the ISP limitation might be noticeable.
How it works?
If we say a traffic flows from Left to Right, we can describe our trick in this way:
Being on Left side and initiate a connection, we split a data being sent in the connection by many other connections before an ISP outlet.
A receiver on Right side zips the data from many connections into one established connection to a target software.
For client and server software it looks like a normal connection. While IPS sees many connections. As consequence, such traffic is harder to analyze due to discrete stream.
| |
our laptop | ISP | our server
___ ___
-------------- | D | ------------> | |
/ VPN Client / --> | E | ------------> | M |
-------------- | M | ------------> | U | --------------
| U | ------------> | X | --> / VPN Server /
| X | ------------> | | --------------
----- -----
| |
Installation
TODO Write installation instructions here
Usage
TODO Write usage instructions here
Development
TODO Write development instructions here
Contributing
- Fork it (https://github.com/abriel/tcp-multiplex/fork)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
Contributors
- Dmitry Pisarev - creator and maintainer