d6f3eb6411
* new api link for explorer v2 * remove footer add explorer to navbar * include image * @ fix menu icons * + explorer link in footer --------- Co-authored-by: RadekSabacky <radek@nymtech.net>
48 lines
3.0 KiB
Plaintext
48 lines
3.0 KiB
Plaintext
# Client setup
|
|
|
|
## 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).
|
|
|
|
If you are using a different operating system, or want to build from source, simply use `cargo build --release` from the root of the Nym monorepo.
|
|
## Viewing command help
|
|
|
|
You can check that your binaries are properly compiled with:
|
|
|
|
```
|
|
./nym-socks5-client --help
|
|
```
|
|
|
|
You can check the necessary parameters for the available commands by running:
|
|
|
|
```
|
|
./nym-socks5-client <COMMAND> --help
|
|
```
|
|
|
|
## Initialising a new client instance
|
|
Before you can use the client, you need to initalise a new instance of it, which can be done with the following command:
|
|
|
|
```
|
|
./nym-socks5-client init --id docs-example --use-reply-surbs true --provider Entztfv6Uaz2hpYHQJ6JKoaCTpDL5dja18SuQWVJAmmx.Cvhn9rBJw5Ay9wgHcbgCnVg89MPSV5s2muPV2YF1BXYu@Fo4f4SQLdoyoGkFae5TpVhRVoXCF8UiypLVGtGjujVPf
|
|
```
|
|
|
|
The `--id` in the example above is a local identifier so that you can name your clients and keep track of them on your local system; it is **never** transmitted over the network.
|
|
|
|
The `--use-reply-surbs` field denotes whether you wish to send [SURBs](../../network/concepts/anonymous-replies) along with your request. It defaults to `false`, we are explicitly setting it as `true`. It defaults to `false` for compatibility with versions of the pre-smoosh `nym-network-requester` binary which will soon be deprecated.
|
|
|
|
The `--provider` field needs to be filled with the Nym address of an Exit Gateway that can make network requests on your behalf. You can select one from the [mixnet explorer](https://nym.com/explorer) by copying its `Client ID` and using this as the value of the `--provider` flag. Alternatively, you could use [Harbourmaster](https://harbourmaster.nymtech.net/).
|
|
|
|
## Choosing a Gateway
|
|
By default - as in the example above - your client will choose a random gateway to connect to.
|
|
|
|
However, there are several options for choosing a gateway, if you do not want one that is randomly assigned to your client:
|
|
* If you wish to connect to a specific gateway, you can specify this with the `--gateway` flag when running `init`.
|
|
* You can also choose a gateway based on its location relative to your client. This can be done by appending the `--latency-based-selection` flag to your `init` command. This command means that to select a gateway, your client will:
|
|
* fetch a list of all availiable gateways
|
|
* send few ping messages to all of them, and measure response times.
|
|
* create a weighted distribution to randomly choose one, favouring ones with lower latency.
|
|
|
|
You can select one from the [mixnet explorer](https://nym.com/explorer) by copying its `Client ID` and using this as the value of the `--provider` flag. Alternatively, you could use [Harbourmaster](https://harbourmaster.nymtech.net/).
|
|
|
|
> Note this doesn't mean that your client will pick the closest gateway to you, but it will be far more likely to connect to gateway with a 20ms ping rather than 200ms
|