bookmark-0.1.1 is not a library.
Visit the last successful build:
bookmark-0.1.4
Bookmark Manager
A cross-platform Rust CLI tool to import, search, and open bookmarks from all browsers.
Features
- 🌐 Multi-Browser Support: Chrome, Firefox, Safari, Edge, and more
- 🔍 Instant Search: Search across all your bookmarks by title or URL
- 🚀 Quick Open: Open bookmarks directly in your default browser
- 📊 Export Support: Export bookmarks, history, and passwords to structured formats
- 💾 Multiple Formats: YAML (primary), JSON and CSV support planned
- 🛡️ 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
# Search for bookmarks
# Open a bookmark (first match)
# Open a bookmark (interactive selection)
# List available browsers
# Export bookmarks to YAML
Commands
search - Search across all bookmarks
# Basic search (searches both title and URL)
# Search in title only
# Search in URL only
# Limit results
open - Open bookmarks in default browser
# Open first matching bookmark
# Interactive selection from multiple matches
list - List available browsers and profiles
# List all browsers
# List profiles for specific browser
scan - Automatically detect and export all browsers
# Export bookmarks from all detected browsers
# Export history from all detected browsers
# Export all data types
dedupe - Remove duplicate bookmarks
# Deduplicate bookmarks with merge metadata strategy
# Use different merge strategies
# Preview changes without applying them
# Create backup of original file
organize - Organize bookmarks into folders
# Organize bookmarks using custom rules (default)
# Organize by domain only
# Organize by category only
# Organize by date
# Preserve existing folder structure
# Preview changes without applying them
process - Complete deduplication and organization
# Full processing with default settings
# Custom merge and organization strategies
# Generate detailed report
# Preview changes before applying
# Use configuration file settings
config - Manage configuration
# Show current configuration
# Create sample configuration file
# Add custom organization rule
# Remove custom organization rule
# List all custom rules
# Validate configuration
# Use custom config file
export - Export from specific browser or all browsers
# Export from all browsers
# Export from specific browser
# Export to stdout
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
Search and Open Bookmarks
# Search for GitHub repositories
# Open GitHub homepage directly
# Search for documentation bookmarks
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
Bookmark Deduplication & Organization
Deduplication Features
The bookmark manager now includes advanced deduplication capabilities:
- URL Normalization: Automatically normalizes URLs by ignoring protocols, www subdomains, query parameters, and fragments
- Smart Merging: Multiple merge strategies to handle duplicate bookmarks:
first: Keep the first occurrencelast: Keep the last occurrencerecent: Keep the most recently added bookmarkfrequent: Keep the bookmark with the most common titlemerge: Combine metadata from all duplicates (default)
- Similarity Detection: Finds potential duplicates using URL pattern analysis
Organization Features
Intelligent bookmark organization with multiple strategies:
- Custom Rules: Predefined rules for common categories (Social, Development, Shopping, News, etc.)
- Domain-based: Organizes bookmarks by website domain
- Category-based: Uses content analysis to categorize bookmarks
- Date-based: Groups bookmarks by creation date
- Preserve Existing: Option to maintain existing folder structure while adding new organization
Advanced Processing
The process command combines both deduplication and organization:
# Complete workflow: export → dedupe → organize
Roadmap
v0.2.0 - Enhanced Search & UI ✅ COMPLETED
- ✅ Fuzzy search functionality
- ✅ Bookmark tags and categories
- 🔄 Interactive TUI interface (in progress)
- 🔄 Keyboard shortcuts (in progress)
v0.3.0 - Advanced Features ✅ COMPLETED
- 🔄 Password export from all browsers (in progress)
- 🔄 Brave and Vivaldi browser support (planned)
- 🔄 JSON and CSV export formats (planned)
- ✅ Bookmark deduplication
- 🔄 Web-based interface (planned)
v1.0.0 - Production Release
- Full browser ecosystem support
- Comprehensive testing suite
- Production-ready stability
- Complete documentation