Jacky's blog
首页
  • Android
  • Web
  • Server
  • Python
  • iOS
  • Java
  • Vue
  • 计算机基础
  • AI
  • 全部工具
  • CLI 工具
  • 编辑器
  • 开发工具
  • 构建工具
  • 版本控制
  • 调试工具
  • 网络工具
  • 个人成长
  • 博客
  • 分类
  • 标签
  • 归档
收藏
GitHub (opens new window)

Jack Yang

编程; 随笔
首页
  • Android
  • Web
  • Server
  • Python
  • iOS
  • Java
  • Vue
  • 计算机基础
  • AI
  • 全部工具
  • CLI 工具
  • 编辑器
  • 开发工具
  • 构建工具
  • 版本控制
  • 调试工具
  • 网络工具
  • 个人成长
  • 博客
  • 分类
  • 标签
  • 归档
收藏
GitHub (opens new window)
  • 开发工具

  • 构建工具

  • 版本控制

  • 容器

  • 调试工具

  • 测试工具

  • CLI 工具

  • 网络工具

    • ssh
    • ftp
    • sftp
    • ifconfig
    • wget
    • Tailscale 入门:让自己的设备跨网络互联
      • 先理解连接方式
      • 第一次上手:两台设备连通
      • 连接 SSH 和自己的网页服务
      • 按需要再选进阶能力
      • 访问边界与常见排查
      • 实战:保留 iPhone 原 VPN,浏览器连接家里的 Mac
      • 常用命令与帮助速查
  • 编辑器

  • 设计工具

  • 多媒体

  • 包管理

  • 平台工具

  • tools
  • network_tools
Jacky
2026-10-15
目录

Tailscale 入门:让自己的设备跨网络互联

出门后用笔记本连接家里的 Linux 主机,或用手机访问自己的开发服务,常常会遇到没有公网 IP、路由器不能配置端口转发的问题。Tailscale 可以把这些设备接入一个受身份和访问策略管理的私有网络,再通过设备名或 Tailscale IP 访问服务。

第一次使用,先完成一个目标:两台自己的设备加入同一个网络,在不同网络下访问其中一台的服务。本文以 macOS 笔记本和 Linux 主机为例,Windows、手机也可以作为客户端。

核对日期:2026-10-16。安装方式和功能支持以文中链接的官方文档为准;套餐额度会变化,选用前查看当前定价 (opens new window)。

# 先理解连接方式

Tailscale 使用 WireGuard 加密设备间的通信。账号登录和控制平面负责协调设备、身份及策略;设备尝试建立直接连接,无法直连时可经中继转发。直连和中继都保持设备间的端到端加密,中继可能增加延迟。详见连接类型 (opens new window)与加密说明 (opens new window)。

名称 在实际使用中意味着什么
Tailnet 由 Tailscale 管理的私有网络,两台设备需要加入同一个 tailnet,或另行配置共享
Tailscale IP 分配给设备的虚拟地址,IPv4 通常来自 100.64.0.0/10;它不是可供任意互联网用户访问的公网 IP
MagicDNS 把设备名解析成 Tailscale 地址,减少记忆 IP 的负担
DERP 一种中继方式;看到它不代表连接失败,也不代表明文传输
访问策略 决定哪些身份、设备可以访问哪些服务端口

一个常见连接过程是:笔记本在酒店 Wi-Fi,Linux 主机在家中,两端登录同一个 tailnet,笔记本访问 home-server 的 Tailscale 地址。通常不需要在家庭路由器做端口映射,但两端仍需要可用的网络连接,目标主机也必须开机且服务正常。

默认组网不会把日常上网流量全部转到另一台设备。要让互联网流量从家里出去,需要另外配置“出口节点”。官方说明 (opens new window)

# 第一次上手:两台设备连通

1. 创建账号,安装客户端

从官方下载页 (opens new window)安装 macOS、Windows、iOS 或 Android 客户端,完成系统要求的网络扩展或 VPN 授权,然后登录。第一台设备建立网络,第二台使用同一个账号登录即可加入自己的 tailnet;可在管理控制台 (opens new window)确认两台设备均在线。完整流程见官方快速入门 (opens new window)。

macOS 只作为普通组网客户端时,可以选择官网提供的图形客户端;需要充当 Tailscale SSH 服务端时,使用下文的开源 tailscale/tailscaled 方案。避免同时安装并运行多个客户端变体。手机普通组网通过 App 操作;保留原 VPN 的浏览器 SSH 方案见后文。

Linux 可以使用官方安装脚本;它会修改系统的软件源或安装包,先下载查看,再执行。也可以按发行版安装说明 (opens new window)选择手动包管理器安装。

curl -fsSL https://tailscale.com/install.sh -o /tmp/tailscale-install.sh
less /tmp/tailscale-install.sh
sh /tmp/tailscale-install.sh
sudo tailscale up
1
2
3
4

tailscale up 会在需要时输出登录链接,在浏览器打开并使用同一账号授权。服务器没有浏览器也可以复制链接到自己的电脑完成授权;不要公开分享该链接。

2. 确认地址,给设备起容易识别的名字

在管理控制台把 Linux 主机命名为 home-server,笔记本命名为 my-laptop。后文的设备名和 100.101.102.103 都是示例,运行时替换为自己控制台显示的值。

操作 命令 预期结果
查看设备和连接状态 tailscale status 能看到自己和另一台已加入的设备
查看本机 Tailscale IPv4 tailscale ip -4 输出本机的 100.x.x.x 地址
检查到目标的 Tailscale 路径 tailscale ping 100.101.102.103 显示响应以及连接路径;初始经中继、随后变为直连属于正常情况
检查设备名解析和路径 tailscale ping home-server MagicDNS 正常时可直接使用设备名

MagicDNS 可在控制台的 DNS 页面检查。短设备名不可用时,先用 IP 验证,再尝试控制台显示的完整 *.ts.net 名称;不要自己猜完整域名。MagicDNS 文档 (opens new window)

macOS 若提示 tailscale: command not found,先检查所安装客户端提供的 CLI 设置。App Store 变体可通过下面的程序路径调用;其他变体按CLI 平台说明 (opens new window)设置。命令可用后再继续,不需要重复安装另一套后台服务。

/Applications/Tailscale.app/Contents/MacOS/Tailscale status
1

3. 换一个网络验证

让笔记本连接手机热点,Linux 主机继续留在家庭网络,再运行 tailscale ping。这可以确认连接确实跨过了两个网络,而不是只依赖同一个 Wi-Fi。路径检查成功之后,还需要用 SSH 或网页请求验证实际服务;tailscale ping 不能代替服务端口测试。

# 连接 SSH 和自己的网页服务

先用普通 SSH,保留原来的账号与密钥

只要 Linux 主机已启用 SSH 服务,允许相应连接,并且 tailnet 策略放行 TCP 22,就可以直接使用现有 SSH 工具连接。Tailscale 提供网络通路,普通 SSH 继续验证目标系统的用户和 SSH 密钥。两种 SSH 方式的区别 (opens new window)

ssh example_user@home-server
# 设备名还未解析时,可先用实际 Tailscale IP
ssh [email protected]
1
2
3

example_user 是目标 Linux 系统里真实存在的账号,通常不同于 Tailscale 登录邮箱。首次连接仍需核对 SSH 主机指纹,不能因为走私网就跳过。已有命令选项可参考本站的 SSH 文档。

如果连接的是 Mac,普通 SSH 需要先在系统设置中开启“远程登录”,并限制允许的用户。

可选:让 Tailscale 管理 SSH 身份

Tailscale SSH 可以基于 tailnet 身份和专门的 SSH 规则授权。初次入门建议先在 Linux 目标机使用;macOS 作为 Tailscale SSH 服务端需要开源 tailscaled 变体,不能把图形客户端直接当作等价服务端;Windows 不支持作为该功能的服务端,但可以作为连接客户端。平台限制与配置 (opens new window)

# 在 Linux 目标机启用;需同时检查网络访问规则与 SSH 规则
sudo tailscale set --ssh=true

# 在客户端连接,仍指定目标系统用户
ssh example_user@home-server

# 在 Linux 目标机关闭 Tailscale SSH
sudo tailscale set --ssh=false
1
2
3
4
5
6
7
8

启用后,来自 tailnet 的 22 端口连接由 Tailscale SSH 处理,已有的该路径 SSH 会话可能中断;authorized_keys 的原有内容不能保证该路径仍然授权成功。需要同时满足网络访问策略和 SSH 授权规则,必要时按提示在浏览器重新认证。切换前保留一条可用的管理路径,避免把自己锁在外面。

访问只监听本机的网页:使用 Serve

假设 Linux 主机运行了自己的 Web 服务,地址是 http://127.0.0.1:3000。在笔记本访问 http://home-server:3000 不会自动成功:127.0.0.1 只接受运行该服务的主机自身访问。

可以在运行服务的主机上使用 Tailscale Serve,由它代理本机端口,对 tailnet 提供 HTTPS 入口:

# 在运行 Web 服务的主机执行
curl -I http://127.0.0.1:3000
tailscale serve --bg --https=443 http://127.0.0.1:3000
tailscale serve status
1
2
3
4

第一次可能提示开启 HTTPS 或相关功能,按命令输出的官方授权链接完成设置。然后在已接入 tailnet、且策略允许的设备上打开命令输出的 HTTPS 地址。--bg 让配置在后台持续生效;应用进程仍要自己保持运行。Serve 功能 (opens new window)与命令说明 (opens new window)

操作 命令 注意
查看代理配置 tailscale serve status 以输出的地址为准
关闭本例 HTTPS 443 入口 tailscale serve --bg --https=443 off 与启用时保持相同选项;如配置了其他端口,按实际端口关闭
清除整台设备的 Serve 配置 tailscale serve reset 会影响这台设备上其他已有 Serve 入口,确认后再使用

Serve 的访问范围在 tailnet 内;Funnel 会把服务发布到公网,使用者不必加入自己的网络。它们不能混用概念,私有管理后台不要照抄 tailscale funnel 命令。Funnel 访问范围 (opens new window)

对于博客 AI 后端,Serve 可以作为“已接入 tailnet 的个人设备访问私有服务”的候选方案,但不等于现有后端已经支持它。公开博客调用私有 API,仍需处理 HTTPS、CORS、浏览器本地网络访问限制及后端身份认证;现有服务若要求 Cloudflare Access JWT,也不会因为网络可达自动通过认证。

# 按需要再选进阶能力

目标 功能 还需要做什么
连接已安装 Tailscale 的两台设备 基础组网 确认身份、网络策略、目标服务及防火墙
访问不能安装客户端的打印机、旧 NAS 等 子网路由器(Subnet router) 常开网关可到达目标局域网;启用转发、发布并批准路由,放行所需访问;Linux 客户端通常还需接受路由
让上网流量从家里的设备出去 出口节点(Exit node) 节点具备转发能力并发布、管理员批准,客户端主动选择;带宽受节点及其网络影响
向 tailnet 提供本机 Web 服务 Serve 保持应用运行,确认允许访问该入口的身份与设备
向互联网用户提供服务 Funnel 明确是公网暴露,并另外考虑应用登录、限流和内容范围

子网路由的典型路径是“外出笔记本 → 家中子网路由器 → 局域网打印机”。加密隧道只覆盖到路由器,路由器到目标设备这一段是否加密取决于应用协议;使用 HTTPS 等协议保护最后一段。家庭网段与外出网络重叠时,还可能遇到路由冲突。子网路由文档 (opens new window)

出口节点是“外出笔记本 → 家中出口节点 → 互联网”,只为 SSH 或访问家里一台服务器时通常用不上。客户端选择出口节点后,默认不能访问客户端所在局域网;确有需要再启用 Allow LAN access。出口节点不提供匿名保证,也不会自动带来更快网速。出口节点配置 (opens new window)

# 访问边界与常见排查

接入网络之后,仍要控制谁可以访问

新建 tailnet 通常带有方便设备互通的默认允许策略。加入他人、共享设备或部署管理服务之前,检查控制台 Access controls,根据需要限制源身份、目标设备和端口。多条授权规则会叠加,新增一条窄规则不能覆盖已有的宽泛允许;修改时保留管理路径并使用控制台策略测试。默认策略示例 (opens new window)与Grants 规则 (opens new window)

个人使用也应给登录账号开启多因素认证,及时在控制台移除丢失或闲置设备,关注设备密钥到期提示。不要把认证密钥写进博客或脚本仓库;联网授权不能代替应用自身的登录和操作权限。

现象 建议排查顺序
看不到另一台设备 是否同一 tailnet、两端是否已连接、是否待设备批准、是否休眠或密钥到期
IP 能通,设备名不通 检查 MagicDNS、客户端 DNS 设置、其他 VPN 或 DNS 软件冲突;先用 IP 缩小范围
路径检查有响应,SSH 超时 检查网络访问规则、系统防火墙、SSH 服务和监听端口;普通 SSH 可用 ssh -v 查看阶段
SSH 返回 Permission denied 普通 SSH 查系统账号与密钥;Tailscale SSH 查 SSH 规则及重新认证要求
网页打不开或连接被拒绝 先在服务所在主机访问本机地址;确认端口、进程和监听地址,再查 Serve 状态及访问策略
连接显示中继、速度偏慢 用 tailscale netcheck 查看 UDP 等网络条件,换网络对比;中继可用不等于一定能升级直连
手机开启后另一个 VPN 断开 不要在必须保留原 VPN 时反复切换;可改用 Safari SSH Console,具体流程见后文
用了出口节点后本地打印机不可达 检查 Allow LAN access 和本地网段冲突;不需要出口节点时取消选择

命令行为可查CLI 参考 (opens new window)。停用时,tailscale down 断开当前设备,tailscale up 重新连接;tailscale logout 注销本机身份。丢失设备还应在控制台移除,单纯退出其他设备并不能撤销丢失设备的访问。

第一次练习的完成标准:两台设备出现在控制台;其中一台换到热点后,仍能访问另一台的 SSH 或 Serve 页面;停止 Serve 后对应入口不可访问。做到这里,再按实际需求增加子网路由、出口节点或更细的访问策略。

# 实战:保留 iPhone 原 VPN,浏览器连接家里的 Mac

目标是 Mac 在家通过 Wi-Fi 联网,iPhone 通过蜂窝网络并保留现有 VPN,在 Safari 中操作 Mac 上 tmux 内的 Codex。连接路径是:

iPhone Safari(保留现有 VPN)
  → Tailscale 网页管理后台 / SSH Console
  → 家中 Mac 的开源 tailscaled SSH 服务端
  → Mac 本地用户的新 shell
  → attach 已有 tmux 会话
  → 操作持续运行的 Codex
1
2
3
4
5
6

浏览器 SSH Console 会创建临时 Tailscale 节点,因此不要求开启 iPhone Tailscale App 的 VPN。它提供终端入口,不会让 Safari 的其他页面自动获得整个 tailnet 的访问能力。现有 VPN 仍需允许浏览器访问登录服务及中继,不能保证任意 VPN 配置都兼容。

Mac 安装与网页后台是两回事

先检查,复用已有组件:

sw_vers
uname -m
command -v brew tailscale tailscaled tmux codex
brew list --formula --versions tailscale tmux
brew list --cask --versions tailscale
brew services list
tmux list-sessions
1
2
3
4
5
6
7

开源 Homebrew formula 提供 tailscale 命令及后台 tailscaled,没有应用程序文件夹中的图形窗口。图形版附带 CLI 不代表它支持 Mac SSH 服务端。发现已有图形版时先记录版本、账号及配置位置,按官方迁移说明处理,勿清空状态或启动两套服务。官方开源 Mac 安装说明 (opens new window)

brew install --formula tailscale
sudo brew services start tailscale
sudo tailscale up
1
2
3

密码只在本机终端的 sudo 提示中输入;打开 tailscale up 显示的链接完成账号认证。Safari 已登录控制台,不代表 Mac 已登录入网。本次排查中,手机已登录,但 Mac 仍为 NeedsLogin,所以手机列表里没有 Mac;完成 Mac 设备认证后才变为 Running、Online: true,并得到 Tailscale IP。

管理后台是网页控制台 (opens new window),Mac 浏览器和 iPhone Safari 都能访问。编辑策略建议用 Mac:进入 Access controls,左侧选择 JSON editor;不是在本机寻找同名应用。手机页面可能需要横向滚动才能看到设备行最右侧菜单。页面上的 Add second device 是客户端安装引导,本方案不用在 iPhone 点击它来安装第二个 VPN。

先收紧规则,再开启 SSH

在 Access controls (opens new window) 备份完整原策略。此次看到的是默认全互通网络规则,以及允许成员以 root 或任意非 root 用户登录自己设备的 SSH 规则。新增窄规则不能当成撤销旧授权,应检查所有匹配规则。SSH 授权说明 (opens new window)

下面是“只有这一项远程 SSH 用途”的最小示例;将邮箱、虚拟 IP、本地用户名替换为自己的值。它会取消其他 tailnet 互通用途,已有其他服务时应在原策略上逐项调整,不能直接覆盖。

{
  "grants": [
    {
      "src": ["[email protected]"],
      "dst": ["100.101.102.103"],
      "ip": ["tcp:22"]
    }
  ],
  "ssh": [
    {
      "action": "check",
      "src": ["[email protected]"],
      "dst": ["autogroup:self"],
      "users": ["example_user"]
    }
  ]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

网络规则只允许指定身份到目标 IP 的 TCP 22;SSH 规则允许该身份在自己的设备上以指定本地用户登录,二者都满足才可连接。autogroup:self 本身不是“只指定一台设备”,本例靠网络规则限定目标;以后增加网络授权时要重新检查组合效果。目标 100.x.x.x 是 Tailscale 虚拟地址,不是家庭公网地址,更换 Wi-Fi 通常不变;设备删除重建后须重新核对。

确认控制台保存成功、规则已下发后,在 Mac 开启:

sudo tailscale set --ssh=true
tailscale status
tailscale ip -4
id -un
1
2
3
4

Tailscale SSH 自带服务端,不需要为它额外开启 macOS“远程登录”,也不需要公网 22 端口、路由器映射、Funnel、出口节点或子网路由。id -un 输出才是连接时填写的 Local username,不是邮箱或电脑显示名称。

iPhone 连接和认证

  1. Mac 接电、开盖并保持联网;iPhone 关闭 Wi-Fi,使用 4G/5G,保留原 VPN,不开启 Tailscale App 的 VPN。
  2. Safari 打开 Machines (opens new window),登录同一 tailnet,找到 Mac。
  3. 设备行最右侧 ⋯ → SSH to machine,填写 Mac 的本地短用户名。
  4. 按弹窗提示重新认证,再进入终端;若没有 SSH 入口,先检查 Mac 是否开启 SSH、账号角色与两层访问规则。

SSH Console 要求 Owner、Admin、IT admin 或 Network admin 角色,每次创建会话都需要重新认证。浏览器临时节点的 OS 属性是 js,若现有设备姿态规则只放行 macOS,浏览器可能被拦截。此入口目前为 beta,使用 DERP 中继;临时节点结束后会移除,不应把临时节点 IP 写成固定来源。SSH Console 官方说明 (opens new window)

SSH 不会自动进入电脑已有的终端窗口

SSH 建立的是目标用户的新 shell。已有 Codex 若运行在 tmux 中,手机 attach 到同一会话即可看到并操作它;若原来不在 tmux 内,不能声称能直接迁移,也不要终止旧会话或启动第二个 Codex 修改同一项目。

# 连接后先确认身份和现有会话
whoami
hostname
pwd
tmux list-sessions
tmux list-panes -a -F '#{session_name}:#{window_index}.#{pane_index} #{pane_current_command}'

# 示例:已有 Codex 位于会话 1、窗口 1、面板 1
# 先切换窗口,再选面板;号码以实际列表为准
tmux select-window -t 1:1
tmux select-pane -t 1:1.1
tmux attach-session -t 1
1
2
3
4
5
6
7
8
9
10
11
12

attach 不会新启动一个 Codex;电脑和手机可同时操作同一会话,输入会共享,窗口尺寸可能随客户端变化。离开时用 tmux 的 detach,不要在 Codex 中误按退出操作。默认快捷键是先按 Ctrl+B,松开后按 D;已有配置可能修改前缀,使用 tmux show-options -gv prefix 查询。

还没有会话时,可以先创建命名会话:tmux new-session -s codex-blog -c /path/to/project,之后在里面按自己的正常方式启动 Codex。先确认没有同项目的活动会话,再启动;手机恢复使用 tmux attach-session -t codex-blog。tmux 保留的是运行中的进程,不会在 Mac 重启后自动恢复进程。

持续在线与重连的坑

现象 / 条件 处理方式
锁屏、屏幕熄灭 不等于系统睡眠;系统保持清醒时可继续连接
空闲睡眠、合盖 可能使服务不可达;初次测试保持开盖,不依赖网络唤醒
临时保持清醒 在本机终端运行 caffeinate -is -t 7200,两小时后结束;该终端 Ctrl+C 可提前取消,不改永久设置;-s 仅接电有效,不保证绕过合盖睡眠
手机切后台、锁屏、切换网络 Safari 可能挂起网页或断开 SSH;重新从控制台连接,再 attach tmux
窗口显示 Reconnecting 先区分是聊天 App 还是 SSH Console;检查其他网页、Mac 在线状态、VPN 和错误提示,不把所有重连都归因于 Tailscale
SSH 已断开,但 Codex 在 tmux 中 重新连接同一用户、同一 tmux 会话;不要直接重启 Codex
重启 tailscaled 或升级服务 现有 SSH 连接会断开,安排在不用远程操作时进行
找不到 tmux / codex 命令 SSH shell 的 PATH 可能不同;Apple Silicon Homebrew 可用 /opt/homebrew/bin/tmux,Codex 路径用本机 command -v codex 确认

测试时记录失败发生在哪一步:控制台登录、找设备、SSH 入口、重新认证、终端建立还是 tmux 恢复;保留错误文字、时间、Mac 的 tailscale status、tailscale netcheck 结果及手机 VPN 状态。分享日志前去掉登录链接、凭据和其他设备隐私信息。

本次记录的已验证结果是开源版安装、后台运行、Mac 认证并在线,以及找到已有 tmux 内的 Codex。已经讨论最小策略,但没有记录控制台保存后的有效规则验证;Tailscale SSH 开启及 iPhone 外网 attach 测试也未由本次操作验证。后续暂缓手机 SSH 测试,先尝试通过 Codex App 的聊天操作;这不等于 Tailscale 链路已实测通过,也不代表两种远端方式已经互通。

# 常用命令与帮助速查

tailscale 是客户端命令,tailscaled 是后台服务;TS 只是文中简称,默认没有 ts 命令。下表用于 Mac/Linux 终端,iPhone Safari 内连接成功后执行的命令实际上运行在远端 Mac。修改配置若提示权限不足,在本机或已授权终端按需使用 sudo,不要把密码发到聊天里。

用途 命令 说明
查看顶层帮助 tailscale --help 列出当前安装版本支持的子命令
查看子命令帮助 tailscale status --help 帮助参数放在子命令后面
查看配置参数 tailscale set --help 修改之前先确认选项与默认值
查看 SSH 命令帮助 tailscale ssh --help CLI SSH 的帮助,不是浏览器 Console 的入口
查看 Serve 帮助 tailscale serve --help 旧教程与当前版本语法可能不同
查看版本 tailscale version 排查时附上版本
连接 / 发起认证 tailscale up 需要时输出登录链接,打开后完成设备授权
查看连接状态 tailscale status 检查是否运行、设备是否在线
机器可读状态 tailscale status --json 可查看 BackendState、Self.Online 等;结构可能随版本变化,勿原样公开全部输出
查看虚拟 IPv4 tailscale ip -4 不是公网 IP
检查到设备的路径 tailscale ping home-server 本机已加入 tailnet 后使用,成功不代表 SSH 端口已获准
网络条件诊断 tailscale netcheck 帮助排查 UDP、中继等网络条件
使用 CLI 连接 SSH tailscale ssh example_user@home-server 仍需满足目标的 SSH 授权
开启 / 关闭 SSH 服务端 sudo tailscale set --ssh=true / sudo tailscale set --ssh=false 仅支持相应服务端平台;不要在唯一管理路径上随意切换
断开当前设备 tailscale down 可能立即切断当前远程管理链路
注销本机账号 tailscale logout 会断开并使当前节点密钥失效,不是普通的临时断连
启动 Mac 开机服务 sudo brew services start tailscale Homebrew formula 安装路径;不要再启动第二个 daemon
停止 Mac 后台服务 sudo brew services stop tailscale 会影响当前远程连接

本次安装版本实查支持 tailscale --help 和 tailscale <子命令> --help;tailscale help status 返回未知子命令,不要套用其他工具的 help 写法。tailscale set 用于修改指定偏好,已有复杂配置时优先查询其帮助,避免误用 tailscale up --reset 重置其他选项。命令以官方 CLI 参考 (opens new window)及本机 --help 为准。

#Linux#vpn#network#guide
上次更新: 2026/10/16, 00:23:52
wget
nvim

← wget nvim→

最近更新
01
GitHub CLI(gh)工作流与 CI 排查
10-08
02
Xcode 工程文件说明
09-28
03
osascript
09-23
更多文章>
Theme by Vdoing | Copyright © 2019-2026 Jacky | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式