Releases: v2fly/v2ray-core
v4.27.4
Features
17f51f4 Dotless domain support in built-in DNS @Vigilans
c74a33f Support source port matching in routing config @Vigilans
d05ddc8 Make HTTP outbound 0-rtt @darhwa
bc00811 Add asset location auto search @vcptr
5df1733 Add PROXY protocol support to TCP & WebSocket inbound @lucifer9 and @RPRX
84aaf3a VLESS PREVIEW 1.5 @RPRX
Fixs
1e22242 Amending domain matcher with returning array of all matches @Vigilans
dfeaef7 Refactor DNS Server to record original rule of domain matchers @Vigilans
3e612d8 New Systemd unit file @dctxmei
00b4217 Fix: logging empty rules & DNS @Loyalsoldier
588b40f Fix a typo @dikaixu1999
a40727a Shadowsocks Detection defense @studentmain and @xiaokangwang
Update Old file @Loyalsoldier
Breaking Changes
- VLESS fallback -> fallbacks, see https://www.v2fly.org/config/protocols/vless.html
- DNS domain priority matching
⚠️ VMess AEAD will be used when alterId
is 0
in V2Ray v4.28.0+
v4.27.0
Feature
- VLESS PREVIEW 1.3 https://www.v2fly.org/config/protocols/vless.html
- Add Linux riscv64 release @RPRX
Fix
- Shadowsocks supports cipher as None @yuhan6665
- Add access log for Dokodemo inbound @lucifer9
- Some typo fixes @DuckSoft
- Fix the error of missing curl in Dockerfile @kallydev
- GitHub Actions push to docker hub @kallydev
- Optimize SO_REUSEPORT implementation @Vigilans
- DOH supports HTTP/2 @darhwa
- Apply Sockopt from inbound config to Dokodemo Tproxy response connection @Vigilans
Breaking Change
- VMessAEAD has been updated and needs both client and server to be the same version for it to work.
- Release file structure changes.
⚠️ VMess AEAD will be used when alterId
is 0
in V2Ray v4.28.0+
v4.26.0
Updates
-
V2Fly’s signing infrastructure has been revised. You can from now on verify V2Fly’s release with the “Release” signed manifest file with v2ctl.
-
VMessAEAD has been updated to rely more on AEAD.
-
Outbound traffic accounting API. Thanks @yuhan6665
-
HTTP outbound can now handle HTTP2 over TLS, HTTP 1.1 over TLS in addition to HTTP 1.1 proxy traffic. Thanks @darhwa
-
ARM release will from now on have an explicit version in it. Thanks @RPRX
-
V2Ray will from now on generate Windows 32 ARM binary release.
-
Minor code tidy up. Thanks Roger Shimizu.
-
Minor code tidy up. Thanks @agioi
-
Fix crash when the client supplied an invalid domain name to DoH. Thanks @DuckSoft
Breaking Change
- VMessAEAD has been updated and needs both client and server to be the same version for it to work.
v4.25.1
v4.25.0
Fixs
- Further remove the identity leakage with TLS ClientHello from v2ray/v2ray-core#2521
- Fix UDP stability issue in Socks5 inbound, Shadowsocks inbound, and dokodemo(TProxy) inbound. This should alleviate unnecessary CPU, memory usage, and premature disconnection issue typically triggered by playing games, video conference, and torrenting. See v2ray/v2ray-core#2565
- Added ARMv5 binary in the release. This should allow legacy ARM devices to run V2Ray correctly. See v2ray/v2ray-core#2536
Breaking Changes
- The file structure for ARM release files has changed.
v4.24.2
New Functions
-
VMess's new header format experiment begins. You can now enable VMessAEAD to be better protected. Documents EN CH are updated. See extra-VMessAEADdoc.zip for a more detailed explanation available in both Chinese and English.
-
mKCP can now be encrypted to resist recognition, address issue mentioned in v2ray/v2ray-core#2530 v2ray/v2ray-core#2253 v2ray/v2ray-core#2131. Documents EN CH are updated.
Breaking Changes
- To slow down certain replay attacks, taint mechanic for VMess MD5 authentication data is introduced. Unless the server is under attack, a well-behaved client is not influenced. Pay attention to this change if you are designing a "V2Ray Panel", "Airport" or "V2Ray Service Provider". Documents EN CH are updated.
Minor fixes from #12 #10 included.
- Updated Golang tool-chain. Thanks @RPRX
- LocalAddr() in UDP workers will now return correct local addr. Thanks @zhuobixin
About AV warnings
We are aware some anti-virus software detects V2Ray as malware, which it isn't, but we can't afford to pay the fee needed to make them not detect V2Ray as malware. Microsoft's AV detects V2Ray as "Trojan:Win32/Wacatac.C!ml" , "Program:Win32/Wacapew.C!ml" each time we release a new version, and I have to manually contact them each time to remove it from the malware database. If you have more information to report please leave them here. These AVs are known to generate false-positive results: "Microsoft", "McAfee", "Cylance", "Symantec", "F-Secure", "SecureAge APEX", "Cybereason", "Cynet", "MaxSecure", "F-Secure", "Avira", "AVAST", "AVG", "Rising"(瑞星).
v4.24.1
New Functions
-
VMess's new header format experiment begins. You can now enable VMessAEAD to be better protected. Documents EN CH are updated. See extra-VMessAEADdoc.zip for a more detailed explanation available in both Chinese and English.
-
mKCP can now be encrypted to avoid recognition, address issue mentioned in v2ray/v2ray-core#2530 v2ray/v2ray-core#2253 v2ray/v2ray-core#2131. Documents EN CH are updated.
Beaking Changes
- To slow down certain replay attacks, taint mechanic for VMess MD5 authentication data is introduced. Unless the server is under attack, a well-behaved client is not influenced. Pay attention to this change if you are designing a "V2Ray Panel", "Airport" or "V2Ray Service Provider". Documents EN CH are updated.
Minor fixes from #12 included.
v4.24.0
New Functions
-
VMess's new header format experiment begins. You can now enable VMessAEAD to be better protected. Documents EN CH are updated. See extra-VMessAEADdoc.zip for a more detailed explanation available in both Chinese and English.
-
mKCP can now be encrypted to avoid recognition, address issue mentioned in v2ray/v2ray-core#2530 v2ray/v2ray-core#2253 v2ray/v2ray-core#2131. Documents EN CH are updated.
Beaking Changes
- To slow down certain replay attacks, taint mechanic for VMess MD5 authentication data is introduced. Unless the server is under attack, a well-behaved client is not influenced. Pay attention to this change if you are designing a "V2Ray Panel", "Airport" or "V2Ray Service Provider". Documents EN CH are updated.
v4.23.4
Fix
- Issued further fixs for VMess weakness described in v2ray#2523 v2ray/v2ray-core#2539
- Issued a fix for Fake HTTP Header weakness described in v2ray/v2ray-core#2537
Breaking Changes
- For VMess connections, clients cannot rely on servers to indicate issues in connectivity or password mismatch by closing connection. Well behaved clients are not influenced.
- For VMess servers, it is not recommended to change UUID frequently as VMess will procedurally generate its connection drain and close pattern based on UUID it has when the first connection arrives. This is very unlikely to influence users that are using V2Ray as a standalone software. However, for those dynamically add and remove UUID, it is recommended to connect to V2Ray's port immediately after starting it before adding more UUIDs with API and make sure there is at least one UUID in the configure file even if you plan to add more later.
- For users using Fake HTTP Header, it is necessary to keep clients and servers synchronized on fake HTTP header settings, and assign a path with sufficient entropy. From now on, if the request path is not expected, the server will abort the connection.
- Server will by default wait 60 seconds for the handshakes to complete before closing the connection instead of 4 seconds. This may increase server load if the server is under a DDoS attack. This allows the server to blend into normal TCP servers better and its benefit is significantly higher than potential downsides. This behavior is tweakable with the configure file.
Security Advisory
- From now on, the VMess protocol will drain any unrecognized or invalid connection based on procedurally generate connection drain and close patterns. It can neutralize all known "replay and observe close" attacks. The base drain size and drain size jitter will be generated based on UUID a VMess inbound have when the first connection arrives. For each server, these values will be different and remain constant for that server. The attacker will not be able to aggregate results in order to identify server identity. If you have multiple VMess inbounds on the same host, the protection offered by procedurally generated connection drain and close patterns will be slightly encumbered.
- Fake HTTP Header will from now on imitate standard HTTP server behavior better and is able to significantly hindrance active probing. However, it is only designed to circumvent ISP's QoS, rate limiting, throttling, and sabotage of unrecognized connection. For an attacker with privileged access to network path, Fake HTTP Header does not offer adequate protection against specialized detection or manual inspections by attackers with special tools and knowledge.
A Request for Users and Client Authors
Please refer to https://github.com/v2fly/v2ray-core/releases for further updates instead of the V2Ray release page. Currently, update in V2Fly will be mirrored to the V2Ray release page but this will NOT continue indefinitely.
v4.23.3
Fix
- Issued an emergency fix for VMess weakness described in v2ray#2523
This fix can significantly hindrance attack based on the weakness described. Only servers need to be updated to apply this emergency fix, it not expected for well-behaved clients to be influenced. A more permanent solution is underway.