Your private network. Anywhere.

Connect devices behind NATs, CGNAT, and firewalls in seconds. Secure LAN-style networking for gaming, SSH, and remote access without complex port forwarding.

mynet — bash — 80x24
$ mynet host relay
[+] Connecting to default relay (relay-na1.crosmakesgames.com:8443)...
[+] Network created successfully!
[+] Assigned VPN IP: 100.64.0.1
[+] Your Network Code: ABC123
[!] Share code 'ABC123' with devices you want to connect. Listening for peers...

Download MyNet

Available as a full unified package or open-source repository.

Linux Package

Includes Linux x86_64 binaries, shell installer scripts (install-linux.sh), systemd service integrators, and portable executables.

Download mynet-full.zip

Windows Package

Includes Windows GUI Setup Wizard (MyNet-Setup.exe), PowerShell installer script (install-windows.ps1), WinTun drivers, and executables.

Download mynet-full.zip

Source Code

Full Go source code, build scripts, installer templates, and documentation. Clone and build with go build ./cmd/mynet.

View on GitHub

Jump to a Tutorial or Section

SectionDescriptionJump
Quick Start GuideHost or join a network in 30 seconds→ Go
First Network TutorialConnect two devices across different networks→ Go
System Service SetupAuto-start MyNet on boot (Linux + Windows)→ Go
Silent & Automated DeploymentNon-interactive install for headless servers and CI→ Go
Relay Server SetupDeploy your own private relay on a Linux VPS→ Go
Relay PrerequisitesWhat you need to run a relay server→ Go
Relay Quick SetupAutomated setup with setup-relay.sh→ Go
Relay Manual InstallationStep-by-step manual install without the script→ Go
Relay ConfigurationCLI flags and parameters table→ Go
Relay Firewall SetupUFW and firewalld rules for relay ports→ Go
Relay systemd ManagementInstall, start, stop, and uninstall the relay service→ Go
Connecting to Custom RelayHow clients connect to your private relay→ Go
DownloadsGet MyNet for Linux, Windows, or source→ Go

Engineered for Effortless Connectivity

Powerful virtual private networking built with Go, designed for speed, security, and simplicity.

Zero-Config Relay

Default relay routing connects devices behind double NAT, CGNAT, and strict firewalls out of the box with zero port forwarding required.

End-to-End Encrypted Tunnels

Encrypted control and data tunneling utilizing WinTun on Windows and native TUN devices on Linux with stateful tracking.

Cross-Platform

Native binaries for Linux and Windows. Includes GUI installation wizards, PowerShell CLI utilities, and system service managers.

Self-Hostable Relay

Deploy your own relay server on any VPS with configurable network limits and complete privacy control whenever you want.

Quick Start Guide

Host or join a virtual network in less than 30 seconds.

1

Download and Install MyNet

Download the MyNet package and run the installation script or wizard for your OS.

sudo ./install-linux.sh   # Linux
.\install-windows.ps1  # Windows PowerShell
2

Start Hosting via Relay Mode

Run the host command. MyNet connects to the default relay server automatically.

mynet host relay
3

Share the 6-Digit Code

MyNet generates a unique join code (e.g. ABC123). Share it with your friends or other devices to establish connection.

1

Download and Install MyNet

Ensure MyNet is installed on the client machine.

sudo ./install-linux.sh   # Linux
.\install-windows.ps1  # Windows PowerShell
2

Join with a Network Code

Use the 6-digit code provided by the host. MyNet connects through the default relay automatically.

mynet join relay ABC123
3

You're Connected!

You now have a virtual LAN IP. Ping other devices, access shared resources, and communicate as if on the same network.

mynet devices
mynet ping 100.64.0.1

Tutorials & Detailed Guides

Step-by-step instructions for everyday usage, system service configuration, and automation.

1. Setting Up Your First Network

Connect two devices together across different networks using the default relay.

  • Host Machine:Initialize hosting and generate code:
    mynet host relay
  • Client Machine:Join the host's room with the code:
    mynet join relay ABC123
  • Verify Connection:Check active peers and connectivity:
    mynet devices
    mynet ping 100.64.0.1

2. Installing as a System Service

Keep MyNet running automatically in the background on startup for continuous connectivity.

  • Linux (systemd service):
    sudo mynet install
  • Windows (Background Service):
    mynet install
    # Or via PowerShell script:
    .\install-windows.ps1 -Service
  • Manage Service:Check background service status anytime:
    mynet status

3. Silent & Automated Deployment

Deploy MyNet non-interactively across headless servers, automated scripts, or CI pipelines.

  • Linux Non-Interactive Install:Use installer flags to skip prompts and accept defaults:
    sudo ./install-linux.sh --quiet --yes
  • Windows Silent PowerShell Deployment:
    .\install-windows.ps1 -Silent -Service -Desktop
  • Run Quiet Host/Join Mode:Suppress terminal confirmation prompts when starting MyNet:
    mynet host relay --quiet --daemon

Running a MyNet Relay Server

Complete administrator guide for deploying, configuring, and managing a dedicated self-hosted MyNet relay server on a machine.

1. Prerequisites

To run your own MyNet relay server, ensure your hosting environment meets the following requirements:

Public IPv4 Address and high-uptime
Root or sudo privileges on a Linux server
TCP Port 8443 & UDP Port 8444 open from your router

2. Quick Setup (Automated Script)

The fastest way to deploy a relay server is using the included setup-relay.sh script. It automatically copies binaries, sets permissions, configures systemd, and sets firewall rules.

Interactive Setup:

sudo ./setup-relay.sh

Automated / Silent Setup:

sudo ./setup-relay.sh --quiet

3. Manual Installation

If you prefer installing without the automated setup script, follow these step-by-step instructions:

Step 1: Install Binary — Copy the mynet-relay executable to your system path and grant execution permissions:

sudo cp bin/mynet-relay /usr/local/bin/mynet-relay
sudo chmod +x /usr/local/bin/mynet-relay

Step 2: Test Execution — Run the relay server directly in the foreground to verify functionality:

mynet-relay host 50

4. Configuration & CLI Parameters

Customize listen addresses, maximum hosted networks, and background execution options using CLI flags.

Parameter / FlagDescriptionDefault
max-networksMaximum concurrent virtual networks permitted on this relay.50
--addr <addr>Network interface IP address to bind to.0.0.0.0
--port <port>TCP port for control signaling and handshake tunnels.8443
--data-port <port>UDP port for encrypted peer packet relay.8444
--daemon / -dDetaches process to run in the background.Disabled
--quiet / -qSilences stdout console output.Disabled
Example Custom Launch Command:
mynet-relay host 100 --port 8443 --data-port 8444 --daemon

5. Firewall Configuration

Ensure your Linux firewall and VPS cloud security groups allow incoming traffic on ports 8443 TCP and 8444 UDP.

UFW (Ubuntu / Debian):

sudo ufw allow 8443/tcp comment 'MyNet Control'
sudo ufw allow 8444/udp comment 'MyNet Data'
sudo ufw reload

firewalld (RHEL / CentOS / AlmaLinux):

sudo firewall-cmd --permanent --add-port=8443/tcp
sudo firewall-cmd --permanent --add-port=8444/udp
sudo firewall-cmd --reload

6. systemd Service Management

Install Service:

sudo mynet-relay install --quiet

Control Service via systemctl:

sudo systemctl start mynet-relay
sudo systemctl status mynet-relay
sudo systemctl restart mynet-relay

Uninstall Service:

sudo mynet-relay uninstall

7. Connecting Clients to Your Custom Relay

Once your relay is running, clients specify your server address when hosting or joining:

# Host network on custom relay:
mynet host relay my-vps.example.com:8443

# Join network on custom relay:
mynet join relay ABC123 my-vps.example.com:8443