Skip to content

Install or update the VPS

Ycarus (Yannick Chabanois) edited this page Oct 27, 2024 · 104 revisions

You need to have a MPTCP kernel,shadowsocks-libev, shadowsocks-go, V2Ray, XRay, Glorytun, and a few services installed on the VPS. The VPS script will install and configure them for you.

Tested and working on (in alphabetical order, this is not a recommendation list):

  • Amazon AWS port range 0-65535 in UDP, TCP and ICMP must be opened (US, ZA, HK, CA, UK, BR, BH, IT, IE, DE, JP,...)
  • Aruba Cloud (some transfer limits) (IT, CZ, FR, DE, UK, PL)
  • Avoro (DE)
  • BuyVM no transfer limit, speed limited to 1000Mb/s (US, LU) (there is some issue with the script on this provider)
  • Digital Ocean (some transfer limits) (US, NL, SG, UK, DE, CA, IN)
  • fastpipe.io (GERMANY) (there is some issue with the script on this provider)
  • Firstheberg VPS (no transfer limit, speed limited to 200Mb/s) (FR) (Partition / go Read Only sometimes, a reboot fix the issue)
  • Google Cloud Platform port range 0-65535 in UDP, TCP and ICMP must be opened (US, CA, BR, FI, BE, UK, NL, DE, SW, TW, HK, JP, SG, AU,...)
  • Hetzner Transfer limit to 20TB (DE, FI)
  • Hosterlabs No transfer limit, speed limited to 200Mb/s with 500Mb/s burst (CA)
  • Hostworld no transfer limit (UK, US)
  • HT-Hosting transfer limit from 3TB to unlimited, port speed 10Gb/s with 1Gb/s guaranteed (DE)
  • Infomaniak no transfer limit, speed limit from 500Mb/s to 25Gb/s (CH)
  • Ionos No transfer limit, speed limited to 1Gb/s (FR,DE,ES,UK,US)
  • Kamatera transfer limit from 1TB to 5TB (CA,DE,HK,IL,UK,US,NL)
  • Linode transfer limit from 1TB to 20TB, speed from 1Gb/s to 12Gb/s (CA, DE, IN, UK, US, JP, SG, AU)
  • Lunanode transfer limit from 1TB to 10TB, speed limited to 100Mb/s (CA, FR)
  • Milkywan IPv4 option is required (No traffic limit, port speed 10Gb/s) (FR)
  • MVPS some SMTP limits (transfer limit from 3TB to 60TB, speed limited to 70Mb/s or 100Mb/s) (DE, FR, GR, NL, SE, UK)
  • OVH/Kimsufi (no transfer limit, speed limited to 100Mb/s-2Gb/s) (FR, CA, PL, DE, UK, AU, SG)
  • Sapinet (No traffic limit, port speed 10Gb/s) (FR)
  • Scaleway recent VPS Virtual SSD Cloud Servers (not BareMetal SSD Cloud Servers and not Arm) with local boot enabled, all ports used by SMTP are blocked by default, can be unblocked (No traffic limit, speed limited to 100-400Mb/s) (FR)
  • Tiktalik (transfer limit 2TB, speed limited to 100Mb/s) (PL)
  • Vultr Cloud Compute VC2 (transfer limit, port speed 1Gb/s) some ports are blocked : https://www.vultr.com/docs/what-ports-are-blocked (US, FR, SG, NL, UK, DE, AU, CA, JP, KR)

The VPS/server need to have the lowest latency as possible with your connections.

Should work on most x86_64 KVM VPS (you need to be able to boot from local kernel) with at least 1024Mo RAM.

Can't work with OpenVZ, LXC VPS or in Docker (or host need to have the MPTCP patched kernel).

Work with all dedicated server.

Install/Update

Use Debian 10 Buster, Debian 11 Bullseye or Debian 12 Bookworm x86_64 (recommended)

This will update Debian to Debian 12 on installation.

If you want IPv6, configure it on the server before running the script.

Connect with SSH on your server, using ssh command under Linux or Putty under windows for example.

You may need to update your server:

apt-get update && apt-get upgrade

Then, as root:

wget -O - https://www.openmptcprouter.com/server/debian-x86_64.sh | KERNEL="6.6" sh

or

wget https://www.openmptcprouter.com/server/debian-x86_64.sh
KERNEL="6.6" sh debian-x86_64.sh

If you want to use legacy MPTCP:

For kernel 5.4 You need to also use router part with kernel 5.4, it's not the default image:

wget -O - https://www.openmptcprouter.com/server/debian-x86_64.sh | KERNEL="5.4" sh

If you have a certificate error, try: apt-get install -y ca-certificates && sed -i '/^mozilla\/DST_Root_CA_X3/s/^/!/' /etc/ca-certificates.conf && update-ca-certificates -f

The script will install and configure mptcp kernel, shadowsocks, glorytun and shorewall (as firewall). Key for shadowsocks and glorytun are generated by the script.

  • SSH port is changed to 65222 (TCP)
  • Shadowsocks port is 65101 (TCP & UDP)
  • Shadowsocks-Rust port is 65280 (TCP & UDP)
  • Glorytun port is 65001 (TCP & UDP)
  • OMR JSON admin is 65500 (TCP)
  • OpenVPN port is 65301 (TCP)
  • MLVPN ports are 65201-65208 (UDP)
  • Iperf3 on port 65400 (TCP & UDP)
  • DSVPN port is 65401 (TCP)
  • V2Ray port is 65228, 65229, 65230 and 65231 (TCP)
  • Xray port is 65248, 65249, 65250, 65251, 65252 and 443 when VLESS-Reality is used (TCP)
  • Wireguard port is 65311 & 65312 (UDP)
  • ICMP mustn't be blocked

You can also open range 65000-65535.

After install, keys are saved in /root/openmptcprouter_config.txt

VPS MUST be rebooted after installation.

Update

To update, you have to download and run the script again. Keys will be preserved.

Files used by script

All files available here: https://github.com/Ysurac/openmptcprouter-vps