https://github.com/jo-37/openvpn-tcp-connector
Adapter between an UDP OpenVPN server and TCP OpenVPN clients
https://github.com/jo-37/openvpn-tcp-connector
openvpn openvpn-server perl-script
Last synced: about 1 month ago
JSON representation
Adapter between an UDP OpenVPN server and TCP OpenVPN clients
- Host: GitHub
- URL: https://github.com/jo-37/openvpn-tcp-connector
- Owner: jo-37
- License: gpl-3.0
- Created: 2017-07-28T15:55:52.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2019-09-20T20:41:41.000Z (about 6 years ago)
- Last Synced: 2025-01-19T17:33:59.188Z (11 months ago)
- Topics: openvpn, openvpn-server, perl-script
- Language: Perl
- Size: 20.5 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# openvpn-tcp-connector
Adapter between an UDP OpenVPN server and TCP OpenVPN clients
The program [ovpn_tcp.pl](ovpn_tcp.pl) accepts clients on a TCP port and splits the incoming data stream into chunks that are
forwarded as UDP packets to the OpenVPN server.
Response packets from the server are streamed back to the client.
See [perldoc](ovpn_tcp.md) or
[repository](https://github.com/jo-37/openvpn-tcp-connector) for details.
This is mostly a proof-of-concept and an exercise in using the POE framework.
Almost all of the code is taken from examples in the perldoc of the used modules.
The conversion between the TCP stream and the UDP packets is based on the protocol description in
[ssl.h](https://sourceforge.net/p/openvpn/openvpn/ci/v2.1.4/tree/ssl.h "link to the sourceforge project").
Also provided is a systemd unit description [ovpn_tcp.service](ovpn_tcp.service) that enables `ovpn_tcp.pl` as a
systemd service.
**[back](..)**