Install Anon on Linux

This guide walks you through the process of installing and configuring the Anyone Relay on a Debian based x86 or arm64 Linux systems and support for more distributions will follow in a near future.

The Anyone Relay is a critical component of the Anyone Protocol, which ensures anonymity and privacy in network and internet communications.

Whether you followed the instructions in Step 1: Setting up Your Environment or want to install the anon software directly using our provided methods, continue reading..


Debian and Ubuntu

"I am running a Debian based Operating System and want to install the anon binary!"

To kickstart the installation process, execute the following command in your terminal or visit our APT Repository instructions for a more hands-on experience:

Copy ->
sudo /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/anyone-protocol/anon-install/refs/heads/main/install.sh)"

This command initiates the download and execution of the installation script directly from our GitHub repository. Throughout the installation, you'll be prompted to provide necessary configurations for setting up the Anon Relay on your system, ensuring a tailored and secure deployment.

You can restart the script at any time to reconfigure the relay if you made a mistake during the process or want to change anything.

Upon successful installation, you'll receive a congratulatory message, indicating that the Anon Relay has been installed and configured successfully.

To make sure the Relay is reachable, refer to: Confirm ORPort Reachability for instructions.


Anon Relay Configuration Wizard

During the installation you will be prompted to read and accept the Terms and Conditions.

Please read the terms and conditions at https://www.anyone.io/terms
Do you accept the terms and conditions? [yes/no] yes

The installation script will guide you through a step-by-step configuration process.

Allowing you to configure the following:

1. Nickname and ContactInfo Enter the desired Nickname and Contact information for your Anon Relay.

Example:

- Enter the desired Nickname and Contact information for your Anon Relay
1/7 Nickname (1-19 characters, only [a-zA-Z0-9] and no spaces): nickname
1/7 Contact Information (leave empty to skip): 

Sources: Nickname and ContactInfo

2. MyFamily setup (Optional) If you're setting up more than one relay, fingerprints have to be specified in MyFamily.

Example:

- Enter a comma-separated list of fingerprints for your relay's family
2/7 MyFamily fingerprints (leave empty to skip): AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB,CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

Source: MyFamily

3. BandwidthRate and BandwidthBurst (Optional) Enter a number in Mbit if you want to specify a bandwidth rate and burst.

Example:

- Enter BandwidthRate and BandwidthBurst in Mbit (e.g., 100 for 100 Mbit)
3/7 BandwidthRate (leave empty to skip): 100
3/7 BandwidthBurst (leave empty to skip): 120

Sources: BandwidthRate and BandwidthBurst

4. Customise ORPort (Optional) Specify a custom OR port if you don't want to use the default port 9001.

Example:

- Enter ORPort
4/7 ORPort [Default: 9001]: 9004
ORPort set to: 9004

Source: ORPort

5. Ethereum Wallet Configuration (Optional) Provide an Ethereum EVM address to register for contribution rewards.

Example

- Do you want to enter an Ethereum EVM address for contribution rewards
5/7 (yes/no): yes
5/7 Enter your Ethereum wallet address: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

Source: Rewards Program Registration

6. Disable or Enable the Controlport (Optional) Choose if you want the Controlport to be enabled on port 9051. [Default: no]

Example:

- Should the anon.service ControlPort be enabled?
6/7 Enable ControlPort? [Default: no]: yes

Source: Controlport

Hint: It's necessary to enable this (yes) if you want to monitor your Relay through the ControlPort. See Additional monitoring...

7. *UncomplicatedFirewall installation (Optional) Select if you want to install 'UFW' and explicitly allow the necessary ports for operation.

Example

- Would you like to install UncomplicatedFirewall and allow incoming traffic on:
- ORPort 9004
- SSH port 22

7/7 Configure and enable ufw (yes/no): yes

External sources: Ubuntu Wiki and Ubuntu Community Documentation on UFW

Visit the Rewards Dashboard section to read more about how to sign up!

Sources and Example

REPOSITORY: https://github.com/anyone-protocol/anon-install BASH SCRIPT: https://github.com/anyone-protocol/anon-install/blob/main/install.sh README: https://github.com/anyone-protocol/anon-install/blob/main/README.md

Example from README
...
Configuring anon
----------------

Please read the terms and conditions at https://www.anyone.io/terms

Do you accept the terms and conditions? [yes/no] yes

...

==================================================
           ANON Installation Complete
==================================================


                                                                 /$$
                                                                |__/
  /$$$$$$  /$$$$$$$  /$$   /$$  /$$$$$$  /$$$$$$$   /$$$$$$      /$$  /$$$$$$
 |____  $$| $$__  $$| $$  | $$ /$$__  $$| $$__  $$ /$$__  $$    | $$ /$$__  $$
  /$$$$$$$| $$  \ $$| $$  | $$| $$  \ $$| $$  \ $$| $$$$$$$$    | $$| $$  \ $$
 /$$__  $$| $$  | $$| $$  | $$| $$  | $$| $$  | $$| $$_____/    | $$| $$  | $$
|  $$$$$$$| $$  | $$|  $$$$$$$|  $$$$$$/| $$  | $$|  $$$$$$$ /$$| $$|  $$$$$$/
 \_______/|__/  |__/ \____  $$ \______/ |__/  |__/ \_______/|__/|__/ \______/
                     /$$  | $$
                    |  $$$$$$/
                     \______/


==================================================
        Start Relay Configuration Wizard
  (Or abort and manually edit /etc/anon/anonrc)
==================================================

- Enter the desired Nickname and Contact information for your Anon Relay
1/7 Nickname (1-19 characters, only [a-zA-Z0-9] and no spaces): nickname
1/7 Contact Information (leave empty to skip): 

- Enter a comma-separated list of fingerprints for your relay's family
2/7 MyFamily fingerprints (leave empty to skip): AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB,CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

- Enter BandwidthRate and BandwidthBurst in Mbit (e.g., 100 for 100 Mbit)
3/7 BandwidthRate (leave empty to skip): 100
3/7 BandwidthBurst (leave empty to skip): 120

- Enter ORPort
4/7 ORPort [Default: 9001]: 9004
ORPort set to: 9004

==================================================
         Ethereum Wallet Configuration
==================================================

- Do you want to enter an Ethereum EVM address for contribution rewards?
5/7 Ethereum Address (yes/no): yes
5/7 Enter your Ethereum wallet address: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

==================================================
       Enable Monitoring and Control port
==================================================

- Should the anon.service ControlPort be enabled?
6/7 Enable ControlPort? [Default: no]: yes

==================================================
      Optional Local Firewall Installation
==================================================

The default firewall configuration tool for Ubuntu is ufw.
Developed to ease iptables firewall configuration, ufw provides
a user friendly way to create an IPv4 or IPv6 host-based firewall.
By default UFW is disabled.

https://help.ubuntu.com/community/UFW


- Would you like to install UncomplicatedFirewall and allow incoming traffic on:
- ORPort 9004
- SSH port 22

7/7 Configure and enable ufw (yes/no): yes
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
  ufw
...

Rules updated
Rules updated (v6)
Rules updated
Rules updated (v6)
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

==================================================
UFW installed and rules added for ORPort 9004 and SSH port 22.

Make sure old firewall rules are removed if they are no longer valid.
To show current UFW configuration: sudo ufw status
To remove an old rule: sudo ufw delete allow <port-number>

For improved security, consider setting up SSH key authentication.
Refer to official documentation: https://ssh.com/ssh/keygen for instructions.

Waiting for the fingerprint to be generated.
Please don't interrupt the process...

==================================================
              Anon Relay Fingerprint
     058B704D9EF0714C48125B733562657F3F471C08
==================================================

Nickname nickname
ContactInfo @anon: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
Log notice file /var/log/anon/notices.log
ORPort 9004
ControlPort 9051
SocksPort 0
ExitRelay 0
IPv6Exit 0
ExitPolicy reject *:*
ExitPolicy reject6 *:*
BandwidthRate 100 Mbit
BandwidthBurst 120 Mbit
MyFamily AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB,CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

==================================================
               Congratulations!
   Anon configuration completed successfully.
            https://docs.anyone.io
==================================================

Maintenance and Monitoring

Additionally, you'll find some handy Linux Terminal commands for managing and maintaining your Anyone Relay instance. You can use SSH for remote management (Powershell) of the Linux Operating System and anon if you are on Windows. Otherwise use a regular SSH connection from another bash prompt or terminal window on on a remote machine.

Check status for anon service

sudo systemctl status anon

Start, stop and restart anon service

sudo systemctl start anon
sudo systemctl restart anon
sudo systemctl stop anon

Update Anon to the latest version

Keep your Anyone Relay up-to-date with the latest enhancements and security patches by running

sudo apt-get update --yes
sudo apt-get install --only-upgrade anon --yes

Monitor anon service log

Stay informed about the operation of your Anyone Relay by monitoring the service log with.

sudo tail -f /var/log/anon/notices.log

Additional monitoring can be done with a third-party application called Nyx. Read more about Nyx in our FAQ.

Edit relay configuration

sudo nano /etc/anon/anonrc

Verify relay configuration

sudo /usr/bin/anon -f /etc/anon/anonrc --verify-config

Extra User Permissions

To simplify future operations and grant monitoring permissions, it's recommended to add your user to the 'debian-anon' group. This eliminates the need for sudo privileges when running monitoring tools like Nyx.

sudo usermod -a -G debian-anon $USER

Last updated