Skip to content

Add X-Super-Properties to all user-account requests#1510

Open
AlmightyLks wants to merge 5 commits into
Tyrrrz:primefrom
AlmightyLks:prime
Open

Add X-Super-Properties to all user-account requests#1510
AlmightyLks wants to merge 5 commits into
Tyrrrz:primefrom
AlmightyLks:prime

Conversation

@AlmightyLks

@AlmightyLks AlmightyLks commented Mar 15, 2026

Copy link
Copy Markdown

Possibly fixes #1497

Building off @wavedevgit 's engagement, and @dolfies 's knowledge; Credit where credit is due

@AlmightyLks AlmightyLks changed the title Add X-Super-Properties to all requests Add X-Super-Properties to all user-account requests Mar 15, 2026
@Tyrrrz Tyrrrz added the bug label Mar 15, 2026
@Tyrrrz

Tyrrrz commented Mar 15, 2026

Copy link
Copy Markdown
Owner

@AlmightyLks triggered CI runs

@wmlynik

wmlynik commented Mar 16, 2026

Copy link
Copy Markdown

So far this has been working for a few hours on an account that got disabled twice without this change, first after 2 days of non stop exporting, then after 15 minutes of exporting.

@dolfies

dolfies commented Mar 17, 2026

Copy link
Copy Markdown

Sending only a subset of properties is not really the way to go, though it is a lot better than none

@wavedevgit

Copy link
Copy Markdown

Please do not use linux for the user agent/platform, because sometimes when using linux + a vpn, discord returns 403

@wavedevgit

Copy link
Copy Markdown

Here are the docs for the X-Super-Properties header if anyone needs them: https://docs.discord.food/reference#example-client-properties-(web)

@AlmightyLks

Copy link
Copy Markdown
Author

Please do not use linux for the user agent/platform, because sometimes when using linux + a vpn, discord returns 403

Can't confirm that, export been running for about 5 hours on linux with my vpn on, all works fine.
Maybe, just maybe, it's because of the VPN servers, whose IP have been flagged for abuse, and the VPN is at fault really

@dolfies

dolfies commented Mar 26, 2026

Copy link
Copy Markdown

Linux properties are indeed usually more sensitive unfortunately

@AlmightyLks AlmightyLks marked this pull request as ready for review March 26, 2026 19:30
@AlmightyLks

AlmightyLks commented Mar 26, 2026

Copy link
Copy Markdown
Author

I am open to have it changed to something legitimate for windows
I sadly only run on Linux, I can't guarantee to get a reliable Windows UserAgent

@w568w

w568w commented Apr 1, 2026

Copy link
Copy Markdown

Feedback: On a new account that has not been penalized before, after applying the changes from this PR, I received a 24h ban after ~30 hours of continuous crawling (totaling around 1 million messages). Not sure whether it is normal.

@wavedevgit

Copy link
Copy Markdown

I am open to have it changed to something legitimate for windows I sadly only run on Linux, I can't guarantee to get a reliable Windows UserAgent

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36

@wavedevgit

Copy link
Copy Markdown

Feedback: On a new account that has not been penalized before, after applying the changes from this PR, I received a 24h ban after ~30 hours of continuous crawling (totaling around 1 million messages). Not sure whether it is normal.

Currently this pr only adds some properties in the xsp header, might wanna add all of them; though I can't say for sure that's why your account got banned

@wavedevgit

Copy link
Copy Markdown

any update on this

@AlmightyLks

Copy link
Copy Markdown
Author

Not from my end. @Tyrrrz will have to make a call for how to proceed

This PR of mine seems incomplete in terms of x-super-properties as is right now

@M2ATrail

Copy link
Copy Markdown

I did build from your prime branch and still got banned the second time I tried.

@Tyrrrz

Tyrrrz commented May 25, 2026

Copy link
Copy Markdown
Owner

@copilot resolve the merge conflicts in this pull request

@deepspaceaxolotl

Copy link
Copy Markdown

How's the progress on this? I'm a bit too hesitant to export stuff while knowing that I could get even temporarily suspended, and I'm sure a lot of people who know that it's been an issue are in a similar boat. Would be great to see this fix patched in soon, if possible! ❤️

@wavedevgit

Copy link
Copy Markdown

I think we'd have to implement others missing props, and use windows instead of linux in the user agent.

These are the missing properties that can be hardcoded:

[property: JsonPropertyName("browser")] string Browser = "Chrome",
[property: JsonPropertyName("device")] string Device = "",
[property: JsonPropertyName("system_locale")] string SystemLocale = "en-US",
[property: JsonPropertyName("os_version")] string OperatingSystemVersion = "10",
[property: JsonPropertyName("referrer")] string Referrer = "",
[property: JsonPropertyName("referring_domain")] string ReferringDomain = "",
[property: JsonPropertyName("referrer_current")] string CurrentReferrer = "",
[property: JsonPropertyName("referring_domain_current")] string CurrentReferringDomain = "",
[property: JsonPropertyName("search_engine_current")] string SearchEngineCurrent = "",
[property: JsonPropertyName("mp_keyword_current")] string MpKeywordCurrent = "",
[property: JsonPropertyName("release_channel")] string ReleaseChannel = "stable",
[property: JsonPropertyName("client_event_source")] string? ClientEventSource = null,
[property: JsonPropertyName("has_client_mods")] bool HasClientMods = false,

And those cant be hardcoded

[property: JsonPropertyName("browser_user_agent")] string BrowserUserAgent,
[property: JsonPropertyName("browser_version")] string BrowserVersion,
[property: JsonPropertyName("client_heartbeat_session_id")] Guid ClientHeartbeatSessionId,

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

You broke Discord's community guidelines

8 participants