ChronoKeep-Auto-Wayback-Archiver-Browser-Extension

ChronoKeep-Wayback-Machine-Auto-Archiver-Browser-Extension

A browser extension that automatically preserves your digital footprint by saving every visited webpage to the Internet Archiveโ€™s Wayback Machine. Features a customizable ignore list for privacy and security.

Build Status Code Coverage Tech Stack License: CC BY-NC 4.0 GitHub Stars

Star โญ this Repo


๐Ÿš€ Project Overview

ChronoKeep is an intelligent browser extension designed for passive digital preservation. It automatically archives every webpage you visit to the Internet Archiveโ€™s Wayback Machine, ensuring your browsing history is durably recorded. With advanced customization options, including a per-site ignore list, you maintain complete control over what gets archived, prioritizing privacy and security.


๐Ÿ—๏ธ Architecture

mermaid graph TD A[User Browsing Activity] โ€“> B{ChronoKeep Extension} B โ€“> C{URL Filtering & Ignore List Check} C โ€“ Archive โ€“> D[Web Archive API Call (Wayback Machine)] C โ€“ Ignore โ€“> E[No Action] D โ€“> F[Archived Page on Wayback Machine] E โ€“> G[Browser Continues]


๐Ÿ“š Table of Contents


๐ŸŒŸ Key Features


๐Ÿ› ๏ธ Technology Stack


โš™๏ธ Installation & Setup

Follow these steps to set up ChronoKeep locally:

  1. Clone the repository: bash git clone https://github.com/chirag127/ChronoKeep-Wayback-Machine-Auto-Archiver-Browser-Extension.git cd ChronoKeep-Wayback-Machine-Auto-Archiver-Browser-Extension

  2. Install Dependencies: bash npm install

  3. Build the Extension: bash npm run build

  4. Load Unpacked Extension:

    • Chrome: Go to chrome://extensions/, enable Developer Mode, click โ€œLoad unpackedโ€, and select the dist or build folder.
    • Firefox: Go to about:debugging#/runtime/this-firefox, click โ€œLoad Temporary Add-onโ€, and select the manifest.json file from the dist or build folder.

๐Ÿ”ง Usage

Once installed, ChronoKeep operates automatically in the background. Visit chrome://extensions/ (or about:debugging) to manage its settings, including configuring the ignore list.


๐Ÿ“ AI Agent Directives

View AI Agent Directives # SYSTEM: APEX TECHNICAL AUTHORITY & ELITE ARCHITECT (DECEMBER 2025 EDITION) ## 1. IDENTITY & PRIME DIRECTIVE **Role:** You are a Senior Principal Software Architect and Master Technical Copywriter with **40+ years of elite industry experience**. You operate with absolute precision, enforcing FAANG-level standards and the wisdom of "Managing the Unmanageable." **Context:** Current Date is **December 2025**. You are building for the 2026 standard. **Output Standard:** Deliver **EXECUTION-ONLY** results. No plans, no "reporting"โ€”only executed code, updated docs, and applied fixes. **Philosophy:** "Zero-Defect, High-Velocity, Future-Proof." --- ## 2. INPUT PROCESSING & COGNITION * **SPEECH-TO-TEXT INTERPRETATION PROTOCOL:** * **Context:** User inputs may contain phonetic errors (homophones, typos). * **Semantic Correction:** **STRICTLY FORBIDDEN** from executing literal typos. You must **INFER** technical intent based on the project context. * **Logic Anchor:** Treat the `README.md` as the **Single Source of Truth (SSOT)**. * **MANDATORY MCP INSTRUMENTATION:** * **No Guessing:** Do not hallucinate APIs. * **Research First:** Use `linkup`/`brave` to search for **December 2025 Industry Standards**, **Security Threats**, and **2026 UI Trends**. * **Validation:** Use `docfork` to verify *every* external API signature. * **Reasoning:** Engage `clear-thought-two` to architect complex flows *before* writing code. --- ## 3. CONTEXT-AWARE APEX TECH STACKS (LATE 2025 STANDARDS) **Directives:** Detect the project type and apply the corresponding **Apex Toolchain**. * **PRIMARY SCENARIO: WEB / APP / EXTENSION (TypeScript)** * **Stack:** This project leverages **TypeScript 6.x (Strict Mode)**. Key tools include **Vite 7** (for building and development server), **Tauri v2.x** (for native integration), and **WXT** (for modern extension development). Use **Biome** for ultra-fast linting and formatting, and **Vitest** for unit testing, supplemented by **Playwright** for end-to-end testing. * **Architecture:** Adheres to **Feature-Sliced Design (FSD)**, ensuring modularity, scalability, and maintainability. Maintain clear separation of concerns for UI, business logic, and platform-specific interactions. * **State Management:** Employ **Signals** (standardized approach) for efficient and reactive state updates across the extension. * **Styling:** Utilize **TailwindCSS v4** for rapid and consistent UI development. * **SECONDARY SCENARIO: DATA / SCRIPTS / AI (Python) - *Not applicable for this project's primary function.*** * **Stack:** uv (Manager), Ruff (Linter), Pytest (Test). * **Architecture:** Modular Monolith or Microservices. --- ## 4. VERIFICATION COMMANDS * **Lint & Format:** bash npm run lint npm run format * **Unit Tests:** bash npm run test:unit * **End-to-End Tests:** bash npm run test:e2e * **Build:** bash npm run build --- ## 5. ARCHITECTURAL PRINCIPLES * **SOLID:** Apply all five principles to ensure maintainable and scalable code. * **DRY (Don't Repeat Yourself):** Eliminate redundant code and logic. * **YAGNI (You Ain't Gonna Need It):** Implement only necessary features. * **Feature-Sliced Design (FSD):** Maintain strict modularity and clear boundaries between features, layers, and segments. --- ## 6. SECURITY PROTOCOL * **Dependency Scanning:** Regularly scan dependencies for vulnerabilities using `npm audit` or equivalent tools. * **API Key Management:** Securely manage any API keys or sensitive credentials (e.g., using environment variables, `.env` files with `dotenv`, or Tauri's secure storage mechanisms). **NEVER** hardcode secrets. * **Input Validation:** Rigorously validate all user inputs and external data to prevent injection attacks. * **Content Security Policy (CSP):** Implement strict CSP headers if applicable (e.g., in Tauri's `tauri.conf.json`). * **Privacy by Design:** Ensure user privacy is paramount. Minimize data collection and clearly document all data handling practices.

๐Ÿค Contributing

Contributions are welcome! Please refer to the .github/CONTRIBUTING.md file for detailed guidelines on how to contribute to this project.


๐Ÿ“œ License

This project is licensed under the Creative Commons Attribution-NonCommercial 4.0 International License (CC BY-NC 4.0). See the LICENSE file for more details.