Midori Browser: A lightweight, fast, and secure browser that prioritizes privacy and user choice.
Built on Mozilla Firefox β’ Open Source β’ Cross-Platform β’ Ad Blocker β’ Workspace Manager
π Official Website γ» π₯ Download γ» π° Blog & Release Notes γ» π¬ Support Community γ» π‘ GitHub Discussions
- β¨ Key Features
- π¬ Screenshots
- β‘ Get Started
- π System Requirements
- π₯ Installation
- ποΈ Architecture & Tech Stack
- π€ Contributing
- π Good First Issues for New Contributors
- π Documentation
- π License
- π§ Contact & Support
| Feature | Description |
|---|---|
| π Privacy First | Built-in ad blocker, tracker blocker, and privacy-focused default settings |
| β‘ Lightning Fast | Optimized performance with minimal resource footprint |
| π Cross-Platform | Available for Windows, macOS, and Linux (x86_64 & ARM64) |
| π± Workspace Manager | Organize your browsing with custom workspaces |
| π Custom Search Engine | Midori's own search engine + support for popular alternatives |
| π New Tab Suite | Smart new tab page with personalized content |
| π Security Focused | Built on Firefox's robust security model with enhanced protections |
| π§ Email & Contacts Sync | Native CalDAV, CardDAV, and email integration |
| π¨ Customizable UI | Themes, extensions, and flexible UI customization |
| π Open Source | Mozilla Public License 2.0 - community-driven development |
πΈ Screenshots coming soon! We're updating our gallery to showcase Midori's beautiful interface and powerful features.
In the meantime, visit astian.org/midori-browser for a visual tour.
- OS: Windows 10 or later (Windows 7, 8 not supported)
- Architecture: x86_64 (AArch64 not yet supported)
- Installation: EXE installer or Winget package
- Note: Installer is signed by "Open Source Developer, Astian, Inc". Daylight builds are unsigned.
- OS: macOS 10.12 or later
- Architecture: Universal build (x86_64 + ARM64)
- Installation: DMG with auto-update system
- Note: Apple certification in progress
- Distributions: Debian-based (Ubuntu, Mint) & Arch-based (Manjaro)
- Architecture: x86_64 & AArch64
- Requirements: See Firefox Linux System Requirements
- Installation: APT package via Astian repository
# Add Astian GPG key
sudo wget -O /etc/apt/trusted.gpg.d/midori-archive-keyring.gpg \
http://repo.astian.org/midori-archive-keyring.gpg
# Add repository
echo "deb http://repo.astian.org midori main" | \
sudo tee /etc/apt/sources.list.d/midori.list
# Install
sudo apt update
sudo apt install midoriDownload from astian.org/midori-browser/download or use:
# Via Homebrew (when available)
brew install midoriDownload the EXE installer or use Winget:
winget install midori-browserMidori Browser is built on Mozilla Firefox's core with custom enhancements:
- Engine: Gecko.
- Frontend: C++, JavaScript, XUL/HTML5
- Extensions: WebExtensions API compatible
- Backend Services: Node.js + TypeScript (Sync, Settings)
- Database: PostgreSQL + SQLite (embedded)
- Build System: Moz.build / Gradle
engine/ # Gecko-based browser engine & UI
src/ # Custom Midori modules & extensions
scripts/ # Build & development scripts
tests/ # E2E tests (Playwright)
locales/ # Multi-language support (60+ languages)
configs/ # Platform-specific configurations
For detailed architecture, see engine/CLAUDE.md and ROADMAP.md.
We β€οΈ contributions from the community! Whether you're fixing bugs, adding features, improving docs, or translating Midori, here's how to get started:
-
Fork & Clone
git clone https://github.com/YOUR-USERNAME/midori-desktop.git cd midori-desktop -
Pick an Issue
- Start with Good First Issues (labeled
good-first-issue) - Browse all issues
- Or start a discussion
- Start with Good First Issues (labeled
-
Set Up Development Environment
./mach bootstrap # One-time setup ./mach build # Build the browser ./mach run # Run Midori locally
-
Make Your Changes
- Create a feature branch:
git checkout -b feature/your-feature - Follow code style guidelines
- Write/update tests as needed
- Create a feature branch:
-
Submit a Pull Request
- Push to your fork
- Create a PR against
mainbranch - Reference related issues:
Closes #123 - Respond to code review feedback
| Area | Difficulty | Skills | Examples |
|---|---|---|---|
| Bug Fixes | β-ββ | C++, JavaScript | Crash fixes, memory leaks, UI glitches |
| UI/UX | ββ | HTML5, CSS, JavaScript | New Tab improvements, settings UI |
| Translations | β | Localization, language | Support more languages/regions |
| Performance | βββ | Profiling, optimization | Load times, memory usage |
| Security | ββββ | Crypto, networking, protocols | Privacy features, data protection |
| Documentation | β | Technical writing | READMEs, architecture docs, guides |
| Testing | ββ | Playwright, automation | E2E tests, CI improvements |
We are committed to providing a welcoming and inclusive environment. Please read our Code of Conduct before contributing.
Looking to make your first contribution? Good First Issues are carefully selected tasks perfect for newcomers while being genuinely useful to the project.
β
Learn by Contributing β Gain real-world experience with a real-world project
β
Get Mentorship β Core team reviews and guides your work
β
Build Your Portfolio β Showcase your work on GitHub
β
Become a Promoter β Contributors often become our best community ambassadors
β
Earn Recognition β Featured in monthly contributor spotlights
- Filter by Label: Issues labeled
good-first-issue - Filter by Difficulty: Help wanted + documentation
- Join Discussions: Ask questions in GitHub Discussions
All good-first-issue labeled issues meet these standards:
- β Scoped to 1-2 files maximum
- β Under 200 lines of code change
- β Clear acceptance criteria (what "done" looks like)
- β Step-by-step guide in issue description
- β Mentor assigned (will review your PR)
- β Estimated time: 1-4 hours for someone new to the codebase
| Issue | Area | Time | Skills |
|---|---|---|---|
| #1234 - Improve error messages in settings | UI/UX | 1-2h | JavaScript, HTML |
| #1235 - Add missing translation keys | i18n | 1h | Localization |
| #1236 - Fix documentation links | Docs | 30m | Markdown |
π‘ Pro Tip: Comment on an issue saying "I'd like to work on this" and a maintainer will assign it to you!
After completing a good first issue, consider:
- π Write a blog post about your experience
- π¦ Share your PR on social media and tag us
- π€ Give feedback on the contribution process
- π Level up to harder issues and become a core contributor
- π₯ Mentor others in our community
- π Contributing Guide β How to build, test, and submit PRs
- ποΈ Architecture Documentation β Deep dive into Midori's design
- πΊοΈ Roadmap β What's coming next
- π Security Policy β Responsible disclosure
- π± Browser Extension Development β Create Midori extensions
- π API Documentation β For backend services
# Clone the repository
git clone https://github.com/goastian/midori-desktop.git
cd midori-desktop
# Bootstrap development environment (first time)
./mach bootstrap
# Build Midori
./mach build
# Run development build
./mach run
# Run tests
./mach test
# Run E2E tests
npm run test:e2eSee BUILD.md for platform-specific build instructions and troubleshooting.
Midori Browser is licensed under the Mozilla Public License 2.0 (MPL-2.0).
- β’ Midori Browser name is a registered trademark of Astian, Inc
- Β© Midori logo is protected by copyright
- π Midori is based on Mozilla Firefox (Gecko engine)
β οΈ Midori is not affiliated with Mozilla or Mozilla Firefox- π Full license dependencies: FOSSA Report
- π¬ GitHub Discussions β Ask questions & share ideas
- π Official Support Community β Community forums
- π Report a Bug β Found an issue?
- π‘ Suggest a Feature β Have an idea?
- π§ Send Feedback β Direct feedback form
- π¦ Twitter/X β Latest updates & news
- π¬ Telegram β Chat with the community
- π₯ Official Website β Learn more
Midori is open-source and maintained by volunteers. Love Midori? Support us:
- β Star this repository β Shows your support!
- π Donate on Stripe β One-time or recurring
- π€ Become a Patron β Monthly support
- π¨βπ» Contribute Code β Your skills matter most
- π£ Spread the Word β Tell friends about Midori
Midori Browser is dedicated to providing users with a fast, secure, and private browsing experience that respects their digital rights and gives them control over their data. We believe the web should be free and open for everyone.
| Component | Status | Last Updated |
|---|---|---|
| CI/CD Pipeline | Daily | |
| Build Status | Weekly | |
| Latest Release | On tag | |
| openSUSE Build | Continuous |
You can contribute through a donation on our website. We recommend that you first read our manifesto and then donate here we leave you the links
- Manifest
- Donate
- Midori on Open collective(https://opencollective.com/midori-browser)
Midori Desktop project is supported by ADS.FUND
See Development
-
We want to support as many languages as possible. If you want to translate Midori Browser, please clone the l10n-central repository.
-
English is the main language. If you want to translate Midori Browser, please translate from English (en-US)
-
Midori's English file is located in the Midori-Strings repository.
- If you find a bug, please report it to the Issues page or using Official Support Site.