Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More fragment options + Fix for reality configs #2889

Merged
merged 2 commits into from Mar 3, 2024

Conversation

vfarid
Copy link
Contributor

@vfarid vfarid commented Mar 2, 2024

I added 3 more fragment packets option for reality configs.
Furthermore, since the fragment option is global and will apply on all configs, and since tlshello will destroy reality configs, I added a condition to detect invalid fragment packets option per config type and replaced it with proper packets type.

@thefatedefeater
Copy link

Dude You're Amazing!

@alizxamax
Copy link

Another level 🔥🔥

@f93a14
Copy link

f93a14 commented Mar 2, 2024

Thanks 👍

@mohammad20101368
Copy link

Thanks for this update

@omidr9
Copy link

omidr9 commented Mar 2, 2024

❤❤

@Daneshpico
Copy link

❤️❤️❤️

@aminkokabi
Copy link

Amazing 🌹

@smehdid
Copy link

smehdid commented Mar 2, 2024

best

@Fatifan
Copy link

Fatifan commented Mar 2, 2024

Thanks mr.vahid🔥🙏🏻

@armagg
Copy link

armagg commented Mar 2, 2024

🔥🔥🔥🔥

@TheOzs
Copy link

TheOzs commented Mar 2, 2024

Thanks ❤️❤️

@hadiboro
Copy link

hadiboro commented Mar 2, 2024

Hope they accept it😍

@masoud-shahsavari
Copy link

useful for Iran.

@mtbmby
Copy link

mtbmby commented Mar 2, 2024

Great job⚘️

@Alireza78na
Copy link

nice work. its really useful
waiting for "TCP Segment" Option for Fragment . . .

@farzadasg61
Copy link

Please add the code. We need this code in Iran, and many thanks to Mr. Vahid.

@APT-ZERO
Copy link

APT-ZERO commented Mar 2, 2024

@vfarid Could you also fix Early Data? Check This : #2887
XTLS/Xray-core#375

@saeedfweb
Copy link

Thanks Vahid👍🏻

@rezaamirian
Copy link

thanks.

@vfarid
Copy link
Contributor Author

vfarid commented Mar 2, 2024

@vfarid Could you also fix Early Data? Check This : #2887 XTLS/Xray-core#375

I tested early data in path in both import and export of custom config and its just fine. May be there is some issue in your config, dont know. Yo may provide issue details in related thread.

@mehdihalla
Copy link

Very useful.👌👌

@APT-ZERO
Copy link

APT-ZERO commented Mar 2, 2024

@vfarid Could you also fix Early Data? Check This : #2887 XTLS/Xray-core#375

I tested early data in path in both import and export of custom config and its just fine. May be there is some issue in your config, dont know. Yo may provide issue details in related thread.

When you import 1 json config, it's OK, but the problem is when you import Multi Json
The Issue link i meantioned is opened by someone who blocked me, so i can't write anything in that thread lol, and i don't wanna open duplicate issue, so sorry for mentioning it here

@vfarid
Copy link
Contributor Author

vfarid commented Mar 3, 2024

@vfarid Could you also fix Early Data? Check This : #2887 XTLS/Xray-core#375

I tested early data in path in both import and export of custom config and its just fine. May be there is some issue in your config, dont know. Yo may provide issue details in related thread.

When you import 1 json config, it's OK, but the problem is when you import Multi Json The Issue link i meantioned is opened by someone who blocked me, so i can't write anything in that thread lol, and i don't wanna open duplicate issue, so sorry for mentioning it here

I've tested both and there is no such issue imo. Anyway it is not related to this pr, if you sure there is an issue, open a new issue and send it with details.

@2dust
Copy link
Owner

2dust commented Mar 3, 2024

Has the test passed?
Because we cannot get correct test results at our location

@vfarid
Copy link
Contributor Author

vfarid commented Mar 3, 2024

Has the test passed? Because we cannot get correct test results at our location

Yes, ive tested it with several configs. When we fragment tlshello on reality configs, they will stop working in more than 90% of configs because sni is fake in reality. Instead we can fragment starting packets as described in xtls docs.

@2dust 2dust merged commit b02d81a into 2dust:master Mar 3, 2024
@Sasha21332133
Copy link

Thanks ❤️

@saeidpoko
Copy link

Thanks❤️

@Morrigan-Ship
Copy link

thank you :))

@vfarid vfarid deleted the more_fragment_options branch March 4, 2024 14:20
@RPRX
Copy link

RPRX commented Mar 5, 2024

since tlshello will destroy reality configs

Xray-core v1.8.4 以后 REALITY 服务端支持 tlshello 形式的分片,请测试一下(但还取决于 dest 是否支持它)

@vfarid
Copy link
Contributor Author

vfarid commented Mar 5, 2024

since tlshello will destroy reality configs

Xray-core v1.8.4 以后 REALITY 服务端支持 tlshello 形式的分片,请测试一下(但还取决于 dest 是否支持它)

They said "need to be tested" and i tested with several reality configs, most of them will stop working as soon as fragment is activated for tlshello, but they will work if we fragment packets 1-n instrad of packet 0.
This is also match with concept of reality sni because the sni in reality is not pointing the server and is fake.

I am still testing and waiting to get test result from my twitter followers in order to findout if my conclusion is not 100% correct. So if you have any test result that shows tlshello fragment will correct curropted reality config and make it work, please share with me.

@RPRX
Copy link

RPRX commented Mar 5, 2024

This is also match with concept of reality sni because the sni in reality is not pointing the server and is fake.

REALITY 服务端支持 tlshello 形式的分片的本意只是防止“中间人通过对 client hello 分片来识别 REALITY”,所以它应当正常工作

@vfarid 你测试使用的服务端是 sing-box 吗?sing-box 没有同步这项更新

@vfarid
Copy link
Contributor Author

vfarid commented Mar 5, 2024

This is also match with concept of reality sni because the sni in reality is not pointing the server and is fake.

REALITY 服务端支持 tlshello 形式的分片的本意只是防止“中间人通过对 client hello 分片来识别 REALITY”,所以它应当正常工作

@vfarid 你测试使用的服务端是 sing-box 吗?sing-box 没有同步这项更新

May be, i will re-check it.
Unfortunately the right way is to set fragment for each config seperately, but @2dust declined my pr in this regard to keep UI simple for most users who dont need fragment at all. I hope he reconsider his decision...

@a-pav
Copy link

a-pav commented Mar 6, 2024

Unfortunately the right way is to set fragment for each config seperately, but @2dust declined my pr in this regard to keep UI simple for most users who dont need fragment at all. I hope he reconsider his decision...

Perhaps Enable Global Fragment and Enable per-config Fragment (both disabled by default) could be toggles inside the application's settings? This helps with keeping the UI clean for those who don't need fragment at all, and bring it on in cases that it is needed. I imagine this could potentially complicate things under the hood a little bit. But since you already have implemented both the per-config and the global flow, it shouldn't be hard to make them work and coexist together inside the program.

In either way, I still like to have the global fragment settings around, since for me the need for fragment is mostly a network matter, and not necessary a server specific matter.

@arash88
Copy link

arash88 commented Apr 4, 2024

Hey @vfarid jan,
Thanks for your contributions but can you help with making sing-web/Nekobox also support Fragmentation?
Please take a look

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet