bookmark-0.1.0 is not a library.
Visit the last successful build:
bookmark-0.1.4
Bookmark Exporter
A cross-platform Rust CLI tool to export browser bookmarks, history, and passwords to structured formats.
Features
- 🌐 Multi-Browser Support: Chrome, Firefox, Safari, Edge, and more
- 📊 Comprehensive Data: Export bookmarks, history, and passwords
- 💾 Multiple Formats: YAML (primary), JSON and CSV support planned
- 🔍 Smart Scanning: Automatically detect available browsers and profiles
- 🛡️ Security-Focused: Secure handling of sensitive data
- 🚀 Cross-Platform: Windows, macOS, and Linux support
- ⚡ High Performance: Efficient handling of large browser databases
Quick Start
Installation
Basic Usage
# Scan and export all browser data
# Export specific browser
# List available browsers
Commands
scan - Automatically detect and export all browsers
# Export bookmarks from all detected browsers
# Export history from all detected browsers
# Export all data types
export - Export from specific browser or all browsers
# Export from all browsers
# Export from specific browser
# Export to stdout
list - List available browsers and profiles
# List all browsers
# List profiles for specific browser
Options
--browser: Browser to export from (chrome, firefox, safari, edge, all)--data-type: Type of data to export (bookmarks, history, passwords, all)--output: Output directory or file path (defaults to current directory)--profile-dir: Custom browser data directory
Supported Browsers
| Browser | Bookmarks | History | Passwords | Status |
|---|---|---|---|---|
| Chrome | ✅ | ✅ | 🔄 | Basic support |
| Firefox | ✅ | ✅ | 🔄 | Basic support |
| Safari | ✅ | ✅ | 🔄 | Manual copy required |
| Edge | ✅ | ✅ | 🔄 | Basic support |
| Brave | 🔄 | 🔄 | 🔄 | Planned |
| Vivaldi | 🔄 | 🔄 | 🔄 | Planned |
| Opera | 🔄 | 🔄 | 🔄 | Planned |
✅ Implemented | 🔄 In Progress | 📋 Planned
Safari Manual Export
On macOS, Safari bookmarks are protected. To export Safari bookmarks:
- Open Finder
- Press Shift+Command+G
- Enter:
~/Library/Safari/ - Copy
Bookmarks.plistto your Desktop or Downloads - Run:
cargo run -- export --browser safari --profile-dir ~/Desktop/Bookmarks.plist --data-type bookmarks --output safari-bookmarks.yaml
Firefox Database Lock
If Firefox is running, close it first or copy the database manually:
# Copy Firefox database and export from copy
Output Format
The tool exports data in structured YAML format:
- browser: chrome
profile: Default
export_date:
bookmarks:
- id: "4316"
title: CRM Analytics | Salesforce
url: https://ibmsc.lightning.force.com/analytics/dashboard/0FK3h000000dENLGA2
folder: bookmark_bar/ibm
date_added:
children: null
history:
urls:
- url: https://example.com
title: Example Page
visit_count: 42
last_visit:
passwords: null
Performance
- Memory Usage: < 512MB for typical browser databases
- Export Speed: Complete browser export in < 30 seconds
- Database Size: Handles databases up to 1GB efficiently
- Concurrent Exports: Multiple browsers processed in parallel (planned)
Security
- 🔒 Read-Only Access: Never modifies original browser data
- 🛡️ Secure Handling: No plaintext passwords in logs or temporary files
- 🔑 Platform Integration: Uses OS keychain APIs for password decryption
- 🚫 No Telemetry: All data processing is local and private
Requirements
- Rust 1.70+
- Operating Systems:
- macOS 10.15+
- Windows 10+
- Linux (Ubuntu 20.04+, Fedora 36+, Debian 11+)
Examples
Export all data from all browsers
Export specific data types
# Bookmarks only
# History only
Export from custom profile directory
Development
Build
Test
Run with debug logging
RUST_LOG=debug
Documentation
- 📋 TODO List - Development roadmap and tasks
- 📖 Technical Specification - Detailed technical requirements
- 🏗️ Architecture - System design and implementation
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
License
This project is licensed under the MIT License.
Troubleshooting
Common Issues
- "database is locked": Close the target browser before exporting
- "Operation not permitted": Grant appropriate permissions (Safari on macOS)
- "No browsers found": Check if browsers are installed in standard locations
Getting Help
- Check the TODO.md for known issues
- Review the ARCHITECTURE.md for technical details
- Open an issue for bugs or feature requests
Roadmap
v0.2.0 - Password Support & More Browsers
- Password export from all browsers
- Brave and Vivaldi browser support
- Enhanced security features
- Performance improvements
v0.3.0 - Advanced Features
- JSON and CSV export formats
- Bookmark deduplication
- Web-based interface
- CLI progress indicators
v1.0.0 - Production Release
- Full browser ecosystem support
- Comprehensive testing suite
- Production-ready stability
- Complete documentation