Znasz 🇵🇱? Przejdź tutaj.
A Discord and Fosscord web-based client made with the Electron API, developed with Electron Forge.
The main reason of the WebCord existence was previously creating a usable ARM alternative, but nowadays it's developement is more around making it more open alternative to the Discord client, which would be both customizable and improving in some aspects like the security and privacy. As for now, some tweaks around the privacy has been implemented:
- blocking third-party websites via customizable CSP,
- blocking unnecesary services and tracers with custom CSP, like Sentry,
- blocking known Discord tracing API requests (
/science
and/tracing
) by the default, - optionally blocking typing indicator (
/typing
).
Please note many features I have plans for hasn't been still implemented yet – you can find more about that in this file.
WebCord takes a differend approach from most clients, as it isn't just a mod of the official client nor does it use the Discord API to be functional – it is currently based on the web version of the Discord, trying to protect the users from being detected as third-party client. It also does a bit more to hide all changes it mades:
-
Chrome/Chromium user-agent spoofing (Discord treats WebCord as the regular browser),
-
spoofing some functions modifications as native (so Discord will treat the same way as it wouldn't be touched by WebCord),
-
hiding the content over removing it (so it can't be simply detected by watching the changes to the HTML code; Discord would need to also watch for the changes within the each of the elements style to detect client designed like that).
This project at first was a fork of the Discord-Electron, but then eventually I had rewritten it as Electron Discord Web App project, which is currently called WebCord (to make that horribly long name a bit shorter 😉). However, because @GyozaGuy made his own project, I learnt much about Electron and how to implement a Discord client with it by analyzing his code. Thanks to his work, this project could begin on its own.
- List of WebCord's features
- Frequently Asked Questions
- Command line / build flags
- Contributing in the application development
- Building, packaging and testing the source code
- Source code directory structure
- Translations
- Supported platforms
- License
- Privacy policy
Because Github Wiki Pages of this project are maintained by the community, they should be considered as a potentially malicious or misleading source of the information. It is recommended to read the official documentation first before you will proceed reading the community-maintained Wiki pages.
This project is redistributed under the MIT License:
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
-
If you want to improve my code, make a Pull Request and add yourself to the
contributors
array inpackage.json
. -
If you want to translate strings in
lang
folder, please visit TRANSLATE.md.
Never made a pull request before? Please refer to this website.