Conversation
|
早看到了 已经改了 |
|
line 380 and 381 should be swapped |
|
line 389 and 390 should be swapped |
|
这两行换不换有什么区别么 |
|
yes ip.domain() is panic |
or we have multiple-IP or we have only-one-domain on single-UDP. if we have multiple-domain it is impossible to connect response to request. for example if we have two domain example-1.com and example-2.com, and both resolved to "2.2.2.2" so if we receive response from "2.2.2.2" this is for example-1.com or example-2.com ??? this is logically impossible, and has nothing to do with code. /// So we never have multiple-domain on single-UDP and there is no need for /// |
|
rebase 到 v25.6.8 |
|
this PR fix also, you missed a few things in your code:
//////////////////// these two PR should merge as soon as possible, and new version should be released. I think you are aware of the sensitive situation in Iran. we are at war and the internet is very limited. |
|
|
only youtube /// but the reverse(bridge-portal) method is working great on home-internet with static-IP. |
|
The internet is back to normal. |
Fix 1 and 2, thx. |
|
It's done |
|
算了还是改成之前那样吧 我只是不想把continue写两次 |
How can the length of outbounds be zero? And if it is zero, we have: Xray-core/proxy/freedom/freedom.go Lines 105 to 107 in 1976d02 before that and it will panic. |
我这么写可能清楚点 那个ctx可能不是上面看到的ctx 你可以自己用先前的版本试试 就是我在测你昨天那个pr的时候遇到的 |
|
i tested and see NewPacketWriter/NewPacketReader ctx is newCtx define in line-174 and has no outbounds. so we should copy ctx-outbounds to newCtx-outbounds. /// I fix it in #4816. |
|
就这样就行了 不要破坏timeoutonly的语义 |
|
|
Announcement of NFTs by Project X: #3633 Project X NFT: https://opensea.io/assets/ethereum/0x5ee362866001613093361eb8569d59c4141b76d1/1 XHTTP: Beyond REALITY: #4113 REALITY NFT: https://opensea.io/assets/ethereum/0x5ee362866001613093361eb8569d59c4141b76d1/2
| if c, ok := iConn.(*internet.PacketConnWrapper); ok { | ||
| // If DialDest is a domain, it will be resolved in dialer | ||
| // check this behavior and add it to map | ||
| resolvedUDPAddr := utils.NewTypedSyncMap[string, net.Address]() |
There was a problem hiding this comment.
@RPRX does we really need create map for each connection? its a lot of ram(
There was a problem hiding this comment.
I agree. High consumption is observed when using tls with flow-udp443.
There was a problem hiding this comment.
@Fangliding implement this because we should not send packets to multiple IPs, and we should cache first-sent-IP, but:
- In non-cone, address is fixed and In cone, we don't have multiple-domains, only initial-request can be domain(like stun)
- even we want to support multi-domains, it is not enough to handle it only in
write, we should design reverse-lookup and handle it inreadtoo.
as a result, there is no need for map, we will always have at most one domain, and that is initial-request-domain, so simple cache is enough and there is no need for map cache.
also, "override.go" converts only the first fakeIP to domain and we don't have multiple-domain at all.
There was a problem hiding this comment.
@Fangliding is right, the ram problem is not related to this, but anyway i think there is no need for map cache.
(cherry picked from commit 3b47d08)

#4800 (comment)
道理上udp就不该有fqdn当目标(((((