给Linux云服务器配置使用代理
本文最后更新于122 天前,其中的信息可能已经过时,如有错误请发送邮件到mail@bfzw.top

安装

安装代理软件与控制面板

先在用户目录建立clash的文件夹,以root目录为例

mkdir -p /root/.config/clash && cd /root/.config/clash

在clash目录中,下载Clash二进制文件(Intel CPU使用amd版本的clash)和 Yacd Dashboard面板(Dreamacro因不可抗力已删库,请自行寻找资源):

wget https://github.com/Dreamacro/clash/releases/download/v1.18.0/clash-linux-amd64-v1.18.0.gz
wget https://github.com/haishanh/yacd/releases/download/v0.3.8/yacd.tar.xz

将上述两个文件进行解压

gzip -d clash-linux-amd64-v1.18.0.gz
tar -zxvf yacd.tar.xz

解压的yacd文件夹更名为dashboard(这一步很重要,不然后续config.yaml配置面板设置后,运行会报错),将解压的clash-linux-amd64-v1.18.0更名为clash。

mv public dashboard

上述也可以在宝塔面板中直接将解压的文件放到clash文件夹(路径:./root/.config/clash)中。

配置config.yaml

将自己已使用的订阅配置在Clash for Windows客户端内拷贝一份,命名为:Linux-Cdb-Conf。

右键Linux-Cdb-Conf,选择Proxies,找到Proxy Groups下的栏目,选择“自动选择”(也可以是其他),将“select”改为“url-test”,目的是自动选择延时低的线路,默认的“600”(刷新时间,单位:秒)可根据需要修改。修改完,点击🆗,保存(Save)。

右键Linux-Cdb-Conf,选择Edit,添加如下内容:

# HTTP 代理端口
port: 7890 
# SOCKS5 代理端口(增加这一行)
socks-port: 7891 
# Linux 和 macOS 的 redir 代理端口(增加这一行)
redir-port: 7892 
# 允许局域网的连接
allow-lan: true

# 规则模式:Rule(规则) / Global(全局代理)/ Direct(全局直连)
mode: Rule

# 设置日志输出级别 (默认级别:silent,即不输出任何内容,以避免因日志内容过大而导致程序内存溢出)。
# 5 个级别:silent / info / warning / error / debug。级别越高日志输出量越大,越倾向于调试,若需要请自行开启。
log-level: info

# RESTful API 的口令(增加这一行, 让Clash Web Dashboard需要密码访问)
secret: 123151 

# 将静态网页资源(如 clash-dashboard)放置在一个目录中(增加这一行,用来告诉程序,WebUI所在的目录),clash 将会服务于 'RESTful API/ui'
# 参数应填写配置目录的相对路径或绝对路径
external-ui: /root/.config/clash/dashboard 

# Clash 的 RESTful API
external-controller: 0.0.0.0:9090

将编辑好的文件拷贝到clash文件夹(路径:./root/.config/clash)中,命名为:config.yaml

也可以在./root/.config/clash中新建config.yaml的链接文件,方便后续管理。

测试是否可用

验证经过上述步骤的配置是否有效可以执行

./clash -d .

------Output------
INFO[0000] Start initial compatible provider 故障转移       
INFO[0000] Start initial compatible provider 自动选择       
INFO[0000] Start initial compatible provider 低价机场       
INFO[0000] RESTful API listening at: [::]:9090          
INFO[0000] inbound socks://:7891 create success.        
INFO[0000] inbound mixed://:7890 create success. 

配置最终部署信息

测试可用之后,接下来把clash, 移到 ./usr/local/bin 文件夹内

mv clash /usr/local/bin

然后配置service文件, 方便我们管理使用,首先建立并编辑 clash.service 文件

vim /lib/systemd/system/clash.service

在跳转的空白页内,点击“ i ”进入编辑模式,输入以下内容(User为你的Linux用户名,一般为“root”):

[Unit]
Description=Clash Service
After=network.target

[Service]
Type=simple
User=root
ExecStart=/usr/local/bin/clash -f config.yaml  //使用 -f 指定配置文件
ExecStop=/bin/kill $MAINPID
Restart=on-failure # or always, on-abort, etc

[Install]
WantedBy=multi-user.target

输入下方命令确保生效以及能够开机启动

systemctl daemon-reload
systemctl enable clash  //开机启动
systemctl start clash  //开始运行
systemctl status clash  //查看运行状态,出现active (running)则表示运行成功
● clash.service - clash service
   Loaded: loaded (/etc/systemd/system/clash.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2024-01-18 09:07:20 CST; 1s ago
 Main PID: 7684 (clash)
    Tasks: 8
   Memory: 8.0M
   CGroup: /system.slice/clash.service
           └─7684 /usr/local/bin/clash

Jan 18 09:07:20 iZ2zed6tm315qafq22tlhpZ systemd[1]: Started clash service.
Jan 18 09:07:20 iZ2zed6tm315qafq22tlhpZ clash[7684]: time="2024-01-18T09:07:20+08:00" level=info msg="Can't find config, create a initial config file"
Jan 18 09:07:20 iZ2zed6tm315qafq22tlhpZ clash[7684]: time="2024-01-18T09:07:20+08:00" level=info msg="Can't find MMDB, start download"
Jan 18 09:07:20 iZ2zed6tm315qafq22tlhpZ clash[7684]: time="2024-01-18T09:07:20+08:00" level=info…移"
Jan 18 09:07:20 iZ2zed6tm315qafq22tlhpZ clash[7684]: time="2024-01-18T09:07:20+08:00" level=info…择"
Jan 18 09:07:20 iZ2zed6tm315qafq22tlhpZ clash[7684]: time="2024-01-18T09:07:20+08:00" level=info…场"
Jan 18 09:07:20 iZ2zed6tm315qafq22tlhpZ clash[7684]: time="2024-01-18T09:07:20+08:00" level=info...."
Jan 18 09:07:20 iZ2zed6tm315qafq22tlhpZ clash[7684]: time="2024-01-18T09:07:20+08:00" level=info...."
Jan 18 09:07:20 iZ2zed6tm315qafq22tlhpZ clash[7684]: time="2024-01-18T09:07:20+08:00" level=info...0"
Hint: Some lines were ellipsized, use -l to show in full.

上方日志中显示会自动下载MMDB文件,若无法自动下载,百度搜索一个,放入“./root/.config/clash中”。

浏览器访问:http://localhost:9090/ui,即可进入Web管理界面。其中“localhost”改为服务器IP地址即可访问。

开关系统代理

打开.bashrc文件

# Proxy auto start
#export https_proxy="http://127.0.0.1:7890"
#export http_proxy="http://127.0.0.1:7890"
#export all_proxy="socks5://127.0.0.1:7891"

# Open proxy
proxy_on() {
    export https_proxy="http://127.0.0.1:7890"
    export http_proxy="http://127.0.0.1:7890"
    export all_proxy="socks5://127.0.0.1:7891"
    echo -e "\033[32m[√] HTTP/HTTPS Proxy on 已开启代理\033[0m"
}
# Close proxy
proxy_off() {
    unset http_proxy
    unset https_proxy
    unset all_proxy
    echo -e "\033[31m[×] HTTP/HTTPS Proxy off 已关闭代理\033[0m"
}

运行以下代码使其生效

source ~/.bashrc

在命令提示窗口输入以下内容,开启/关闭系统进行系统代理

proxy_on //开启系统代理
proxy_off  //关闭系统代理

检查运行情况

检查服务端口

$ netstat -tln | grep -E '9090|789.'
tcp        0      0 127.0.0.1:9090          0.0.0.0:*               LISTEN     
tcp6       0      0 :::7890                 :::*                    LISTEN     
tcp6       0      0 :::7891                 :::*                    LISTEN     
tcp6       0      0 :::7892                 :::*                    LISTEN

检查环境变量

$ env | grep -E 'http_proxy|https_proxy|all_proxy'
http_proxy=http://127.0.0.1:7890
https_proxy=http://127.0.0.1:7890

以上步鄹如果正常,说明服务clash程序启动成功,现在就可以体验高速下载github资源了。

参考文章

点击获取当前页面短链
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇