{"id":13477127,"url":"https://github.com/vegetableman/vandal","last_synced_at":"2026-02-21T00:51:00.681Z","repository":{"id":38963460,"uuid":"188898872","full_name":"vegetableman/vandal","owner":"vegetableman","description":"Navigator for Web Archive","archived":false,"fork":false,"pushed_at":"2023-11-23T13:44:29.000Z","size":134164,"stargazers_count":156,"open_issues_count":21,"forks_count":6,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-10-30T09:35:57.549Z","etag":null,"topics":["chrome-extension","firefox-addon","internet-archiving","wayback-machine","webarchive"],"latest_commit_sha":null,"homepage":"https://vegetableman.github.io/vandal/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vegetableman.png","metadata":{"files":{"readme":"readme.md","changelog":null,"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}},"created_at":"2019-05-27T19:30:44.000Z","updated_at":"2024-09-11T19:28:14.000Z","dependencies_parsed_at":"2023-11-23T14:47:25.655Z","dependency_job_id":null,"html_url":"https://github.com/vegetableman/vandal","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vegetableman%2Fvandal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vegetableman%2Fvandal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vegetableman%2Fvandal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vegetableman%2Fvandal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vegetableman","download_url":"https://codeload.github.com/vegetableman/vandal/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245785591,"owners_count":20671627,"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":["chrome-extension","firefox-addon","internet-archiving","wayback-machine","webarchive"],"created_at":"2024-07-31T16:01:38.550Z","updated_at":"2026-02-21T00:51:00.493Z","avatar_url":"https://github.com/vegetableman.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\r\n  \u003cimg src=\"docs/logo-full.svg\" width=\"250\"\u003e\r\n  \u003cdiv align=\"center\"\u003e\u003ci\u003eNavigator for Web Archive\u003c/i\u003e\u003c/div\u003e\r\n\u003c/p\u003e\r\n\r\n![example workflow](https://github.com/vegetableman/vandal/actions/workflows/test.yml/badge.svg)\r\n[![License: AGPL v3](https://img.shields.io/badge/License-AGPL%20v3-blue.svg)](http://www.gnu.org/licenses/agpl-3.0)\r\n___\r\n\r\n\u003e Vandal is a browser extension that helps you quickly navigate the web archive and travel back in time without leaving the current tab.\r\n\r\n\u003cp align=\"center\"\u003e\r\n  \u003cimg src=\"https://github.com/vegetableman/vandal/raw/master/docs/sample.gif\"\u003e\r\n\u003c/p\u003e\r\n\r\n## Install\r\n[link-chrome]: https://chrome.google.com/webstore/detail/vandal/knoccgahmcfhngbjhdbcodajdioedgdo 'Version published on Chrome Web Store' \r\n\r\n[\u003cimg src=\"https://raw.githubusercontent.com/alrra/browser-logos/90fdf03c/src/chrome/chrome.svg\" width=\"48\" alt=\"Chrome\" valign=\"middle\"\u003e][link-chrome] [\u003cimg valign=\"middle\" src=\"https://img.shields.io/chrome-web-store/v/knoccgahmcfhngbjhdbcodajdioedgdo.svg?label=%20\"\u003e][link-chrome] also compatible with [\u003cimg src=\"https://raw.githubusercontent.com/alrra/browser-logos/90fdf03c/src/brave/brave.svg\" width=\"28\" alt=\"Brave\" valign=\"middle\"\u003e][link-chrome]\r\n\r\n[link-firefox]: https://addons.mozilla.org/en-US/firefox/addon/vandal-navigator/ 'Version published on AMO'\r\n[\u003cimg src=\"https://raw.githubusercontent.com/alrra/browser-logos/90fdf03c/src/firefox/firefox.svg\" width=\"48\" alt=\"Firefox\" valign=\"middle\"\u003e][link-firefox] [\u003cimg valign=\"middle\" src=\"https://img.shields.io/amo/v/vandal-navigator.svg?label=%20\"\u003e][link-firefox]\r\n\r\n---\r\n\r\n- [Why?](#why)\r\n- [Features](#features)\r\n- [Limitations](#limitations)\r\n- [Comparison to Wayback Machine](#comparison-to-wayback-machine)\r\n- [Build](#build)\r\n- [API and Tools Used](#api-and-tools-used)\r\n\r\n## Why?\r\nThe goal of this project is to present an alternate navigation interface to [Wayback Machine](https://web.archive.org/) focused on ease-of-use. At the same time, it tries to capture the essence of ⌛ time-travel in it's own whimsical way. \r\n\r\n## Features\r\nVandal supports the following features for navigation and inspection:\r\n- 📅  Calendar View: The default navigation mode which uses the least amount of surface area with a mini calendar view. Supports a calendar input that shows archival stats and allows selection of month across the years.\r\n- 📊  Graph View: Navigation mode based on graphs of year and month.\r\n- 🧭 Navigator: Built-in browser with ◀️ ▶️ 🔄 actions.\r\n- 🎮  Navigation Panel: A bottom panel with navigation buttons to zip through archived snapshots for a date or across the month.\r\n- 🕛 History Panel: Access your navigation history for a website.\r\n- 💡 Info Panel: Access your current navigation URL and redirection info.\r\n- 🔩 Resource Drawer: A drawer that you can toggle to view timestamp differences of resources such as images, scripts, etc. relative to the page. This drawer updates automatically based on URL.\r\n- ⌛ Historical View: Displays the snapshot of a website throughout the years. This feature is [experimental](https://github.com/vegetableman/vandal/issues/1) ⚠️.\r\n\r\n## Limitations\r\n- It uses Iframe to load a webpage which has inherent limitations, although Vandal does replicate the behaviour of a browser to some degree, for instance, navigation history, reload, etc. It does not work in cases where pages are using frame busters and when the document matching the URL itself is cached using service workers causing the webRequest API to fail. It does notify with an error message for such cases.\r\n- It does not support saving page to Archive. Although, It does notify you to do so on an unarchived page.\r\n\r\n## Comparison to Wayback Machine\r\nVandal is not affliated to Internet Archive. As for features, it's more of a subset to the mighty Wayback Machine.\r\n\r\n## Build\r\n\r\n### Requirements\r\nNode.js version 14 or later is required.\r\n\r\nInstall dependencies:\r\n```sh\r\nnpm install\r\n```\r\n\r\nTo create a build:\r\n```sh\r\nnpm run build \r\n```\r\n\r\nWhen working on the extension, run below to constantly build your changes:\r\n\r\n```sh\r\nnpm run watch # Listen to file changes and automatically rebuild\r\n```\r\n\r\nThen load or reload it into the browser to see the changes.\r\n\r\n### Loading into the browser\r\n\r\nOnce built, load it in the browser of your choice with [web-ext](https://github.com/mozilla/web-ext):\r\n\r\n```sh\r\nnpx web-ext run --target=chromium # Open extension in Chrome\r\n```\r\n\r\n```sh\r\nnpx web-ext run # Open extension in Firefox\r\n```\r\n\r\n## API and Tools Used\r\nVandal uses the [Wayback Machine API](https://archive.org/help/wayback_api.php).\r\n\r\nIt is primarily built on frameworks - [XState](https://github.com/davidkpiano/xstate) and [React](https://github.com/facebook/react). Illustrations and logo was created on [Figma](https://figma.com/), video edited on [Kapwing](https://kapwing.com/) and icons have been plucked from the [Noun Project](https://thenounproject.com/).\r\n\r\nIcons designed by:\r\n[Christian Antonius](https://thenounproject.com/christian_antonius/), [Ralf Schmitzer](https://thenounproject.com/ralfschmitzer/), [Park Sung Hyo](https://thenounproject.com/parksunghyo126/), [Bhuvan](https://thenounproject.com/bhuvan.mahes/), [Sewon Park](https://thenounproject.com/cosmac/), [Alfa Design](https://thenounproject.com/alfadesign/), [Emmanuel Roy](https://thenounproject.com/emmanuelroy/), [unlimicon](https://thenounproject.com/unlimicon/), [Hui Qin Ng](https://thenounproject.com/hui_qin/), [Bluetip Design](https://thenounproject.com/bluetip/), [iconsmind.com](https://thenounproject.com/imicons/), [mikicon](https://thenounproject.com/mikicon/), [Bharat](https://thenounproject.com/bharatkumara321), [Aaron K. Kim](https://thenounproject.com/inspign/), [i cons](https://thenounproject.com/iconsguru/)\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvegetableman%2Fvandal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvegetableman%2Fvandal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvegetableman%2Fvandal/lists"}