trailofbits/algo

GITHUB中文整理

主语言 Python · 30,445 星 · AGPL-3.0 · 创建于 2016-05-15

VPNAnsibleWireGuardIPsec云部署
打开 GitHub 仓库

Algo VPN 是一组 Ansible 脚本,用于在云主机上自动搭建个人 WireGuard 和 IPsec VPN 服务器。

Stars 30,445 累计 star,越多说明被认可得越广
Watching 431 订阅该仓库变动的人数
Forks 2,369 被派生出去的仓库数
Issues 84 当前开放的 Issue 数
语言 Python GitHub 自动判定的主语言
许可证 AGPL-3.0 开源协议,用之前先确认能不能商用
24h 增长 +0 1 天前 30,445 星
7 日增长 +7 7 天前 30,438 星
30 日增长 — 数据积累中

仓库健康度

5 个维度
只看客观信号,不构成安全性结论
维护活跃度 数据完整
2026-10-28 16:43 最近推送

最近推送 2026-10-28 16:43(2 天前),属于活跃维护

社区响应 数据完整
84 开放 Issue

开放 Issue 84 个 · Fork 2,369 个

增长趋势 部分数据
+7 7 日新增

24 小时 +0 · 7 日 +7 · 30 日 积累中

项目规范 数据完整
AGPL-3.0 许可证

许可证 AGPL-3.0 · 8 个 topics

版本发布 证据不足
— 发布次数

这一项暂无数据,不代表项目没有发布

「证据不足」表示这项数据暂时没有取到,不能读成「项目有问题」;「部分数据」表示只拿到一部分信号。版本发布要额外调 Releases 接口,下一版补。

Star 趋势

9 天记录
最近 90 天站内记录的星数
30,445当前 Star +10首尾差值 2026-10-23最早记录 2026-10-31最近记录

横轴 2026-10-23 → 2026-10-31,纵轴按这段时间的最小/最大值拉伸。趋势来自站内每天记录一次的星数,页面打开时不会实时请求 GitHub。

它解决什么问题

据 README 归纳
没有它会怎样

手动在云端配置 VPN 需要处理加密参数、防火墙和客户端配置,容易出错且难以保证安全默认值。没有它,用户需要自行研究并部署 WireGuard 或 IPsec 服务,流程繁琐且可能引入不安全配置。

核心能力

7 条
归纳自 README,不是功能列表照抄
  1. 1提供仅支持强加密的 IKEv2 IPsec 配置,适用于 iOS、macOS 和 Linux
  2. 2支持 WireGuard 协议,覆盖 Android 和 Windows 11 客户端
  3. 3生成 WireGuard 客户端配置文件和二维码,方便移动设备导入
  4. 4生成 Apple 描述文件,自动配置 iOS 和 macOS 的 IPsec 连接
  5. 5包含添加、删除和管理用户的辅助脚本
  6. 6可选用本地 DNS 解析器拦截广告
  7. 7可创建受限 SSH 用户用于隧道转发

项目画像

6 个角度
决定要不要用之前,先看这六条

项目定位

Algo VPN 是一组 Ansible 脚本,用于在云主机上自动搭建个人 WireGuard 和 IPsec VPN 服务器。

适合谁

适合希望在常见云平台上快速部署个人 VPN 的技术用户,尤其是有多台设备需要安全连接、且不愿依赖第三方 VPN 服务的人。

典型场景

在 DigitalOcean 等云平台上自动创建一台个人 VPN 服务器,供手机和电脑连接;为 iOS 或 macOS 设备生成描述文件,无需安装额外客户端即可使用 IPsec VPN;通过生成的二维码快速将 WireGuard 配置导入 Android 或 Windows 11 客户端;使用辅助脚本为家庭成员或同事添加、删除 VPN 用户

部署难度

需先注册云平台账户并获取项目脚本,编辑配置文件指定用户,然后运行对应平台的部署脚本;首次运行会自动安装 Python 环境,后续步骤由脚本自动完成。

风险限制

需要本地具备 Python 3.11+ 和 Unix 类环境(Windows 需通过 WSL),并拥有受支持的云平台账户;不支持 L2TP、IKEv1、OpenVPN 等旧协议,也不承诺匿名或规避审查。

最近维护

最近一次推送是 2026-10-28 16:43。 实现方式:通过 Ansible 脚本在本地运行,自动在选定的云平台上创建 Ubuntu 虚拟机,并安装配置 WireGuard 和 IPsec 服务,同时生成客户端所需配置文件和二维码。

README 原文细节

2 个板块
项目自己写的功能与用法,原文照录

核心功能README 里列出来的能力清单

Features

  • Supports only IKEv2 with strong crypto (AES-GCM, SHA2, and P-256) for iOS, MacOS, and Linux
  • Supports WireGuard for all of the above, in addition to Android and Windows 11
  • Generates .conf files and QR codes for iOS, macOS, Android, and Windows WireGuard clients
  • Generates Apple profiles to auto-configure iOS and macOS devices for IPsec - no client software required
  • Includes helper scripts to add, remove, and manage users
  • Blocks ads with a local DNS resolver (optional)
  • Sets up limited SSH users for tunneling traffic (optional)
  • Privacy-focused with minimal logging, automatic log rotation, and configurable privacy enhancements
  • Based on Ubuntu 22.04 LTS with automatic security updates
  • Installs to DigitalOcean, Amazon Lightsail, Amazon EC2, Vultr, Microsoft Azure, Google Compute Engine, Scaleway, OpenStack, CloudStack, Hetzner Cloud, Linode, or your own Ubuntu server (for advanced u

Anti-features

  • Does not support legacy cipher suites or protocols like L2TP, IKEv1, or RSA
  • Does not install Tor, OpenVPN, or other risky servers
  • Does not depend on the security of TLS
  • Does not claim to provide anonymity or censorship avoidance
  • Does not claim to protect you from the FSB, MSS), DGSE, or FSM

怎么安装从零跑起来的步骤

Deploy the Algo Server

The easiest way to get an Algo server running is to run it on your local system or from Google Cloud Shell and let it set up a new virtual machine in the cloud for you.

The first time you run the script, it will automatically install the required Python environment (Python 3.11+). On subsequent runs, it starts immediately and works on all platforms (macOS, Linux, Windows via WSL). The Windows PowerShell script automatically uses WSL when needed, since Ansible requires a Unix-like environment. There are several optional features available, none of which are required for a fully functional VPN server. These optional features are described in the deployment documentation.

That's it! You can now set up clients to connect to your VPN. Proceed to Configure the VPN Clients below.

  • Setup an account on a cloud hosting provider. Algo supports DigitalOcean (most user friendly), Amazon Lightsail, Amazon EC2, Vultr, Microsoft Azure, Google Compute Engine, Scaleway, DreamCompute, Lino
  • Get a copy of Algo. The Algo scripts will be run from your local system. There are two ways to get a copy:
  • Download the ZIP file. Unzip the file to create a directory named algo-master containing the Algo scripts.
  • Use git clone to create a directory named algo containing the Algo scripts:
  • Set your configuration options. Open config.cfg in your favorite text editor. Specify the users you want to create in the users list. Create a unique user for each device you plan to connect to your V
  • Start the deployment. Return to your terminal. In the Algo directory, run the appropriate script for your platform:
git clone https://github.com/trailofbits/algo.git

Setup an SSH Tunnel

If you turned on the optional SSH tunneling role, local user accounts will be created for each user in config.cfg, and SSH authorizedkey files for them will be in the configs directory (user.pem). SSH user accounts do not have shell access, cannot authenticate with a password, and only have limited tunneling options (e.g., ssh -N is required). This ensures that SSH users have the least access required to set up a tunnel and can perform no other actions on the Algo server.

Use the example command below to start an SSH tunnel by replacing and with your own. Once the tunnel is set up, you can configure a browser or other application to use 127.0.0.1:1080 as a SOCKS proxy to route traffic through the Algo server:

ssh -D 127.0.0.1:1080 -f -q -C -N <user>@algo -i configs/<ip>/ssh-tunnel/<user>.pem -F configs/<ip>/ssh_config

Setup Instructions for Specific Cloud Providers

  • Configure Amazon EC2
  • Configure Azure
  • Configure DigitalOcean
  • Configure Google Cloud Platform
  • Configure Vultr
  • Configure CloudStack
  • Configure Hetzner Cloud

Install and Deploy from Common Platforms

  • Deploy from macOS
  • Deploy from Windows
  • Deploy from Google Cloud Shell
  • Deploy from a Docker container

Setup VPN Clients to Connect to the Server

  • Setup Windows clients
  • Setup Android clients
  • Setup Linux clients with Ansible
  • Setup Ubuntu clients to use WireGuard
  • Setup Linux clients to use IPsec
  • Setup Apple devices to use IPsec
  • Setup Macs running macOS 10.13 or older to use WireGuard

Advanced Deployment

If you've read all the documentation and have further questions, create a new discussion.

  • Deploy to your own Ubuntu server, and road warrior setup
  • Deploy from Ansible non-interactively
  • Deploy onto a cloud server at time of creation with shell script or cloud-init
  • Deploy to an unsupported cloud provider

关于 algo 的常见问题

7 个问题
答案来自 README 归纳与 GitHub 实时数据
algo 是做什么的?

Algo VPN 是一组 Ansible 脚本,用于在云主机上自动搭建个人 WireGuard 和 IPsec VPN 服务器。 手动在云端配置 VPN 需要处理加密参数、防火墙和客户端配置,容易出错且难以保证安全默认值。没有它,用户需要自行研究并部署 WireGuard 或 IPsec 服务,流程繁琐且可能引入不安全配置。

algo 有哪些功能?

核心能力:提供仅支持强加密的 IKEv2 IPsec 配置,适用于 iOS、macOS 和 Linux;支持 WireGuard 协议,覆盖 Android 和 Windows 11 客户端;生成 WireGuard 客户端配置文件和二维码,方便移动设备导入;生成 Apple 描述文件,自动配置 iOS 和 macOS 的 IPsec 连接;包含添加、删除和管理用户的辅助脚本;可选用本地 DNS 解析器拦截广告;可创建受限 SSH 用户用于隧道转发。

algo 适合谁用?

适合希望在常见云平台上快速部署个人 VPN 的技术用户,尤其是有多台设备需要安全连接、且不愿依赖第三方 VPN 服务的人。

algo 是怎么工作的?

通过 Ansible 脚本在本地运行,自动在选定的云平台上创建 Ubuntu 虚拟机,并安装配置 WireGuard 和 IPsec 服务,同时生成客户端所需配置文件和二维码。

怎么安装 algo?

按项目 README 的说明:Setup an account on a cloud hosting provider. Algo supports DigitalOcean (most user friendly), Amazon Lightsail, Amazon EC2, Vultr, Microsof;Get a copy of Algo. The Algo scripts will be run from your local system. There are two ways to get a copy:;Download the ZIP file. Unzip the file to create a directory named algo-master containing the Algo scripts.;Use git clone to create a directory named algo containing the Algo scripts:。完整命令见下方「怎么安装」一节或 GitHub 仓库的 README。

用 algo 有什么门槛或限制?

需要本地具备 Python 3.11+ 和 Unix 类环境(Windows 需通过 WSL),并拥有受支持的云平台账户;不支持 L2TP、IKEv1、OpenVPN 等旧协议,也不承诺匿名或规避审查。

algo 现在还在维护吗?数据怎么样?

目前 30,445 星,2,369 个 Fork,主语言 Python,创建于 2016-05-15,最近一次推送 2026-10-28 16:43,许可证 AGPL-3.0。星数、Fork、推送时间都是 GitHub 返回的实时数据,「最近推送」离现在越近说明越活跃;长期不动要留意是否已停止维护。

这些内容来自哪

读法说明
中文整理据 README 归纳,数据取自 GitHub
中文说明据项目 README 归纳只写 README 能确认的内容,不替作者补功能与数字
关键数据与 GitHub 页面一致星数、Fork、语言与时间都不做二次加工
数据日期2026-10-23 17:54星数与介绍这份数据是哪一天的

项目数据取自 GitHub 官方接口与项目 README;星数、Fork、语言与时间以 GitHub 页面为准,档案更新于 2026-10-23 17:54。