Linu服务器上配置clash

linux服务器使用clash

关于这件事已经操作N遍了,每次都不记得还要搜一下,这次记录一下方便复盘

下载

由于 Clash Premium 的主库已被删除,我们将使用备份库来获取吧

或者(废话,无需多言…)

wget ttps://github.com/zhongfly/Clash-premium-backup/releases/download/2023-09-05-gdcc8d87/clash-linux-amd64-n2023-09-05-gdcc8d87.gz 

wk,真的别说,试试这个我的网址

wget https://share.plumbum.one/upload/clash-linux-amd64-n2023-09-05-gdcc8d87.gz

解压和处理

gzip -d clash-linux-amd64-n2023-09-05-gdcc8d87.gz
mv clash-linux-amd64-n2023-09-05-gdcc8d87 clash
chmod +x clash
mv clash /usr/bin/

安装和配置

运行

clash

让他下载完Country.mmdb之后ctl+C关闭

rt

root@plumbum-virtual-machine:/home/plumbum# clash
04:07:39 INF [MMDB] can't find DB, start download path=/root/.config/clash/Country.mmdb
04:07:44 INF inbound create success inbound=mixed addr=127.0.0.1:7890 network=tcp
04:07:44 INF inbound create success inbound=mixed addr=127.0.0.1:7890 network=udp

然后就是自己到这里面/root/.config/clash

cd /root/.config/clash && ls && mv config.yaml config_backup_pb.yaml

自己”解析”自己的yaml文件,放个位置下载

(我自己提醒,我放在服务器常见share的位置的里面的子目录位置,名称同时)

wget 网址/config.yaml

然后再使用就可以看到成功了

root@plumbum-virtual-machine:~/.config/clash# clash
04:28:37 INF [Config] initial compatible provider name=TikTok
04:28:37 INF [Config] initial compatible provider name=Steam
04:28:37 INF [Config] initial compatible provider name=Twitter
04:28:37 INF [Config] initial compatible provider name=海外使用
04:28:37 INF [Config] initial compatible provider name=节点选择
04:28:37 INF [Config] initial compatible provider name=哔哩哔哩
04:28:37 INF [Config] initial compatible provider name=微软服务
04:28:37 INF [Config] initial compatible provider name=谷歌服务
04:28:37 INF [Config] initial compatible provider name=故障转移
04:28:37 INF [Config] initial compatible provider name=Telegram
04:28:37 INF [Config] initial compatible provider name=ChatGPT
04:28:37 INF [Config] initial compatible provider name=境内使用
04:28:37 INF [Config] initial compatible provider name=自动选择
04:28:37 INF [Config] initial compatible provider name=Copilot
04:28:37 INF [Config] initial compatible provider name=Netflix
04:28:37 INF [Config] initial compatible provider name=苹果服务
04:28:37 INF [Config] initial compatible provider name=磁力下载
04:28:37 INF [DNS] server listening addr=127.0.0.1:1053
04:28:37 INF [API] listening addr=127.0.0.1:9090
04:28:37 INF inbound create success inbound=mixed addr=127.0.0.1:7890 network=tcp
04:28:37 INF inbound create success inbound=mixed addr=127.0.0.1:7890 network=udp

ctl+c关了之后…

设置clash为系统服务

要将Clash设置为系统服务,你需要创建一个Systemd服务单元文件。以下是一个示例,假设你的Clash可执行文件位于 /usr/local/bin/clash,并且配置文件位于 /etc/clash/config.yaml

步骤1:创建Systemd服务文件

  1. 打开终端并使用文本编辑器创建一个名为 clash.service 的文件:

    sudo nano /etc/systemd/system/clash.service
  2. 在文件中添加以下内容:

    [Unit]
    Description=Clash daemon, A rule-based proxy in Go.
    After=network.target
    
    [Service]
    Type=simple
    ExecStart=/usr/bin/clash -f /root/.config/clash/config.yaml
    Restart=on-failure
    RestartSec=5
    StandardOutput=syslog
    StandardError=syslog
    SyslogIdentifier=clash
    
    [Install]
    WantedBy=multi-user.target

    请根据你的实际情况调整 ExecStart 和配置文件路径。

中间完整是这个,后面加载我就用默认的了

   ExecStart=/usr/bin/clash -d /etc/clash

步骤2:启用并启动Clash服务

  1. 重新加载Systemd配置:

    sudo systemctl daemon-reload
  2. 启用Clash服务,使其在系统启动时自动启动:(可以不用随便了,主要还得开系统代理,不是全自动自启动,启动一半)

    sudo systemctl enable clash
  3. 启动Clash服务:

    sudo systemctl start clash

步骤3:检查Clash服务状态

你可以使用以下命令检查Clash服务的状态:

sudo systemctl status clash

如果一切正常,你应该会看到类似以下的输出:

● clash.service - Clash daemon, A rule-based proxy in Go.
   Loaded: loaded (/etc/systemd/system/clash.service; enabled; vendor preset: enabled)
   Active: active (running) since ...

(PB)查看日志

sudo journalctl -u clash

步骤4:管理Clash服务

你可以使用以下命令来管理Clash服务:

  • 停止服务:

    sudo systemctl stop clash
  • 重启服务:

    sudo systemctl restart clash

通过这些步骤,你可以将Clash设置为系统服务,并使用Systemd来管理其生命周期。这样,Clash将在系统启动时自动启动,并在出现故障时自动重启。

系统代理脚本

要在Linux系统上编写脚本,以启用和禁用Clash系统代理,你可以使用以下两个Bash脚本来实现。

cd /home/plumbum
mkdir clash
vim start_clash.sh

脚本1:开启Clash代理

这个脚本会将系统的HTTP和HTTPS代理设置为Clash的本地代理。

创建一个名为 start_clash.sh 的脚本:

#!/bin/bash

# 设置代理地址和端口
PROXY_ADDRESS="127.0.0.1"
PROXY_PORT="7890"

# 设置系统代理
export http_proxy="http://${PROXY_ADDRESS}:${PROXY_PORT}"
export https_proxy="http://${PROXY_ADDRESS}:${PROXY_PORT}"

# 设置代理环境变量到当前会话的所有子进程
echo "export http_proxy=http://${PROXY_ADDRESS}:${PROXY_PORT}" >> ~/.bashrc
echo "export https_proxy=http://${PROXY_ADDRESS}:${PROXY_PORT}" >> ~/.bashrc

# 如果需要配置代理设置到网络配置文件,如 /etc/environment
echo "http_proxy=http://${PROXY_ADDRESS}:${PROXY_PORT}" | sudo tee -a /etc/environment
echo "https_proxy=http://${PROXY_ADDRESS}:${PROXY_PORT}" | sudo tee -a /etc/environment

echo "Clash代理已开启"

脚本2:关闭Clash代理

这个脚本会清除系统的HTTP和HTTPS代理设置。

创建一个名为 stop_clash.sh 的脚本:

#!/bin/bash

# 清除系统代理
unset http_proxy
unset https_proxy

# 从当前会话的子进程中移除代理环境变量
sed -i '/http_proxy=/d' ~/.bashrc
sed -i '/https_proxy=/d' ~/.bashrc

# 如果需要从网络配置文件中移除代理设置,如 /etc/environment
sudo sed -i '/http_proxy=/d' /etc/environment
sudo sed -i '/https_proxy=/d' /etc/environment

echo "Clash代理已关闭"

使用方法

  1. 创建脚本文件:在你的终端中使用文本编辑器(如 vimnano)创建并编辑上述两个脚本文件。

  2. 赋予执行权限:确保脚本文件具有执行权限。你可以使用 chmod +x 命令来赋予权限:

    chmod +x start_clash.sh
    chmod +x stop_clash.sh
  3. 运行脚本

    • 要开启Clash代理,运行:

      ./start_clash.sh
    • 要关闭Clash代理,运行:

      ./stop_clash.sh

通过这些脚本,你可以方便地控制Clash代理的启用和禁用。根据你的实际情况,你可能需要调整代理的地址和端口。

测试

curl -L google.com

By plumbum


   转载规则


《Linu服务器上配置clash》 plumbum 采用 知识共享署名 4.0 国际许可协议 进行许可。