Skip to content

cpa2001/VPN-Azure

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 

Repository files navigation

VPN-Azure

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.

Features

  • 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.

Quick Start

Prerequisites

  1. A valid Azure account (Azure for Students or a standard subscription).
  2. An Ubuntu 22.04 LTS virtual machine with a static public IP.
  3. A Network Security Group (NSG) rule that allows 22/TCP (SSH) and 460/TCP (default Shadowsocks port—customisable).

Deployment Steps

  1. Student Verification & VM Creation
    Authenticate with Azure for Students (use a school e-mail for faster approval) and create a VM.
    Creating a VM

  2. 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.
  3. Connect to the VM and clone this repository (or copy setup_shadowsocks.sh manually).

  4. Run the installer:

    sudo chmod +x setup_shadowsocks.sh
    sudo ./setup_shadowsocks.sh
  5. Add an inbound NSG rule for the Shadowsocks port. NSG rule

  6. Verify connectivity from your local machine:

    nc -zv <YOUR_PUBLIC_IP> 460

Advanced Usage

  • 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

About

Shell script for setting up a Shadowsocks VPN server on the Azure platform

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages