文章

在Ubuntu上使用clash

在这之前我一般都是启动一个服务,然后监听7890端口,局域网内的PC设置一下http代理即可使用,但是最近总发现设置代理之后国内的一些网站打开都变慢了,一点受不了,就找到了一些其他的解决方案。

ShellCrash推荐👍

项目地址:https://github.com/juewuy/ShellCrash/releases

image-20240824144512790

常见问题

日常问题

XX设备能不能安装?

理论上只要开启/破解了SSH的Linux设备都可以安装,请先用安装脚本自行尝试,如果无法安装或者无法运行也可以找作者适配

XX设备能跑多快?

设备能跑多快取决于你设备的CPU性能,或者是否支持硬件解码AES加密

软解性能:常见的双核mt7621,使用chacha20系加密,极限可以跑满100M;常见的A53 4核SOC,极限可以跑500-700M。

硬解性能:AX3600/AX6等支持硬解AES的设备跑单层aes加密可以跑满千兆

XX功能能不能实现?

提问前请先去2-功能设置7-进阶设置8-工具列表里确认是否有相关功能!

如果是确认没有的功能请去→Github提交issue!TG群内不再受理此类问题!

紧急定制功能的需求请私聊→付费支持

与XX应用是否兼容?

由于ShellCrash的Redir/混合/Tun模式在运行中需要劫持局域网流量及DNS才能进行透明代理,所以ShellCrash不能与各类同样基于流量劫持的应用直接共存,例如:

广告过滤插件、网游加速器、SmartDNS、以及各类同类代理应用

但是你依然可以通过以下方式兼容运行

1、如果是依赖劫持DNS服务的应用比如SmartDNS或者广告过滤插件,请参考:https://t.me/ShellClash/148

2、使用ShellCrash的局域网过滤功能或纯净模式,分设备进行代理

为?什?么?PING?不?通?

ping命令基于ICMP协议,clash暂不支持代理ICMP协议,请使用curl或直接浏览器访问进行测试!!!

有视频教程吗?

有的,在此感谢诸位UP主的付出!

教程详见:https://www.youtube.com/results?search_query=ShellCrash

安装相关

安装失败,提示无法连接或者完全没反应

可能是安装源被运营商屏蔽了,请切换和尝试使用不同的安装源!!!

具体安装源列表请前往Github查看

如果实在无法安装请尝试使用本地安装!参考:https://juewuy.github.io/bdaz

安装失败,提示tar 相关错误

可能是安装目录剩余空间不足或者权限不足,请切换安装目录或者使用root用户安装

安装失败,提示Https相关错误

请使用wget及http源安装

安装/重装失败,提示Failed to connect 127.0.0.1……

可能是之前设置了本机代理,并且没有正确使用脚本卸载的原因,可以使用如下命令清除本机代理后再安装

1
2
unset all_proxy && unset ALL_PROXY
复制代码
下载更新内核、脚本、面板、数据库等文件一直失败

请使用0-返回上级菜单,9-更新,7-切换安装源功能,切换安装源,并尝试使用可以正常更新的源

如果依然无法更新,参考https://juewuy.github.io/bdaz 使用本地安装

在线生成配置文件失败或者导入订阅失败

请确保配置文件是标准的clash配置文件格式,如果不确定配置文件格式请使用6-1在线生成配置文件功能

如果依然无法获取,可以使用脚本提示的链接在浏览器中手动下载该配置文件后并使用Winscp手动上传到/tmp文件夹,之后运行脚本即可导入

安装的新版本有问题,如何回退到旧版本?

目前只支持回退到一部分release版本

使用9-更新,切换安装源,切换版本功能,切换至想回退的版本,之后重新更新脚本或内核文件即可完成回退

脚本服务运行相关

如何导入配置文件、订阅链接、节点分享链接?

支持导入各种形式的订阅链接,使用6-1功能即可

支持导入各种形式的节点分享链接,使用6-1或者6-6自定义节点(限clash内核)功能即可

不支持直接填写节点数据,请尽量使用分享链接!trojan的分享链接格式为trojan://password@host:port

如何使用自定义的端口、设置、规则以及锚点、ruleset等高级功能?

你可以通过6-配置文件管理,6-自定义配置文件,功能来管理或者调整以上功能

内核服务无法正常运行

请先使用8-测试菜单,1-查看内核运行报错信息 ,查看运行时的报错并根据报错内容排查是否是配置文件有问题。

~如果提示为 “空” 或者 “Bus error” 或者 “Permission denied” ,则代表内核不完整,请前往更新页面重新安装内核

~如果提示为 “ERRO[0000] rules [0000]” 则代表自定义配置文件有问题,请自行检查配置规则

如无法确定问题所在,可以前往tg群:t.me/ShellClash 进行咨询

本地面板下载或安装失败

如果有下载或安装失败,请首先尝试使用9-7更换安装源重新安装

如果换源安装依然失败,请使用 df -h $clashdir 命令检查设备存储空间是否充足

如果依然不能解决问题,请前往Github 下载面板文件,解压之后用winscp手动上传到安装目录(echo $clashdir) 的/ui文件夹下

斐讯官方/官改固件设备设置开机启动无效,必须手动重启clash

这是固件启动后会重置iptables的问题导致的,请取消开机启动功能,之后把以下语句

1
2
sleep 120 && /etc/clash/start.sh start
复制代码

写入路由器管理界面-高级设置-开机启动,功能内即可

其他设备设置开机启动无效,必须手动启动clash

部分固件可能尚未适配,请自行寻找添加开机启动脚本的方法,并将如下语句添加为开机执行:

1
2
export clashdir="你的安装目录"&&$clashdir/start.sh init
复制代码

网络相关问题

无法访问一切国外网站但国内正常

由于部分中继设备不使用nat转发而是直接使用路由表转发,所以无法配置透明路由,此类设备无法使用主路由模式,如果强行使用,必须依照旁路由设置,将设备的DNS和网关地址都指向运行clash服务的设备

也可能是节点配置问题,请先确认节点可用。之后在Dashboard面板中对节点进行手动测速,以及查看访问日志,判断问题所在

如果节点测速失败且日志上显示任何与 x509 相关的错误,请使用6-1重新生成配置文件,并保证启用跳过本地证书验证功能

如果节点测速成功但依然无法访问,且没有日志显示,则是内核没有正确接管流量,请尝试切换不同的运行模式

无法访问部分国外网站,提示证书错误等,或者Dashboard面板只显示IP没有域名
  1. 可能是由于本地DNS污染导致的,redir-host模式下,可能需要手动配置dot或者doh类型的加密dns;通常直接把dns模式切换到fake-ip模式都能够解决此类问题;也可以升级到最新版本,在使用Meta或者Pre内核的前提下,启用域名嗅探功能

  2. 可能是浏览器启用了安全DNS导致clash内核无法接管DNS服务,请更换浏览器访问,或者在浏览器设置中关闭安全DNS服务

  3. 也可能是部分老旧设备固件版本太低不支持iptables-nat协议,此类设备建议使用纯净模式

  4. 旁路由请确认子设备没有启用ipv6,否则dns会由ipv6查询不会经过旁路由设备

浏览器内无法访问部分网站,但APP或更换浏览器则正常

这是由于部分浏览器启用了安全DNS导致脚本本身的DNS劫持失效

请自行使用搜索引擎查找关键词:【{你的浏览器名称}+禁用安全DNS】,以获取禁用安全DNS的办法!

无法访问国内网站但国外地址正常

这应该是没有启用IP转发导致的,请在工具界面重新进入新手引导,参考引导指示启用ip转发功能

一部分国内网页打不开,网页错版,乱码等

这是由于使用了部分去广告规则,规则误杀导致的,如果不喜欢去广告规则请使用默认不带去广告的规则或者使用自己定义的规则文件,也可以在网页面板中手动开关去广告规则。

无法登录ChatGPT

ChatGPT的账号验证部分使用了udp流量,需要代理udp方能连接,请使用除Redir模式之外的代理模式(2-1)

无法使用wireguard协议

为了节省空间及优化内存占用,脚本内置的内核均未编译wireguard模块,也未编译gvisor,请使用自定义内核功能,安装原版内核或编译了相关模块的内核(9-2-5)

TV、机顶盒或游戏机设备上的奈飞或类似应用提示检测到代理服务

可能是由于使用的规则未能准确覆盖奈飞的IP地址导致的,

解决方式1:使用Meta或者Pre内核,并启用域名嗅探功能

解决方式2:将面板中的“漏网之鱼”或者“黑名单”代理节点设置为可以解锁奈飞的节点(注意该方式可能会造成奈飞节点流量滥用)

也可能是你的机场节点不支持原生的奈飞解锁

解决方式1:使用混合模式+fake-ip的设置组合

解决方式2:更换支持奈飞解锁的机场,比如https://dler.best/auth/register?affid=89698

无法正确配置旁路由模式

配置旁路由的模式与其他类似应用的配置模式是完全一致的

你需要将所有需要使用ShellCrash服务的设备的网关地址DNS服务器地址指定为旁路由的IP地址

你可以分设备单独使用手动的方式指定,也可以使用主路由或者旁路由(不推荐)的DHCP服务指定

如果你是搭配路由器的DHCP服务使用,请务必在配置完成后重启全部路由设备

注意:旁路由模式下,子设备的ipv6必须关闭,否则会出现DNS异常导致网页访问失败的问题

游戏无法连接服务器、谷歌商店应用无法下载……

请使用2-功能设置,1-切换clash运行模式功能,切换使用支持代理UDP的模式,即可对游戏和应用商店的udp流量进行代理

部分节点送中之后无法使用谷歌服务,请尝试切换节点

关闭”仅代理常用端口”

全局模式不生效

全局模式设置后,默认使用的规则其实是全局直连,需要回到节点选择界面手动指定用于全局模式的节点方可正常使用全局代理模式

上传的配置文件/导入机场配置文件后面板显示空白

可能是你的设备缺少openssl根证书文件导致无法正确获取在线规则,请使用9-更新,安装本地根证书功能进行安装

如何添加自定义规则及自定义设定?

如果想添加其他自定义设定,或者自定义规则,或者其他配置文件相关功能,可以使用【6-6配置文件覆写】功能

其他问题

国内测速跑不满带宽?

默认国内流量也会进内核,DNS模式处于Redir-host模式时可以通过开启【CN_IP绕过内核】功能绕过国内流量以提升速度

注意:这样做会失去国内分流及去广告效果

如何禁止视频流量使用UDP协议(提升速度)?

可以使用脚本内置的功能设置里的屏蔽QUIC功能进行设置

如何添加自建节点?

在导入配置文件功能中,使用在线生成配置文件功能,之后输入节点分享链接后选择生成配置文件即可

trojan的分享链接格式为trojan://password@host:port

如何代理本机的Docker服务?

Docker网卡需设置为桥接模式,在【功能设置-本机代理】中启用增强模式

如何使用自定义host?

解决方式1:在路由器管理面板或/etc/hosts文件中添加你想要指定的host内容,然后重启clash服务

解决方式2:使用第三方DNS客户端,之后使用7-6-1,将dns服务器指定为第三方客户端的DNS接口地址

如何使用第三方DNS?

请使用7-6-1,将dns服务器指定为第三方客户端的DNS接口地址

部分智能家居/多媒体网关等设备网络连接出现问题?

请使用功能设置里的局域网设备过滤功能对相关设备进行过滤

DDNS服务失效?

群辉DDNS,请使用6-6自定义规则功能,并添加如下规则

其他DDNS请在在线面板自行查找日志并截取域名

1
2
##### DOMAIN,checkip.synology.com,DIRECT
##### DOMAIN,ddns.synology.com,DIRECT

依然没有解决问题?

如果你使用的是正式版,请先尝试使用9-7-2换源后将脚本更新至测试版,如果切换到测试版依然不能解决问题:

请前往TG群:t.me/ShellClash 并严格遵循以下要求发出提问!

注意:如果你的提问不符合以下要求,本作者将不予回复!!!

  1. 务必提供设备信息:(例如AX3600官方固件、斐讯N1-Armbian、阿里云-centos,不强求格式,能看懂即可)

  2. 如果是报错问题请务必提供报错问题产生的相关截图相关报错文字

  3. 如果是网站或APP无法连接的问题,请务必提供相关Dashboard面板连接日志(进入面板的日志界面后,再访问有问题的网站或者APP即可找到相关日志)

4.如果是功能问题或其他问题,请尽量将问题描述清楚

部分教程对应的脚本版本可能已经比较陈旧,请酌情参照!

tpclash

项目地址:https://github.com/TPClash/tpclash

项目介绍:TPClash(Transparent proxy tool for Clash),是一个用于 Clash 的透明代理辅助工具, 由于众所周知的原因手笨而创建的。

clash-for-linux

项目地址:https://github.com/wnlen/clash-for-linux

项目介绍:此项目是通过使用开源项目clash作为核心程序,再结合脚本实现简单的代理功能。

主要是为了解决我们在服务器上下载GitHub等一些国外资源速度慢的问题。

本文由作者按照 CC BY 4.0 进行授权