revpfw3/README.md

67 lines
2.2 KiB
Markdown
Raw Normal View History

2023-01-31 19:57:49 +01:00
Reverse-PortForward V3
========================
This tool bypasses port restrictions of your router using some not-very-powerful
server (a cheap 1€ vserver will suffice.)
2023-10-03 02:16:02 +02:00
NEW: Modem support! RevPFW3 can now interact with modems using AT commands. A demo
is included for the SIM800L GSM modem.
2023-01-31 19:57:49 +01:00
---
### How to download it
I will provide a windows and mac build shortly. Right now, I can only provide a linux
build.
All builds I make can be found in the
[releases](https://github.com/tudbut/revpfw3/releases/latest).
If my build doesn't work or your system doesn't have one, [install
Rust](https://rustup.rs) and run `cargo install revpfw3` or `cargo install --git
https://github.com/tudbut/revpfw3`.
---
### How to set it up:
1. Buy some cheap server online, it will only need
1. Enough disk space to run a 5MB program (I recommend about .5GB free after
OS is installed)
2023-02-05 03:22:35 +01:00
2. 50MB of free RAM or more (if you expect to have many clients connecting,
use more RAM)
2023-01-31 19:57:49 +01:00
3. Flexible port settings
2023-02-05 03:22:35 +01:00
4. Not much CPU power, a single core definitely suffices.
2023-01-31 19:57:49 +01:00
2. Download revpfw3 to it
2023-02-01 20:19:56 +01:00
3. Run it like this: `revpfw3 server <port> <key>` (I recommend doing it in a
2023-01-31 19:57:49 +01:00
loop)
4. Download it to your destination as well (your PC, a raspi, etc)
5. Run it like this: `revpfw3 client <ip of your bridge server> <port> localhost
<port to redirect (on local machine)> <key>`
6. To restart, end BOTH processes (remote and on your local server) and restart
them.
---
### Applications and special features:
- Minecraft servers tested and functional.
- HTTP tested and functional.
- Some third-party protocols tested and functional.
- This is not an HTTP-Proxy. It will work with any TCP protocol that isn't
reliant on TCPNODELAY.
- No disconnects, even when the sockets stay open for hours.
- Fast
- Little ping increase in normal applications
- A 1ms waiting delay before sending is built in to reduce stress and increase
efficiency by waiting for further data.
---
### As a rust library
Reverse-PortForward V3 supports being used as a library. `revpfw3::client` and
`revpfw3::server` are public, so you can use those. Keep in mind they will panic
when the connection to the corresponding client/server drops.