# SPR Generated on 2 Dec 2024 from [the SPR catalog page](https://marketplace.digitalocean.com/apps/spr) SPR (Secure Programmable Router) lets users run a hardened, secure, open source VPN. Run a self-hosted VPN, DNS & other services to filter & redirect traffic, block ads, [and more](https://www.supernetworks.org/pages/blog/first-blog-post). ![SPR Image](https://www.supernetworks.org/assets/img/screenshot-light.png) Block Ads, filter DNS and keep track of your devices - all with a [documented API](https://www.supernetworks.org/pages/docs/apis/overview) allowing programmatic control of your network. ![SPR API](https://www.supernetworks.org/pages/assets/images/sprbus-cli-476cc4f905e635d16c3fdcc0041fc30a.gif) The droplet will update to the latest stable version of SPR when creating the instance. ## Software Included | Package | Version | License | |---|---|---| | [super](https://github.com/spr-networks/super) | [latest](https://github.com/spr-networks/super/releases) | [BSD-3 Clause](https://github.com/spr-networks/super/blob/main/LICENSE) | | Docker CE | [20.10.25](https://docs.docker.com/release-notes/docker-ce/) | [Apache 2](https://github.com/docker/docker/blob/master/LICENSE) | | Docker Compose | [1.29.2](https://docs.docker.com/release-notes/docker-compose/) | [Apache 2](https://github.com/docker/compose/blob/master/LICENSE) | ## Creating an App using the Control Panel Click the **Deploy to DigitalOcean** button to create a Droplet based on this 1-Click App. If you aren’t logged in, this link will prompt you to log in with your DigitalOcean account. [![Deploy to DO](https://www.deploytodo.com/do-btn-blue.svg)](https://cloud.digitalocean.com/droplets/new?image=supernetworks-spr) ## Creating an App using the API In addition to creating a Droplet from the SPR 1-Click App using the control panel, you can also use the [DigitalOcean API](https://docs.digitalocean.com/reference/api). As an example, to create a 4GB SPR Droplet in the SFO2 region, you can use the following `curl` command. You need to either save your [API access token](https://docs.digitalocean.com/reference/api/create-personal-access-token/index.html.md) to an environment variable or substitute it in the command below. ```shell curl -X POST -H 'Content-Type: application/json' \ -H 'Authorization: Bearer '$TOKEN'' -d \ '{"name":"choose_a_name","region":"sfo2","size":"s-2vcpu-4gb","image":"supernetworks-spr"}' \ "https://api.digitalocean.com/v2/droplets" ``` ## Getting Started After Deploying SPR ## Deployment steps - Deploy a Droplet from the Marketplace - Log on using SSH `ssh root@your_droplet_public_ipv4` admin credentials & instructions to add a vpn peer will be presented ## Add a VPN peer `cd /home/spr/super; ./virtual_install.sh` ## Connect to VPN - Import config or scan QR code in [Wireguard](https://www.wireguard.com/install/) & enable the VPN connection - Connect to [http://192.168.2.1](http://192.168.2.1) - Login with the admin credentials - Done! Read more in the [Virtual SPR Guide](https://www.supernetworks.org/pages/blog/virtual%20SPR#configure-the-vpn-client-on-your-device) Access HTTP interface over ssh: `ssh root@your_droplet_public_ipv4 -N -L 8000:127.0.0.1:8000` Connect to [http://localhost:8000](http://localhost:8000)