Closed Mahyar24 closed 1 year ago
Please read the documentation. The uTLS can only be configured using the new v5 configuration format. You will need to rewrite your configuration in the new format or manually patch v2ray-core.
When I use it with tls as security, everything works fine, but when I use 'utls`, nothing works. So, I investigated and found out that Nginx will complain that client sent plain HTTP request to HTTPS port while reading client request headers (Nginx is set up on 443 SSL). Even if I change the security parameter to something gibberish (e.g., "security": "WTF"), it has the same effect, and V2Ray will not complain or crash!
The security attribute only accepts the value tls
. Any other value is treated as none
, i.e. if you specify utls
or any other invalid value, v2ray will not use TLS as transport protocol. Consequently, any data sent over the websocket will be in "cleartext", which could cause such an error.
I am worried that even if I discard Nginx and connect two V2Ray directly ("security": "utls" works fine without Nginx between them but I'm not sure if there is any encryption), packets will be transferred without any tls encryption.
However, in the description above, "cleartext" may not be accurate for protocols like vmess and shadowsocks, which encrypt their packets by default and this encryption is not directly related to TLS encryption.
I supposed utls would change the User-agent too, but even with utls, the User-agent is always Go-http-client/1.1, which is easy to exploit and banned.
No. When using TLS/HTTPS, the User-Agent
header, like all other headers, is encrypted and protected from eavesdropping and tampering by the middleboxes. It is only visible to the client and the endpoint.
No. When using TLS/HTTPS, the User-Agent header, like all other headers, is encrypted and protected from eavesdropping and tampering by the middleboxes. It is only visible to the client and the endpoint.
CDN company can also see it. It may affect the length of the request head.
No. When using TLS/HTTPS, the User-Agent header, like all other headers, is encrypted and protected from eavesdropping and tampering by the middleboxes. It is only visible to the client and the endpoint.
CDN company can also see it. It may affect the length of the request head.
Yes, CDNs provide a "man-in-the middle as a service" by means of meddling in the decryption of TLS modulation, thus enabling them to execute everyday errands. Unless you uptake for an unethical, untrustworthy, unscrupulous CDN company and utilize an unshielded plaintext proxy protocol, this shouldn't pose a pronounced predicament.
I read the related issues, but the documentation on V5 configs is immature (at least in English) and lacks examples, making it almost impossible to convert my old-style configs to the new version. I appreciate all the efforts and acknowledge that this project has literally saved dozens of lives during the recent atrocities of the Islamic regime of Iran. However, I have switched to XRay and noticed a huge speedup, but I have no idea why. The only difference between V2Fly
and XRay
config files is that I am using utls (a.k.a fingerprint).
Which version of V2Ray are you using? V5.4.1
If the server and client are using different versions, please indicate. Nope.
What is your use case? To bypass censorship in Iran, clients can connect to a middle VPS located within Iran, which will then connect to a VPS V2Ray located in the Netherlands.
What is the abnormal phenomenon you see?
tls
assecurity
, everything works fine, but when I use 'utls', nothing works. So, I investigated and found out that Nginx will complain thatclient sent plain HTTP request to HTTPS port while reading client request headers
(Nginx is set up on 443 SSL). Even if I change the security parameter to something gibberish (e.g., "security": "WTF"), it has the same effect, and V2Ray will not complain or crash! So, I am worried that even if I discard Nginx and connect two V2Ray directly ("security": "utls"
works fine without Nginx between them but I'm not sure if there is any encryption), packets will be transferred without any tls encryption.User-agent
too, but even with utls, theUser-agent
is alwaysGo-http-client/1.1
, which is easy to exploit and banned.What normal behavior do you expect to see?
utls
can work with Nginx.User-agent
to something common (e.g. Firefox).V2Ray client outbound:
V2Ray server Inbound:
Nginx setup:
Nginx log:
V2Ray client log (when using
utls
and Nginx)