Flutter desktop web browser with tabs, bookmarks, history.
git clone https://github.com/bniladridas/browser.git
cd browser
flutter pub get
cp .env.example .env # Fill in Firebase credentials from your Firebase project
flutterfire configure --platforms macos # This will generate platform-specific files and may overwrite lib/firebase_options.dart
git checkout -- lib/firebase_options.dart # Restore the version that uses environment variables
flutter runNote: Do not commit .env to version control. It contains sensitive Firebase keys.
Enter URLs. Navigate via buttons or shortcuts: Cmd+L focus, Cmd+R refresh, Alt+Left/Right back/forward.
Requires Flutter >=3.0.0.
Run ./check.sh for checks.
Build: flutter build macos.
Unsigned builds will trigger macOS Gatekeeper warnings. This is expected without a paid Developer ID and notarization.
- Drag
browser.appto Applications. - Right-click
browser.appand choose Open, then Open again. - Or go to System Settings → Privacy & Security and click Open Anyway.
xattr -rd com.apple.quarantine /Applications/browser.appOnly run this if you trust the source.
Codex-specific notes and helper assets live in .codex/README.md.
Usage:
- Check
.codex/NOTES.mdfor conventions. - Use
.codex/WORKFLOWS.mdfor repeatable tasks. - Add new AI-specific guidance in
.codex/.
This project uses .gitattributes to mark generated files (e.g., from freezed, build_runner) as linguist-generated. This hides them from GitHub diffs and language statistics, keeping pull requests focused on hand-written code.
Common generated paths include:
build/**and.dart_tool/**(Flutter build artifacts)lib/**/*.freezed.dartandlib/**/*.g.dart(code-generated Dart files)- Platform-specific directories like
android/**,ios/**
To unmark a specific file, add -linguist-generated in .gitattributes.
Fork, branch, edit, run ./check.sh, commit, PR with labels for version bump.
MIT.