Recently, VPNs have been unstable and prices keep rising. I used to use Kuailian and WgetCloud, but their prices have almost doubled.
I did some research and found the simplest method to build your own node. The whole process takes less than 10 minutes. The core is just one script, and even beginners can follow along.
Here is the complete tutorial.
1. Purchase a VPS
Recommended: DMIT (https://www.dmit.io): Good lines, stable during peak hours, starting at $13/month.
I am currently using the lowest tier of the DMIT Los Angeles Eyeball series, which is enough for personal use.

Below is the purchase and initialization preparation process.
Step 1: Choose the first option for SSH Key to generate automatically, select Ubuntu 24.04 for the system, and wait 2-3 minutes for service initialization after payment.

Step 2: After initialization, click the "Go to Access" button on the service details page to get the SSH Key. Click download to get a zip package.

Unzip the package to find a ".pem" private key file. Note its full file path; you will need it later. (!!!)

Step 3: Note the VPS IP displayed on the service details page; you will need it later. (!!!)

2. Connect to the VPS
Enter the following two lines of commands in your local terminal:
1# Fill in the previously recorded private key path and VPS IP in the corresponding positions2chmod 600 "your_private_key_path"3ssh -i "your_private_key_path" root@your_VPS_IP
Enter "yes" for the first connection prompt.
When you see "root@DMIT-xxx:~#", you are connected.

3. Pre-setup for Building the Node
Enter the following commands in the terminal connected to the VPS.
- Update system + install basic tools:
1apt update && apt upgrade -y # Refresh software sources + upgrade all installed packages2apt install -y curl wget vim ufw fail2ban # Install tools and firewall to be used later
- Configure firewall (only allow SSH and node ports):
1ufw allow 22/tcp # Allow SSH2ufw allow 443/tcp # Allow Reality node (TCP)3ufw --force enable # Enable firewall4ufw status verbose # View status
Successful configuration results:

- Start fail2ban (prevent SSH brute force):
1systemctl enable --now fail2ban # Enable on boot + start immediately2fail2ban-client status # View SSH monitoring status
Successful startup results:

4. One-Click Script to Build Node
Execute in the terminal connected to the VPS:
1wget -P /root -N --no-check-certificate https://raw.githubusercontent.com/mack-a/v2ray-agent/master/install.sh && chmod 700 /root/install.sh && /root/install.sh
After installation, it looks like this. Enter 3 (One-click Reality without domain) to install VLESS+reality+uTLS+Vision—currently the best protocol combination against the GFW.

For subsequent configuration items, just press Enter for defaults except for the following three:
Core installation method: 1 (Xray-core)
Port: 443
Target domain: www.python.org (or other real websites accessible domestically)
1# Reference domains2www.samsung.com3www.amd.com4academy.nvidia.com5www.java.com6www.oracle.com7www.mysql.com
Finally, you will get a QR code link.

5. Import to Client
Choose the version for Windows/Mac.

Import method:
Click Config — Scan the QR code obtained earlier. Select "Automatically configure system proxy" and "V3-Bypass Mainland China" below.

- Mobile: Import directly by scanning the QR code with Shadowrocket.
Reference links:
Script source: https://github.com/mack-a/v2ray-agent
DMIT documentation: https://docs.dmit.io/zh/
VPS purchase guide: https://www.v2ray-agent.com/archives/1679975663984 (If DMIT is too expensive, refer to this; the node building method is universal)





