English | 简体中文
This repo is a lightweight Bash script that lets you one‑click deploy a secure Shadowsocks VPN server on an Ubuntu 22.04 LTS VM in Microsoft Azure—ideal for students making use of free Azure credits.
-
Single‑command setup – handles OS upgrade, package install, configuration and systemd autostart automatically.
-
Secure defaults – AES‑256‑CFB cipher plus UFW firewall exposing only necessary ports.
-
Client‑agnostic – works with any Shadowsocks client on iOS, Android, macOS, Windows and Linux.
-
Price‑friendly – comfortably runs on a cost‑free B1s VM within Azure for Students.
-
Easily customizable – tweak username, password, port and cipher via variables at the top of the script.
- A valid Azure account (Azure for Students or a standard subscription).
- An Ubuntu 22.04 LTS virtual machine with a static public IP.
- A Network Security Group (NSG) rule that allows 22/TCP (SSH) and 460/TCP (default Shadowsocks port—customisable).
-
Student Verification & VM Creation
Authenticate with Azure for Students (use a school e-mail for faster approval) and create a VM.

-
Configuration Tips
- Low-spec instances are sufficient; Azure for Students lets you provision up to three free VMs.
- Ensure the VM has a public IP.
- The script currently supports Ubuntu 22.04 LTS only.
-
Connect to the VM and clone this repository (or copy
setup_shadowsocks.shmanually). -
Run the installer:
sudo chmod +x setup_shadowsocks.sh sudo ./setup_shadowsocks.sh
-
Verify connectivity from your local machine:
nc -zv <YOUR_PUBLIC_IP> 460
-
Change port or cipher – edit the variables at the top of setup_shadowsocks.sh and rerun the script.
-
Manual configuration – modify /etc/shadowsocks-libev/config.json and restart the service.
-
Service status – sudo systemctl status shadowsocks-libev
-
Live logs – journalctl -u shadowsocks-libev -f
For the legacy manual setup guide, see Azure搭建服务器.md
