Skip to content

Commit

Permalink
update socks 5 client quickstart
Browse files Browse the repository at this point in the history
  • Loading branch information
serinko committed Jun 11, 2024
1 parent 9b0c964 commit 302bf6d
Showing 1 changed file with 33 additions and 7 deletions.
40 changes: 33 additions & 7 deletions documentation/dev-portal/src/quickstart/socks-proxy.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
# SOCKS Proxy (CLI)

>The `socks5` client now also supports SOCKS4 and SOCKS4A protocols as well as SOCKS5.
> `nym-socks5-client` now also supports SOCKS4 and SOCKS4A protocols as well as SOCKS5.
The Nym socks5 client allows you to proxy traffic from a desktop application through the mixnet, meaning you can send and receive information from remote application servers without leaking metadata which can be used to deanonymise you, even if you're using an encrypted application such as Signal.

## Setup and Run

### Download or compile socks5 client

If you are using OSX or a Debian-based operating system, you can download the `nym-socks5-client` binary from our [Github releases page](https://github.com/nymtech/nym/releases).
Expand All @@ -12,23 +14,33 @@ If you are using a different operating system, head over to the [Building from S

### Initialise your socks5 client

Use the following command to initialise your socks5 client with the address of a Nym-operated [Network Requester](https://nymtech.net/docs/nodes/network-requester.html) as a provider (the endpoint that will be proxying your traffic out of the mixnet) for ease:
To initialise your `nym-socks5-client` you need to have an address of a Network Requester (NR). Nowadays NR is part of every Exit Gateway (`nym-node --mode exit-gateway`). The easiest way to get a NR address is to visit [harbourmaster.nymtech.net](https://harbourmaster.nymtech.net/) and scroll down to *SOCKS5 Network Requesters* table. There you can filter the NR by Gateways identity address, and other options.

Use the following command to initialise `nym-socs5-client` where `<ID>` can be anything you want (it's only for local config file storage) and `<PROVIDER>` is suplemented with a NR address:

```
./nym-socks5-client init --id quickstart --provider Entztfv6Uaz2hpYHQJ6JKoaCTpDL5dja18SuQWVJAmmx.Cvhn9rBJw5Ay9wgHcbgCnVg89MPSV5s2muPV2YF1BXYu@Fo4f4SQLdoyoGkFae5TpVhRVoXCF8UiypLVGtGjujVPf
./nym-socks5-client init --id <ID> --provider
```

You can always check out the list of endpoints you can use otherwise on the [mixnet service provider explorer page](https://explorer.nymtech.net/network-components/service-providers).
~~~admonish tip
Another option to find a NR address associated with a Gateway is to query nodes *Self Described* API endpoint where the NR address is noted like in this example:
```sh
"network_requester": {
"address": "CyuN49nkyeuiLohSpV5A1MbSqcugHLJQ95B5HooCpjv8.CguTh45Vp99QuGWZRBKpBjZDQbsJaHaXqAMGyc4Qhkzp@2w5RduXRqxKgHt1wtp4qGA4AfXaBj8TuUj1LvcPe2Ea1",
"uses_exit_policy": true
}
```
~~~

### Start your socks5 client
Now your client is initialised, start it with the following:

```
./nym-socks5-client run --id quickstart
./nym-socks5-client run --id <ID>
```

### Proxying traffic
After completing the steps above, your local socks5 Client will be listening on `localhost:1080` ready to proxy traffic to the Network Requester set as the `--provider` when initialising.
## Proxying traffic
After completing the steps above, your local `nym-socks5-client` will be listening on `localhost:1080` ready to proxy traffic to the Network Requester set as the `--provider` when initialising.

When trying to connect your app, generally the proxy settings are found in `settings->advanced` or `settings->connection`.

Expand All @@ -40,6 +52,20 @@ Most wallets and other applications will work basically the same way: find the n

In some other applications, this might be written as **localhost:1080** if there's only one proxy entry field.

## Supported Applications

Any application which can be redirected over Socks5 proxy should work. Nym community has been successfully running over Nym Mixnet these applications:

- Bitcoin Electrum wallet
- Monero wallet (GUI and CLI with monerod)
- Telegram chat
- Element/Matrix chat
- Firo wallet
- ircd chat
- Blockstream Green

Keep in mind that Nym has been developing a new client (GUI and CLI) which *routes all users traffic* through the Mixnet, called [NymVPN](https://nymvpn.com).

## Further reading

If you want to dig more into the architecture and use of the socks5 client check out its documentation [here](https://nymtech.net/docs/clients/socks5-client.html).

0 comments on commit 302bf6d

Please sign in to comment.