第一步:安装 ShellCrash(Clash 的命令行管理脚本)

这是目前在 Linux 服务器上最傻瓜式的安装方式。

  1. 登录 SSH 终端

执行安装脚本(复制粘贴回车):

export url='https://fastly.jsdelivr.net/gh/juewuyong/ShellCrash@master' && sh -c "$(curl -kfsSL $url/install.sh)" && source /etc/profile &> /dev/null

(如果上面这个 GitHub 的地址连不上,可以尝试用国内源,但在没代理之前可能有点难。)

GitHub 的地址连不上用以下步骤

第一步:在电脑上下载(必须挂梯子)

  1. 请在电脑浏览器打开这个 GitHub 发布页链接:
    https://github.com/juewuyong/ShellCrash/releases

  2. 找到最新的一个版本(比如 v1.9.x),展开 "Assets"(资产列表)。

  3. 找到 ShellCrash.tar.gz 这个文件,点击下载到你电脑上。
    (注意:是 ShellCrash.tar.gz,不要下载源码 zip)

第二步:上传到服务器

  1. 打开 1Panel 面板 -> 主机 -> 文件

  2. 进入 /tmp 目录。

  3. 点击 “上传”,把刚才下载的 ShellCrash.tar.gz 传上去。

第三步:手动安装(SSH 终端)

回到 SSH 终端,严格执行下面这 3 条命令:

1. 创建目录:

codeBash

mkdir -p /etc/ShellCrash

2. 解压文件(确保你上传到了 /tmp):

codeBash

tar -zxvf /tmp/ShellCrash.tar.gz -C /etc/ShellCrash/

3. 运行安装脚本:

codeBash

bash /etc/ShellCrash/init.sh

第四步:后续配置(这里也可能遇到坑)

执行完脚本后,输入 crash 回车进入管理菜单。

橙色字体为没遇到的情况

情况解释:
你现在运行的这个
crash,并不是我们刚才安装的那个代理软件,而是 Linux 系统自带的一个内核调试工具(用来分析系统崩溃的)。因为阿里云的系统里预装了这个工具,名字刚好也叫 crash,所以系统优先运行了它,而不是我们的脚本。

别担心,我们的软件还在,只是我们需要换一种方式来呼叫它。

请执行下面这行命令来启动菜单:

复制并执行:

codeBash

bash /etc/ShellCrash/menu.sh

执行这行命令后,你应该就能看到中文的 ShellCrash 管理界面了。

接下来请继续按之前的步骤操作:

  1. 安装内核

    • 输入 1 运行脚本。

    • 它会提示没安装核心,输入 1 安装。

    • 重点:如果提示选择下载源,请选 CDNGitee(如果有的选项)。如果下载失败,请看下面的【补救方案】。

  2. 配置

    • 安装好核心后,选 6 导入订阅。

    • 1 启动服务。

【补救方案】如果这一步里内核死活下载不下来

因为你的服务器网络实在太那个了,如果脚本里选了 CDN 源还是下载失败,我们依然用电脑下载 -> 上传的大招。

  1. 电脑下载内核
    去这个地址下载
    Clash.Meta-linux-amd64 文件:
    https://github.com/MetaCubeX/mihomo/releases
    (找最新版,下载文件名大概叫
    mihomo-linux-amd64-v1.xx.x.gz,下载后解压,得到一个没有后缀的文件)

  2. 上传
    把这个文件上传到服务器
    /tmp/ 目录,改名为 Clash

  3. 移动
    mv /tmp/Clash /etc/ShellCrash/Clash
    chmod +x /etc/ShellCrash/Clash

不过先别急,先运行 bash /etc/ShellCrash/menu.sh 试试脚本自带的下载,说不定 CDN 能通!

以下为powershell中的内容

欢迎使用ShellCrash新手引导!

请先选择你的使用环境:
(你之后依然可以在设置中更改各种配置)

1 路由设备配置局域网透明代理
2 Linux设备仅配置本机代理

请输入对应数字 > 2

启用推荐的自动任务配置?这包括:

每隔10分钟自动保存面板配置
服务启动后自动同步ntp时间
在每日的3点0分重启服务

是否启用?(1/0) >1

⚠️ 高能预警:下一步最关键

输入 1 回车后,脚本检测到你没有安装“核心”,马上就会进入下载核心的环节。

请务必按以下顺序选择(仅供参考,菜单顺序可能会变,看字意):

  1. 未检测到Clash核心,是否安装?

    • 输入 1 (安装)。

  2. 请选择核心版本:

    • 强烈建议选 Clash.Meta (或者显示为 Mihomo)。

    • 通常是选项 23

    • 如果问是否为最新版,直接回车选默认。

  3. 请选择下载源(生死攸关的一步):

    • 脚本会列出 Github, CDN, Fastgit, Release 等选项。

    • 绝对不要选 Github (选项 1)。

    • 请尝试选 CDN源JsdelivrRelease源

    • 如果第一个失败了,脚本会提示,你就换下一个继续试,直到显示“安装成功”。

请操作,如果在下载核心这一步卡住了或者全失败,立刻截图或者复制报错发给我,我们用电脑传文件的大招。

是否导入配置文件?(这是运行前的最后一步)
你必须拥有一份配置文件才能运行服务!

现在开始导入?(1/0) >1

1 在线生成配置文件(基于Subconverter订阅转换)
2 在线获取配置文件(基于订阅提供者)
3 本地生成配置文件(基于内核providers,推荐!)
4 本地上传完整配置文件
5 设置自动更新
6 自定义配置文件
7 更新配置文件
8 还原配置文件
9 自定义浏览器UA

输入1之后

  1. 打开你电脑上正在用的翻墙软件。

  2. 找到你正在用的那个节点列表或者订阅分组。

  3. 右键点击它,选择 “复制订阅地址” (Copy Subscription URL)


拿到链接后,回到 SSH 黑色窗口:

  1. 此时你的黑色窗口应该停留在 请直接输入第1个链接... > 这里。

  2. 直接把刚才找到的那个链接粘贴进去。

  3. 按回车。

蓝色字体是出问题了

接下来使用上传文件的办法

请直接输入第2个链接或对应数字选项 > 1

链接地址为:https://sub.jwsc.eu.org/sub?target=clash&ua=clash&insert=true&new_name=true&scv=true&udp=true&exclude=&include=&url=&config=https%3A%2F%2Fgithub.com%2Fjuewuy%2FShellCrash%2Fraw%2Fdev%2Frules%2FShellClash.ini
可以手动复制该链接到浏览器打开并查看数据是否正常!
配置文件获取失败!
尝试更新服务器列表并使用其他服务器获取配置!
/tmp/ShellCrash/servers.list [ <=> ] 2.96K --.-KB/s in 0s
正在重试第1次/共3次!

链接地址为:https://api.v1.mk/sub?target=clash&diyua=clash&insert=true&new_name=true&scv=true&udp=true&exclude=&include=&url=&config=https%3A%2F%2Fgithub.com%2Fjuewuy%2FShellCrash%2Fraw%2Fdev%2Frules%2FShellClash.ini
可以手动复制该链接到浏览器打开并查看数据是否正常!
配置文件获取失败!
尝试使用其他服务器获取配置!
正在重试第2次/共3次!

链接地址为:https://url.v1.mk/sub?target=clash&diyua=clash&insert=true&new_name=true&scv=true&udp=true&exclude=&include=&url=&config=https%3A%2F%2Fgithub.com%2Fjuewuy%2FShellCrash%2Fraw%2Fdev%2Frules%2FShellClash.ini
可以手动复制该链接到浏览器打开并查看数据是否正常!
配置文件获取失败!
尝试使用其他服务器获取配置!
正在重试第3次/共3次!

链接地址为:https://sub.jwsc.eu.org/sub?target=clash&ua=clash&insert=true&new_name=true&scv=true&udp=true&exclude=&include=&url=&config=https%3A%2F%2Fgithub.com%2Fjuewuy%2FShellCrash%2Fraw%2Fdev%2Frules%2FShellClash.ini
可以手动复制该链接到浏览器打开并查看数据是否正常!
无法获取配置文件,请检查链接格式以及网络连接状态!
也可用浏览器下载以上链接后,使用WinSCP手动上传到/tmp目录后执行crash命令本地导入!

这是一个典型的“死循环”问题:

原因分析
ShellCrash 脚本试图去访问“在线转换服务器”(比如 jwsc.eu.org)来把你的订阅转换成配置文件。但是,你的服务器现在没有翻墙,连不上这个转换服务器。所以它试了 3 次都失败了。

解决方法
既然服务器连不上,我们就用你的电脑(电脑有梯子,能连上)来完成“转换”和“下载”这两步,然后把做好的文件上传给服务器。

第一步:在电脑上生成并下载配置文件

  1. 在你的电脑浏览器打开这个在线转换网站(ACL4SSR):
    👉 https://acl4ssr-sub.github.io/
    (如果打不开,就用你刚才截图的那个 tp.dy.ax 也可以,原理一样)

  2. 小猫用这个也一样

  1. 操作步骤

    • 订阅链接:粘贴你那个买来的机场订阅链接。

    • 客户端:选择 Clash Meta (或者 Clash)。

    • 远程配置:默认即可(或者选第一个)。

    • 点击下方的 “生成订阅链接”

  2. 下载文件

    • 生成后,点击旁边的 “下载配置” 按钮。

    • 如果是弹出一堆文字,你就把那个“定制订阅”的链接复制到浏览器地址栏回车,浏览器就会下载一个文件。

    • 重命名:把下载下来的文件重命名为 config.yaml (注意后缀是 .yaml)。

    • 注意:如果浏览器打开后显示的是一堆密密麻麻的文字代码,请点击浏览器右上角的菜单 -> “网页另存为” -> 保存为 config.yaml


第二步:上传到服务器

  1. 回到 1Panel 面板 -> 主机 -> 文件

  2. 进入 /tmp 目录。

  3. 点击 “上传”,把刚才电脑上做好的 config.yaml 传上去。

第三步:在 SSH 里导入

回到那个黑色的 SSH 终端窗口:

  1. 输入 crash (或者 bash /etc/ShellCrash/menu.sh) 进入菜单。

  2. 输入 6 (导入配置文件)。

  3. 这次选择 4 (本地上传完整配置文件) 或者 2 (本地生成) —— 重点是选带有“本地”或“路径”字眼的选项

  4. 脚本会问你文件路径,请输入:
    /tmp/config.yaml

  5. 回车确认。

  6. 脚本提示“是否启动服务”,输入 1

欢迎使用ShellCrash! 版本:1.9.4alpha6
服务没有运行(Redir模式),未设置开机启动!
TG频道:
https://t.me/ShellClash

发现内核配置文件: /tmp/config.yaml
是否加载为的配置文件?(1/0) > 1
配置文件加载完成!
1 启动/重启服务
2 功能设置
3 停止服务
4 启动设置
5 设置自动任务
6 管理配置文件
7 访问与控制
8 工具与优化
9 更新与支持

0 退出脚本
请输入对应数字 > 1

Job for shellcrash.service failed because a timeout was exceeded.
See "systemctl status shellcrash.service" and "journalctl -xeu shellcrash.service" for details.
服务启动失败!请查看报错信息!详细信息请查看/tmp/ShellCrash/core_test.log

服务已启动!
请使用
http://172.24.29.107:9999/ui 管理内置规则

最后再下载

  1. 文件:

    • 点击下载 Country.mmdb(IP库)(我这个没装,就装了下面这个,写文章的时候装了下发现启动不了了,然后卸载了之后服务器重启,再开就又好了)

    • 点击下载 GeoSite.dat(域名库)

    • 处理:下载下来就是这个名字,不用改。

  2. 1Panel 上传

    • 面板 -> 主机 -> 文件 -> 进入 /etc/ShellCrash/ 目录。

测试

在 SSH 黑色窗口里输入下面这行命令(复制粘贴):

codeBash

curl -I -x http://127.0.0.1:7890 https://www.google.com

最后

回到你的 SSH 黑色窗口,依次复制执行下面的命令。


第一步:检查面板设置(最后确认)

  1. 回到你的浏览器 1Panel 面板

  2. “镜像加速”确认一下: 确保里面是空的(没有填阿里云、1panel.live 之类的地址)。如果有,点“设置”把它删掉。

  3. 现在的状态应该是:

    • ❌ 镜像加速:

    • ✅ 后台代理配置:已通过命令写入

第二步:写入 Docker 代理配置

直接复制下面整段代码(从 mkdirEOF),在终端里粘贴并回车:

codeBash

mkdir -p /etc/systemd/system/docker.service.d
cat > /etc/systemd/system/docker.service.d/http-proxy.conf << EOF
[Service]
Environment="HTTP_PROXY=http://127.0.0.1:7890"
Environment="HTTPS_PROXY=http://127.0.0.1:7890"
Environment="NO_PROXY=localhost,127.0.0.1"
EOF

第三步:重启 Docker 使配置生效

复制执行下面这两行命令:

codeBash

systemctl daemon-reload
systemctl restart docker

(注意:执行完第二行后,可能需要等几秒钟,终端才会重新弹出输入框,这是因为 Docker 正在重启,属于正常现象。)

第四步:验证配置是否生效(选做,为了让你放心)

执行下面这就行命令,检查 Docker 是否真的吃进了配置:

codeBash

systemctl show --property=Environment docker
  • 如果成功:你会看到输出里包含 Environment=HTTP_PROXY=http://127.0.0.1:7890 这样的字样。

  • 看到这个字样,就说明配置绝对生效了,不用管网页上显示什么。