Compare any website's past with its present — side by side.
A Chrome Extension (Manifest V3) that fetches a website's historical snapshot from the Wayback Machine and displays it alongside the live version in a split-screen view.
- 🔍 Instant Snapshot Search — Single API call to the Wayback Machine with CDX API fallback
- 🖥️ Split-Screen Comparison — View archived and live versions side by side
- 📅 Date Picker — Choose any past date to find the closest snapshot
↔️ Layout Toggle — Switch between horizontal and vertical layouts- 👁️ Panel Toggle — Show/hide live or archive panels independently
- ⌨️ Keyboard Shortcuts —
Alt+H(horizontal),Alt+V(vertical),Alt+L(toggle live),Alt+A(toggle archive) - 🔓 Header Bypass — Strips
X-Frame-Optionsand CSP headers so most sites load inside iframes - 💾 Persistent Preferences — Remembers your last date pick and layout choice
Install directly from the Chrome Web Store with one click:
-
Clone the repository:
git clone https://github.com/Silver595/Time-Travel.git
-
Open Chrome Extensions:
- Navigate to
chrome://extensions/ - Enable Developer mode (top-right toggle)
- Navigate to
-
Load the extension:
- Click "Load unpacked"
- Select the
Time-Travelfolder
-
Pin the extension to your toolbar for quick access.
- Navigate to any website you want to compare.
- Click the 🧭 Time Travel icon in your toolbar.
- Optionally select a past date using the date picker.
- Click 🔍 Compare.
- A new tab opens with the archive snapshot (left) and live site (right) side by side.
Time-Travel/
├── manifest.json # Extension configuration (MV3)
├── popup.html # Extension popup UI
├── popup.js # Popup logic — Wayback API calls
├── splitscreen.html # Split-screen comparison page
├── splitscreen-script.js # Split-screen logic — iframes, layout, header bypass
├── styles.css # Custom layout styles
├── tailwind.min.css # Bundled TailwindCSS (local, no CDN)
├── icon16.png # Extension icons
├── icon48.png
├── icon128.png
└── SECURITY_REPORT.md # Detailed security audit & changelog
| Permission | Why It's Needed |
|---|---|
activeTab |
Get the URL of the tab you're currently viewing |
tabs |
Query tab information and open the split-screen view |
storage |
Save your date picker selection and layout preference |
declarativeNetRequest |
Strip X-Frame-Options / CSP headers so live sites load in iframes |
<all_urls> (host) |
Required by declarativeNetRequest to modify response headers for any site |
| Shortcut | Action |
|---|---|
Alt + H |
Switch to horizontal layout |
Alt + V |
Switch to vertical layout |
Alt + L |
Toggle live site panel |
Alt + A |
Toggle archive panel |
┌──────────────┐ Wayback API ┌─────────────────┐
│ popup.js │ ──────────────────────► │ archive.org │
│ (user click)│ ◄────────────────────── │ (availability │
└──────┬───────┘ closest snapshot │ + CDX APIs) │
│ └─────────────────┘
│ opens new tab
▼
┌──────────────────────────────────────────────────┐
│ splitscreen.html │
│ ┌────────────────────┬────────────────────┐ │
│ │ Archive iframe │ Live iframe │ │
│ │ (web.archive.org) │ (original site) │ │
│ └────────────────────┴────────────────────┘ │
│ declarativeNetRequest strips X-Frame-Options │
│ from responses (scoped to this tab only) │
└──────────────────────────────────────────────────┘
- 🔒 Security hardened — URL validation, CSP, bundled Tailwind, no content scripts
- ⚡ Performance — Single API call instead of 31 sequential requests
- 🔓 Header bypass —
declarativeNetRequestsession rules strip iframe blockers - 🧹 Removed unused
content.js
- Basic Wayback Machine integration
- Split-screen comparison view
- Fork the repository
- Create a feature branch (
git checkout -b feature/my-feature) - Commit your changes (
git commit -m 'Add my feature') - Push to the branch (
git push origin feature/my-feature) - Open a Pull Request
Your privacy matters. This extension:
- ✅ Does not collect or sell any user data
- ✅ Does not track your browsing activity
- ✅ Does not transfer data for purposes unrelated to core functionality
- ✅ Does not use data for creditworthiness or lending purposes
Read the full Privacy Policy.
This project is open source under the MIT License.
Made with ❤️ by Silver595