Opencord: Difference between revisions

Jump to navigation Jump to search
m
typo
(Create Opencord page)
 
m (typo)
Line 7: Line 7:
While the original reason for its creation is unknown<sup>[Xinto needed]</sup>, as [[Aliucord|another mobile client mod]] started to mature, it became apparent that adding dozens of fixes onto an outdated client would eventually become unsustainable. While the first 8 months of development were only propelled by [https://github.com/x1nto Xinto], in Apr 2022, [https://github.com/rushiiMachine rushii] started contributing to the project and eventually became one of the two main developers. After an amount of time, most contributions started to be done by only rushii as Xinto focused on other projects. Eventually, rushii stopped work on it as well due to roadblocks in designing a proper architecture, exacerbated by loads of technical debt, and dozens of heated debates over the most minuscule of changes.
While the original reason for its creation is unknown<sup>[Xinto needed]</sup>, as [[Aliucord|another mobile client mod]] started to mature, it became apparent that adding dozens of fixes onto an outdated client would eventually become unsustainable. While the first 8 months of development were only propelled by [https://github.com/x1nto Xinto], in Apr 2022, [https://github.com/rushiiMachine rushii] started contributing to the project and eventually became one of the two main developers. After an amount of time, most contributions started to be done by only rushii as Xinto focused on other projects. Eventually, rushii stopped work on it as well due to roadblocks in designing a proper architecture, exacerbated by loads of technical debt, and dozens of heated debates over the most minuscule of changes.


One of the main goals of the project was to avoid the instability of client mods by reimplementing everything from scratch, instead of relying on patching Discord code which can easily from updates. In doing so, a lot of things could be omitted or simplified, like the intentional exclusion of nitro features. (i.e. super reactions, profile effects, etc.) Having a clean interface that focused on usability and simplicity while remaining functional was an important design goal.
One of the main goals of the project was to avoid the instability of client mods by reimplementing everything from scratch, instead of relying on patching Discord code which can easily due to updates. In doing so, a lot of things could be omitted or simplified, like the intentional exclusion of nitro features. (i.e. super reactions, profile effects, etc.) Having a clean interface that focused on usability and simplicity while remaining functional was an important design goal.


While Discord doesn't "care" about client mods or 3rd party clients, the truth is that if certain API and gateway requests are incorrect, the account will be flagged in a variety of ways and could cause additional captchas, forcing phone verification, or an outright ban.<ref>{{cite web|title=Cordless shutdown notice|url=https://github.com/Bios-Marcel/cordless?tab=readme-ov-file#i-am-closing-down-the-cordless-project}}</ref> This is one of the major reasons why development took so long since the client must act exactly like a [[v126.21]] Discord client, from the identification sent to the API and gateway, to the request content on specific endpoints, to even TLS metadata.<ref>{{cite web|title=JA3 TLS fingerprinting|url=https://github.com/salesforce/ja3}}</ref>
While Discord doesn't "care" about client mods or 3rd party clients, the truth is that if certain API and gateway requests are incorrect, the account will be flagged in a variety of ways and could cause additional captchas, forcing phone verification, or an outright ban.<ref>{{cite web|title=Cordless shutdown notice|url=https://github.com/Bios-Marcel/cordless?tab=readme-ov-file#i-am-closing-down-the-cordless-project}}</ref> This is one of the major reasons why development took so long since the client must act exactly like a [[v126.21]] Discord client, from the identification sent to the API and gateway, to the request content on specific endpoints, to even TLS metadata.<ref>{{cite web|title=JA3 TLS fingerprinting|url=https://github.com/salesforce/ja3}}</ref>

Navigation menu