Dear Avalon Home Customers,
Recently, we have received requests from some customers regarding the need for remote control of Avalon Nano and Avalon Mini. After thorough discussion and research, we hope this article provides useful insights for customers with similar needs.
Since the Avalon Home series products feature cryptocurrency mining capabilities, we have prioritized security in designing related functions. As a result, all control methods are restricted to the local network. We are committed to ensuring that the only external network connection for mining devices is to the mining pool configured by the customer. This prevents public cloud servers from sending commands to the device, reducing the risk of centralized attacks or unauthorized configuration changes. While this approach sacrifices the convenience of remote control, it does not mean that we overlook the user experience.
To balance security with usability, we recommend a relatively secure, controlled, and private remote access method. This will allow customers to enhance the convenience of remote operation while ensuring asset security when using Avalon Home products.
Requirements:
- A computer at home that is on the same local network as the Avalon Home device
- The home computer must have remote desktop functionality enabled
- The home computer must be able to install Avalon Family or run it via an emulator
If your home network has a public IP address:
- Enable remote desktop functionality on your home computer (Mac: Screen Sharing; Windows: Microsoft Remote Desktop; Linux: VNC).
(Mac) Settings->General->Sharing->Screen Sharing
- Install Avalon Family on your home computer. For Mac, download Avalon Family from the App Store. For Windows or Linux, install and run Avalon Family using an Android emulator.
(Mac) Search 'Avalon Family' in the App Store
Traffic path under port forwarding
Traffic path with DDNS and port forwarding
- On the remote device, use a remote desktop client (such as Screen Sharing, Microsoft Remote Desktop, or RustDesk) to connect to your home computer via the public IP address.
(Mac) Screen Sharing's window
(Mac) Enter Home IP or DDNS domain to connect
(Mac) After the connection is established, you need to enter the username and password of the computer at home.
- Once connected successfully, operate the Avalon Family application on your home computer to control the Avalon Home device.
If Your Home Network Uses NAT Mode and Does Not Have a Publicly Accessible IP:
Using RustDesk for Remote Desktop Access
RustDesk is an open-source remote desktop access program that can be self-hosted. To set up a self-hosted solution, you will need to use two repositories from their GitHub: rustdesk-server and the RustDesk client. Additionally, a VPS with a publicly accessible IP address is required. For detailed deployment instructions, please refer to the official documentation.
If you prefer not to set up your own server, you can use RustDesk's official service. However, be aware that this may pose potential privacy risks, so evaluate accordingly.
rustdesk network topology
When using the self-hosted method, after setting up the server, you need to configure the server's ID, IP address, and key on multiple client devices.
After installing the RustDesk client, each device will generate a unique ID and a one-time password. To connect to your home computer from outside, simply enter the home computer's ID in the input field and click Connect. You will then be prompted to enter the password for verification, allowing you to access the computer remotely.
RustDesk client
Verify RustDesk password
Setting Up a Private Network with Tailscale
- Tailscale is a user-friendly VPN application that allows users to create private network connections between devices and services. It is also open-source and can be self-hosted. Typically, Headscale is used as the private VPN server. Multi-platform clients can be downloaded from Tailscale's code repository.
- To install the Headscale service, you will need a VPS with a publicly accessible IP address. For installation instructions, refer to the official documentation. Once installed, the service will start automatically. You can then create a new user with the following command:
headscale users create <USER>
- Install the Tailscale client on both your home computer and remote device. When logging in, select "Add Account Using Alternate Server", then enter the server's IP address. This will open a URL in your browser. Copy the device parameter from the URL and verify the device on your server environment using the following command:
headscale nodes register --user <USER> --key <YOUR_MACHINE_KEY>
- If multiple devices have logged into the client using the method above, you can view the IP addresses of both your current device and other devices within the VPN network. Then, on the remote device, use a remote desktop client (such as Screen Sharing, Microsoft Remote Desktop, or VNC Client) to connect to your home computer using the VPN-assigned IP address.
- Once connected successfully, operate the Avalon Family application on your home computer to control the Avalon Home device.
We hope you enjoy your Avalon devices.
Sincerely,
The Avalon Home Series Research and Development Team