CLASH KNOWLEDGE BASE

分类: 未分类

客户端教程、配置说明与问题排查资料。

教程

Clash vpn中的HTTP代理和HTTPS代理能同时开启吗?

在ClashVPN中,HTTP代理和HTTPS代理使用同一个port端口(默认为7890),两者可以同时开启且无需分别配置独立端口。Clash内核会根据请求的协议类型自动识别并做出相应处理,用户只需在配置文件中设置port:7890即可同时支持两种协议的代理转发。若需要区分HTTP代理和SOCKS5代理,可分别配置port和socks-port两个独立端口;若希望在同一端口上同时使用HTTP和SOCKS5代理,可使用mixed-port混合代理模式。开启allow-lan后,局域网设备可通过该端口同时使用HTTP和HTTPS代理服务,需确保防火墙已放行对应端口。代理端口的工作机制与共存原理单一端口同时承载HTTP与HTTPS流量ClashVPN中的HTTP代理和HTTPS代理使用同一个端口进行通信,两者并非独立运行的服务,而是共享同一个监听端口的统一代理入口。在config.yaml配置文件中,port:7890字段定义的是HTTP代理端口,这个端口同时负责处理HTTP和HTTPS两种协议的代理请求。当浏览器或应用程序通过该端口发送代理请求时,Clash内核会根据请求的具体协议类型自动识别并做出相应处理,无需用户分别配置两个不同的端口。这种设计使得Clash的代理配置更加简洁高效,用户只需记住一个端口号即可完成所有HTTP和HTTPS流量的代理转发。HTTP代理与HTTPS代理的本质区别在ClashVPN的代理体系中,HTTP代理和HTTPS代理的区别并不体现在端口上,而在于客户端与代理服务器之间的通信协议类型。HTTP代理用于转发未经加密的普通网页请求,而HTTPS代理则用于转发经过TLS加密的安全请求。在Clash的实际处理过程中,当客户端通过HTTP代理端口发送一个以http://开头的请求时,Clash按照HTTP协议规则进行转发;当发送一个以https://开头的请求时,Clash则按照HTTPS协议规则进行处理。两者共享同一个端口但执行不同的协议解析逻辑,互不冲突且可以同时工作。与SOCKS5代理端口的独立共存除了HTTP/HTTPS代理端口外,ClashVPN还提供了SOCKS5代理端口(默认为7891),与HTTP/HTTPS代理端口形成互补。HTTP/HTTPS代理主要用于浏览器和遵循系统代理设置的应用,SOCKS5代理则适用于支持SOCKS协议的应用(如Telegram、部分游戏客户端)。两者使用不同的端口,可以同时开启而互不干扰。用户可以根据应用的实际需求选择使用HTTP代理还是SOCKS5代理,也可以两者同时使用。Clash还对HTTP/HTTPS和SOCKS5代理提供了可选的认证功能,进一步提升了代理服务的安全性。配置文件中的端口设置方式port字段的定义与功能说明在config.yaml配置文件中,port字段用于设置HTTP/HTTPS代理的本地监听端口,这是ClashVPN最常用的代理入口。配置示例为port:7890,表示Clash在本地7890端口上监听HTTP和HTTPS代理请求。该端口同时支持HTTP和HTTPS两种协议,应用程序只需将该端口配置为代理端口即可同时处理两种类型的请求。若默认的7890端口与其他软件冲突,用户可将该值修改为其他未被占用的端口号(如7897),修改后所有使用代理的应用需同步更新端口设置。mixed-port混合代理与独立端口的对比Clash还提供了mixed-port混合代理选项,允许用户在单一端口上同时提供HTTP代理和SOCKS5代理两种服务。当配置文件中设置了mixed-port:7890时,该端口既可作为HTTP/HTTPS代理使用,也可作为SOCKS5代理使用,无需单独配置socks-port字段。在某些移动端Clash客户端(如ClashRS)中,默认使用mixed-port模式以简化配置。独立的port和socks-port配置方式则更加灵活,用户可以根据需要分别开启或关闭某一种代理类型。mixed-port适用于需要统一端口管理的场景,而独立端口适用于需要对HTTP和SOCKS5代理分别配置不同策略的场景。修改端口后的生效与验证方法修改port字段后,需在Clash客户端中重新加载配置才能使新端口生效。在ClashVergeRev等图形化客户端中,修改端口后点击「配置」页面的「重新加载」按钮即可生效。在命令行环境中,需重启Clash进程或执行kill-HUP信号通知进程重新加载配置。验证端口是否生效的方法是在修改后的端口上执行连通性测试,例如在终端中执行curl-xhttp://127.0.0.1:7890https://www.google.com,若能正常返回页面内容则说明端口配置正确。若浏览器无法使用新端口,需检查浏览器代理插件和系统代理设置中的端口号是否已同步更新。浏览器与应用程序的代理设置浏览器代理插件中的端口配置浏览器(如Chrome、Firefox)通常通过代理插件(如SwitchyOmega)来配置ClashVPN的代理连接。在插件设置中,用户需要选择代理协议类型(HTTP或SOCKS5),然后填入Clash的代理地址(127.0.0.1)和端口号(默认7890)。当选择HTTP协议时,插件会通过Clash的HTTP代理端口转发所有请求,该端口同时支持HTTP和HTTPS两种协议。如果用户同时配置了HTTP代理和SOCKS5代理两个入口,可以在插件中创建多个情景模式,分别对应不同的代理类型,根据访问需求灵活切换。系统代理设置中的HTTP与HTTPS在操作系统的网络代理设置中,HTTP代理和HTTPS代理通常分开配置,但两者可以设置为相同的地址和端口。在Windows系统中,进入「设置→网络和Internet→代理」,在手动代理设置中填入代理服务器地址(127.0.0.1)和端口(7890),系统会自动将HTTP和HTTPS流量都通过该代理转发。在macOS中,进入「系统偏好设置→网络→高级→代理」,同时勾选"网页代理(HTTP)"和"安全网页代理(HTTPS)",将两者的服务器和端口都设为127.0.0.1和7890。这种配置方式使系统级别的所有HTTP和HTTPS请求都经过ClashVPN代理。终端环境变量中的代理配置在Linux或macOS的终端环境中,通过设置http_proxy和https_proxy环境变量来配置代理。执行exporthttp_proxy="http://127.0.0.1:7890"和exporthttps_proxy="http://127.0.0.1:7890"可将当前终端会话的所有HTTP和HTTPS请求通过Clash代理转发。这两个环境变量可以设置为相同的代理地址,因为Clash的port端口同时支持两种协议。若需要永久生效,可将上述命令添加到~/.bashrc或~/.zshrc文件中。验证环境变量是否生效的方法是执行env|grep-E'http_proxy|https_proxy'查看当前设置。allow-lan与多设备同时使用同一端口allow-lan开启后的局域网共享配置当需要在同一局域网内的其他设备上使用本机的Clash代理时,需在config.yaml中将allow-lan设为true,并绑定bind-address:"*"使代理端口监听所有网络接口。开启后,其他设备只需将代理地址设为本机的局域网IP和Clash的HTTP代理端口(默认7890)即可连接,无需为每台设备单独配置代理端口。该端口同样同时支持HTTP和HTTPS两种协议的代理请求,局域网设备通过该端口发出的请求会经过本机的Clash代理转发。防火墙放行与端口可达性确认开启allow-lan后,若其他设备无法连接本机的Clash代理,通常是因为系统防火墙阻止了外部对代理端口的访问。在Windows中需在防火墙设置中放行Clash程序,或执行New-NetFirewallRule命令为7890端口添加入站规则。在Linux中需使用iptables或firewalld放行对应端口。验证端口是否对外可达的方法是:在其他设备上执行telnet主机IP7890,若能成功连接则说明防火墙配置正确。确保防火墙放行后,HTTP和HTTPS代理请求均可正常通过该端口转发。多应用同时使用同一端口的兼容性ClashVPN的HTTP/HTTPS代理端口(7890)支持多个应用程序同时连接和使用,不存在端口独占或连接数限制的问题。浏览器、终端环境变量、系统代理设置和局域网设备可以同时通过该端口发送代理请求,Clash内核会自动管理和分发这些并发请求。该端口同时支持HTTP和HTTPS两种协议,不同应用可以使用不同的协议类型,互不干扰。在使用过程中,若某个应用通过该端口发起了大流量的下载任务,其他应用的代理请求仍然可以正常处理,不会因为端口被占用而无法使用。混合代理模式的使用与注意事项mixed-port配置的便利性与限制mixed-port混合代理模式允许用户在单一端口上同时使用HTTP代理和SOCKS5代理,在某些场景下简化了配置流程。在config.yaml中设置mixed-port:7890后,该端口即可接受HTTP和SOCKS5两种协议的代理请求,无需额外配置port和socks-port字段。这种配置方式的优势在于只需记忆一个端口号,适合对代理配置要求不高的普通用户。但混合代理模式在部分应用(如SwitchyOmega代理插件)中可能存在兼容性问题,某些应用无法正确识别混合端口上的协议类型,此时需要将HTTP和SOCKS5代理分开配置到不同的端口上。拆分HTTP和SOCKS5到独立端口的场景对于需要区分HTTP代理和SOCKS5代理使用场景的用户,建议在config.yaml中分别配置port和socks-port两个独立的端口。例如设置port:7890和socks-port:7891,HTTP/HTTPS代理使用7890端口,SOCKS5代理使用7891端口。这种拆分配置使得用户可以针对不同应用选择不同的代理类型,例如浏览器使用HTTP代理,支持SOCKS5的即时通信软件使用SOCKS5代理。拆分配置也便于在客户端界面中分别监控两类代理的流量状态,在排查网络问题时能够更快定位问题所在。混合代理与独立端口的选择建议用户应根据自身的实际使用场景和应用的兼容性,在混合代理和独立端口之间做出选择。如果主要使用浏览器访问网页,且不涉及特殊的代理应用,mixed-port混合模式配置简单,足以满足日常需求。如果同时使用多种类型的应用(如浏览器、游戏客户端、即时通信软件),且需要区分HTTP和SOCKS5代理的流量路径,建议采用独立的port和socks-port配置。若在使用过程中发现某些应用无法通过混合端口正常连接,可切换至独立端口配置模式,在应用中分别指定HTTP代理端口和SOCKS5代理端口即可解决问题。常见问题FAQ

教程

Clash vpn代理怎么配置?端口是多少?

在config.yaml配置文件中,port:7890为HTTP/HTTPS代理端口,socks-port:7891为SOCKS5代理端口,mixed-port:7893为混合代理端口,external-controller:9090为Web管理端口,这些是ClashVPN默认的本地监听端口。修改端口时需同步更新所有使用代理的应用设置。开启allow-lan:true并绑定bind-address:"*"后,同一局域网内的其他设备可通过本机IP地址和端口号连接代理,需在系统防火墙中放行对应端口。修改端口后若浏览器无法上网,检查代理插件和系统代理中的端口号是否已同步更新。代理配置文件的核心结构与默认端口config.yaml是ClashVPN的配置核心ClashVPN的所有代理设置都集中在config.yaml配置文件中,这是整个客户端运行的基础。该文件默认存放在$HOME/.config/clash/目录下(Linux/macOS)或Clash安装目录的Data文件夹中(Windows)。配置文件采用YAML格式编写,其中port、socks-port、mixed-port等字段定义了客户端开启的本地代理端口,allow-lan字段控制是否允许局域网设备通过本机代理访问网络。用户修改配置文件后需重新加载配置,修改的端口设置才会生效。默认端口分配与各端口的功能差异ClashVPN为不同类型的代理协议分配了独立的本地监听端口,每种端口服务于不同的连接需求。port:7890是HTTP和HTTPS代理端口,浏览器和大部分应用程序通过该端口走代理,是最常用的代理入口。socks-port:7891是SOCKS5代理端口,适合支持SOCKS5协议的应用程序(如Telegram、部分游戏客户端)。mixed-port则是混合端口(如7893),同时提供HTTP和SOCKS5两种代理能力,可在需要统一端口配置的场景中使用。redir-port:7892用于透明代理(Linux/macOS),external-controller:9090则为WebUI管理端口。配置文件中的端口修改方法若默认端口与其他软件发生冲突,用户可直接编辑config.yaml文件中的端口数值进行修改。打开配置文件后找到port:7890这一行,将数字改为其他未被占用的端口号(如7897),保存文件后在Clash客户端中重新加载配置即可生效。修改socks-port和mixed-port的方法与此相同。若客户端有图形界面,通常在「设置」页面中也会显示当前端口信息,部分客户端支持在界面中直接修改。端口修改后,所有需要使用代理的应用都需要同步更新代理地址中的端口号。图形界面与命令行的配置方式ClashVergeRev图形界面的端口查看与修改在ClashVergeRev等图形界面客户端中,用户无需直接编辑配置文件即可查看和修改代理端口。打开客户端的「设置」或「常规」页面,界面中会显示"HTTP代理端口"和"SOCKS5代理端口"的具体数值,通常默认分别为7890和7891。用户可直接在输入框中修改端口号,修改后客户端会自动同步到config.yaml文件中并重新加载配置。在「设置」页面中还可找到"AllowLAN(允许局域网连接)"开关,开启后其他设备可通过本机IP和端口号连接代理,关闭后仅本机可使用。命令行启动时指定配置文件和端口在Linux服务器或无图形界面的环境中,可通过命令行参数直接启动Clash并指定配置文件。执行./clash-fsubscription.yaml命令即可使用指定的配置文件启动客户端,默认HTTP代理端口为7890,SOCKS5端口为7891。若需要自定义端口,可在配置文件中修改对应字段后保存,再次启动时新端口即生效。命令行启动后可在终端中看到Clash的运行日志,包括监听端口、加载的规则数等信息,便于确认配置是否正确加载。局域网代理共享的配置步骤若需要让同一局域网内的其他设备(如手机、平板)通过本机的ClashVPN代理上网,需在配置文件和防火墙两方面完成设置。首先在config.yaml中将allow-lan设为true,并将bind-address设为*(监听所有网络接口)。然后在Windows防火墙中允许Clash客户端通过"专用"和"公用"网络,或在PowerShell中执行New-NetFirewallRule命令放行对应端口。其他设备在Wi-Fi设置中手动配置代理,代理服务器地址填写本机的局域网IP(如192.168.1.100),端口填写7890(HTTP代理),即可通过本机的Clash代理访问网络。allow-lan与局域网代理的开启方法allow-lan参数的作用与配置位置allow-lan是控制ClashVPN是否接受来自局域网其他设备连接请求的关键开关,默认值为false(仅允许本机127.0.0.1连接)。当需要在手机、平板或其他电脑上通过本机Clash代理上网时,必须在配置文件中将该参数设为true。在配置文件中对应的写法为allow-lan:true,同时建议将bind-address设为*或0.0.0.0确保监听所有网络接口。若开启后其他设备仍无法连接,需检查防火墙是否放行了对应端口,并在操作系统防火墙中添加入站规则允许Clash程序通过。防火墙放行端口的操作方法Windows防火墙可能默认阻止局域网设备访问Clash代理端口,需要在防火墙设置中手动放行。打开"WindowsDefender防火墙"→"允许应用或功能通过WindowsDefender防火墙",点击"更改设置"后找到Clash相关条目(如clash-verge.exe),勾选"专用"和"公用"复选框即可。若列表中找不到Clash条目,可点击"允许其他应用"手动添加Clash可执行文件路径。也可在PowerShell中执行New-NetFirewallRule-DisplayName"ClashProxy"-DirectionInbound-LocalPort7890-ProtocolTCP-ActionAllow快速放行指定端口。其他设备连接本机代理的完整流程在同一局域网内的其他设备上配置代理时,需要知道本机的局域网IP地址和Clash的代理端口号。在作为代理主机的电脑上打开命令提示符执行ipconfig(Windows)或ifconfig(Linux/macOS),查看本机在局域网中的IPv4地址(如192.168.1.100)。在其他设备的Wi-Fi网络设置中,将代理模式设为"手动",代理服务器填入该IP地址,端口填入7890(HTTP代理)或7891(SOCKS5代理)。保存设置后,该设备的所有网络请求将通过主机的Clash代理转发。Windows热点模式下,连接热点的设备可通过192.168.137.1:7890访问主机的代理服务。不同平台下默认端口的差异桌面端(Windows/macOS/Linux)的默认端口在桌面端ClashVPN中,无论操作系统是Windows、macOS还是Linux,默认端口配置保持一致。HTTP/HTTPS代理端口固定为7890,SOCKS5代理端口为7891,这两个是最常用的代理入口。配置文件中还包含redir-port:7892(透明代理,仅Linux/macOS)和external-controller:9090(RESTfulAPI管理端口)。若在客户端中开启了"混合代理"(MixedProxy),混合端口默认为7893,同时提供HTTP和SOCKS5两种代理能力。用户可在配置文件中自由修改所有这些端口值,以适应不同的网络环境和端口占用情况。Linux服务器无图形界面的端口配置在Linux服务器上通过命令行运行Clash时,端口配置与桌面端一致,默认HTTP端口7890、SOCKS5端口7891、RESTfulAPI端口9090。由于无图形界面,所有配置需通过编辑config.yaml文件完成。配置完成后执行./clash-fconfig.yaml启动客户端,可通过curl-xhttp://127.0.0.1:7890https://www.google.com测试代理是否正常工作。若需将Clash作为系统服务运行,可创建/etc/systemd/system/clash.service文件,通过systemctl命令管理Clash的启动、停止和开机自启。在服务器环境中,allow-lan通常保持false以确保安全,仅在需要为其他服务器提供代理转发时才开启。移动端(Android/iOS)的端口查看方式移动端ClashVPN客户端(如ClashMetaforAndroid、iOS端的ClashRS)的端口配置方式与桌面端不同,通常通过界面设置而非直接编辑配置文件。在Android客户端中,进入「设置」页面可查看当前代理端口,默认HTTP端口为7890,SOCKS5端口为7891,部分版本默认使用mixed-port混合端口。移动端的"AllowLAN"功能通常称为"允许来自局域网的连接"或"共享代理",开启后其他设备可通过手机IP和代理端口上网。iOS端Clash客户端的操作逻辑与Android类似,在设置页面中可查看和修改端口号。移动端端口修改后同样需要重启代理服务才能生效。端口冲突与常见问题处理端口被占用时的排查方法当ClashVPN启动失败或提示端口绑定错误时,很可能是因为默认的7890或7891端口已被其他程序占用。在Windows上可通过命令提示符执行netstat-ano|findstr:7890查看占用该端口的进程PID,然后打开任务管理器结束对应进程。在Linux/macOS中执行lsof-i:7890查看占用端口的进程,使用kill命令结束该进程。最简单的解决方案是在config.yaml中将port值修改为其他未被占用的端口(如7897),保存后重新加载配置即可恢复正常。修改端口后其他应用无法连接的处理修改Clash的代理端口后,所有原本通过该端口走代理的应用都需要同步更新代理设置中的端口号。浏览器(如Chrome)的代理插件(如SwitchyOmega)中需将HTTP代理端口从7890改为新设置的端口号。系统代理设置中同样需要更新端口号:Windows在「设置→网络和Internet→代理」中修改端口,macOS在「系统偏好设置→网络→高级→代理」中修改。终端环境变量中的http_proxy和https_proxy也需要同步更新,例如exporthttp_proxy="http://127.0.0.1:7897"。Docker容器部署时的端口映射配置在Docker中部署Clash时,需要通过端口映射将容器内的代理端口暴露到宿主机。执行dockerrun-d--nameclash-p7890:7890-p7891:7891clash-lan/clash命令将容器的7890端口映射到宿主机的7890端口,外部应用可通过宿主机IP:7890访问代理服务。若需修改映射端口,可指定-p宿主机端口:容器端口的格式,例如-p7897:7890将宿主机的7897端口映射到容器的7890端口。配置文件中的端口值需与容器内部监听端口保持一致,映射参数仅控制宿主机的访问端口。Docker部署时还需挂载配置文件目录:-v/host/path/config:/root/.clash确保Clash使用自定义配置。常见问题FAQ

教程

Hysteria2和TUIC协议支持吗?

Hysteria2和TUIC两种基于QUIC协议的代理在ClashVPN中均需Mihomo内核支持,原版Clash和ClashPremium内核无法识别这两种协议类型。Hysteria2建议使用Mihomov1.18.0及以上版本,配置中type:hysteria2需填写server、port、password、sni、skip-cert-verify以及up/down带宽参数。TUIC建议使用Mihomov1.18.0及以上版本,配置中type:tuic需填写server、port、uuid、congestion_control、sni和skip-cert-verify。Hysteria2在不稳定网络中抗丢包能力更强,TUIC在网络质量良好时延迟更低。若节点连接失败,先在「日志」页面调至Debug级别查看具体错误信息,确认内核版本是否达标,并将skip-cert-verify设为true快速排除证书问题。升级内核至最新版本后重新加载配置即可正常使用。两种协议在ClashVPN中的支持概况Hysteria2基于QUIC的抗丢包协议Hysteria2是近年来发展迅速的下一代代理协议,基于QUIC传输协议设计,在不稳定网络环境中具有显著的抗丢包和带宽聚合能力。该协议通过自定义的拥塞控制算法,能够在高丢包率的网络条件下维持相对稳定的传输速率,特别适合移动网络、卫星网络等带宽波动较大的场景。在ClashVPN配置中,Hysteria2节点的type固定为hysteria2,必填字段包括server、port、password(或auth)以及sni,还支持up和down带宽限制参数用于优化传输性能。TUIC专注于低延迟的QUIC协议TUIC是另一种基于QUIC协议设计的代理协议,与Hysteria2形成差异化互补,其设计重点在于降低连接延迟和提升单路吞吐量。TUIC的协议开销低于Hysteria2,在延迟敏感的应用场景(如在线游戏、实时音视频通话)中表现更为优异,适合网络质量较好且追求极致响应速度的环境。在ClashVPN配置中,TUIC节点的type固定为tuic,需要填写server、port、uuid(或password)以及congestion_control(拥塞控制算法)等参数。两种协议仅Mihomo内核支持Hysteria2和TUIC均为Mihomo(ClashMeta)内核独有支持的协议,原版Clash和ClashPremium内核完全无法识别这两种协议类型。如果用户尝试在原版Clash中导入包含Hysteria2或TUIC节点的订阅,这些节点会显示为红色或无法被选中,日志中会出现"unsupportedprotocol"或"unknowntypehysteria2/tuic"的错误提示。这是由于原版Clash的代码库在这两种协议出现前就已停止更新,未包含对应的支持模块。用户必须使用基于Mihomo内核的客户端才能正常使用这两种协议。内核版本要求与客户端选择Hysteria2对Mihomo版本的最低要求Hysteria2协议在Mihomo内核中的支持经历了一个逐步完善的过程,不同版本对协议特性的支持程度有所不同。Mihomo从v1.14.0版本开始初步引入Hysteria2支持,但该版本的实现尚不完善,部分参数解析存在兼容性问题。v1.15.0至v1.17.0版本逐步完善了对Hysteria2核心功能的支持,包括端口跳跃和带宽探测等高级特性。建议用户使用v1.18.0及以上版本的Mihomo内核,该系列版本对Hysteria2的支持已趋于稳定,能够正确处理各种配置参数,节点连接的可靠性和传输稳定性均得到充分验证。TUIC对Mihomo版本的支持时间线TUIC协议进入Mihomo内核的时间晚于Hysteria2,其版本要求与Hysteria2略有不同。Mihomo从v1.15.0版本开始实验性支持TUIC协议,但该版本的实现较为基础,仅支持TCP传输方式,UDP转发和拥塞控制算法等高级特性尚未完整实现。v1.17.0版本对TUIC的BBR拥塞控制算法和UDPoverStream功能提供了完整支持,建议用户使用v1.18.0及以上版本以获得TUIC协议的最佳兼容性。若使用版本低于v1.15.0的Mihomo内核,TUIC节点将完全无法被识别。哪些客户端默认支持这两种协议目前市面上主流基于Mihomo内核的ClashVPN客户端均已内置对Hysteria2和TUIC协议的支持。桌面端推荐使用ClashVergeRev,该客户端从v1.3.0版本开始便完整支持Hysteria2和TUIC协议,用户导入包含这两种协议节点的订阅后可直接使用。Android端推荐使用ClashMetaforAndroid,该客户端以"META"命名,天然使用Mihomo内核,对Hysteria2和TUIC的支持与桌面端同步。iOS端推荐使用ClashRS,该客户端同样基于Mihomo内核构建,对两种协议的支持情况与前述客户端一致。Hysteria2在Clash中的配置方法Hysteria2节点的完整配置格式在config.yaml的proxies字段中添加Hysteria2节点时,需按照协议规范填写所有必填和可选参数,确保格式正确。标准配置示例如下:-name:"Hysteria2节点"type:hysteria2server:example.comport:443password:"your-password"sni:example.comskip-cert-verify:trueup:"20mbps"down:"100mbps"。其中type固定为hysteria2,password字段也可写作auth,sni为TLS握手时的SNI值,skip-cert-verify控制是否跳过证书验证,up和down分别限制上下行带宽。所有字段均需使用双引号包裹字符串值,且冒号后必须紧跟一个空格。带宽参数up/down的合理设置Hysteria2协议特有的up和down带宽限制参数是优化传输性能的关键配置,设置不当可能影响节点速度表现。up表示上行带宽限制,down表示下行带宽限制,两者均以字符串格式填写,支持bps、kbps、mbps和gbps等单位后缀。建议用户根据自身的实际网络带宽和节点服务器的带宽容量合理设置这两个值,设置过低会限制节点的传输速度发挥,设置过高可能造成网络拥塞和丢包率上升。若不确定具体数值,可先填入up:"50mbps"和down:"200mbps"进行测试,根据实际体验逐步调整。与SS/VMess配置格式的主要区别Hysteria2节点的配置格式与Shadowsocks和VMess等传统协议存在显著差异,用户在手动添加时需特别注意。SS节点仅需type:ss、server、port、cipher和password五个字段,VMess节点在此基础上增加了uuid和alterId。Hysteria2节点则包含了sni、skip-cert-verify、up和down等多个TLS和传输控制相关参数,必填字段数量多于传统协议。建议优先通过订阅链接导入Hysteria2节点,让客户端自动完成全部参数字段的填充,避免手动填写时遗漏关键字段或出现格式错误。TUIC在Clash中的配置方法TUIC节点的完整配置格式在config.yaml中配置TUIC节点时,需填写协议特有的多个参数字段,配置复杂度介于VMess和Hysteria2之间。标准配置示例如下:-name:"TUIC节点"type:tuicserver:example.comport:443uuid:"your-uuid"password:"your-password"congestion_control:"bbr"sni:example.comskip-cert-verify:true。其中type固定为tuic,uuid为身份验证标识符(也可使用password字段替代),congestion_control指定拥塞控制算法(支持bbr、cubic、new_reno等),sni为TLSSNI值,skip-cert-verify控制证书验证行为。与Hysteria2不同,TUIC节点不需要配置up和down带宽限制参数。拥塞控制算法的选择建议TUIC协议支持多种拥塞控制算法,用户可根据网络环境的特点选择最合适的算法以获得最佳传输性能。bbr算法在不稳定网络环境中表现优异,能够有效应对带宽波动和丢包,适合移动网络或跨国长距离传输场景,是目前最常用的选择。cubic算法在网络质量稳定的环境中能够提供更高的吞吐量,适合光纤宽带等低丢包率场景。new_reno是经典拥塞控制算法,兼容性最好但性能相对一般,适合作为备用选项。若不确定选择哪种算法,优先使用bbr,其适用场景最为广泛。TUIC与Hysteria2的参数配置差异TUIC和Hysteria2虽然都基于QUIC协议,但在Clash配置中的参数要求存在明显差异,用户需根据协议类型填写对应的字段集。TUIC使用uuid进行身份验证(也可用password替代),Hysteria2使用password或auth字段。TUIC通过congestion_control指定拥塞控制算法,Hysteria2通过up和down限制带宽。TUIC不需要配置带宽限制参数,Hysteria2不需要配置拥塞控制算法字段。两种协议均需配置sni和skip-cert-verify等TLS相关参数,但Hysteria2的配置总字段数多于TUIC,配置复杂度略高。两种协议的性能与适用场景对比抗丢包能力与网络适应性Hysteria2和TUIC在抗丢包能力方面存在显著差异,用户应根据自身网络环境的特点选择更适合的协议。Hysteria2通过自定义的拥塞控制算法和FEC前向纠错机制,在丢包率较高的网络环境中能够保持稳定的传输速率,当网络丢包率达到5%时仍能维持可用状态。TUIC的抗丢包能力相对较弱,在网络质量下降时传输速率的下滑幅度更为明显。如果用户经常在移动网络、公共WiFi或跨国长距离传输中使用,Hysteria2是更可靠的选择;如果网络环境相对稳定,TUIC的优势则更为突出。延迟表现与实时应用场景TUIC在低延迟场景中的表现优于Hysteria2,适合在线游戏、实时音视频通话等对响应速度敏感的应用。TUIC的协议设计更加精简,握手流程的交互次数少于Hysteria2,在已建立QUIC连接的情况下能够实现更快的重连速度。Hysteria2的FEC纠错机制虽然增强了抗丢包能力,但也引入了额外的处理延迟,在网络质量良好的情况下,Hysteria2的端到端延迟通常比TUIC高出10至20毫秒。对于追求极致低延迟的用户,TUIC是比Hysteria2更合适的选择。根据网络环境选择协议的建议用户应根据自身所处网络环境的特点和主要应用场景,在Hysteria2和TUIC之间做出合理选择。如果网络环境较差,经常遇到连接不稳定、丢包率较高的情况(如移动网络、跨国访问),优先选择Hysteria2,其抗丢包能力能够显著提升使用体验。如果网络质量较好(如光纤宽带、直连线路),且主要使用场景为在线游戏或实时通信,选择TUIC可以获得更低的延迟和更快的响应速度。两者并非互斥,可以在Clash配置中同时保留两种协议的节点,根据实际测速结果动态选择当前最优的协议。常见连接问题与故障排查内核版本过低导致的协议无法识别当Mihomo内核版本低于协议支持的最低版本要求时,导入Hysteria2或TUIC节点后客户端会显示"unsupportedprotocol"错误。解决方法是升级Mihomo内核至v1.18.0及以上版本,桌面端ClashVergeRev用户可在「设置」页面查看当前内核版本,并前往Mihomo的GitHubReleases页面下载最新版内核文件替换。Android端ClashMetaforAndroid用户可直接从GitHub或应用商店获取最新版本APK覆盖安装。升级后重新加载配置,Hysteria2和TUIC节点即可被正常识别和使用。证书验证失败的处理方法Hysteria2和TUIC均使用TLS加密传输,若节点使用自签名证书或证书存在问题,连接时可能触发证书验证错误。在Clash配置中,将skip-cert-verify设为true可以跳过证书验证环节,快速测试节点是否能够建立连接。若开启跳过验证后节点正常使用,说明原证书配置存在问题,建议联系服务商确认证书有效性。若跳过验证后仍无法连接,问题不在证书层面,需检查端口、密码等核心参数是否填写正确,并在Debug日志中查看具体的错误类型定位问题。带宽参数和拥塞控制算法调优Hysteria2节点连接成功但传输速度低于预期时,检查up和down带宽限制参数是否设置过低。TUIC节点在延迟偏高时,尝试将congestion_control从cubic切换为bbr,后者的延迟控制更为积极。调整参数后需保存配置文件并重新加载,观察速度或延迟的变化趋势。若多次调整后仍无改善,可能是节点服务器本身的带宽限制或网络链路质量问题,建议更换其他节点进行对比测试。常见问题FAQ

教程

Trojan协议支持吗?和Trojan-Go一样吗?

在ClashVPN中,Trojan协议在Mihomo内核中得到原生支持,配置中type:trojan配合tls:true及password、servername等字段即可完成节点定义。原版Clash对Trojan的支持标记为"experimental"(试验性),虽可基本使用但已停止维护。Trojan和Trojan-Go的关系是"协议规范"与"软件实现"的区别,Clash的Trojan出站可连接标准Trojan服务端和Trojan-Go服务端,两者在协议层面完全兼容。Trojan-Go特有的WebSocket增强功能在Clash中需要通过VLESS+WS方案替代实现。iOS端Clash客户端如ClashRS同样支持Trojan协议。若Trojan节点连接失败,建议先检查tls:true是否已设置,再核对servername字段是否与证书中的域名一致,并在Debug日志中查看具体的证书或认证错误类型。Trojan协议在ClashVPN中的支持概况内核类型决定Trojan协议是否可用Trojan协议在ClashVPN中的支持情况完全取决于客户端所使用的底层内核,不同内核对该协议的支持策略存在显著差异。Mihomo(ClashMeta)内核将Trojan列为核心支持的出站协议之一,从早期版本开始便提供了完整的协议解析和连接能力。原版Clash内核(Dreamacro维护的版本)虽然也包含了对Trojan的支持,但标记为"experimental"(试验性),且在2023年项目停更后不再获得任何修复和优化。ClashPremium内核同样支持Trojan协议,但其闭源性质使得用户无法自行修改和扩展相关功能。用户在配置Trojan节点前,应首先确认当前客户端所使用的内核类型。Mihomo对Trojan的完整支持实现Mihomo内核在设计之初就将Trojan作为与Shadowsocks、VMess并列的核心出站协议,其实现完整遵循Trojan协议规范。在Mihomo的config.yaml配置文件中,Trojan节点的type固定为trojan,支持server、port、password、tls、servername和skip-cert-verify等完整参数字段。Mihomo还支持Trojan协议配合WebSocket传输方式,以及与Reality类似的指纹伪装功能,在协议支持的深度和广度上均优于原版Clash。基于Mihomo的ClashVergeRev、ClashMetaforAndroid等客户端均继承了这一完整的协议支持能力。确认客户端内核是否支持Trojan用户可以通过查看客户端「关于」页面中的内核信息来确认当前是否支持Trojan协议。在ClashVergeRev中点击左侧「设置」标签页,"CoreVersion"字段显示为"mihomo"或"Clash.Meta"字样时,说明该客户端完整支持Trojan协议。在ClashMetaforAndroid中点击左上角菜单进入「关于」页面同样可以查看内核类型。若显示为"Clash"或"ClashPremium"且版本号停留在2023年之前,虽然Trojan节点可能可以基本使用,但遇到连接问题时缺乏后续维护和修复支持。Trojan与Trojan-Go的概念辨析Trojan是协议规范而非软件实现Trojan本质上是一个代理协议规范,它定义了一套完整的通信规则,规定了客户端与服务器之间如何通过TLS加密传输数据。Trojan协议的核心设计思想是将代理流量完全伪装成HTTPS网站访问,使防火墙无法从流量指纹上区分代理和普通网页浏览。该协议规范不绑定任何特定的软件实现,任何遵循该规范的客户端和服务端都可以互通。在Clash配置中,type:trojan字段的含义是"使用Trojan协议规范进行通信",而不是指"连接某个特定软件实现的服务端"。Trojan-Go是Trojan协议的Go语言实现Trojan-Go是Trojan协议的一个具体软件实现,由Go语言编写,在完整遵守Trojan协议规范的基础上增加了多项增强功能。Trojan-Go不仅实现了标准Trojan协议的TLS传输方式,还扩展支持了WebSocket传输、多路复用、负载均衡、流量统计等高级特性。Trojan-Go提供了更加友好的配置语法和部署体验,支持JSON和YAML两种配置格式,并在服务端集成了Web管理面板等辅助工具。Trojan-Go与标准Trojan服务端在协议层面完全兼容,可以互相通信。两者是"协议"与"软件"的关系Trojan和Trojan-Go之间的关系可以概括为"协议规范"与"软件实现"的关系,两者不在同一个比较维度上。标准Trojan协议本身没有官方维护的服务端实现,而是由社区开发了多种编程语言的实现版本(如C++版本的Trojan、Go版本的Trojan-Go、Rust版本的Trojan-rust等)。Trojan-Go是其中影响力最大、功能最丰富的实现之一,也是许多用户接触到Trojan协议的第一入口。在Clash配置中使用Trojan节点时,无论服务端运行的是Trojan-Go还是其他实现,客户端的配置格式都是一致的。两者在Clash配置中的实际表现Clash使用相同配置连接不同服务端实现由于Trojan-Go完全遵循Trojan协议规范,Clash的Trojan出站实现可以无缝连接标准Trojan服务端和Trojan-Go服务端,两者在客户端配置上没有任何区别。用户只需在config.yaml中填写标准Trojan配置格式,包括type:trojan、server、port、password和tls:true等字段,即可连接任意遵循Trojan规范的服务端。服务端使用的是否为Trojan-Go不会影响Clash客户端的配置内容,用户在连接过程中无需关注服务端的具体实现类型。Trojan-Go特有功能在Clash中的限制Trojan-Go相比标准Trojan服务端增加的WebSocket传输、多路复用和负载均衡等高级功能,在Clash客户端中目前无法直接使用。这是因为Clash的Trojan出站实现主要遵循标准Trojan协议的TLS传输方式,Trojan-Go的WebSocket扩展功能需要通过Clash的其他协议类型(如VLESS+WS)来替代实现。如果用户使用的Trojan-Go服务端配置了WebSocket传输方式,Clash客户端将无法正确建立连接,需要在服务端配置标准TLS传输方式以确保与Clash的兼容性。两者在抗封锁能力上的实际差异从抗封锁能力的角度来看,标准Trojan协议和Trojan-Go的WebSocket模式在应对防火墙检测时有不同的表现。标准Trojan通过TLS将流量完全伪装为HTTPS,流量特征与普通网页访问高度一致,在大多数网络环境中已经具备良好的抗封锁能力。Trojan-Go的WebSocket传输方式通过HTTPUpgrade机制进一步混淆流量特征,在部分严格审查环境中可能提供更高的隐蔽性。但在Clash客户端中,由于不支持Trojan-Go的WebSocket增强,用户无法在Clash中体验到这一差异化的抗封锁优势。配置Trojan节点的具体操作在config.yaml中填写完整节点参数在config.yaml的proxies字段中添加Trojan节点时,需要确保包含所有必填参数,并且格式符合YAML规范。配置示例如下:-name:"Trojan节点"type:trojanserver:example.comport:443password:"your-password"tls:trueservername:example.comskip-cert-verify:false。其中type固定为trojan,tls必须设为true,password为服务端分配的认证密码,servername用于TLS握手时的SNI指示。若节点使用自签名证书或证书域名与servername不匹配,可将skip-cert-verify设为true临时绕过验证,但需注意安全风险。Trojan节点与策略组的配合使用配置完成后,需将Trojan节点加入proxy-groups策略组中才能在客户端界面中正常使用。在对应的select或url-test类型策略组的proxies列表中添加该节点的name字段值,例如proxies:-"Trojan节点"-"其他节点"。Trojan节点可以与其他协议的节点混合配置在同一策略组中,用户在使用时只需关注节点性能,无需区分协议类型。若需要将Trojan节点按用途分类,可创建独立的策略组专门存放Trojan节点,便于在不同场景下快速切换。节点连接失败的常见排查步骤当Trojan节点连接失败时,应按照从配置到网络的顺序逐一排查可能的原因。首先检查tls:true是否已正确设置,这是Trojan协议在Clash中正常工作的前提条件。其次确认servername字段是否填写正确,该值应与服务端证书中的域名一致,否则可能触发证书域名不匹配错误。在Clash的「日志」页面中将日志级别调至Debug,观察具体的错误类型,证书相关问题通常显示"x509"相关错误信息,密码错误则显示"authenticationfailed"。原版Clash与Mihomo的支持差异原版Clash的试验性支持状态原版Clash内核(Dreamacro维护的版本)虽然包含了Trojan协议的支持代码,但该功能在项目文档中被明确标记为"experimental"(试验性)。这意味着在原版Clash的维护周期内,Trojan协议的功能完整性和运行稳定性尚未得到充分的测试和验证,用户在使用过程中可能遇到未预见的兼容性问题。由于原版Clash已于2023年11月停止维护并删库,该试验性支持状态被永久冻结,不会再有任何修复和改进。依赖原版Clash用户若遇到Trojan节点连接问题,将无法通过更新内核来获得修复。Mihomo对Trojan协议的持续完善Mihomo作为Clash社区的继任项目,从项目初期就将Trojan列为核心支持的协议之一,并持续对其功能进行完善和优化。Mihomo的Trojan实现不仅修复了原版Clash中存在的兼容性问题,还增加了对WebSocket传输方式的支持,以及与Reality类似的指纹伪装功能。Mihomo开发团队持续跟进Trojan协议和相关工具(如Trojan-Go)的更新,确保Clash用户能够获得与官方Trojan客户端一致的连接体验。对于Trojan协议用户,迁移至Mihomo内核是获得最佳体验的必然选择。不同客户端的内核切换方法对于仍在使用基于原版Clash内核的用户,可以通过更换客户端或手动切换内核来获得Mihomo对Trojan协议的完整支持。ClashforWindows用户可以在「设置」页面中找到内核切换选项,选择"mihomo"或"Meta"内核并重启客户端。ClashX用户建议直接迁移至ClashXMeta版本。对于ClashVergeRev等已默认使用Mihomo内核的客户端,用户只需保持客户端更新至最新版本即可持续获得Trojan协议的最佳支持。内核切换后,原有的Trojan节点配置无需做任何修改即可继续使用。协议选择建议与迁移方案Trojan相比SS/VMess的优势Trojan协议在抗封锁能力和隐蔽性方面优于Shadowsocks和VMess,是严格审查环境中的优先选择。Trojan通过强制TLS加密将流量完全伪装为HTTPS网站访问,防火墙无法从流量指纹上区分Trojan代理和普通网页浏览。Shadowsocks的流量特征已被防火墙充分研究,即使使用AEAD加密,协议层面的特征仍较容易被识别和干扰。VMess虽然内置了防探测机制,但缺乏TLS的伪装,流量特征仍可被识别。在需要高稳定性的跨国业务场景中,Trojan是比SS和VMess更可靠的选择。Trojan-GoWebSocket模式在Clash中的替代方案由于Clash客户端不支持Trojan-Go的WebSocket传输方式,用户若需要使用WebSocket特性,可考虑使用VLESS协议配合WebSocket传输作为替代方案。在Clash配置中,VLESS节点可以设置network:ws和tls:true实现与Trojan-GoWebSocket相似的流量伪装效果。虽然VLESS和Trojan是不同的协议,但在传输层的表现上,VLESS+WebSocket+TLS的组合能够达到与Trojan-GoWebSocket模式相近的抗封锁能力。对于已经部署Trojan-Go服务端且使用WebSocket传输的用户,可评估是否将服务端协议切换为VLESS以保持与Clash客户端的兼容。长期使用建议与迁移策略对于Trojan协议用户,建议优先使用基于Mihomo内核的客户端以获得最完整和稳定的支持。ClashVergeRev(桌面端)和ClashMetaforAndroid(移动端)是目前Trojan协议支持最完善的Clash客户端,无需额外配置即可正常使用所有Trojan节点。对于仍在使用基于原版Clash内核的用户,建议尽早迁移至基于Mihomo的客户端,以避免因内核停更而导致的兼容性问题。若Trojan-Go服务端配置了WebSocket传输且无法切换为标准TLS模式,可考虑在客户端侧改用VLESS协议替代,或在服务端侧增加标准TLS端口以兼容Clash客户端的连接。常见问题FAQ

教程

VMess和VLESS有什么区别?Clash vpn都支持吗?

在ClashVPN中,VMess和VLESS均需基于Mihomo内核才能完整支持,原版Clash仅支持VMess不支持VLESS。VMess节点配置中type:vmess需填写uuid和alterId字段,alterId建议设为0,cipher通常设为auto。VLESS节点配置中type:vless仅需填写uuid,移除了alterId字段,但必须配合tls:true或Reality传输方式提供加密保护。VLESS在传输性能和抗封锁能力上优于VMess,是新部署场景的优先选择。确认客户端内核是否支持VLESS,可查看「关于」页面中的"CoreVersion"是否显示为"mihomo"。配置文件中两种协议可以共存,建议在策略组中分别归类以便日常切换。两种协议的起源与定位差异VMess是V2Ray项目的原创加密协议VMess是V2Ray项目团队原创开发的加密传输协议,其设计目标是在Shadowsocks基础上提供更完整的身份验证和防探测能力。VMess协议内置了UUID身份验证、时间戳防重放和动态指令部分等安全机制,不需要依赖外部TLS即可实现基本的加密传输。在ClashVPN配置中,VMess节点的type固定为vmess,必填字段包括server、port、uuid、alterId和cipher五个核心参数,其中uuid为36位标准格式的唯一标识符,alterId在较新配置中通常设为0。VLESS是VMess的轻量化继任者VLESS是V2Ray团队在VMess基础上开发的第二代传输协议,其设计理念是移除VMess中冗余的加密和认证层,将传输安全完全交给外部的TLS或Reality处理。VLESS保留了UUID身份验证机制,但移除了alterId字段和协议内置的加密层,使得协议头部更加精简、传输开销更小。在ClashVPN配置中,VLESS节点的type固定为vless,必填字段包括server、port和uuid三个核心参数,不再需要alterId字段,配置简洁度介于Shadowsocks和VMess之间。V2Ray官方对两个协议的定位区别V2Ray项目官方对VMess和VLESS的定位有着清晰的区分,这直接影响了两种协议在ClashVPN中的使用建议。VMess被定位为V2Ray的"经典"协议,在早期版本中承担了主要的加密传输职责,但随着VLESS和Reality等新协议的推出,VMess已被官方列为"不推荐用于新项目"的协议。VLESS则被定位为VMess的"现代替代方案",配合TLS或Reality使用时能够在抗封锁能力和传输效率之间取得更好的平衡。官方推荐新部署的节点优先采用VLESS协议。配置文件中的字段差异VMess节点需要alterId字段在ClashVPN的config.yaml中配置VMess节点时,alterId是必填字段,这直接反映了VMess协议早期的备用ID机制。一个完整的VMess节点配置示例如下:-name:"VMess节点"type:vmessserver:example.comport:443uuid:bbab7aaf-f77c-480c-be00-276c35eeedd3alterId:0cipher:auto。其中alterId的取值为0至65535之间的整数,较新的服务端配置中普遍要求设为0,代表不启用备用ID机制。若填写的alterId值大于服务端允许的最大值,连接将被拒绝,这是VMess节点配置中容易出错的地方。VLESS节点移除了alterId字段VLESS协议完全移除了alterId字段,使得配置更加简洁,也减少了因参数不匹配导致的连接问题。一个标准的VLESS节点配置示例如下:-name:"VLESS节点"type:vlessserver:example.comport:443uuid:bbab7aaf-f77c-480c-be00-276c35eeedd3tls:trueservername:example.com。VLESS配置中uuid仍是必填字段,但不再需要alterId,且加密传输通过外部的tls和servername等参数实现。若节点启用了Reality传输方式,则tls字段会被reality:true及public-key、short-id等Reality特有参数取代,配置形态更加灵活。两种协议的cipher字段差异VMess和VLESS在Clash配置中对cipher字段的依赖存在明显差异,这反映了两种协议在加密机制上的根本不同。VMess协议的cipher字段通常设置为auto,客户端会在握手阶段与服务端自动协商最优的加密算法,也可手动指定为aes-128-gcm或chacha20-poly1305等具体算法。VLESS协议由于移除了内置加密层,配置中通常不包含cipher字段,加密完全由外部的TLS或Reality层负责,用户只需通过tls:true和servername等相关参数配置传输加密即可。两种协议的性能对比VLESS因移除加密层而更快VLESS协议在传输性能上优于VMess,主要得益于其移除了协议内置的加密层和相关的计算开销。VMess在每次连接建立时需要执行完整的加密协商和数据加密流程,对CPU资源的消耗相对较高。VLESS则将加密工作完全交给TLS或Reality层,在TLS会话复用的场景下,新建连接的开销显著降低。在实际测速中,VLESS节点的吞吐量通常比同条件下的VMess节点高出5%至15%,在低端设备上这一差距更为明显。连接建立速度的对比从连接建立速度来看,VLESS的握手流程比VMess更加精简,这直接减少了用户感知到的延迟。VMess协议的握手过程包含指令部分的加密解密和时间戳验证等步骤,客户端和服务端需要多次交互才能完成完整的握手流程。VLESS在配合TLS使用时,握手过程与标准TLS连接一致,协议层不增加额外的交互轮次,在已经建立TLS会话的情况下甚至可以实现零往返时间的快速重连。对于高频请求或在线游戏等场景,VLESS的连接建立速度优势较为明显。CPU占用率与设备续航的影响在CPU占用率方面,VLESS对设备计算资源的需求低于VMess,这在移动设备和路由器上具有实际意义。VMess的加密和解密操作需要消耗CPU周期,在并发连接数较高的情况下,CPU占用率的差异会被放大。VLESS将加密工作交给TLS层,而TLS在主流设备上通常有硬件加速支持,整体CPU开销比VMess协议内置的软件加密更低。在笔记本电脑和手机上,使用VLESS节点比VMess节点能够延长电池续航时间,虽然差异不大,但长期使用中累积的效果值得关注。抗封锁能力的对比VMess的基础加密对抗探测VMess协议内置了时间戳防重放和动态指令部分等机制,使其在没有TLS的情况下具备一定的抗主动探测能力。防火墙向VMess服务端发送探测数据包时,由于缺乏合法的UUID和正确的时间戳,服务端不会返回有效的协议响应,这使得防火墙难以通过主动探测确认VMess服务的存在。相较于SS协议,VMess在抗探测方面有明显提升,但其指令部分的加密方式已被防火墙长期分析,单独使用时的隐蔽性已不如从前。在严格审查环境中,VMess配合WebSocket和TLS伪装后能够显著增强抗封锁能力。VLESS必须配合TLS或RealityVLESS协议本身不包含任何加密层,如果不配合TLS或Reality使用,所有传输内容均为明文,不仅没有抗封锁能力,还可能因流量特征明显而迅速被识别和阻断。在Clash配置中,VLESS节点必须通过设置tls:true配合servername参数,或使用Reality传输方式来提供加密保护。当VLESS配合TLS使用时,流量特征与普通HTTPS网站完全一致,抗探测能力优于单独使用的VMess。当VLESS配合Reality使用时,不需要CA证书即可伪造目标网站的TLS握手指纹,抗主动探测能力达到当前Clash生态的顶尖水平。Reality对VLESS的增强效果Reality是VLESS协议的最佳搭档,它将VLESS的抗封锁能力提升到了远超VMess的高度。Reality通过X25519密钥交换和TLS指纹伪装技术,使VLESS流量在握手指纹层面与目标网站完全一致,防火墙无法从指纹特征上区分代理流量与正常HTTPS流量。与传统TLS方案不同,Reality不需要CA签发的证书,避免了证书本身成为指纹特征的风险。在Clash配置中启用Reality后,VLESS节点无需额外配置TLS证书,仅需填写public-key和short-id两个核心参数即可完成部署,配置复杂度远低于TLS方案。在ClashVPN中的支持情况原版Clash仅支持VMess不支持VLESS原版Clash内核(包括ClashPremium)仅支持VMess协议,对VLESS完全没有识别和解析能力。如果用户仍在使用基于原版Clash内核的客户端(如ClashforWindows旧版、ClashX旧版等),导入包含VLESS节点的订阅后,这些节点会显示为红色或无法被选中,日志中会出现"unsupportedprotocol"或"unknowntypevless"的错误提示。这是由于原版Clash的代码库在VLESS协议出现前就已停止更新,未包含对该协议的支持模块。对于需要使用VLESS的用户,迁移至基于Mihomo的客户端是唯一选择。Mihomo对两种协议均完整支持Mihomo内核从早期版本开始就同时支持VMess和VLESS两种协议,且对VLESS的Reality传输方式提供了完整的配置接口。在Mihomo的config.yaml中,VMess节点使用type:vmess,VLESS节点使用type:vless,两者的配置格式均符合V2Ray官方规范。Mihomo对VLESS的支持不仅限于基础TCP传输,还包括WebSocket、gRPC等多种传输方式,以及对Reality和TLS的完整配置选项。使用ClashVergeRev、ClashMetaforAndroid等基于Mihomo的客户端,用户可以无缝使用VLESS节点。如何确认当前客户端是否支持VLESS用户可以通过查看客户端的「关于」页面或测试导入VLESS节点来确认当前客户端是否支持该协议。在ClashVergeRev中点击左侧「设置」标签页,查看"CoreVersion"字段是否显示为"mihomo"字样,若显示"Clash"则不支持VLESS。更直接的验证方式是在config.yaml中手动添加一个VLESS测试节点(格式参照上述示例),保存后重新加载配置,观察「代理」页面中该节点是否正常显示。若节点显示为红色或加载时提示"unsupportedprotocol",说明当前内核不支持VLESS,需要更换客户端。协议选择建议与迁移策略新部署场景优先选用VLESS对于新部署的节点或新接入的Clash配置,建议优先选用VLESS协议,而非继续使用VMess。VLESS在传输效率、连接速度和抗封锁能力上均优于VMess,且是V2Ray官方推荐的现代协议方案。VLESS配合TLS或Reality使用时,能够提供比VMess更强的安全性和更低的资源消耗。随着Reality协议的成熟和普及,VLESS+Reality已成为当前Clash生态中最优的抗封锁组合,新用户无需再考虑VMess作为主力协议。现有VMess节点无需强制迁移对于已经在使用的VMess节点且连接稳定的用户,无需因协议优劣而主动发起迁移,可继续使用至节点失效或服务商主动更换协议。VMess仍然是一个功能完整的代理协议,在网络环境不严格的场景下能够满足日常使用需求。当VMess节点因服务商调整而失效时,在重新配置新节点时再考虑切换至VLESS协议。迁移时需注意VMess的alterId在VLESS中不再需要,cipher字段也需要移除,将type从vmess改为vless后,需要补充tls或reality相关参数以提供加密保护。配置文件中两种协议的共存方式在Clash的config.yaml配置文件中,VMess节点和VLESS节点可以在proxies列表中并存,Clash内核会根据type字段的值自动采用对应的协议处理逻辑。用户可以将VMess节点和VLESS节点分别归入不同的proxy-groups策略组中,便于在客户端按需切换。混合配置时需注意在proxy-groups的proxies列表中正确引用节点名称,避免将VMess节点错误地放入仅用于VLESS的分组中。待VMess节点逐步被VLESS节点替换后,可移除对应的策略组以保持配置的整洁。常见问题FAQ

教程

Shadowsocks和ShadowsocksR都支持吗?

在ClashVPN中,Shadowsocks(SS)和ShadowsocksR(SSR)两种协议在原版Clash和Mihomo内核中均获支持,但两者的配置格式存在明显差异。SS节点配置简洁,只需type:ss配合server、port、cipher和password四个字段即可完成。SSR节点则在SS基础上额外增加了protocol和obfs两个字段,配置复杂度更高。由于SSR项目已停止维护多年且抗封锁能力大幅衰退,建议用户逐步将SSR节点迁移至SS或VLESS、Trojan等现代协议,以保持配置的长期兼容性和使用稳定性。订阅导入时Clash客户端会自动识别两种协议类型并填充对应字段,无需手动区分。若SSR节点在Mihomo中连接异常,可在Debug日志中查看具体报错信息,并将protocol和obfs简化为origin和plain后再行测试。两种协议的起源与内核支持现状Shadowsocks是基础代理协议的基石Shadowsocks(简称SS)是代理协议领域中使用最广泛的基础协议之一,其设计初衷是提供一种轻量级的加密传输方案。在ClashVPN中,SS协议在所有内核版本(包括原版Clash、ClashPremium和Mihomo)中均获得原生支持,是兼容性最广泛的协议类型。SS在config.yaml配置文件中的type固定为ss,必填字段包括server、port、cipher和password四个核心参数,配置格式简洁且易于理解。由于其CPU开销低、连接建立速度快,SS至今仍是许多机场服务商的主力协议之一。ShadowsocksR是SS的功能增强分支ShadowsocksR(简称SSR)是Shadowsocks的一个早期功能增强分支,由开源社区在SS基础上发展而来,主要增加了协议混淆和插件扩展能力。SSR在配置中比SS多出了protocol(协议插件)和obfs(混淆插件)两个字段,旨在通过伪装流量特征来提升抗封锁能力。然而SSR的作者已于多年前停止维护,其协议特征已被防火墙充分研究,当前的抗封锁效果已大幅下降。在ClashVPN中,SSR的type固定为ssr,配置字段多于SS,但使用场景已逐渐萎缩。原版Clash与Mihomo对两者的支持差异原版Clash和Mihomo内核均同时支持SS和SSR两种协议,但在支持策略和未来方向上存在差异。原版Clash对SS和SSR的支持停留在项目停更前的水平,虽能使用但不再获得任何更新和修复。Mihomo作为Clash的社区继任者,对SS保持了完整的兼容性,对SSR也保留了支持接口,但内核开发团队已明确建议用户逐步迁移至更现代的协议。两种内核在config.yaml中均能识别type:ss和type:ssr字段,用户无需为协议支持问题额外配置。SS与SSR在配置文件中的字段差异SS节点的简洁配置格式在ClashVPN的config.yaml中,Shadowsocks节点的配置是各类协议中最简洁的,只需填入五个必填字段即可完成定义。配置示例如下:-name:"SS节点"type:ssserver:example.comport:443cipher:aes-256-gcmpassword:"your-password"。其中cipher字段需指定具体的加密算法名称,如aes-256-gcm或chacha20-ietf-poly1305,该算法必须与服务端配置完全一致。SS配置不涉及协议插件或混淆参数,结构清晰明了,即使是初次接触Clash配置的用户也能快速上手。SSR节点需要额外填写协议和混淆字段ShadowsocksR节点的配置在SS基础上增加了protocol和obfs两个字段,配置复杂度有所提升。完整的SSR节点配置示例如下:-name:"SSR节点"type:ssrserver:example.comport:443cipher:aes-256-cfbpassword:"your-password"protocol:auth_aes128_md5protocol-param:""obfs:tls1.2_ticket_authobfs-param:""。其中protocol字段指定协议插件(如auth_aes128_md5或auth_chain_a),obfs字段指定混淆插件(如tls1.2_ticket_auth或http_simple),各插件对应的参数通过protocol-param和obfs-param分别配置。由于SSR的配置参数较多,手动填写时出错概率高于SS。两种协议在混用时的配置注意事项当用户在同一份Clash配置文件中同时使用SS和SSR节点时,需注意两者的type字段值不同,但proxies列表中可同时包含两种协议节点。Clash内核会根据type值自动采用对应的协议解析逻辑,用户无需额外声明协议间的兼容性设置。混用时建议在proxy-groups策略组中将SS和SSR节点分别归类,便于在客户端中按协议类型快速筛选。若从SSR切换到SS协议节点,需注意移除protocol和obfs字段,否则Clash在处理type:ss节点时若发现多余的protocol字段会忽略并发出警告。两种协议的抗封锁能力对比SS的流量特征与可识别性Shadowsocks协议的流量特征经过多年的对抗分析,已被防火墙系统充分研究,纯SS流量在未配合插件时较容易被主动探测识别。SS的数据包存在相对固定的头部结构和长度模式,防火墙可通过发送特定数据包并根据回包特征来判断服务端是否运行SS服务。即使SS采用了AES-256-GCM等现代AEAD加密算法,协议层面的特征仍难以完全隐藏。对于位于严格审查环境中的用户,单独使用SS协议的抗封锁能力已无法满足稳定性需求,通常需要配合v2ray-plugin或TLS伪装等额外措施。SSR的混淆机制与当前实效ShadowsocksR在SS基础上增加了协议混淆和参数混淆能力,其设计初衷是通过伪装流量特征来规避防火墙的主动探测。但在实际对抗中,SSR的混淆算法已被防火墙破解和识别,其抗封锁效果已大幅下降甚至接近失效。由于SSR项目已停止维护多年,没有针对新型防火墙策略做出任何算法更新和特征调整,当前继续使用SSR协议的风险较高。在ClashVPN中使用SSR节点时,用户可能会发现节点在某些网络环境中无法稳定连接,或连接后很快被切断。现代协议对SS和SSR的替代优势相较于SS和SSR,VLESS、Trojan、Reality等现代协议在抗封锁能力上均有显著提升,建议用户逐步将SSR节点替换为这些更先进的协议。Trojan协议通过强制TLS加密将流量特征完全伪装为HTTPS网页访问,防火墙很难从流量指纹中区分出代理流量。Reality协议更进一步,不需要CA证书即可伪造任意目标网站的TLS握手指纹,抗主动探测能力远超SS和SSR。Hysteria2基于QUIC协议设计,在不稳定网络中表现优异。对于仍在使用SSR的用户,建议优先迁移至上述现代协议以获得更稳定的使用体验。在Mihomo中使用SSR的兼容性状态Mihomo保留SSR支持但态度明确Mihomo内核虽然保留了ShadowsocksR协议的兼容接口,但开发团队已在更新日志中明确建议用户停止使用该协议。SSR的协议特征老旧,维护状态停滞,继续使用不仅无法获得更好的抗封锁能力,还可能因协议漏洞带来安全隐患。Mihomo对SSR的支持属于"遗留兼容"性质,代码模块不再获得主动优化和更新,未来版本中不排除移除对该协议支持的可能性。对于新部署的节点,用户不应选择SSR协议,而应从SS或更现代的协议中做出选择。SSR配置在Mihomo中的实际表现在Mihomo内核中运行SSR节点时,节点的基本连接功能可以正常使用,但高级特性如UDP转发和协议插件的兼容性可能存在问题。部分SSR特有的协议参数(如protocol-param和obfs-param中的特定值)在Mihomo中可能无法完美解析,导致连接建立后传输不稳定或部分功能失效。若用户发现SSR节点在Mihomo中连接失败或频繁掉线,可尝试简化协议和混淆插件的参数设置(如使用较为基础的origin和plain),或在日志中查看具体的报错信息以定位原因。从SSR平滑迁移到SS或VLESS的方案对于仍在使用SSR节点的用户,可优先将同一服务商的SSR节点替换为对应的SS节点,因为大部分服务商同时提供两种协议的支持。若服务商仅提供SSR协议,可联系服务商确认是否有SS或VLESS协议可供切换。手动迁移时需注意SS和SSR的加密方式存在差异,SSR中使用的aes-256-cfb在SS中需替换为aes-256-gcm等AEAD算法。迁移完成后,在Clash配置中移除原有SSR节点,添加新的SS或VLESS节点,调整策略组中的节点引用即可完成过渡。订阅导入对两种协议的识别能力订阅链接中SS和SSR节点的自动解析通过订阅链接导入节点时,Clash客户端能够自动识别订阅内容中SS和SSR协议节点的区别,并分别填入对应的配置字段。订阅中的SS节点会按标准格式解析为type:ss节点,填充cipher和password字段。订阅中的SSR节点则解析为type:ssr节点,填充protocol、obfs及其参数字段。用户只需正常导入订阅链接,无需手动区分两种协议的配置差异,客户端会自动完成所有解析和填充工作。老版订阅中SSR节点的兼容性处理部分较旧的订阅链接可能使用了SSR协议特有的编码格式,在导入时需注意Clash客户端的解析兼容性。Mihomo内核保留了与原版Clash一致的SSR订阅解析逻辑,能够处理绝大多数常见的SSR订阅格式。若导入后SSR节点显示为红色或无法选中,可能是订阅格式使用了Mihomo不支持的扩展字段,可通过将订阅链接输入订阅转换工具转换为标准Clash格式后再导入。导入后的节点类型验证与检查订阅导入完成后,建议用户在ClashVergeRev的「代理」页面中检查SS和SSR节点的类型标识是否正确显示。在节点列表中点击节点名称查看其协议类型标签,确认SS节点显示为"SS"、SSR节点显示为"SSR"。若SSR节点被错误识别为SS(或反之),则说明订阅内容中的协议标识存在问题,可尝试通过订阅转换服务重新生成配置后再导入,或联系服务商确认订阅格式的正确性。两种协议的适用场景与选择建议SS适用于通用兼容和性能优先场景Shadowsocks凭借其轻量、高效和广泛兼容的特性,在普通宽带网络和低端设备上仍是值得推荐的选择。SS的CPU开销低、连接建立速度快,在路由器、老旧Android设备和低配置VPS上运行时表现优于VMess和VLESS等更复杂的协议。对于主要浏览网页、使用即时通信软件的用户,配合现代AEAD加密算法的SS节点已经能够提供足够的安全性。如果用户不处于严格审查环境中,SS是兼顾性能与便捷性的理想选择。SSR不推荐用于新部署的场景ShadowsocksR由于项目停滞、抗封锁能力衰退,不推荐在任何新部署的场景中使用。若用户的现有配置中仍包含SSR节点且当前使用一切正常,可持续使用直至该节点失效,但不应主动选择SSR作为新节点的协议类型。在替换失效SSR节点时,应优先选择SS、VLESS或Trojan等协议,确保配置的长期兼容性和抗封锁能力。对于希望提升抗审查能力的用户,Reality协议是当前更为先进的选择。按协议类型分组便于日常切换在Clash的策略组配置中,建议将SS节点和SSR节点分别归入不同的select组中,便于日常使用时按需快速切换。例如创建"SS节点"组专门存放所有SS节点,创建"SSR节点"组存放所有SSR节点,在顶层策略组中按顺序排列。当SSR节点出现连接问题时,用户只需切换到"SS节点"组即可快速恢复使用,无需在庞杂的节点列表中逐一查找。这种按协议类型分组的习惯在过渡期尤为实用,待SSR节点全部替换后可移除对应分组。常见问题FAQ

教程

Clash vpn支持哪些代理协议?

打开ClashVPN客户端的「设置」或「关于」页面查看内核版本,若显示"mihomo"或"Clash.Meta"字样则支持全部协议;若显示"Clash"且无版本更新则仅支持SS、VMess、Trojan和Snell。Mihomo内核是当前Clash生态的事实标准,支持Shadowsocks、VMess、VLESS、Trojan、Hysteria2、TUIC、Reality、WireGuard、Tor、SSR、Socks5和HTTP等协议。原版Clash已于2023年停更,建议迁移至ClashVergeRev或ClashMetaforAndroid等基于Mihomo的客户端。订阅导入时客户端会自动识别协议类型并填充对应参数字段,手动添加时需根据协议正确填写type及专属字段,配置错误可通过Debug级别日志查看具体原因。Mihomo内核是协议支持的基石原版Clash已停止维护成为历史ClashVPN支持哪些协议,完全取决于客户端底层所使用的内核类型,这是理解协议支持范围的核心前提。原版Clash内核(由Dreamacro维护)已于2023年11月停止维护并删除了GitHub仓库,该版本仅支持Shadowsocks、VMess、Trojan和Snell这四种基础协议。如果用户仍在使用基于原版Clash内核的旧客户端(如ClashforWindows旧版、ClashX旧版等),任何超出这四种范围的新协议都将无法识别和加载。这些旧版客户端在当前网络环境中的可用性正在持续下降,迁移至新内核是必然选择。Mihomo是当前的事实标准内核Mihomo(原名ClashMeta)是原版Clash的社区继任者,完全兼容原版Clash的全部配置语法,同时持续开发支持各类新兴代理协议。目前市面上绝大多数仍在更新维护的ClashVPN客户端,底层均使用Mihomo作为核心转发引擎,包括桌面端的ClashVergeRev、ClashNyanpasu,Android端的ClashMetaforAndroid,以及iOS端的Spectre等。Mihomo不仅继承了原版Clash的全部功能,还通过模块化设计持续集成Hysteria2、TUIC、Reality等前沿协议的支持,是当前Clash生态的事实标准。如何确认当前客户端的内核类型用户可以通过客户端的「关于」或「设置」页面查看当前使用的内核类型和版本号,这是判断协议支持范围最直接的方式。在ClashVergeRev中,点击左侧「设置」标签页,页面底部的"CoreVersion"字段会显示类似"mihomov1.18.0"的信息,其中"mihomo"即为内核名称。在ClashMetaforAndroid中,点击左上角菜单进入「关于」页面同样可以查看内核信息。若显示为"Clash"或"ClashPremium"且版本号停留在2023年之前,说明仍在使用旧内核,建议尽快迁移至基于Mihomo的客户端以获取新协议支持。传统主流协议的支持情况Shadowsocks是最基础的轻量协议Shadowsocks是ClashVPN支持最早、配置最简洁的代理协议,在所有内核版本中均有完整支持。在config.yaml配置文件中,Shadowsocks节点的type固定为ss,必填字段包括server(服务器地址)、port(端口)、cipher(加密算法)和password(密码)四个核心参数。该协议CPU开销低、连接建立速度快,适合在低端路由器或老旧Android设备上运行,但抗封锁能力较弱,纯SS流量易被主动探测识别。Shadowsocks至今仍是许多机场的主力协议之一,在Mihomo和原版Clash中均可正常使用。VMess与VLESS的差异与支持VMess是V2Ray项目原创的加密通讯协议,在Clash中配置时需要填写uuid和alterId等身份验证参数,配置复杂度高于Shadowsocks。原版Clash支持VMess协议,Mihomo同样完整支持。VLESS是VMess的轻量化继任者,移除了协议内置的加密层但保留了UUID身份验证,性能优于VMess但必须依赖外部TLS或Reality实现传输加密。VLESS仅在Mihomo内核中得到支持,原版Clash无法识别type:vless字段。若用户导入VLESS节点后客户端显示为红色或提示"unsupportedprotocol",说明仍在使用原版Clash内核。Trojan与Snell的协议特性Trojan协议的设计理念是模仿标准HTTPS流量以规避深度包检测,其传输完全依赖TLS加密层,在Clash配置中type固定为trojan且必须设置tls:true。原版Clash和Mihomo均支持Trojan协议,配置时需填写server、port、password以及servername(SNI)等TLS相关参数。Snell是Surge团队开发的轻量代理协议,原版ClashPremium和Mihomo均支持,但配置较为少见,主要适用于Surge生态的用户。Trojan因流量特征与HTTPS高度相似,抗封锁能力优于SS和VMess,是目前广泛使用的协议之一。新一代高性能协议的支持Hysteria2基于QUIC的抗丢包协议Hysteria2是基于QUIC协议开发的新一代代理协议,在不稳定网络环境下具有显著的抗丢包和带宽聚合能力,Mihomo从v1.14.0版本开始逐步引入对该协议的支持。在Clash配置中,Hysteria2节点的type固定为hysteria2,必填字段包括server、port、password(或auth)以及sni,还支持up和down带宽限制参数用于优化传输性能。该协议特别适合移动网络、卫星网络等带宽波动较大的场景,能够在大幅丢包的环境中维持相对稳定的传输速率。建议用户使用Mihomov1.18.0及以上版本以获得最完善的Hysteria2支持。TUIC专注于低延迟的QUIC协议TUIC是另一种基于QUIC协议设计的代理协议,专注于降低连接延迟和提升吞吐量,与Hysteria2形成差异化互补。在Mihomo配置中,TUIC节点的type固定为tuic,需要填写server、port、uuid(或password)以及congestion_control(拥塞控制算法)等参数。TUIC在设计上更加简洁,协议开销低于Hysteria2,在延迟敏感的应用场景(如在线游戏、实时音视频)中表现更为优异。该协议仅在Mihomo内核中支持,原版Clash完全无法识别。用户可根据自身网络环境的特点,在Hysteria2和TUIC之间选择更适合的协议类型。两种QUIC协议的选择建议Hysteria2和TUIC虽然都基于QUIC协议,但在设计目标和适用场景上存在明显差异,用户应根据实际需求做出选择。Hysteria2侧重于在不稳定网络中的带宽聚合和抗丢包能力,当网络丢包率较高时表现优异,适合移动网络或跨国长距离传输场景。TUIC则侧重于降低连接延迟和提升单路吞吐量,在网络质量较好的环境中能够提供更快的响应速度,适合游戏加速或实时交互类应用。如果网络环境较为复杂且丢包严重,优先选择Hysteria2;如果追求极致低延迟且网络质量尚可,TUIC可能更为合适。新兴抗审查协议的支持Reality无需证书的TLS指纹伪装Reality是VLESS协议的进化版本,由V2Ray社区开发,其最大特点是不需要CA签发的TLS证书即可实现完整的TLS指纹伪装,隐蔽性极高。在Mihomo配置中,Reality节点的type通常为vless,配合reality:true以及public-key、short-id和fingerprint等特有参数使用。Reality协议通过伪造目标网站的TLS握手指纹,使防火墙无法区分代理流量与正常HTTPS流量,抗主动探测能力远超传统TLS方案。该协议仅在Mihomo内核中得到支持,且需要客户端版本不低于v1.15.0。对于位于严格审查环境中的用户,Reality是目前Clash生态中最优的抗封锁选择。WireGuard用户态接入与Tor支持Mihomo内核还支持通过用户态方式接入WireGuard协议,以及将Tor网络作为代理出口,进一步拓展了ClashVPN的应用边界。WireGuard节点在Clash配置中type为wireguard,需要填写private-key、public-key、endpoint和allowed-ips等WireGuard特有的配置参数,适合需要接入企业VPN或私人WireGuard服务器的用户。Tor支持则允许用户将代理流量路由至Tor网络,实现多层跳转的匿名访问,type为tor。这两种协议的支持均为Mihomo独有功能,原版Clash无法提供。Reality与TLS类协议的对比优势与传统TLS类协议(如Trojan、VLESS+TLS)相比,Reality在隐蔽性方面具有显著优势,但在部署复杂度上也有所增加。传统TLS协议需要一个有效的CA证书(或自签名证书),证书本身可能成为指纹特征被识别,而Reality不需要任何证书即可完成握手指纹伪装。Reality在握手阶段直接复制目标网站的TLS指纹,防火墙无法从指纹特征上区分代理流量与正常流量,隐蔽性极高。但Reality的配置参数较多(public-key、short-id、fingerprint等),手动配置的出错概率高于Trojan等传统协议。建议优先通过订阅方式导入Reality节点以减少配置错误。小众协议与兼容性支持ShadowsocksR(SSR)的遗留支持ShadowsocksR是Shadowsocks的早期分支版本,在原版Clash和Mihomo中均保留了兼容性支持,但该协议的活跃使用已大幅减少。在Clash配置中,SSR节点的type固定为ssr,需要填写的字段包括cipher(加密算法)、password(密码)、protocol(协议插件)和obfs(混淆插件)等多个参数,配置复杂度高于标准Shadowsocks。由于SSR的协议特征已被防火墙充分研究,抗封锁能力远不如VLESS、Reality等现代协议,且该协议已多年未更新,建议仅在兼容老旧节点时使用。若所有节点均可更换,应优先迁移至Hysteria2或Reality等新协议。Mieru等新兴小众协议Mieru是近年来出现的一款小众代理协议,在Mihomo的最新开发版本中已开始提供实验性支持。该协议目前尚处于早期阶段,社区使用量较小,文档和配置示例相对有限,仅适合技术爱好者尝鲜使用。对于普通用户而言,Hysteria2、Reality等已经过充分验证的协议是更为稳妥的选择。随着Mihomo社区的持续发展,未来可能会有更多新兴协议被逐步纳入支持范围。HTTP/Socks5等基础代理协议除了上述加密代理协议外,ClashVPN还支持标准的HTTP、HTTPS和Socks5代理协议,用于接入普通的转发代理服务器。在Clash配置中,HTTP代理节点的type为http,Socks5代理节点的type为socks5,配置字段较为简单,仅需server、port以及可选的username和password认证字段。这类协议适用于企业内部代理或自建的转发服务,不提供加密保护(除非配合TLS),主要用于特定场景下的流量转发。协议选择建议与升级策略根据网络环境选择合适的协议不同的网络环境对代理协议的需求各不相同,用户应根据自身所处网络的特点选择最合适的协议类型。在国内普通宽带网络中使用时,Trojan和VLESS+TLS已能提供足够的抗封锁能力,配置相对成熟且兼容性好。在移动网络或WiFi环境不稳定的场景下,Hysteria2的抗丢包能力能够显著提升使用体验。在严格审查环境中,Reality是目前Clash生态中最优的抗封锁选择。对于低端设备,Shadowsocks的轻量特性仍是不可替代的优势,可根据设备性能和使用场景灵活选择。及时升级内核获取新协议支持为了获得最新的协议支持和性能优化,建议用户定期更新ClashVPN客户端或单独升级Mihomo内核文件。桌面端ClashVergeRev用户可在「设置」页面中查看当前内核版本,并前往Mihomo的GitHubReleases页面下载最新版内核文件手动替换。Android端ClashMetaforAndroid用户可直接从GitHub或应用商店获取最新版本APK覆盖安装。保持内核处于较新版本,不仅能获得Hysteria2、Reality等新协议的完整支持,还能享受到性能优化和漏洞修复带来的稳定性提升。订阅导入与手动配置的取舍对于协议类型较多或配置参数复杂的节点,建议优先通过订阅链接导入方式完成配置,避免手动填写字段带来的格式错误风险。订阅链接中已包含服务商预设的全部协议参数,包括VLESS的uuid、Hysteria2的sni和auth、Reality的public-key和short-id等复杂字段,导入后Clash客户端会自动完成解析和填充。手动添加时需仔细核对各协议的必填字段列表,尤其是QUIC类协议(Hysteria2、TUIC)和Reality协议的配置参数较多,填写错误是连接失败的常见原因。常见问题FAQ

教程

Clash vpn节点配置里tls和skip-cert-verify参数怎么设?

在ClashVPN的config.yaml中,tls:true表示开启TLS加密传输,通常用于Trojan、VLESS和VMess+WebSocket等协议节点,skip-cert-verify:true则跳过对服务端证书的合法性验证。建议优先确保servername(或sni)与证书域名一致,仅在证书过期、自签名或不匹配时临时开启skip-cert-verify:true进行调试。Trojan协议必须设置tls:true,Shadowsocks协议不需要配置这两个参数。若连接失败,在日志中查看证书错误类型后针对性调整。tls参数的基础作用与开启场景tls参数在Clash配置中的核心功能在ClashVPN的config.yaml配置文件中,tls参数是一个布尔值开关,用于控制节点连接是否启用TLS加密传输协议。当tls:true时,Clash客户端会在与代理服务器建立连接后执行TLS握手,对传输数据进行加密保护,有效防止中间人窃听和流量篡改。当tls:false或未填写该字段时,客户端以明文方式传输数据,适用于不要求TLS加密的普通节点。该参数主要出现在VMess、VLESS、Trojan等支持TLS的协议节点配置中,Shadowsocks协议无需配置此字段。哪些协议和场景下必须开启tls不同协议对tls参数的依赖程度各不相同,用户需根据协议类型和服务端要求正确设置此参数。Trojan协议的设计理念是模仿HTTPS流量以规避深度包检测,其传输完全依赖TLS层,因此Trojan节点配置中必须设置tls:true,否则无法建立连接。VLESS协议本身不包含加密层,依赖外部TLS或Reality实现传输安全,若节点使用TLS传输方式则同样需要开启tls:true。VMess协议在配合WebSocket传输且启用TLS伪装时,也需要将tls设为true。若节点服务商提供的连接参数中明确包含"TLS"或"443端口"等信息,通常意味着需要开启此参数。tls与传输方式network的关联关系tls参数在Clash配置中通常与network传输方式字段配合使用,两者共同决定了节点流量的封装和加密方式。当network:tcp且tls:true时,Clash会在TCP连接之上直接叠加TLS加密层,形成标准的TLS隧道。当network:ws(WebSocket)且tls:true时,流量先经过WebSocket封装再叠加TLS,整体表现为WSS(WebSocketSecure)流量,与HTTPS网站的流量特征几乎一致。当network:h2(HTTP/2)且tls:true时,则形成H2流量。用户需要确保tls参数的设置与network字段及服务端配置保持一致,否则可能导致连接握手失败。skip-cert-verify参数的作用与风险跳过证书验证的功能说明skip-cert-verify是ClashVPN配置中用于控制TLS证书验证行为的关键参数,其核心作用是决定客户端是否严格校验服务端证书的合法性。当skip-cert-verify:false或未填写该字段时,Clash会执行完整的证书验证流程,包括检查证书是否在有效期内、颁发机构是否受信任、以及证书中的域名是否与servername或server字段匹配。当skip-cert-verify:true时,客户端跳过所有证书校验步骤,即使证书过期、自签名或域名不匹配,连接仍然可以建立。该参数仅在tls:true时生效,不开启TLS则此参数无任何作用。开启跳过验证的安全风险将skip-cert-verify设为true虽然能够解决证书相关的连接问题,但也会带来不可忽视的安全隐患。当跳过证书验证时,Clash客户端不再验证服务端的身份真实性,这意味着中间人攻击者可以伪造一个虚假的服务端证书并拦截传输数据,而客户端完全不会察觉。在公共WiFi等不安全网络环境中,开启该参数会使TLS加密的保护作用大打折扣,用户的传输内容可能被第三方窃取或篡改。因此该参数仅在调试或节点证书确实存在兼容性问题时作为临时方案使用,长期开启可能将自身置于风险之中。与servername/sni参数的配合关系skip-cert-verify与servername(在部分客户端中写为sni)参数在TLS配置中相互配合,共同影响证书验证的结果。servername字段用于在TLS握手中向服务端指示请求的目标域名,服务端根据该值选择返回对应的TLS证书。当skip-cert-verify:false时,客户端会将证书中的域名与servername字段进行比对,不一致则拒绝连接。当skip-cert-verify:true时,即使证书中的域名与servername完全不匹配,客户端依然接受该证书并继续建立连接。因此在实际配置中,若用户不确定正确的servername值,可将skip-cert-verify设为true来临时规避域名匹配问题。不同协议下的tls和skip配置差异Trojan协议中的强制TLS配置Trojan协议在ClashVPN中的配置对tls和skip-cert-verify有着特殊的要求,其使用方式与其他协议存在明显区别。Trojan协议的设计要求所有流量必须通过TLS加密传输,因此在Trojan节点配置中tls字段必须设为true,否则客户端会拒绝连接并提示"tlsisrequiredfortrojan"错误。对于skip-cert-verify参数,Trojan节点同样支持使用,当节点使用的TLS证书为自签名证书或存在兼容性问题时,可将该参数设为true以跳过验证。但建议优先通过正确填写servername字段来解决证书域名匹配问题,而非直接禁用证书验证。VLESS协议中tls与reality的关系VLESS协议作为VMess的轻量化替代方案,在Clash配置中对于tls参数的使用有更灵活的选择,用户可以根据传输方式决定是否开启。当VLESS节点采用TCP传输且不启用TLS时,流量为明文传输,配置中无需填写tls字段或设为false。当VLESS节点启用TLS传输时,需设置tls:true并配置相关的TLS参数。此外VLESS协议还支持Reality这一替代TLS的方案,当使用Reality传输时tls字段不适用,取而代之的是reality:true以及public-key、short-id等Reality特有参数,用户需根据节点类型选择正确的配置方式。VMess协议中tls与websocket的结合VMess协议在Clash配置中开启TLS时,通常与WebSocket传输方式配合使用,以实现流量伪装和抗审查能力。当VMess节点配置为network:ws且tls:true时,Clash客户端会将VMess协议流量封装在WebSocket中,再通过TLS加密层传输,整体表现为WSS流量。这种配置下还需填写servername字段以指定TLS握手中的SNI值,通常设为与server域名一致。对于skip-cert-verify参数,在VMess+WebSocket+TLS的配置中同样适用,当证书存在问题时可通过设为true来临时绕过验证,但在生产环境中应谨慎使用。实际配置示例与参数组合方案标准TLS节点的推荐配置对于使用正规CA签发的有效TLS证书的节点,推荐采用标准的TLS配置方案,确保安全性与连接可靠性的平衡。配置示例如下:-name:"TLS标准节点"type:vlessserver:example.comport:443uuid:your-uuidtls:trueservername:example.comskip-cert-verify:false。其中servername填写与证书中的CommonName或SubjectAlternativeName匹配的域名,skip-cert-verify明确设为false以启用完整的证书验证。若server字段填写的是IP地址而非域名,则servername应填写证书中的实际域名,确保域名验证能够通过。这种配置方式在保证安全性的同时提供了最佳的连接兼容性。自签名证书节点的调试配置当节点使用自签名证书或证书配置不完善时,可在调试阶段采用宽松的TLS配置以快速验证节点可用性。配置示例如下:-name:"自签名测试节点"type:vlessserver:1.2.3.4port:443uuid:your-uuidtls:trueservername:""skip-cert-verify:true。将skip-cert-verify设为true后,Clash会忽略证书有效性、域名匹配等所有验证环节,使连接能够正常建立。这种配置仅建议在测试环境中使用,确认节点功能正常后应尽快联系服务商获取有效的TLS证书或切换至证书正确的节点,避免长期使用不安全的连接方式。高安全要求场景的严格配置对于涉及敏感数据传输或安全性要求较高的使用场景,应采用最为严格的TLS配置方案,最大限度降低中间人攻击的风险。配置示例如下:-name:"高安全节点"type:trojanserver:secure.example.comport:443password:"your-password"tls:trueservername:secure.example.comskip-cert-verify:false。在此配置中,tls强制开启,servername精确填写,skip-cert-verify严格设为false,确保客户端对服务端证书进行完整的验证。同时建议用户定期检查节点证书的有效期,确保证书未过期,并在证书更新后及时同步配置中的servername值,避免因证书信息变更而导致的连接失败。常见连接问题的排查与处理证书过期导致的连接失败当节点的TLS证书过期时,Clash客户端在skip-cert-verify:false的情况下会拒绝建立连接,并在日志中返回"certificatehasexpired"或"x509:certificatehasexpiredorisnotyetvalid"错误信息。解决方法分为两种情况:若节点由服务商提供,可先尝试执行订阅更新,获取最新的证书配置后再尝试连接;若证书问题为临时性故障,可将skip-cert-verify临时设为true并观察连接是否恢复。长期解决方案是联系服务商更新证书,或切换至证书有效的替代节点,避免长期依赖跳过验证。域名不匹配引发的验证错误当servername字段填写的域名与实际证书中的域名不一致时,Clash会返回"certificateisvalidforxbutnoty"或"x509:certificateisvalidforxxx,notyyy"的错误信息。这种情况常见于用户使用IP地址作为server值但证书只包含域名信息时。解决方法是将servername设为证书中的实际域名,或通过浏览器访问该节点域名查看证书详情来获取准确的域名信息。若无法获取正确的servername值,可临时将skip-cert-verify设为true来绕过域名匹配验证,待确认正确的域名后再恢复严格验证。自签名证书不被信任的处理当节点使用非CA机构签发的自签名证书时,Clash客户端在默认配置下会返回"unknownauthority"或"x509:certificatesignedbyunknownauthority"错误。这是因为系统信任库中不包含该证书的签发机构信息。解决方法包括:将skip-cert-verify设为true跳过验证,这是最简单的处理方式但会降低安全性;或将自签名证书导入操作系统的信任库,使Clash能够信任该证书。导入证书的操作相对复杂且需要管理员权限,对于普通用户建议采用第一种方式,但要清楚知晓其安全风险,并仅限于在可控的信任环境中使用。常见问题FAQ

教程

Hysteria2节点Clash vpn支持吗?需要什么版本?

在ClashVPN中使用Hysteria2节点需要确保内核为ClashMeta(mihomo)且版本不低于v1.18.0,ClashVergeRev等基于Meta内核的客户端可直接支持。配置文件中type固定为hysteria2,必填字段包括server、port、password、sni和skip-cert-verify,并建议填写up和down带宽限制参数以优化传输性能。若连接失败,先在「日志」页面调至Debug级别查看具体错误信息,确认是否为内核版本不兼容或证书验证失败,将skip-cert-verify设为true可快速排除证书问题。ClashforWindows用户需手动切换至Meta内核才能使用Hysteria2节点,移动端推荐使用ClashMetaforAndroid以获得最完善的支持。Hysteria2协议在ClashVPN中的支持概况内核类型决定协议支持范围ClashVPN对Hysteria2协议的支持与否,完全取决于客户端所使用的底层内核类型,不同内核的支持策略存在显著差异。ClashMeta内核(开源版,又称mihomo)从较早版本开始便以官方插件的形式集成了对Hysteria2协议的支持,是该协议在Clash生态中的主要承载内核。而传统的ClashPremium内核(闭源版)则并未原生支持Hysteria2,其开发重心长期放在TUN模式和规则增强等功能上,对新兴协议的跟进速度较慢。用户若期望在ClashVPN中使用Hysteria2节点,首先需要确认当前客户端使用的是哪种内核,这是支持的前提条件。内核与客户端的对应关系在实际使用中,ClashVPN的客户端软件与底层内核是两个独立的组件,用户需要区分"客户端界面"和"内核版本"这两个概念。ClashVergeRev、ClashforWindows、ClashMetaforAndroid等图形化客户端,本质上是在Clash内核之上封装了用户操作界面,具体的协议支持能力取决于其内置或调用的内核版本。ClashVergeRev默认使用ClashMeta内核,因此天然支持Hysteria2协议。ClashforWindows则在早期版本中使用ClashPremium内核,对Hysteria2的支持需要切换到Meta内核才能实现。用户在选择客户端时,应优先选用明确标注基于Meta内核的产品。内核版本号的具体要求对于Hysteria2协议的支持并非所有Meta内核版本都具备,用户需要确保内核版本达到特定要求才能正常使用。根据社区反馈和官方文档的更新记录,Meta内核从v1.14.0版本开始初步引入Hysteria2支持,但该版本的实现尚不完善,部分参数解析存在兼容性问题。v1.15.0至v1.17.0版本逐步完善了对Hysteria2核心功能的支持,包括端口跳跃和带宽探测等高级特性。建议用户使用v1.18.0及以上版本的Meta内核,该系列版本对Hysteria2的支持已趋于稳定,能够正确处理各种配置参数,节点连接的可靠性和传输稳定性均得到验证。如何在客户端中确认内核版本ClashVergeRev中查看内核信息在ClashVergeRev中查看当前使用的内核版本是最直接的方式,用户可以通过客户端的设置面板快速获取该信息。打开ClashVergeRev后,点击左侧菜单栏的「设置」或「关于」标签页,在页面中会显示当前客户端的内核类型和版本号。通常显示为"CoreVersion:mihomox.x.x"或"内核版本:mihomox.x.x"的格式,其中x.x.x为具体的版本号。若显示的内核版本低于v1.18.0,且用户需要使用Hysteria2协议,则应考虑升级客户端或手动替换内核文件至较新版本。ClashMetaforAndroid的内核查询方式在Android端的ClashMetaforAndroid中查看内核版本的操作路径与桌面端有所不同,用户需进入应用的设置菜单中查找相关信息。打开ClashMetaforAndroid后,点击左上角的菜单按钮进入侧边栏,选择「关于」或「设置」选项,在页面中会列出当前使用的内核版本号。该客户端直接以"Meta"命名,意味着其默认使用ClashMeta内核,通常对Hysteria2协议具备良好的支持。若版本较旧,可通过GitHubReleases页面下载最新版本的APK安装包进行覆盖更新,无需额外配置即可获得最新的协议支持。内核与客户端版本的独立升级策略ClashVPN的内核和客户端界面是两个独立更新的组件,用户可以根据需要分别升级以获取最新的协议支持。在某些客户端中,内核文件可以单独替换而不影响客户端界面功能,例如ClashVergeRev允许用户在「设置」页面中手动指定内核可执行文件的路径。当客户端自带的Meta内核版本较低时,用户可从mihomo的GitHubReleases页面下载最新版内核文件,替换客户端目录中的原文件即可完成内核升级,而无需等待客户端发布新版本。这种灵活的升级策略使得ClashVPN对Hysteria2等新兴协议的支持始终保持在较新的水平。Hysteria2节点的配置格式与要求配置文件中Hysteria2节点的字段结构在ClashVPN的config.yaml配置文件中,Hysteria2节点的配置格式与SS、VMess等传统协议存在显著差异,其字段结构更加复杂且包含多个独特参数。一个标准的Hysteria2节点配置示例如下:-name:"Hysteria2节点"type:hysteria2server:example.comport:443password:"your-password"sni:example.comskip-cert-verify:trueup:"20Mbps"down:"100Mbps"。其中type固定为hysteria2,server和port为服务器地址和端口,password为认证密码,sni为TLSSNI字段用于伪装域名,skip-cert-verify为是否跳过证书验证,up和down为上下行带宽限制参数。这些字段中大部分为必填项,缺失任一关键字段都会导致节点无法正常连接。带宽参数up/down的作用与填写规则Hysteria2协议特有的up和down字段用于限制节点的上下行带宽,这是该协议实现自适应拥塞控制的核心机制之一。up表示上行带宽限制,down表示下行带宽限制,两者均以字符串格式填写,支持bps、kbps、mbps和gbps等单位后缀,例如up:"20mbps"表示上行带宽限制为20Mbps。建议用户根据自身的实际网络带宽和节点服务器的带宽容量合理设置这两个值,设置过高可能造成网络拥塞和丢包率上升,设置过低则限制了节点的传输速度发挥。若不确定具体数值,可先填入up:"50mbps"和down:"200mbps"进行测试,根据实际体验逐步调整。与SS/VMess配置格式的差异对比与SS和VMess协议相比,Hysteria2节点的配置格式在字段数量和参数类型上均有较大差异。SS节点仅需type:ss、server、port、cipher和password五个字段,VMess节点在SS基础上增加了uuid和alterId,而Hysteria2节点在基础字段之外还包含了sni、skip-cert-verify、up和down等多个TLS和传输控制相关参数。这意味着用户在手动添加Hysteria2节点时需要填写的信息量远大于SS和VMess,配置复杂度的提升也相应地增加了出错的风险。建议优先通过订阅链接或分享链接的方式导入Hysteria2节点,让客户端自动填充全部参数字段。移动端与桌面端的支持差异Android端ClashMetaforAndroid的支持情况Android端的ClashMetaforAndroid是目前移动平台对Hysteria2协议支持最完善的ClashVPN客户端之一。该客户端从v2.10.0版本开始便以原生方式支持Hysteria2协议,用户只需将订阅链接导入或手动配置节点,即可正常使用Hysteria2节点进行代理传输。由于该客户端的内核直接集成了对Hysteria2的支持,用户无需额外安装任何插件或进行复杂配置,体验与使用SS或VMess节点基本一致。建议Android用户优先选择ClashMetaforAndroid而非其他基于ClashPremium内核的客户端,以确保Hysteria2节点的完整兼容性。iOS端Clash客户端的支持现状iOS平台的ClashVPN客户端生态与Android存在较大差异,对Hysteria2协议的支持程度因客户端而异。由于苹果应用商店的审核政策限制,部分Clash客户端无法及时更新内核以支持Hysteria2等新兴协议。目前iOS平台对Hysteria2支持较好的是Stash(基于ClashMeta内核)和ClashforiOS的部分较新版本,但具体支持情况需查阅各客户端的更新日志确认。用户在iOS端使用Hysteria2节点前,应确认当前客户端的内核版本是否达到要求,若客户端长期未更新,可考虑更换其他支持Hysteria2的iOS代理应用作为替代方案。桌面端各客户端的兼容性对比桌面端ClashVPN客户端对Hysteria2协议的支持相对成熟,但不同客户端之间的兼容性仍存在差异。ClashVergeRev基于ClashMeta内核,从较早版本即原生支持Hysteria2协议,且持续跟进内核更新以保持对新协议特性的兼容。ClashNyanpasu作为另一款活跃的桌面端Clash客户端,同样基于Meta内核构建,对Hysteria2的支持与ClashVergeRev相当。ClashforWindows则需要用户在设置中手动切换至Meta内核才能使用Hysteria2节点,默认的Premium内核不支持该协议。用户在选择桌面端客户端时,应优先选择明确基于Meta内核的产品,或确保所选客户端支持内核切换功能。常见连接问题与故障排查版本不兼容导致的连接失败当ClashVPN客户端内核版本过低时,尝试连接Hysteria2节点会出现"unsupportedprotocol"或"unknownproxytype"等错误提示。这是因为内核无法识别type:hysteria2字段,导致节点在加载时被直接跳过。解决方法是升级客户端至最新版本或手动替换内核文件至v1.18.0及以上版本。若升级后问题仍然存在,可在Clash的「日志」页面中将日志级别调至Debug,查看详细的协议解析错误信息,确认是否因内核编译时未包含Hysteria2支持模块所致。证书验证相关的连接中断Hysteria2协议默认使用TLS加密传输,若节点的TLS证书配置存在问题或使用了自签名证书,可能导致连接握手失败。在Clash配置中,可通过将skip-cert-verify设置为true来跳过证书验证环节,快速测试节点是否能够建立连接。若开启跳过验证后节点正常使用,说明原证书配置存在问题,建议联系服务商确认证书的有效性或更换为证书正确的节点。若跳过验证后仍无法连接,则问题不在证书层面,需检查端口、密码等其他参数是否填写正确。带宽参数设置不当导致的性能问题当Hysteria2节点连接成功但传输速度远低于预期时,up和down带宽参数的设置可能是主要原因。如果用户将这两个参数设置得过低,ClashVPN会主动限制传输速率,导致节点实际速度受限。检查配置文件中的up和down值是否与自身网络带宽匹配,若填写值过低则适当提高后重新加载配置。另一方面,设置过高的带宽值也可能导致网络拥塞和丢包,反而不利于传输稳定。建议根据测速结果动态调整这两个参数,找到适合自身网络环境的最优值。常见问题FAQ