Skip to content

Latest commit

 

History

60 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EasyTier Agent

跨平台一键部署工具。运行后自动引导完成登录、获取注册密钥、下载 EasyTier、安装系统服务的全部流程。

下载源说明:install 脚本优先从 Gitee 下载 installer 二进制,若失败则自动回退到 GitHub。

快速安装

Linux / macOS

curl -fsSL https://github.com/ghraw/EasyTier-Pro/installer/main/install.sh | bash

国内网络可改用 gitee:

curl -fsSL https://gitee.com/easytier/easytier-pro-installer/raw/main/install.sh | bash

默认下载到 ~/.local/share/easytier-pro-installer/,可通过环境变量指定:

curl -fsSL https://github.com/ghraw/EasyTier-Pro/installer/main/install.sh | INSTALL_DIR=/usr/local/bin bash

Windows (PowerShell)

irm https://github.com/ghraw/EasyTier-Pro/installer/main/install.ps1 | iex

国内网络可改用 gitee:

irm https://gitee.com/easytier/easytier-pro-installer/raw/main/install.ps1 | iex

默认下载到 %LOCALAPPDATA%\easytier-pro-installer\,可通过参数指定:

& ([scriptblock]::Create((irm https://github.com/ghraw/EasyTier-Pro/installer/main/install.ps1))) -InstallDir C:\Tools

用法

通过 install 脚本运行后会自动启动 installer,无需手动找到文件:

# Linux / macOS(每次运行都会检查更新并自动启动)
curl -fsSL https://gitee.com/easytier/easytier-pro-installer/raw/main/install.sh | bash

# Windows
irm https://gitee.com/easytier/easytier-pro-installer/raw/main/install.ps1 | iex

如需手动运行已下载的 installer:

# Linux / macOS
~/.local/share/easytier-pro-installer/easytier-pro-installer

# Windows
%LOCALAPPDATA%\easytier-pro-installer\easytier-pro-installer.exe

首次运行后,直接执行上述路径即可,不再需要通过 install 脚本。

运行示例:

~/.local/share/easytier-pro-installer/easytier-pro-installer
# 等价于
~/.local/share/easytier-pro-installer/easytier-pro-installer install

典型流程:

$ ~/.local/share/easytier-pro-installer/easytier-pro-installer
您尚未登录 Console,正在引导登录...

正在获取登录验证码...

请在浏览器中完成登录:
  访问链接: https://casdoor.easytier.cn/login/oauth/device/xxxxx
  验证码:   abcdef

✅ 登录成功!

工作空间: 个人空间

注册密钥:
  1. my-key
  2. [创建新密钥]
选择 [1-2]: 1
使用注册密钥: my-key

配置服务器: tcp://console.easytier.cn:22020/xxxxx

平台: linux-x86_64

安装目录: /home/user/.local/share/easytier-pro-installer/easytier

正在查询最新版本...
最新版本: v2.6.4

正在下载: https://github.com/.../easytier-linux-x86_64-v2.6.4.zip
[####################] 100% 下载完成

正在解压...
EasyTier 已就绪: ...
  core: .../easytier-core
  cli:  .../easytier-cli

正在安装系统服务...
正在启动服务...

✅ 部署完成!EasyTier 服务已安装并启动。

其他操作

# 更新已安装的 EasyTier
~/.local/share/easytier-pro-installer/easytier-pro-installer update

# 更新到指定版本
~/.local/share/easytier-pro-installer/easytier-pro-installer update --version v2.6.4

# 查看服务状态
~/.local/share/easytier-pro-installer/easytier-pro-installer status

# 只使用免提权的系统服务管理器查询状态
~/.local/share/easytier-pro-installer/easytier-pro-installer status --native

# 只使用 easytier-cli 查询状态,兼容性更广但可能需要提权
~/.local/share/easytier-pro-installer/easytier-pro-installer status --legacy

# 卸载服务,保留已下载文件和缓存
~/.local/share/easytier-pro-installer/easytier-pro-installer uninstall

# 彻底卸载,删除安装目录和缓存压缩包
~/.local/share/easytier-pro-installer/easytier-pro-installer uninstall --purge

可选参数

参数 环境变量 说明
-s, --server EASYTIER_CONSOLE_URL Console 地址,默认 https://api.console.easytier.net
--config-server EASYTIER_CONFIG_SERVER 覆盖 config server 地址
-i, --install-dir EASYTIER_INSTALL_DIR 安装目录
--debug - 开启调试日志,默认写入当前目录下的 easytier-pro-installer.debug.log

子命令参数:

子命令 参数 环境变量 说明
install -v, --version EASYTIER_VERSION 指定安装的 EasyTier 版本号
update -v, --version EASYTIER_VERSION 指定更新到的 EasyTier 版本号
status --native - 只使用免提权的系统服务管理器查询
status --legacy - 只使用 easytier-cli service --name easytier-pro status 查询
uninstall --purge - 彻底删除安装目录和缓存压缩包

status 默认先使用免提权查询;如果系统服务管理器无法确认服务状态且安装目录中存在 easytier-cli,会自动降级到 easytier-cli service --name easytier-pro status

桌面端集成

桌面应用可以随安装包内置 easytier-pro-installer 二进制,然后用子进程调用 desktop 子命令。桌面端负责登录、选择注册密钥和 Console UI,installer 只负责本机 EasyTier 服务生命周期,并向 stdout 输出 JSON Lines 事件。

printf '%s' '{}' | easytier-pro-installer desktop status --json

常用命令:

easytier-pro-installer desktop status --json
easytier-pro-installer desktop install --json
easytier-pro-installer desktop update --json
easytier-pro-installer desktop uninstall --json

安装请求示例:

{
  "bootstrap_token": "BOOTSTRAP_TOKEN",
  "install_dir": "/opt/easytier",
  "config_server": "tcp://console.easytier.net:22020",
  "version": "v2.6.4"
}

install 使用桌面端传入的 bootstrap_token 创建服务;update 必须传入目标 version 并会更新二进制后重启服务;uninstall 可传 purge: true 删除安装目录和缓存。status 只返回本机 core/cli、版本、machine id 和服务状态,不访问 Console。

构建

cd agent
cargo build --release

支持平台

  • Linux (x86_64, aarch64, arm)
  • Windows (x86_64, arm64)
  • macOS (x86_64, aarch64)
  • FreeBSD (x86_64)

About

EasyTier Installer for EasyTier Pro

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages