// ==UserScript==
// @name Jump to Web Archives
// @description Adds menu commands to jump to Wayback Machine, TimeTravel, and Archive.is versions of current page
// @name:zh-CN 跳转到Web Archives
// @description:zh-CN 添加菜单命令以跳转到当前页面的Wayback Machine、TimeTravel和Archive.is版本
// @name:ar القفز إلى أرشيفات الويب
// @description:ar يضيف أوامر القائمة للانتقال إلى إصدارات Wayback Machine وTimeTravel وArchive.is للصفحة الحالية
// @name:bg Прехвърляне към уеб архиви
// @description:bg Добавя команди в менюто за прехвърляне към версиите на текущата страница в Wayback Machine, TimeTravel и Archive.is
// @name:cs Přejít na webové archivy
// @description:cs Přidává příkazy do nabídky pro přechod na verze aktuální stránky v Wayback Machine, TimeTravel a Archive.is
// @name:da Hop til webarkiver
// @description:da Tilføjer menukommandoer til at hoppe til Wayback Machine-, TimeTravel- og Archive.is-versioner af den aktuelle side
// @name:de Zu Webarchiven springen
// @description:de Fügt Menübefehle hinzu, um zu den Versionen der aktuellen Seite in Wayback Machine, TimeTravel und Archive.is zu springen
// @name:el Μετάβαση σε Αρχεία Ιστοσελίδων
// @description:el Προσθέτει εντολές μενού για μετάβαση στις εκδόσεις της τρέχουσας σελίδας σε Wayback Machine, TimeTravel και Archive.is
// @name:en Jump to Web Archives
// @description:en Adds menu commands to jump to Wayback Machine, TimeTravel, and Archive.is versions of current page
// @name:eo Salti al Retaj Arkivoj
// @description:eo Aldonas menuokomandojn por salti al versioj de la nuna paĝo en Wayback Machine, TimeTravel kaj Archive.is
// @name:es Saltar a Archivos Web
// @description:es Agrega comandos de menú para saltar a las versiones de la página actual en Wayback Machine, TimeTravel y Archive.is
// @name:fi Hyppää verkkokaivistoihin
// @description:fi Lisää valikkokomennot siirtymiseen nykyisen sivun Wayback Machine-, TimeTravel- ja Archive.is-versioihin
// @name:fr Aller aux archives web
// @description:fr Ajoute des commandes de menu pour passer aux versions de la page actuelle sur Wayback Machine, TimeTravel et Archive.is
// @name:fr-CA Sauter aux archives web
// @description:fr-CA Ajoute des commandes de menu pour accéder aux versions de la page actuelle sur Wayback Machine, TimeTravel et Archive.is
// @name:he קפיצה לארכיוני רשת
// @description:he מוסיף פקודות תפריט לקפיצה לגרסאות של הדף הנוכחי ב-Wayback Machine, TimeTravel ו-Archive.is
// @name:hr Skoči na web arhive
// @description:hr Dodaje naredbe u izbornik za skok na verzije trenutne stranice u Wayback Machine, TimeTravel i Archive.is
// @name:hu Ugrás a webarchívumokhoz
// @description:hu Menüparancsokat ad hozzá az aktuális oldal Wayback Machine, TimeTravel és Archive.is verzióira való ugráshoz
// @name:id Lompat ke Arsip Web
// @description:id Menambahkan perintah menu untuk melompat ke versi halaman saat ini di Wayback Machine, TimeTravel, dan Archive.is
// @name:it Salta agli archivi web
// @description:it Aggiunge comandi al menu per passare alle versioni della pagina corrente su Wayback Machine, TimeTravel e Archive.is
// @name:ja ウェブアーカイブにジャンプ
// @description:ja 現在のページのWayback Machine、TimeTravel、Archive.isバージョンにジャンプするメニューコマンドを追加
// @name:ka გადასვლა ვებ არქივებზე
// @description:ka ამატებს მენიუს ბრძანებებს მიმდინარე გვერდის Wayback Machine, TimeTravel და Archive.is ვერსიებზე გადასასვლელად
// @name:ko 웹 아카이브로 이동
// @description:ko 현재 페이지의 Wayback Machine, TimeTravel, Archive.is 버전으로 이동하는 메뉴 명령 추가
// @name:nb Hopp til nettarkiver
// @description:nb Legger til menykommandoer for å hoppe til Wayback Machine-, TimeTravel- og Archive.is-versjoner av gjeldende side
// @name:nl Spring naar webarchieven
// @description:nl Voegt men-commando's toe om te springen naar Wayback Machine-, TimeTravel- en Archive.is-versies van de huidige pagina
// @name:pl Przejdź do archiwów internetowych
// @description:pl Dodaje polecenia menu do przechodzenia na wersje bieżącej strony w Wayback Machine, TimeTravel i Archive.is
// @name:pt-BR Pular para Arquivos Web
// @description:pt-BR Adiciona comandos de menu para pular para as versões da página atual no Wayback Machine, TimeTravel e Archive.is
// @name:ro Salt la Arhive Web
// @description:ro Adaugă comenzi de meniu pentru a trece la versiunile paginii curente pe Wayback Machine, TimeTravel și Archive.is
// @name:ru Перейти к веб-архивам
// @description:ru Добавляет команды меню для перехода к версиям текущей страницы в Wayback Machine, TimeTravel и Archive.is
// @name:sk Prejsť na webové archívy
// @description:sk Pridáva príkazy do ponuky na presun na verzie aktuálnej stránky v Wayback Machine, TimeTravel a Archive.is
// @name:sr Скочи на веб архиве
// @description:sr Додаје команде у мени за прелазак на верзије тренутне странице у Wayback Machine, TimeTravel и Archive.is
// @name:sv Hoppa till webbarkiv
// @description:sv Lägger till menykommandon för att hoppa till Wayback Machine-, TimeTravel- och Archive.is-versioner av den aktuella sidan
// @name:th กระโดดไปยังคลังเว็บ
// @description:th เพิ่มคำสั่งเมนูเพื่อกระโดดไปยังเวอร์ชันของหน้าปัจจุบันใน Wayback Machine, TimeTravel และ Archive.is
// @name:tr Web Arşivlerine Atla
// @description:tr Geçerli sayfanın Wayback Machine, TimeTravel ve Archive.is sürümlerine atlamak için menü komutları ekler
// @name:ug تور ئارخىپىغا ئاتلاش
// @description:ug ھازىرقى بەتنىڭ Wayback Machine، TimeTravel ۋە Archive.is نەشرىلىرىگە ئاتلاش ئۈچۈن تىزىملىك بۇيرۇقلىرىنى قوشىدۇ
// @name:uk Перейти до веб-архівів
// @description:uk Додає команди меню для переходу до версій поточної сторінки в Wayback Machine, TimeTravel та Archive.is
// @name:vi Nhảy đến Kho Lưu Trữ Web
// @description:vi Thêm các lệnh menu để nhảy đến các phiên bản của trang hiện tại trên Wayback Machine, TimeTravel và Archive.is
// @name:zh 跳转到Web Archives
// @description:zh 添加菜单命令以跳转到当前页面的Wayback Machine、TimeTravel和Archive.is版本
// @name:zh-CN 跳转到Web Archives
// @description:zh-CN 添加菜单命令以跳转到当前页面的Wayback Machine、TimeTravel和Archive.is版本
// @name:zh-HK 跳去Web Archives
// @description:zh-HK 加入選單指令以跳去目前頁面嘅Wayback Machine、TimeTravel同Archive.is版本
// @name:zh-SG 跳转到Web Archives
// @description:zh-SG 添加菜单命令以跳转到当前页面的Wayback Machine、TimeTravel和Archive.is版本
// @name:zh-TW 跳轉到Web Archives
// @description:zh-TW 新增選單指令以跳轉到目前頁面的Wayback Machine、TimeTravel和Archive.is版本
// @name:zh-CN 跳转到Web Archives
// @description:zh-CN
// @namespace http://tampermonkey.net/
// @version 0.3.1
// @author aspen138
// @match *://*
// @match *://*/*
// @icon https://web-static.archive.org/_static/images/archive.ico
// @grant GM_registerMenuCommand
// @grant window.open
// @license MIT
// ==/UserScript==
(function() {
'use strict';
const currentUrl = window.location.href;
const currentYear = new Date().getFullYear();
const archiveSites = {
wayback: {
name: 'Wayback Machine',
url: `https://web.archive.org/web/${currentYear}0000000000*/`,
hotkey: 'w',
icon: 'Recommended🕰️'
},
timetravel: {
name: 'TimeTravel Archive',
url: `http://timetravel.mementoweb.org/list/${currentYear}0715151719/`,
hotkey: 't',
icon: '⏰'
},
archiveToday: {
name: 'Archive.today',
url: 'https://archive.today/',
hotkey: 'a',
icon: 'Recommended📅'
},
archiveMd: {
name: 'Archive.md',
url: 'https://archive.md/',
hotkey: 'm',
icon: 'Recommended📝'
},
webCite: {
name: 'WebCite',
url: 'https://webcitation.org/query?url=',
hotkey: 'c',
icon: '📰'
},
freezePage: {
name: 'FreezePage',
url: 'https://www.freezepage.com/1/',
hotkey: 'f',
icon: '❄️'
},
permaCC: {
name: 'Perma.cc',
url: 'https://perma.cc/capture?url=',
hotkey: 'p',
icon: '🔗'
},
ghostArchive: {
name: 'GhostArchive',
url: 'https://ghostarchive.org/search?term=',
hotkey: 'g',
icon: '👻'
},
conifer: {
name: 'Conifer',
url: 'https://conifer.rhizome.org/browse/',
hotkey: 'o',
icon: '🌲'
},
ukWebArchive: {
name: 'UK Web Archive',
url: 'https://www.webarchive.org.uk/wayback/archive/',
hotkey: 'u',
icon: '🇬🇧'
},
memento: {
name: 'Memento Timemap',
url: 'http://timetravel.mementoweb.org/timemap/link/',
hotkey: 'e',
icon: '📜'
},
bibliotheca: {
name: 'Bibliotheca',
url: 'https://bibliotheca.co/archive?url=',
hotkey: 'b',
icon: '📚'
}
};
function jumpToArchive(siteKey) {
const site = archiveSites[siteKey];
if (!site) return;
const archiveUrl = site.url + currentUrl;
window.location.href = archiveUrl;
}
function openInNewTab(siteKey) {
const site = archiveSites[siteKey];
if (!site) return;
const archiveUrl = site.url + currentUrl;
window.open(archiveUrl, '_blank');
}
function openAllArchives() {
Object.values(archiveSites).forEach(site => {
const archiveUrl = site.url + currentUrl;
window.open(archiveUrl, '_blank');
});
}
function openTopArchives() {
const topSites = ['wayback', 'archiveToday', 'archiveMd', 'timetravel'];
topSites.forEach(siteKey => {
const site = archiveSites[siteKey];
if (site) {
const archiveUrl = site.url + currentUrl;
window.open(archiveUrl, '_blank');
}
});
}
Object.entries(archiveSites).forEach(([key, site]) => {
GM_registerMenuCommand(`${site.icon} ${site.name}`, () => jumpToArchive(key), site.hotkey);
});
GM_registerMenuCommand('───────────────────', () => {}, '');
GM_registerMenuCommand('📂 Open Top 4 Archives', openTopArchives, 'T');
GM_registerMenuCommand('🌐 Open All Archives', openAllArchives, 'A');
})();