{"id":26050938,"url":"https://github.com/helloprkr/chrome-chronicle","last_synced_at":"2026-05-10T03:40:36.829Z","repository":{"id":281205452,"uuid":"944547152","full_name":"helloprkr/chrome-chronicle","owner":"helloprkr","description":"Your browsing history, beautifully chronicled.","archived":false,"fork":false,"pushed_at":"2025-03-07T15:31:57.000Z","size":0,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-07T15:36:18.142Z","etag":null,"topics":["archive","browser","browser-automation","chrome","documentation","history","python","shell","url","urlsession"],"latest_commit_sha":null,"homepage":"","language":"Mermaid","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/helloprkr.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-07T14:40:38.000Z","updated_at":"2025-03-07T15:32:00.000Z","dependencies_parsed_at":"2025-03-07T15:48:46.720Z","dependency_job_id":null,"html_url":"https://github.com/helloprkr/chrome-chronicle","commit_stats":null,"previous_names":["helloprkr/chrome-chronicle"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/helloprkr%2Fchrome-chronicle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/helloprkr%2Fchrome-chronicle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/helloprkr%2Fchrome-chronicle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/helloprkr%2Fchrome-chronicle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/helloprkr","download_url":"https://codeload.github.com/helloprkr/chrome-chronicle/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242494268,"owners_count":20138107,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["archive","browser","browser-automation","chrome","documentation","history","python","shell","url","urlsession"],"created_at":"2025-03-08T03:21:53.584Z","updated_at":"2026-05-10T03:40:31.803Z","avatar_url":"https://github.com/helloprkr.png","language":"Mermaid","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📜 ChromeChronicle\n\n\u003cdiv align=\"center\"\u003e\n\n```\n   ___ _                             ___ _                      _      _      \n  / __\\ |__  _ __ ___  _ __ ___     / __\\ |__  _ __ ___  _ __ (_) ___| | ___ \n / /  | '_ \\| '__/ _ \\| '_ ` _ \\   / /  | '_ \\| '__/ _ \\| '_ \\| |/ __| |/ _ \\\n/ /___| | | | | | (_) | | | | | | / /___| | | | | | (_) | | | | | (__| |  __/\n\\____/|_| |_|_|  \\___/|_| |_| |_| \\____/|_| |_|_|  \\___/|_| |_|_|\\___|_|\\___|\n                                                                              \n\n                        .__.__.__.__.__.__.__.__.__.\n                       /                           /|\n                      /__________________________/ |\n                      |  ___________________     | |\n                      | |                   |    | |\n                      | |  📜 ChromeChronicle   | |\n                      | |                   |    | |\n                      | |  Your browsing    |    | |\n                      | |  history,         |    | |\n                      | |  beautifully      |    | |\n                      | |  chronicled.      |    | |\n                      | |___________________|    | |\n                      |_________________________|/ \n```\n\n*Your browsing history, beautifully chronicled.*\n\n[![GitHub stars](https://img.shields.io/github/stars/helloprkr/chrome-chronicle?style=social)](https://github.com/helloprkr/chrome-chronicle/stargazers)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![macOS](https://img.shields.io/badge/platform-macOS-blue.svg)](https://www.apple.com/macos)\n\n\u003c/div\u003e\n\n## 🌟 Overview\n\nChromeChronicle automatically extracts your daily Chrome browsing history and saves it as beautifully formatted markdown files, organized by month. Keep track of your digital journeys with minimal effort!\n\n### ✨ Key Features\n\n- 🔄 **Daily Automation**: Set it once, and forget it! Runs daily at your specified time\n- 📊 **Beautiful Markdown Format**: Your history presented in an easy-to-read table format\n- 📂 **Organized by Month**: Automatically creates and organizes files into year-month directories\n- 📱 **Lightweight**: Minimal system impact, runs in the background\n- 🔒 **Local Storage**: Your data stays on your machine, ensuring privacy\n\n\u003cdiv align=\"center\"\u003e\n\n![Example Output](./images/02.png)\n\n\u003c/div\u003e\n\n## 📋 Requirements\n\n- macOS (10.15 Catalina or newer)\n- Python 3.6+\n- Google Chrome browser\n- Basic Terminal knowledge\n\n## 🚀 Installation\n\n### Option 1: Quick Install (Recommended)\n\n1. Clone this repository:\n   ```bash\n   git clone https://github.com/helloprkr/chrome-chronicle.git\n   cd chrome-chronicle\n   ```\n\n2. Run the installation script:\n   ```bash\n   chmod +x install_chrome_history_automation.sh\n   ./install_chrome_history_automation.sh\n   ```\n\n3. You're all set! ChromeChronicle will run daily at 11:45 PM by default.\n\n### Option 2: Manual Installation\n\n\u003cdetails\u003e\n\u003csummary\u003eClick to expand manual installation steps\u003c/summary\u003e\n\n1. Clone this repository:\n   ```bash\n   git clone https://github.com/helloprkr/chrome-chronicle.git\n   cd chrome-chronicle\n   ```\n\n2. Make the Python script executable:\n   ```bash\n   chmod +x chrome_history_extractor.py\n   ```\n\n3. Edit the plist file to update paths:\n   ```bash\n   nano com.user.chromehistory.plist\n   ```\n   Replace all instances of `REPLACE_WITH_FULL_PATH` with the full path to your ChromeChronicle directory.\n\n4. Copy the plist file to your LaunchAgents directory:\n   ```bash\n   mkdir -p ~/Library/LaunchAgents\n   cp com.user.chromehistory.plist ~/Library/LaunchAgents/\n   ```\n\n5. Load the launchd job:\n   ```bash\n   launchctl load ~/Library/LaunchAgents/com.user.chromehistory.plist\n   ```\n\n\u003c/details\u003e\n\n## 🖥️ Usage\n\nChromeChronicle will automatically run every day at the scheduled time (default: 11:45 PM). Your browsing history will be saved in markdown format in the directory structure:\n\n```\nYYYY-MM/YYYY-MM-DD_URL-History.md\n```\n\nFor example:\n```\n2025-03/2025-03-07_URL-History.md\n```\n\n### 📝 Manual Execution\n\nYou can run ChromeChronicle manually at any time:\n\n```bash\npython3 /path/to/chrome-chronicle/chrome_history_extractor.py\n```\n\n\u003cdiv align=\"center\"\u003e\n\n![Usage Workflow](./images/03.png)\n\n\u003c/div\u003e\n\n## 🛠️ Customization\n\n### Changing the Schedule\n\nTo change when ChromeChronicle runs:\n\n1. Unload the current configuration:\n   ```bash\n   launchctl unload ~/Library/LaunchAgents/com.user.chromehistory.plist\n   ```\n\n2. Edit the plist file:\n   ```bash\n   nano ~/Library/LaunchAgents/com.user.chromehistory.plist\n   ```\n\n3. Update the `Hour` and `Minute` values under `StartCalendarInterval`.\n\n4. Reload the configuration:\n   ```bash\n   launchctl load ~/Library/LaunchAgents/com.user.chromehistory.plist\n   ```\n\n### Output Format Customization\n\nTo customize the Markdown output format, edit the `extract_chrome_history()` function in `chrome_history_extractor.py`.\n\n## 🔍 Troubleshooting\n\n\u003cdetails\u003e\n\u003csummary\u003eNo history is being saved\u003c/summary\u003e\n\nCheck the following:\n- Ensure Chrome is installed in the default location\n- Verify your LaunchAgent is loaded properly:\n  ```bash\n  launchctl list | grep chromehistory\n  ```\n- Check log files for errors:\n  ```bash\n  cat ~/path/to/chrome-chronicle/chrome_history_error.log\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eInstallation script fails\u003c/summary\u003e\n\n- Make sure you have the proper permissions\n- Try running the manual installation steps\n- Check if Python 3 is installed correctly:\n  ```bash\n  python3 --version\n  ```\n\u003c/details\u003e\n\n## 🧩 Technical Details\n\n### How It Works\n\n\u003cdiv align=\"center\"\u003e\n\n![Architecture Diagram](./images/04.png)\n\n\u003c/div\u003e\n\nChromeChronicle works by:\n\n1. Creating a temporary copy of Chrome's SQLite history database\n2. Querying for URLs visited on the current day\n3. Converting Chrome's timestamp format (microseconds since Jan 1, 1601)\n4. Formatting the data into a readable markdown table\n5. Organizing files by year and month\n\n## 📚 Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add some amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## 📜 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 💖 Acknowledgments\n\n- Inspired by the need to better understand our digital journeys\n- Thanks to the SQLite project for making database access so straightforward\n- Special thanks to all Alxmnt Ai Labs Team for their support and guidance!\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\nMade with ❤️ by [HelloPrkr](https://github.com/helloprkr)\n\nIf you find ChromeChronicle useful, please consider giving it a ⭐ on GitHub and sharing it with friends!\n\n\u003c/div\u003e\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhelloprkr%2Fchrome-chronicle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhelloprkr%2Fchrome-chronicle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhelloprkr%2Fchrome-chronicle/lists"}