建議:VMess v2、DTLS和錯誤處理 #935
okudayukiko
started this conversation in
Ideas
Replies: 2 comments
-
关于 3 VMess v2: 现在我的想法是用现成的 https://noiseprotocol.org/ 这样保证安全性的同时减少开发的工作量。 加密的话大概还是会有无加密的支持,毕竟我个人还是比较希望同一个协议可以满足各种需求。而且未来VLess也会支持加密,所以并不能把vless和无加密等同。 |
Beta Was this translation helpful? Give feedback.
0 replies
-
|
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
1、增加DTLS協定?如KCP+DTLS。如
"security": "dtls"
。2、TCP和TLS是強制糾錯(如丟包、CRC錯誤、VMess的時間戳錯誤、TLS的MAC錯誤)。UDP和DTLS是可選糾錯。對部分丟包等錯誤可以不糾錯,我想這就是WireGuard在筆記型電腦、手機上比Trojan/V2Ray-TLS省電的原因。我的HP ProBook 1035G1筆記型電腦,不使用V2Ray-TLS的時候續航還好,使用V2Ray-TLS的時候耗電快速,用WireGuard就低發熱、省電不少。
3、設計VMess v2(適用於懶得申請域名、懶得用TLS/DTLS的情況)?VMess v2不需申請域名,不需設定時間同步。VMess v2基於:
(1)Ed22519 V2ID Pair,1個V2ID Pair有2個V2IDs,兩個V2ID互相對應(一個V2ID是512bits,相當於4個UUID),V2ID1包括Private Key 1和Public Key 2,V2ID2包括Private Key 2和Public Key 1。V2ID使用BASE32編碼,也是為了方便輸入。
(2)對稱加密支援AES-128-GCM或CHACHA20-POLY1305,不提供無加密,無加密建議用VLess+TLS或VLess+DTLS。
(3)散列算法支援SHA256、BLAKE2S。
(4)由客戶端選擇加密算法,
"security"
:"auto"
|"aes-128-gcm"
|"chacha20-poly1305"
,aes-128-gcm
即使用AES-128-GCM和SHA256加密算法,chacha20-poly1305
即使用CHACHA20-POLY1305和BLAKE2S加密算法,auto
即自動判斷(用cpuid檢測處理器是否支援AES指令集)。(5)X25519密鑰交換。
(6)VMess v2支援TCP和UDP(KCP)。
4、在
streamSettings
加入AllowPartialError
(允許少量錯誤)選項。允許少量錯誤,也就是允許少量(在0.05-0.125之間也就是5%-12.5%之間隨機選擇一個數,而且這個數字每隔1小時就更新一次,比如選擇了0.08就允許8%的錯誤)丟包、CRC錯誤、MAC錯誤、時間戳錯誤,對於這些錯誤不進行糾錯(不resend,也就是不重發),但對於MAC錯誤、時間戳錯誤則是drop(丟包)處理(TCP對丟包錯誤、CRC錯誤是強制糾錯)。當使用"security": tls
時,因為TLS是強制糾錯,所以AllowPartialError
無效。C:\Users\Administrator>ping /n 100 us_vps_ip_addr
us_vps_ip_addr 的Ping統計資料:
封包:已傳送=100,已收到=94,已遺失=6(6%遺失)。
C:\Users\Administrator>ping /n 100 www.alibaba.com
www.alibaba.com 的Ping統計資料:
封包:已傳送=100,已收到=100,已遺失=0(0%遺失)。
5、建議SOCKS協定 預設代理UDP流量,即
"udp": true
。Beta Was this translation helpful? Give feedback.
All reactions