Nym Network Guide: Set-up Network Requester

FAST
4 min readSep 26, 2023

Hello! In todays article I will give you instruction on how to setup your own Nym Network Requester Node. Lets start!

Preliminary Steps

Before you proceed with setting up your Network Requester node, make sure you have completed the necessary preliminary steps as outlined in the documentation.

Network Requester Whitelist

The Network Requester allows Nym users to send outbound requests from their local machines through the mixnet to a server, which then makes the request on their behalf, ensuring privacy. The requester uses a whitelist file called allowed.list to allow outbound requests to specific URLs.

By default, the network requester is not an open proxy. It will only allow requests to URLs that are listed in the allowed.list file.

If the allowed.list file is not present, the requester will use Nym's default whitelist automatically. This default whitelist includes URLs for various applications.

Operators of a network requester can edit the allowed.list file to add URLs of services they wish to support. Below are some example domains and IPs from the default whitelist:

  • Keybase
  • Blockstream Green Bitcoin Wallet
  • Electrum Bitcoin Wallet
  • Helios Ethereum Client
  • Telegram
  • Nym Matrix Server
  • Generic Matrix Server Backends
  • Monero Desktop (Mainnet and Stagenet)
  • Alephium

You can find a list of Network Requesters running the default whitelist in the explorer.

Viewing Command Help

To view available parameters for Nym Network Requester commands, navigate to the /target/release directory:

cd target/release

You can check the required parameters for available commands by running:

./nym-network-requester <COMMAND> --help

Adding the --no-banner startup flag will prevent the Nym banner from being printed if run in a tty environment.

Initializing and Running Your Network Requester

To initialize your network requester, specify an <ID> using the --id command with a value of your choice:

./nym-network-requester init --id <YOUR_ID>

Once initialized, you can start your network requester:

./nym-network-requester run --id <YOUR_ID>

Maintenance

For network requester upgrades, firewall setup, port configuration, API endpoints, VPS suggestions, and automation, refer to the maintenance page in the documentation.

Upgrading to >= v1.1.10 from < v1.1.9

If you are upgrading to a new version, follow these steps:

  1. Initiate the new network requester:
nym-network-requester init --id mynetworkrequester
  1. Copy the old keys from your client to the network requester configuration:
cp -vr ~/.nym/clients/myoldclient/data/* ~/.nym/service-providers/network-requester/mynetworkrequester/data
  1. Edit the gateway configuration to match what you used on your client:
nano ~/.nym/service-providers/network-requester/mynetworkrequester/config/config.toml

Ensure that the fields gateway_id, gateway_owner, and gateway_listener in the new config match those in the old client config.

Automating Your Network Requester with systemd

You can automate your network requester with systemd:

  1. Create a service file for the requester:
nano /etc/systemd/system/nym-network-requester.service
  1. Add the following content to the file:
[Unit]
Description=Nym Network Requester
StartLimitInterval=350
StartLimitBurst=10
[Service]
User=nym # Replace with your desired user
LimitNOFILE=65536
ExecStart=/home/nym/nym-network-requester run --id <your_id>
KillSignal=SIGINT
Restart=on-failure
RestartSec=30
[Install]
WantedBy=multi-user.target
  1. Enable and start your requester:
systemctl enable nym-network-requester.service
systemctl start nym-network-requester.service

You can check if your requester has started successfully wit

systemctl status nym-network-requester.service

VPS Setup

For VPS setup instructions and configuring your firewall, refer to the relevant sections in the documentation.

Using Your Network Requester

After setting up your Network Requester, you can share its address with others to help enhance their app traffic while maintaining privacy. The Network Requester does not allow incoming requests by default; you need to add specific domains to the allowed.list file.

There are two lists the Network Requester checks: the default list on the nymtech.net server and the local allowed.list file. You can add custom domains and services to your allowed.list file to support them.

Running an open proxy is also possible by disabling network checks, but it should be done with caution.

Testing Your Network Requester

Ensure that nymtech.net is in your allowed.list, and your network requester is initialized and running. You can test it using curl:

curl -x socks5h://localhost:1080 https://nymtech.net/.wellknown/connect/healthcheck.json

This command should return:

{ "status": "ok" }

Ports

You can configure network requester-specific ports in the config.toml file located in the $HOME/.nym/service-providers/network-requester/<YOUR_ID>/config/ directory.

Make sure to restart your client and requester processes after editing port configurations.

That’s it! You’ve successfully set up a Nym Network Requester node.

Thats it!
Hope you found this guide helpful

Nym | Nym on Twitter | My twitter

--

--