Coder Social home page Coder Social logo

ssbwg's Introduction

ssbwg: WireGuard VPN for Slippi

Based on @jmlee337's solution:

Many Slippi players have consistent problems connecting to other players. They are often caused by routing or traversal issues outside of the players' control, often at the ISP level. In these cases, tunneling through a VPN can solve connection issues and even lower ping. Retail VPNs can work for individual players but don't scale to the population of a whole region. For example, many ISPs in the Philippines use CGNAT which makes it difficult to establish domestic P2P connections. To that end, I have created a VPN specifically for the Melee community in the Philippines using cloud compute...

This repository aims to be a reference for such an instance, if anyone else wishes to test this out quickly within their region with a fork. Pretty much the only things that need to change are in Pulumi.prod.yaml.

Technologies

Besides things mentioned in the original thread (WireGuard, WireSock, WireSockUI):

  • Pulumi (Pulumi Cloud for individuals is free!)
  • GCP

Even if you don't want to use the same exact infrastructure setup, hopefully this is still useful. Note that in most other places the network interface will probably be eth0 instead of ens4.

Examples

Within the examples directory lies examples of what configurations will actually be generated in the server. All the keys here are fake, and <<VM_EXTERNAL_IP_HERE>> should also be replaced in your actual configuration.

Deploying

$ gcloud auth application-default login
$ pulumi up --config="gcp:project=your-gcp-project"

Upon first boot, copy machine/setup.sh into the VM and run it. It will generate 253 peers (10.0.2.2 ~ 10.0.2.254), left in a /etc/wireguard/peers.conf for convenience, and update /etc/wireguard/wg0.conf accordingly.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.