标签归档:clash

原生 clash linux 环境配置方法

环境

  • Ubuntu Desktop 20.04 理论适用大部分 Linux 发行版
  • Dreamacro / clash

方法

步骤一:配置 clash 执行程序

首先从 clash 的github仓拉取稳定版二进制可执行文件

wget https://github.com/Dreamacro/clash/releases/download/v1.7.1/clash-linux-amd64-v1.7.1.gz
gzip -d clash-linux-amd64-v1.7.1.gz
sudo mv clash-linux-amd64-v1.7.1 /usr/bin/clash
sudo chmod +x /usr/bin/clash
clash -v

# 为 clash 添加绑定低位端口的权限,这样运行clash的时候无需root权限
sudo setcap cap_net_bind_service=+ep /usr/bin/clash

步骤二:配置 clash

此时执行 clash ,不会有任何效果,仅仅提供一个 默认端口监听:

clash

编辑clash配置文件 /.config/clash/config.yaml

可以将您线路提供的配置文件直接覆盖到这里,这里不涉及配置文件的编写方法。

步骤三:配置 clash 服务自启

sudo touch /etc/systemd/system/clash.service
sudo vim /etc/systemd/system/clash.service

实例服务配置如下:

[Unit]
Description=clash daemon

[Service]
Type=simple
User=
<YOURNAME>
ExecStart=/usr/bin/clash -d /home/YOURNAME>/.config/clash/
Restart=on-failure

[Install]
WantedBy=multi-user.target

之后配置服务自启动

systemctl enable clash
systemctl start clash

参考文献

解决 Clash for windows 端口为 0 导致无法使用

今天更新完 Windows 重启后发现上不了网了,检查 clash for windows 发现监听端口为 0

https://imagehost-cdn.frytea.com/images/2021/08/30/20210830095030627b1fa801f19241.png

这就不正常了,检查了一下 `C:\Users\

\.config\clash\logs` 的日志,发现这行报错: “`perl level=error msg=”Start Mixed(http and socks) server error: listen tcp 127.0.0.1:7890: bind: An attempt was made to access a socket in a way forbidden by its access permissions.” “` 貌似是端口无法被正常绑定,网上找了一下原因,发现遇到该问题的人不少,大致这样解决: `CMD` 执行这行指令 `netsh int ipv4 show dynamicport tcp` 发现起始端口变成了1024。 管理员身份运行 CMD 执行这些命令: “`bash # 这两条命令来自博客 https://blog.csdn.net/tian2342/article/details/108934646 netsh int ipv4 set dynamicport tcp start=49152 num=16383 确定。 netsh int ipv4 set dynamicport udp start=49152 num=16383 确定。 # 这条命令来自 https://github.com/Fndroid/clash_for_windows_pkg/issues/671 netsh int ipv4 set dynamic tcp start=49152 num=16384 “` 然后检查结果 “`bash netsh int ipv4 show dynamicport tcp “` 端口正常后**重启计算机,恢复正常**。 ## 参考文献 – [WIN10更新后端口显示为0的解决方法 #671](https://github.com/Fndroid/clash_for_windows_pkg/issues/671) – [关于Windows端口没被占用提示An attempt was made to access a socket in a way forbidden by its access permissions](https://blog.csdn.net/tian2342/article/details/108934646) – [Clash端口显示为0的解决方法](https://www.cnblogs.com/anyview/p/15056008.html)