{"id":13510057,"url":"https://github.com/subspacecloud/subspace","last_synced_at":"2025-05-15T12:01:57.023Z","repository":{"id":46977480,"uuid":"119778035","full_name":"subspacecloud/subspace","owner":"subspacecloud","description":"A simple WireGuard VPN server GUI","archived":false,"fork":false,"pushed_at":"2022-09-05T13:36:00.000Z","size":12026,"stargazers_count":2579,"open_issues_count":45,"forks_count":454,"subscribers_count":65,"default_branch":"master","last_synced_at":"2025-04-14T19:59:09.589Z","etag":null,"topics":["docker","self-hosted","vpn","wireguard"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/subspacecloud.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-02-01T03:31:59.000Z","updated_at":"2025-04-13T17:00:20.000Z","dependencies_parsed_at":"2023-01-17T20:30:40.725Z","dependency_job_id":null,"html_url":"https://github.com/subspacecloud/subspace","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/subspacecloud%2Fsubspace","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/subspacecloud%2Fsubspace/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/subspacecloud%2Fsubspace/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/subspacecloud%2Fsubspace/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/subspacecloud","download_url":"https://codeload.github.com/subspacecloud/subspace/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254337612,"owners_count":22054253,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","self-hosted","vpn","wireguard"],"created_at":"2024-08-01T02:01:22.596Z","updated_at":"2025-05-15T12:01:56.952Z","avatar_url":"https://github.com/subspacecloud.png","language":"HTML","funding_links":[],"categories":["HTML","Install from Source","vpn"],"sub_categories":["WireGuard Tools"],"readme":"# NOTE: New versions of Subspace\n\n## Subspace Commmunity\n\nThe most actively maintained fork of Subspace with a number of improvements.\n\n### [Subspace Community Fork](https://github.com/subspacecommunity/subspace)\n\n## WarpSpeed VPN\n\nWarpSpeed VPN is an enhanced commercial rewrite of Subspace with a number of major improvements. It is free for personal use and for small open source projects. Designed to support the Subspace creator's new projects.\n\n### [WarpSpeed VPN on 1-Click Digital Ocean Marketplace](https://marketplace.digitalocean.com/apps/warpspeed-vpn-by-bunker)\n\n# Subspace - A simple WireGuard VPN server GUI\n\n![Screenshot](https://raw.githubusercontent.com/subspacecloud/subspace/master/screenshot1.png?cachebust=8923409243)\n\n## Screenshots\n\n[Screenshot 1](https://raw.githubusercontent.com/subspacecloud/subspace/master/screenshot1.png)\n\n[Screenshot 2](https://raw.githubusercontent.com/subspacecloud/subspace/master/screenshot2.png)\n\n[Screenshot 3](https://raw.githubusercontent.com/subspacecloud/subspace/master/screenshot3.png)\n\n[Screenshot 4](https://raw.githubusercontent.com/subspacecloud/subspace/master/screenshot4.png)\n\n## Features\n\n* **WireGuard VPN Protocol**\n  * The most modern and fastest VPN protocol.\n* **Single Sign-On (SSO) with SAML**\n  * Support for SAML providers like G Suite and Okta.\n* **Add Devices**\n  * Connect from Mac OS X, Windows, Linux, Android, or iOS.\n* **Remove Devices**\n  * Removes client key and disconnects client.\n* **Auto-generated Configs**\n  * Each client gets a unique downloadable config file.\n  * Generates a QR code for easy importing on iOS and Android.\n\n## Run Subspace on a VPS\n\nRunning Subspace on a VPS is designed to be as simple as possible.\n\n  * Public Docker image.\n  * Single static Go binary with assets bundled.\n  * Automatic TLS using Let's Encrypt.\n  * Redirects http to https.\n  * Works with a reverse proxy or standalone.\n\n### 1. Get a server\n\n**Recommended Specs**\n\n* Type: VPS or dedicated\n* Distribution: Ubuntu 16.04 (Xenial)\n* Memory: 512MB or greater\n\n### 2. Add a DNS record\n\nCreate a DNS `A` record in your domain pointing to your server's IP address.\n\n**Example:** `subspace.example.com  A  172.16.1.1`\n\n### 3. Enable Let's Encrypt\n\nSubspace runs a TLS (\"SSL\") https server on port 443/tcp. It also runs a standard web server on port 80/tcp to redirect clients to the secure server. Port 80/tcp is required for Let's Encrypt verification.\n\n**Requirements**\n\n* Your server must have a publicly resolvable DNS record.\n* Your server must be reachable over the internet on ports 80/tcp and 443/tcp and 51820/udp (WireGuard).\n\n### Usage\n\n**Example usage:**\n\n```bash\n$ subspace --http-host subspace.example.com\n```\n### Usage\n\n```bash\n  -backlink string\n        backlink (optional)\n  -datadir string\n        data dir (default \"/data\")\n  -debug\n        debug mode\n  -help\n        display help and exit\n  -http-addr string\n        HTTP listen address (default \":80\")\n  -http-host string\n        HTTP host\n  -http-insecure\n        enable sessions cookies for http (no https) not recommended\n  -letsencrypt\n        enable TLS using Let's Encrypt on port 443 (default true)\n  -version\n        display version and exit\n```\n### Run as a Docker container\n\n#### Install WireGuard on the host\n\nThe container expects WireGuard to be installed on the host. The official image is `subspacecloud/subspace`.\n\n```bash\nadd-apt-repository -y ppa:wireguard/wireguard\napt-get update\napt-get install -y wireguard\n\n# Remove dnsmasq because it will run inside the container.\napt-get remove -y dnsmasq\n\n# Set DNS server.\necho nameserver 1.1.1.1 \u003e/etc/resolv.conf\n\n# Load modules.\nmodprobe wireguard\nmodprobe iptable_nat\nmodprobe ip6table_nat\n\n# Enable IP forwarding\nsysctl -w net.ipv4.ip_forward=1\nsysctl -w net.ipv6.conf.all.forwarding=1\n\n```\n\nFollow the official Docker install instructions: [Get Docker CE for Ubuntu](https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/)\n\nMake sure to change the `--env SUBSPACE_HTTP_HOST` to your publicly accessible domain name.\n\n```bash\n\n# Your data directory should be bind-mounted as `/data` inside the container using the `--volume` flag.\n$ mkdir /data\n\ndocker create \\\n    --name subspace \\\n    --restart always \\\n    --network host \\\n    --cap-add NET_ADMIN \\\n    --volume /usr/bin/wg:/usr/bin/wg \\\n    --volume /data:/data \\\n    --env SUBSPACE_HTTP_HOST=subspace.example.com \\\n    subspacecloud/subspace:latest\n\n$ sudo docker start subspace\n\n$ sudo docker logs subspace\n\n\u003clog output\u003e\n\n```\n\n#### Updating the container image\n\nPull the latest image, remove the container, and re-create the container as explained above.\n\n```bash\n# Pull the latest image\n$ sudo docker pull subspacecloud/subspace\n\n# Stop the container\n$ sudo docker stop subspace\n\n# Remove the container (data is stored on the mounted volume)\n$ sudo docker rm subspace\n\n# Re-create and start the container\n$ sudo docker create ... (see above)\n```\n\n## Help / Reporting Bugs\n\nNot (currently) available. Coming soon.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsubspacecloud%2Fsubspace","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsubspacecloud%2Fsubspace","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsubspacecloud%2Fsubspace/lists"}