ArmCord / WebCord

A Discord and Fosscord web-based client made with the :electron:.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Znasz 🇵🇱? Przejdź tutaj.

WebCord Logo

WebCord

Electron GitHub downloads Build Pi-Apps badge Pi-Ware badge Unofficial Debian repository

A Discord and Fosscord API-less client made with the Electron.

The main reason of the WebCord existence was previously creating a usable ARM alternative, but nowadays it's development is more around making it more open alternative to the Discord client, which would be both customisable and improving in some aspects like security and privacy. As for now, some tweaks around privacy has been implemented:

  • blocking third-party websites via customisable CSP,
  • blocking unnecessary 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 implemented yet – you can find more about that in this file.

WebCord takes a different 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 made:

  • Chrome/Chromium user-agent spoofing (Discord treats WebCord as the regular browser),

  • spoofing some functions modifications as native (so Discord should treat them same way as they 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 analysing his code. Thanks to his work, this project could begin on its own.

Documentation:

For the newcommers, I recommend to read at least FAQ (to fix common issues and not report them as bugs). You may also read features to know what has I claim my client to support or have implemented. It is strongly advised to read the application license as well.

Wiki pages

Because GitHub Wiki Pages of this project are meant to be 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.

License

This project is redistributed under the terms of 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.

Want to contribute to my project?

  • If you want to improve my code, make a Pull Request and add yourself to the contributors array in package.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.

About

A Discord and Fosscord web-based client made with the :electron:.

License:MIT License


Languages

Language:TypeScript 86.5%Language:CSS 9.3%Language:HTML 4.2%