clash-verge-rev icon indicating copy to clipboard operation
clash-verge-rev copied to clipboard

[Feature] archlinux 希望开机自启的时候可以不用输入密码

Open FlyInWind1 opened this issue 1 year ago • 12 comments

Is your feature request related to a problem? Please describe.

Describe the solution you'd like

我每次开机,都会提示我输入密码。这个有没有办法避免 图片

Describe alternatives you've considered

Additional context

No response

FlyInWind1 avatar Jan 03 '24 14:01 FlyInWind1

是不是开启了TUN模式?

先用whereis clash-meta查看一下Meta内核的路径,例如是/usr/bin/clash-meta,那么就运行:

sudo chown root:root /usr/bin/clash-meta
sudo chmod u+s /usr/bin/clash-meta

Mr-Spade avatar Jan 05 '24 04:01 Mr-Spade

是不是开启了TUN模式?

先用whereis clash-meta查看一下Meta内核的路径,例如是/usr/bin/clash-meta,那么就运行:

sudo chown root:root /usr/bin/clash-meta
sudo chmod u+s /usr/bin/clash-meta

确实开TUN了。我试了chmod u+s ,似乎会导致 clash-meta 无法启动,设置界面的重启内核按钮点了后,并没有成功开启代理

FlyInWind1 avatar Jan 05 '24 14:01 FlyInWind1

我是这样解决的:

#!/bin/bash
sudo chown root /usr/bin/clash-meta
sudo chmod +sx /usr/bin/clash-meta
sudo chown root /usr/bin/clash-meta-alpha
sudo chmod +sx /usr/bin/clash-meta-alpha

ClHg2 avatar Jan 07 '24 23:01 ClHg2

后续会尝试在Linux下支持服务模式

MystiPanda avatar Jan 09 '24 07:01 MystiPanda

我是这样解决的:

#!/bin/bash
sudo chown root /usr/bin/clash-meta
sudo chmod +sx /usr/bin/clash-meta
sudo chown root /usr/bin/clash-meta-alpha
sudo chmod +sx /usr/bin/clash-meta-alpha

我试了,如果 chown root 似乎会导致 clash-meta 无法启动,如果 chown 1000 ,则可以启动,但启用了 tun 模式,却没有效果,还是需要 http_proxy 环境变量才能达到代理效果

FlyInWind1 avatar Jan 12 '24 05:01 FlyInWind1

https://aur.archlinux.org/packages/clash-meta-cap-git https://aur.archlinux.org/packages/mihomo-cap-git

装这个 aur 包试试呢?

test482 avatar Jan 18 '24 05:01 test482

https://aur.archlinux.org/packages/clash-meta-cap-git https://aur.archlinux.org/packages/mihomo-cap-git

装这个 aur 包试试呢?

好像没什么用

FlyInWind1 avatar Jan 18 '24 12:01 FlyInWind1

我是这样解决的:

#!/bin/bash
sudo chown root /usr/bin/clash-meta
sudo chmod +sx /usr/bin/clash-meta
sudo chown root /usr/bin/clash-meta-alpha
sudo chmod +sx /usr/bin/clash-meta-alpha

我试了,如果 chown root 似乎会导致 clash-meta 无法启动,如果 chown 1000 ,则可以启动,但启用了 tun 模式,却没有效果,还是需要 http_proxy 环境变量才能达到代理效果

出现了同样的问题,将包从aur/clash-verge-rev-bin改为archlinuxcn或者aur的clash-verge,接着再使用 sudo chmod +sx /usr/bin/clash-meta 重启解决每次启动TUN都需要输密码或者meta核启动不了的问题

~~但是未解决HTTP流量需要走TUN的问题,仍旧需要设定 https_proxy 环境变量,并且即使关闭设置中的System Proxy其实也并未关闭系统代理(但是关闭Tun Mode却确实关闭了Tun,HTTP/HTTPS流量仍走系统代理)~~

已解决,必须保证unset全局 https_proxy 环境变量,此时verge设置中Mixed Port字段无效,全局走 Tun Mode

Chilly-Blaze avatar Jan 24 '24 12:01 Chilly-Blaze

后续会尝试在Linux下支持服务模式

clash-for-windows 的服务模式似乎是这样实现的。 修改配置文件 ~/.config/clash/config.yaml 的内容为

external-controller: '0.0.0.0:9090'

然后下次clash在启动的时候就会监听 9090 端口,cfw不用自己起clash,直接调用 9090 的接口就行。 我想对于 clash-verge 来说,也可以这么做

FlyInWind1 avatar Jan 27 '24 14:01 FlyInWind1

改配置文件我可以自己手动改,但是似乎clash-verge启动时还是要密码,我猜加个 9090 端口的判断,就可以暂时满足需求了。

FlyInWind1 avatar Jan 27 '24 14:01 FlyInWind1

后续会尝试在Linux下支持服务模式

clash-for-windows 的服务模式似乎是这样实现的。 修改配置文件 ~/.config/clash/config.yaml 的内容为

external-controller: '0.0.0.0:9090'

然后下次clash在启动的时候就会监听 9090 端口,cfw不用自己起clash,直接调用 9090 的接口就行。 我想对于 clash-verge 来说,也可以这么做

兄弟们,我搞定了 手动修改配置文件后 clash-verge设置的外部控制改成127.0.0.1:9090 然后 setcap -r /usr/bin/clash-meta 关闭 clash-verge 启动 clash-meta ,命令 systemctl restart clash-meta@xxx

我的 clash-meta来自archlinuxcn,其他的版本配置文件可能在 ~/.config/mihomo/config.yaml

FlyInWind1 avatar Jan 27 '24 15:01 FlyInWind1

按照这个办法启动 clash-verge 后,会有一个问题。这种方式起的 clash-meta,没有任何配置,需要手动刷新一下配置。临时的办法是,将整个 clash-meta 配置文件都写入 config.yaml ,而不是只写 external-controller ,但这样做更新配置文件是个麻烦事。 还是希望有大佬能兼容一下。

FlyInWind1 avatar Jan 27 '24 15:01 FlyInWind1