https://cmptrnb.github.io

SlipGate and SlipNet

Sending and receiving traffic over DNS protocol on port udp/53 is highly inefficient, but it may work when all other possibilities are blocked. This tutorial uses Telegram as an example app on the client device.

0. Prerequisites

Before you begin, you will need:

1. Create DNS entries

Go into your domain name registrar's configuration panel.

Create an A record for your server hostname and an NS record for the subdomain that will be resolved at your server.

Name Type Value
tns.example.com A Your server IP address
t.example.com NS tns.example.com

2. Download and install SlipGate

SSH into your server as root. Copy and paste this command into your SSH session:

curl -fsSL https://raw.githubusercontent.com/anonvector/slipgate/main/install.sh | bash

The script gives you options as to which transports you want to install:

  Which transports do you want to install?

  Transports:
    1) DNSTT / NoizDNS — DNS tunnel
    2) Slipstream — QUIC DNS tunnel
    3) VayDNS — KCP DNS tunnel
    4) NaiveProxy — HTTPS proxy with Caddy
    5) SSH — Direct SSH tunnel
    6) SOCKS5 — Direct SOCKS5 proxy
    7) All
  Choice (comma-separated, e.g. 1,3,4):

This tutorial is as simple as possible, so enter 1 for DNSTT only.

The script asks you which backend you want on the server for your DNSTT tunnel:

  Backend:
    1) SOCKS — SOCKS5 proxy
    2) SSH — SSH tunnel
    3) Both — SOCKS5 + SSH tunnel
  Choice [SOCKS — SOCKS5 proxy]:

This tutorial is as simple as possible, so enter 1 for SOCKS only.

The script prompts you for the subdomain you chose for the DNS tunnel:

  Domain for dnstt/noizdns (e.g. t.example.com):

Enter your choice of subdomain.

The script prompts you for the maximum transmission unit (MTU) you want for the DNS tunnel:

  MTU [1232]:

Press Enter to accept the default.

The script asks you if you want to create a new user at this stage:

  Create a user now? [Y/n]:

You do not need authentication in this simple scenarios, so enter n for no.

The script asks you if you want to use Cloudflare WARP:

  Enable WARP outbound (Cloudflare)? [y/N]:

This tutorial is as simple as possible, so enter n for no.

At the end of its run, the script displays the client configurations:

    Client Configs:

    [dnstt] (no auth)
    slipnet://MTh8...

    [noizdns] (no auth)
    slipnet://MTh8...

3. Exit SSH session

Exit your SSH session with the server:

exit

4. Communicate configuration to client

Communicate the slipnet:// URL to the client user (who may or may not be yourself).

For example, depending on your environment, you could use email or you could connect your Android device to your workstation by USB cable.

5. Install SlipNet on client device

SlipNet is not available on any app store. Any version you find on Google Play, the Apple App Store, or any other marketplace is not published by anonvector and may be outdated, modified, or unsafe. The only official sources are the GitHub repository https://github.com/anonvector/SlipNet and the Telegram channel https://t.me/SlipNet_app.

The SlipNet Android Package Kit (APK) comes in these architectures:

Install the SlipNet APK from one of the trusted sources.

  1. If you get a message to say the file may be harmful, confirm that you are downloading the APK from a source you trust, then click Download anyway.
  2. If you do not currently allow apps from unknown sources, you may be prompted to adjust your phone's Settings.
  3. Give permission to install apps from unknown sources, then press Install.
  4. SlipNet launches for the first time.

6. Add SlipNet profile

Click the plus button to add a new profile.

  1. Scroll down and select Import.
  2. Choose either Paste or File, depending on how you communicated the slipnet:// URL from the server to the client.
  3. If you are behind a restrictive firewall, edit the imported profile, and press Scan for Working Resolvers.

7. Connect client to server

Back on the main screen, select your new profile, and press the connect button (the button with the power-on icon at the bottom right of the screen).

The highlights change in color to green to show the profile is connected.

8. Test with Telegram

This tutorial uses Telegram as an example app on the client device. It is assumed you have already installed and configured Telegram messenger.

Open Telegram.

Test your ability to connect to Telegram chats.

9. Get support

The project README for SlipGate and SlipNet contain fuller instructions than this basic tutorial.

Need help? Check out the channel and chat group at https://t.me/SlipNet_app.