1
服务器加固 Debian / Ubuntu
新服务器到手后的基础安全配置。执行后请另开一个 SSH 会话 确认密钥能登录,再关闭当前会话。
运行后会执行
把你的公钥加入 root 的 authorized_keys
SSH 只允许密钥登录,所有用户禁用密码登录(配置排在云镜像默认配置之前,确保生效)
启用 UFW:默认拒绝入站,SSH 端口限速;当前已对外监听的端口逐个询问是否放行,数据库/缓存类端口默认不放行(只新增规则,从不重置)
安装 Fail2ban,对 SSH 暴力破解自动封禁
写入内核网络加固参数,开启自动安全更新
需要输入
SSH 公钥(ssh-ed25519 AAAA...);root 已有密钥时可以直接回车保留
确认禁用密码登录
curl -fsSL https://www.prairieskip.com/ops/server/harden.sh | bash复制
2
SSH 密钥登录 Linux / macOS Windows
为服务器添加一个 SSH 登录公钥,之后就可以用对应的私钥登录。
运行后会执行
把公钥写入目标用户的 authorized_keys(Windows 管理员账户写入 administrators_authorized_keys),去重并修正文件权限
确保这个公钥真的能用:没装 OpenSSH 服务端就自动安装并启动,开启公钥认证(macOS 打开「远程登录」;新版 macOS 可能要给终端「完全磁盘访问权限」,或在 系统设置 → 通用 → 共享 里手动打开)
防火墙已启用时自动放行 SSH 端口;已有的规则(如服务器加固设的限速)保持不变
Linux / macOS
curl -fsSL https://www.prairieskip.com/ops/server/ssh.sh | bash复制
Windows(PowerShell)
irm https://www.prairieskip.com/ops/server/ssh.ps1 | iex复制
3
远程桌面 Linux Windows
让这台机器可以用 Windows「远程桌面连接」(或任意 RDP 客户端)连接。
运行后会执行
Linux:安装 xrdp 并设置端口,修复 TLS 证书读取权限和反复弹出的色彩管理认证框,开机自启;没有检测到桌面环境时会给出提示
Windows:开启远程桌面并要求网络级身份验证,远程桌面服务设为自动启动
按你选择的范围放行防火墙
需要输入
防火墙放行范围(Linux 可选「不放行」;Windows 只能选放行范围)
Linux 另外询问:RDP 端口(默认 3389),是否屏蔽色彩管理认证弹窗;Windows 固定使用 3389 端口
Linux
curl -fsSL https://www.prairieskip.com/ops/server/enable-rdp.sh | bash复制
Windows(PowerShell)
irm https://www.prairieskip.com/ops/server/enable-rdp.ps1 | iex复制
4
VLESS + TLS 代理 Linux
在服务器上部署 VLESS + XTLS-Vision 代理节点。前提:域名已解析到本机,80 端口空闲。
运行后会执行
检查域名的 A 记录确实指向本机,不符合就停止
安装 Xray-core 和 acme.sh
在 ufw / firewalld 中放行 VLESS 端口;申请证书时临时放行 80 端口,用完即关;注册续期钩子,以后自动续期
写入 VLESS 入站配置(与 SOCKS5 共存),禁止通过代理访问内网地址
启动服务,验证 TLS,输出 vless:// 分享链接
需要输入
域名
端口(默认 8443)
Let's Encrypt 邮箱(可留空)
再次运行时会保留原 UUID,已发出的分享链接继续有效。
curl -fsSL https://www.prairieskip.com/ops/server/deploy-vless.sh | bash复制
5
SOCKS5 代理 Linux
在服务器上部署带用户名和密码的 SOCKS5 代理(支持 UDP)。
运行后会执行
安装 Xray-core
写入 SOCKS5 入站配置(与 VLESS 共存),禁止通过代理访问内网地址
在 ufw 或 firewalld 中放行 SSH 和代理端口(不会启用原本关闭的防火墙);端口变更时删除旧端口的规则
启动服务,通过代理做一次自检,输出连接信息
需要输入
端口、用户名、密码:可以自定义,留空则随机生成
再次运行时直接回车会保留当前值,已在用的客户端不受影响
curl -fsSL https://www.prairieskip.com/ops/server/deploy-socks5.sh | bash复制
6
本机代理服务 Linux Windows
把 VLESS 分享链接变成本机常驻的代理服务。它不修改系统代理,只有你主动设置了代理的程序才会使用。
运行后会执行
下载服务程序(Windows 会校验 SHA-256)和固定版本的 xray-core(校验 SHA-256)
根据分享链接生成并校验 xray 配置
注册开机自启服务,以低权限专用账户运行,在 127.0.0.1 上同时提供 SOCKS5 和 HTTP 代理
需要输入
vless:// 分享链接
本地监听端口(默认 10808)
再次运行时直接回车,会保留当前的链接和端口
Windows 安装 / 更新
irm https://www.prairieskip.com/ops/proxyservice/install.ps1 | iex复制
Linux 安装 / 更新
curl -fsSL https://www.prairieskip.com/ops/proxyservice/install-linux.sh | bash复制
Windows 卸载(执行前会确认)
irm https://www.prairieskip.com/ops/proxyservice/uninstall.ps1 | iex复制
Linux 卸载(执行前会确认)
curl -fsSL https://www.prairieskip.com/ops/proxyservice/uninstall-linux.sh | bash复制
7
SoftEther VPN 客户端 Linux
让 Linux 主机作为 SoftEther VPN 客户端,开机自动连接。脚本里不包含任何账户信息。
运行后会执行
安装编译依赖;下载官方正式版 VPN Client(优先走本站镜像,校验 SHA-256),然后编译安装
注册系统服务并固定英文界面,创建虚拟网卡
导入你的 .vpn 配置,设为开机自动连接,并立即连接
按你的选择配置网卡地址、全局路由和 IP 转发,重启后依然生效;VPN 网卡的 DHCP 不会改写本机的 DNS 设置
已经安装过时显示菜单:重新配置 / 卸载 / 取消
需要输入
导出的 *.vpn:输入它在本机上的路径,或者直接回车后粘贴全文(单独输入一行 EOF 结束)
网卡地址方式:dhcp / 静态(IP、掩码、可选网关)/ 不配置
是否让全部流量走 VPN
是否开启 IP 转发
curl -fsSL https://www.prairieskip.com/ops/server/deploy-softether-client.sh | bash复制
8
EasyTier 组网客户端 Linux / macOS Windows
把任意电脑接入固定的 EasyTier 内网并开机自启。网络名、服务器地址和端口已经写死在脚本里,运行时只需要输入网络密钥。
运行后会执行
下载固定版本的 EasyTier(优先走本站镜像,校验 SHA-256),失败时回落到 GitHub,仍失败则询问 HTTP 代理
注册开机自启服务:Linux 用 systemd,macOS 用 launchd,Windows 用系统服务
默认用 DHCP 自动分配虚拟 IP,并启用魔法 DNS(可用 <hostname>.et.net 访问)
远程访问只对 mesh 网卡放行:Windows 放行 SSH 22 与 RDP 3389;Linux 在 ufw / firewalld 已启用时同样只对 mesh 网卡放行(不会启用原本关闭的防火墙)
自动选择空闲的监听 / RPC 端口,可与已有的 EasyTier 实例共存;不会覆盖不是本脚本创建的同名服务
已经安装过时显示菜单:重新配置 / 卸载 / 取消(重新配置时回车保留当前密钥)
需要输入
网络密钥(唯一不写在脚本里的信息,输入时不回显;再次运行时回车保留当前值)
安装前确认一次
Linux / macOS
curl -fsSL https://www.prairieskip.com/ops/server/deploy-easytier-client.sh | bash复制
Windows(PowerShell)
irm https://www.prairieskip.com/ops/server/deploy-easytier-client.ps1 | iex复制
Android 客户端(arm64 手机;旧机型把 arm64 换成 arm)
https://www.prairieskip.com/ops/server/mirror/easytier/EasyTier-android-arm64-v2.6.4.apk复制
9
Claude 多账户隔离 Windows
在同一台电脑上使用多个 Claude Code 账户。各账户的登录凭据互相隔离,CLAUDE.md、skills 等通用配置共享。
运行后会执行
未安装时安装 Claude Code
把账户同步脚本下载到 ~/.claude
在 ~/.local/bin 生成以账户名命名的启动器,并加入 PATH
第一次运行启动器时创建账户目录、链接共享配置,并提示你 /login
需要输入
启动器(账户)名称,默认 claude1
想增加账户,用新名称再运行一次即可
irm https://www.prairieskip.com/ops/claude/bootstrap.ps1 | iex复制
10
容器化 AI CLI Windows
在 WSL2 + Docker 的锁定容器中运行 Claude Code(cc)和 Codex CLI(cx)。需要本机代理在同一个端口上同时提供 HTTP 和 SOCKS5(第 6 项即可)。请按顺序执行;② ③ 在普通(非管理员)PowerShell 中运行。
运行后会执行
① 启用 WSL2,通过代理下载并导入专用的 AiCliBox-Debian 发行版,在其中安装 Docker 并设为自动启动;需要时提示你重启后再运行一次
②③ 通过代理构建锁定的 Claude / Codex 镜像,冒烟测试通过后才安装 cc / cx 启动器
容器内所有出站流量强制经过本机代理,其余直接出站一律阻断
需要输入
本机代理端口(默认 10808;②③ 默认取上次安装用的端口)
① 另外询问:是否使用自定义的 Debian / WSL 下载镜像
① WSL2 + Docker 基础环境(会自动申请管理员权限)
irm https://www.prairieskip.com/ops/aiclidocker/base.ps1 | iex复制
② 安装 cc(Claude Code)
irm https://www.prairieskip.com/ops/aiclidocker/claude.ps1 | iex复制
③ 安装 cx(Codex CLI)
irm https://www.prairieskip.com/ops/aiclidocker/codex.ps1 | iex复制
11
Claude 定时任务 Linux
定时激活 Claude 额度。订阅账户的用量按 5 小时会话计算,会话从第一条提示开始计时。在指定时间自动发一句极短的 claude -p "hi",让会话提前开始,等你真正开始工作时,额度窗口已经在走、也会更早重置。请以要使用其 Claude 登录状态的那个用户身份运行,不要加 sudo;该用户需要已经安装并登录 Claude Code。
运行后会执行
自动找到 claude 程序,把指定时区的触发时间换算成本机时间
生成只有本人可读的执行脚本,提示词按原样保存,不会被 shell 或 cron 二次解析
在你的 crontab 中写入(或替换)本脚本管理的任务块,不影响其他任务
可选立即试运行一次,输出追加到 ~/.local/share/claude-cron.log
需要输入
claude 程序路径(默认自动找到的路径,一般直接回车)
提示词(默认 hi,越短越省额度)
触发时间所用的时区(默认本机时区)
触发的小时,如 07 12 17
可选:Anthropic API key(只用于按量计费的 API;用订阅登录不要填,输入时不回显)
curl -fsSL https://www.prairieskip.com/ops/server/deploy-claude-cron.sh | bash复制
12
伪装为洛杉矶主机 Linux Windows
配合洛杉矶出口的代理使用:去掉本机程序能用来推断真实位置的信号,并把时区、区域统一成洛杉矶 / 美国。不配置代理、DNS 或 VPN,也不提供回滚。
运行后会执行
禁用 IPv6(Windows 还会禁用 Teredo / 6to4 / ISATAP 隧道)
关闭定位服务(Windows 还会关闭 Wi-Fi 定位和热点上报)
时区设为洛杉矶(America/Los_Angeles / Pacific Standard Time)
系统区域和语言设为 en-US;Windows 的归属地设为美国
Windows 需要重启才能完全生效
需要输入
确认执行(只问一次)
Windows 另外询问:是否顺带关闭遥测(可选,默认不关)
Linux
curl -fsSL https://www.prairieskip.com/ops/server/privacy.sh | bash复制
Windows(PowerShell)
irm https://www.prairieskip.com/ops/server/privacy.ps1 | iex复制
13
程序防火墙管控 Windows
按程序(而非按端口)限制出站网络访问。IPv4 和 IPv6 同时处理,程序无法绕过。Windows 防火墙不过滤回环流量,程序始终可以访问 localhost。
运行后会执行
全部阻断:IPv4 + IPv6 的互联网和局域网都不可访问
仅局域网:允许私有网段和局域网发现,阻断互联网
仅指定 IP:只允许你输入的 IPv4 地址,阻断其余所有 IPv4 和全部 IPv6
解除:清理该程序的规则(包括旧版脚本创建的);切换模式时也会先清掉旧规则
放行与阻断的地址范围互不重叠,不依赖系统默认出站策略
需要输入
操作:1 全部阻断 / 2 仅局域网 / 3 仅指定 IP / 4 解除
程序路径(.exe,多个用分号隔开)
仅指定 IP 时:允许的 IPv4 地址
Windows(PowerShell)
irm https://www.prairieskip.com/ops/firewall/lock-program.ps1 | iex复制