linux中使用clash代理

本机环境:ubuntu16

安装代理工具(这里使用clash)

可以手动下载解压,下载地址:https://github.com/Dreamacro/clash

也可以直接使用命令行,演示如下:

sh 复制代码
user@localhost:~$ curl https://glados.rocks/tools/clash-linux.zip -o clash.zip #下载Clash

user@localhost:~$ unzip clash.zip

user@localhost:~$ cd clash

user@localhost:~$ curl https://这里填你自己的代理List.yaml > glados.yaml #下载您的终端配置文件

user@localhost:~$ chmod +x ./clash-linux-amd64-v1.10.0

user@localhost:~$ ./clash-linux-amd64-v1.10.0 -f glados.yaml -d .

演示如下表示成功:

sh 复制代码
INFO[0000] HTTP proxy listening  at: [::]:7890
INFO[0000] SOCKS proxy listening at: [::]:7891
INFO[0000] RESTful API listening at: 127.0.0.1:9090

日志提示已经开放了HTTP代理服务端口为7890, SOCK55服务端口为7891.

后面设置其他程序(浏览器/GIT等)通过7890/7891来代理访问网络就可以了。

测试

sh 复制代码
wget google.com

有返回结果即可(不能使用PING)

使用代理

以npm为例,docker image,k8s pod等也类似。

sh 复制代码
user@localhost:~$  npm config set proxy http://127.0.0.1:7890 
user@localhost:~$  npm install pm2 -g 
user@localhost:~$  npm config delete proxy  #取消代理设置

开启全局代理

每次在使用都需要指明代理非常的不方便,设置环境变量后就相当于给系统中全部的进程开启了代理。

部分软件无法使用代理,例如ping,它并不是 TCP 应用,因此无法使用Clash的HTTP/SOCK5代理。

设置临时环境变量(设置永久需要改/ect/profile~/.bachrc/.bash_profile不推荐

修改配置文件添加环境变量如下:不推荐

sh 复制代码
vim ~/.bashrc
# 末尾添加
export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890
# 生效修改后的配置
source ~/.bashrc

临时环境变量如下:

sh 复制代码
export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890

常见问题及解决方案

  • 7890端口被占用
    解决:
sh 复制代码
# 查询被占用的端口
# lsof命令 用于查看你进程打开的文件,打开文件的进程,进程打开的端口(TCP、UDP)。
# linux中万物皆为文件,进程文件也有端口
sudo lsof -i :7890
# kill
kill 7890 -9 pid
  • 缺少MMDB文件

    kill进程,重启即可

  • 服务器无法正常访问网络

    很有可能是开启了代理,但是没启动代理软件clash

  • 自己的代理服务器list有错

    看是否真的保存在yml文件中了

  • 在保证其他都没问题了还是不能使用代理,则按以下步骤重启

  1. 关闭代理
sh 复制代码
export -n  http_proxy=http://127.0.0.1:7890
export -n https_proxy=http://127.0.0.1:7890
  1. 关闭软件,要保证7890没被占用
sh 复制代码
kill -9 pid
  1. 启动clash软件
sh 复制代码
#启动clash,nohup &后台运行也行
./clash.linux.xxxx
  1. 开启代理
sh 复制代码
export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890

完毕

相关推荐
阿猿收手吧!4 分钟前
windows本机vscode通过ssh免密登录远程linux服务器 && git push/pull 免密
服务器·windows·vscode
创业之路&下一个五年9 分钟前
按照ip的转换为二进制的方式理解a\b\c类地址的边界
服务器·网络·tcp/ip
skywalk816321 分钟前
尝试Auto-coder.chat使用星河社区AIStudio部署的几个大模型:文心4.5-21b、Deepseek r1 70b、llama 3.1 8b
linux·服务器·人工智能·大模型·aistudio
QiTinna1 小时前
系统运维Day02_数据同步服务
linux·同步·rsync
阿猿收手吧!1 小时前
【Linux网络】shutdown()与close()的区别
linux·网络
LCG元1 小时前
Linux 磁盘管理从入门到精通:LVM 扩容实战案例
linux
liu****1 小时前
12.线程(二)
linux·开发语言·c++·1024程序员节
咯哦哦哦哦1 小时前
vscode arm交叉编译 中 cmakeTools 编译器设置
linux·arm开发·vscode·编辑器
梁正雄2 小时前
6、prometheus资源规划
运维·服务器·服务发现·prometheus·监控
晨曦之旅2 小时前
零成本体验云计算!阿贝云免费服务器深度测评
运维·服务器·云计算