Skip to content

Latest commit

 

History

History
159 lines (108 loc) · 5.04 KB

File metadata and controls

159 lines (108 loc) · 5.04 KB

Donate Latest Release Build Status License: GPL v3

Duolingo Desktop

An unofficial Linux desktop application for Duolingo that wraps the official web application in a dedicated Electron window and blocks common trackers.

Preview screenshot

📑 Table of Contents

✨ Capabilities

  • Opens Duolingo in a standalone desktop window.
  • Removes common tracking query parameters from requests.
  • Blocks a small set of advertising, telemetry, and attribution domains.
  • Sends Do Not Track and Global Privacy Control headers by default.

🚀 Usage

After installation, launch the application from your desktop menu. If you prefer to start it from a terminal, run:

dl-desktop

The application opens Duolingo directly and applies the built-in privacy filters automatically.

⚠️ Known Limitations

  • This is an unofficial client and depends on Duolingo's web application.
  • Only the FlatHub package is officially supported in this repository.
  • The AUR and Snap packages are community-maintained.
  • Behaviour can change if Duolingo updates its web application.

🖥️ System Requirements

  • OS: Linux
  • RAM: 2 GB
  • Network: An active internet connection
  • Desktop: A graphical desktop environment capable of running Electron applications

📦 Installation

Obtain it from FlatHub Obtain it from Snap Store Obtain it from AUR Obtain it from GitHub

The FlatHub package is the only distribution channel that is officially supported by this repository. The AUR and Snap packages are maintained by the community.

CLI Installation

To install the FlatHub package:

flatpak install flathub ro.go.hmlendea.DL-Desktop

To install the Snap package:

snap install duolingo-desktop

On Arch Linux, install the AUR package with your preferred helper:

paru -S duolingo-desktop-bin

or, if you use yay:

yay -S duolingo-desktop-bin

Manual Installation

Download the latest GitHub release, extract it, and run the packaged binary on a supported Linux system.

🛠️ Development

Requirements

Setup

npm install

Build

npm run build

Run

npm start

🤝 Contributing

You are welcome to submit any suggestion, feedback, or modification to this project.

When doing so, please:

  • Maintain cross-platform compatibility
  • Maintain the pull requests as focused and consistent with the existing code style
  • Maintain your branch up-to-date with master
  • Revise the documentation when behaviour changes
  • Properly test all changes

🙏 Acknowledgements

  • Duolingo, for the language-learning platform this application wraps.
  • creepertron95 for the icon artwork used by the application.
  • All contributors who have helped maintain the project.

🔒 Security

For information on reporting security vulnerabilities, see SECURITY.md.

💖 Supporting the Project

Discovered a problem or have a suggestion? Open an issue!

If you find this project useful, consider funding it or starring ⭐️ it on GitHub!

Donate

📄 License

This project is being distributed under the GNU General Public License v3.0 or later. See LICENSE for further information.