DPP
DPP copied to clipboard
Add support for other encryption / decryption methods supported by discord
Is your feature request related to a problem? Please describe.
Currently DPP only supports xsalsa20_poly1305, however discord supports all of these other types:
- aead_aes256_gcm_rtpsize
- aead_aes256_gcm
- aead_xchacha20_poly1305_rtpsize
- xsalsa20_poly1305_lite_rtpsize
- xsalsa20_poly1305_lite
- xsalsa20_poly1305_suffix
Describe the solution you'd like I would like to see all modes supported, or at least rtpsize be implemented.
There is full documentation on how rtpsize works here: https://git.kaydax.xyz/w/algos/src/branch/main/doc/crypt.md
Describe alternatives you've considered None
Additional context This has also been implemented into BetterDisco here: https://github.com/elderlabs/BetterDisco/commit/d988d6a8
we cant use that example code and really we shouldnt even look at it - it is LGPL 3.0 only. Similarly we should not reference betterdiscord or any unofficial client fork. I'm sure we can figure something out though.
we cant use that example code and really we shouldnt even look at it - it is LGPL 3.0 only. Similarly we should not reference betterdiscord or any unofficial client fork. I'm sure we can figure something out though.
I removed the link to the example code from algos because of the license, however the crypt documentation is CC-BY-SA meaning its allowed to be used. Also BetterDisco is not a client modification, its a continuation of disco, the discord bot python library made by b1nzy
We just relicensed the code that is referenced in the docs to be LGPL OR Apache 2.0, so there is no longer any licensing problems: https://git.kaydax.xyz/w/algos/src/branch/main/src/module/util/crypt_impl.cc
great to hear :D
This issue has had no activity and is being marked as stale. If you still wish to continue with this issue please comment to reopen it.
Due to Discord deprecating the old encryption methods in favour for just two (that we pretty much have to implement), this issue no longer makes sense to keep open.
Due to Discord deprecating the old encryption methods in favour for just two (that we pretty much have to implement), this issue no longer makes sense to keep open.
Well the issue still makes sense as you have to implement the methods that are asked for in this issue, and we have more extensive documentation that what discord provides on their documents including a working implementation. So instead of closing as not planned you could have just left it open and closed it as complete when the implementation was done