Skywire SOCKS5 Proxy - SkycoinProject/skywire GitHub Wiki

skywire logo

Skywire SOCKS5 Proxy User Guide

This guide assumes that you have read and understood the readme.md, downloaded the official Skybian images or installed Skywire from source and do every step exactly the way it is described. Misconduct will lead to an inability to connect and to potential reflashing. It is very important that there is no IP collision with your existing home router subnet. The default settings of the official images, as well as the router of the Skyminer, are using the 192.168.0.0/24 subnet. Changes can be made by using the Skyflash configuration & flashing software.

Table of Contents


Introduction

This guide will teach you how to use the Skywire SOCKS5 proxy utilizing a proxy app of your choice, the example is made with FoxyProxy. You can use the Skywire SOCKS5 proxy to circumvent geo-blocking as an example use case.

Requirements

  • Running Skywire manager & node(s)
  • Prepared port forwarding rules dependent on your network topology (see this guide)
  • Network connection
  • Firefox, Chrome or other browsers capable of using a proxy service

Usage

Preparation

IP address of Skyminer Router

There are several options on how to obtain the IP address of your Skyminer router within your home network. The easiest would be to login to your home router and search under 'Connected devices' for a device called Myap. Other options are network scanners like nmap (GUI version called zenmap) or by logging into the Skyminer router itself, since the router will display it's own external IP address.

Setup FoxyProxy settings

By now you have:

  • obtained the IP address of your Skyminer router, the following examples based on the IP 10.0.0.31, yours might be different and you have to adjust it accordingly.
  • installed FoxyProxy plugin/found an option to change proxy settings of your browser

Click on Options:

Options

Add a new rule:

Empty

You have to change the following:

  • Proxy Type to SOCKS5
  • Title or Description as you prefer, you may want to use SkywireSOCKS5
  • IP address to the IP address of your Skyminer router, in this example 10.0.0.31
  • Port to the displayed port of the connection, use 9443

Note: The Skywire SOCKS5 proxy uses always the default port 9443 for establishing the connection.

Should look like this:

Settings

That's it for now with FoxyProxy.

Establishing Connection to another Skywire node

Now you need to switch to the manager web interface and choose a node that you want to use for the connection.

If you are connecting to the manager using port forwarding rules in place, you need to use the pi with the IP address that is specified in the forwarding rule for port 9443.

Click on 'Connect to Node':

Connect_to_Node

next click on 'Search node':

Search_node

Now you can see a list of nodes that are connected to the discovery address. If your node would be connected to different discovery addresses you could switch between them like in tabs in your browser, right now you are using Discovery 1.

Node_Server_Result

For this guide we are choosing to connect to a node located in California, with:

  • public key = 025fd63a14938b5f2ef98f63ce18ef44a2ffa714a4fd8a48b7072569af287e3d54
  • app key = 030b54f2b93ca733976391b3b10415b2a7b126d4710dada6be3dad2b59146c5839

Please note that the result list of 'Search services' can change and is not fixed.

If the connection was established successfully you should be looking at this:

Connected

You should notice that you now have two socks appear in the App Key Menu. A new menu should have also appeared with an "Upload", "Download" and "From Node/App" to "To Node/App".

Use the established connection as a SOCKS5 proxy

First we need to identify your public IP (ipv4) by using this service. As you can see the proxy is disabled.

ipv4_before

Important note: Do NOT share your public IP

Click on the FoxyProxy plugin in your browser and activate the SkywireSSH rule you setup previously.

Activate

Now open another tab and use the service as above to determine if your IP (ipv4) has changed:

ipv4_after

As you can see the IP changed which means the SOCKS5 proxy is active and working properly.

If you're done using the Skywire SOCKS5 proxy, simply disable the proxy in the FoxyProxy plugin and you can browse the web normally again.


Run a Skywire node locally to use the SOCKS5 proxy from anywhere in the world

If you are hosting a Skywire node on your own device to access the Skywire network temporarily, you just have to make small adjustments to the steps described above.

A requirement is still a running manager and at least 1 node. Connect to another node as it is explained here.

Once the connection is successfully established we need to configure a new FoxyProxy rule. You have to follow these steps, but when you Add a new rule, you need to put the following:

Empty

You have to change the following:

  • Proxy Type to SOCKS5
  • Title or Description as you prefer, you may want to use SkywireSOCKS5_locally
  • IP address to the IP address of your skyminer router, in this example 127.0.0.1
  • Port to the displayed port of the connection, use 9443

Note: The Skywire SOCKS5 proxy uses always port 9443 for establishing the connection.

Should look like this:

Settings_locally

Once that is done the usage remains the same.

Troubleshooting

Connection to node failed

Sometimes it happens that you are unable to connect to a node from discovery. We are still looking into that, as of now all you can do is disconnect by pressing "STOP" and try to connect to another node.

If the connection fails your manager will display it like this:

Fail_connect

Websites are loading very slowly, slow connection

Some nodes may not have the fastest network connection, or they may be using a free VPN service to tunnel their traffic. Both cases would result in a slow connection for you. As you can't change anything about the two causes you can only disconnect and try out another node.

Establishing connections works but websites aren't loading

This could have several reasons:

  • No port forwarding rules in place or you connected to another Skywire node using the wrong pi. The IP in the port forwarding rule for port 9443 and the pi you're using to connect to another node have to match, otherwise, you won't be able to tunnel your traffic in your browser using the SOCKS5 connection.
  • The wrong rule in FoxyProxy, double check the settings you set up in the FoxyProxy plugin and ask in the community if you can't find the mistake.
  • Highly restricted website access on the connected node because it is using OpenDNS or similar services which results in a blocked connection to certain services on your end. Nothing you can do about that.