├── .eslintrc.json ├── .github ├── FUNDING.yml ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md └── workflows │ └── continuousIntegration.yml ├── .gitignore ├── .node-version ├── .stylelintignore ├── .stylelintrc.yml ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── STYLE_GUIDE.md ├── TESTING_GUIDE.md ├── appstores ├── changelog.md ├── chrome │ ├── README.md │ ├── app-icon128.png │ ├── changelog-chrome.md │ ├── image-assets.md │ ├── v2.13 │ │ ├── chrome1-v2.13.jpg │ │ ├── chrome2-v2.13.jpg │ │ ├── chrome3-v2.13.jpg │ │ ├── chrome4-v2.13.jpg │ │ ├── chrome5-v2.13.jpg │ │ ├── large-promo920x680.jpg │ │ ├── large-promo920x680.xcf │ │ ├── marquee-promo1400x560.jpg │ │ ├── marquee-promo1400x560.xcf │ │ └── small-promo440x280.jpg │ ├── v3.0 │ │ ├── chrome1b-v3.0.jpg │ │ ├── chrome2b-v3.0.jpg │ │ ├── chrome3b-v3.0.jpg │ │ ├── chrome4b-v3.0.jpg │ │ ├── chrome5b-v3.0.jpg │ │ ├── large-promo920x680.jpg │ │ ├── large-promo920x680.xcf │ │ ├── marquee-promo1400x560.jpg │ │ ├── marquee-promo1400x560.xcf │ │ └── small-promo440x280.jpg │ └── v3.1 │ │ └── chrome4-v3.1.jpg ├── description.md ├── edge │ ├── README.md │ ├── image-assets.md │ ├── square-icon300.png │ ├── v3.0 │ │ ├── edge1.png │ │ ├── edge2.png │ │ ├── edge3.png │ │ ├── edge4.png │ │ ├── edge5.png │ │ ├── large-marquee-promo1400x560.png │ │ └── small-promo440x280.png │ └── v3.1 │ │ └── edge4-v3.1.png ├── firefox │ ├── README.md │ ├── changelog-firefox.md │ ├── image-assets.md │ ├── v3.0 │ │ ├── add-on-icon128.png │ │ ├── firefox1b-v3.0.jpg │ │ ├── firefox2b-v3.0.jpg │ │ ├── firefox3b-v3.0.jpg │ │ ├── firefox4b-v3.0.jpg │ │ └── firefox5b-v3.0.jpg │ └── v3.1 │ │ └── firefox4-v3.1.jpg ├── privacy-policy.md └── safari │ ├── README.md │ ├── changelog-safari.md │ ├── v3.0 │ ├── safari1b-v3.0.jpg │ ├── safari2b-v3.0.jpg │ ├── safari3b-v3.0.jpg │ ├── safari4b-v3.0.jpg │ └── safari5b-v3.0.jpg │ └── v3.1 │ ├── safari4-v3.1.jpg │ └── safari6-v3.1.jpg ├── docs ├── _config.yml ├── index.md └── privacy-policy.md ├── graphics ├── app-icon │ ├── alt-icon512.png │ ├── app-icon1024.png │ ├── app-icon1024.xcf │ ├── mini-icon1024.png │ └── square-icon827.png ├── images-used │ ├── hypothesis-dark.png │ ├── hypothesis-light.png │ ├── hypothesis-logo.png │ ├── hypothesis-logo.xcf │ ├── our-news-logo-original.png │ ├── our-news-logo.png │ ├── our-news-logo.xcf │ ├── wayback-bordered.png │ ├── wayback-bordered2.png │ ├── wayback-dark.png │ ├── wayback-light.png │ └── wayback.xcf ├── past-used │ ├── MaterialIcons-Regular.svg │ ├── donate-icon.png │ ├── fontawesome-webfont.svg │ ├── icon_notify.png │ ├── insetIcon.svg │ └── logo-animate.svg ├── screenshots │ └── popups.png └── toolbar-icon │ ├── dev-icon-Fa256.png │ ├── dev-icon-Fb256.png │ ├── dev-icon-Pa256.png │ ├── dev-icon-Pb256.png │ ├── dev-icon-Ra256.png │ ├── dev-icon-Rb256.png │ ├── dev-icon-S256.png │ ├── dev-icon-Va256.png │ ├── dev-icon-Vb256.png │ ├── dev-icon-archive256.png │ ├── dev-icon-check256.png │ ├── make-toolbar-icons │ ├── toolbar-icon-Fa256.png │ ├── toolbar-icon-Fb256.png │ ├── toolbar-icon-Fc256.png │ ├── toolbar-icon-Pa256.png │ ├── toolbar-icon-Pb256.png │ ├── toolbar-icon-Pc256.png │ ├── toolbar-icon-Ra256.png │ ├── toolbar-icon-Rb256.png │ ├── toolbar-icon-Rc256.png │ ├── toolbar-icon-S256.png │ ├── toolbar-icon-Va256.png │ ├── toolbar-icon-Vb256.png │ ├── toolbar-icon-Vc256.png │ ├── toolbar-icon-X256.png │ ├── toolbar-icon-archive256.png │ ├── toolbar-icon-batsu256.png │ ├── toolbar-icon-check256.png │ ├── toolbar-icon-maru256.png │ └── toolbar-icon256.xcf ├── package-lock.json ├── package.json ├── safari ├── Wayback Machine Extension │ ├── Info.plist │ ├── SafariWebExtensionHandler.swift │ └── Wayback_Machine_Extension.entitlements ├── Wayback Machine.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist └── Wayback Machine │ ├── AppDelegate.swift │ ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ ├── Contents.json │ │ ├── app-icon1024.png │ │ ├── app-icon128.png │ │ ├── app-icon256.png │ │ ├── app-icon32.png │ │ ├── app-icon512.png │ │ ├── app-icon64.png │ │ ├── mini-icon16.png │ │ └── mini-icon32.png │ ├── AppIcon100.imageset │ │ ├── Contents.json │ │ ├── app-icon100@1x.png │ │ └── app-icon100@2x.png │ ├── Contents.json │ ├── PrefScreenshots.imageset │ │ ├── Contents.json │ │ ├── safari-prefs-dark-760x524.png │ │ └── safari-prefs-light-760x524.png │ ├── Safari-icon.imageset │ │ ├── Contents.json │ │ └── safari64.png │ ├── ShadowArchive.imageset │ │ ├── Contents.json │ │ └── shadow-archive.png │ └── WaybackLogo.imageset │ │ ├── Contents.json │ │ ├── wayback-dark.png │ │ └── wayback-light.png │ ├── Base.lproj │ └── Main.storyboard │ ├── Info.plist │ ├── ViewController.swift │ └── Wayback_Machine.entitlements ├── test ├── annotations.spec.js ├── cited-papers.spec.js ├── setup.js ├── tvnews.spec.js ├── utils.spec.js ├── wikipedia.spec.js └── wordcloud.spec.js ├── unused ├── alexa.html ├── bulk-save.html ├── context.html ├── css │ ├── bulk-save.css │ ├── domaintools.css │ ├── fact-check.css │ ├── googlestyle.css │ └── radial-tree.css ├── dnserror.html ├── fact-check.html ├── fonts │ ├── MaterialIcons-Regular.eot │ ├── MaterialIcons-Regular.ttf │ ├── MaterialIcons-Regular.woff │ ├── MaterialIcons-Regular.woff2 │ ├── fontawesome-webfont.eot │ ├── fontawesome-webfont.svg │ ├── fontawesome-webfont.ttf │ ├── fontawesome-webfont.woff │ ├── fontawesome-webfont.woff2 │ └── glyphicons-halflings-regular.svg ├── images │ ├── icon.png │ ├── icon_color.png │ ├── logo.gif │ ├── our-news-logo.png │ └── wayback-logo.png ├── scripts │ ├── alexa.js │ ├── bulk-save.js │ ├── context.js │ ├── dnserror.js │ ├── domaintools.js │ ├── fact-check.js │ └── overview.js ├── test │ └── domaintools.spec.js └── wbmsummary.html ├── update-version ├── webextension ├── about.html ├── annotations.html ├── cited-books.html ├── cited-papers.html ├── css │ ├── about.css │ ├── archive.css │ ├── bootstrap.css │ ├── cited-books.css │ ├── cited-papers.css │ ├── common.css │ ├── context.css │ ├── exclude-list.css │ ├── index.css │ ├── resource-list.css │ ├── settings.css │ ├── tvnews.css │ ├── welcome.css │ └── wikipedia.css ├── exclude-list.html ├── fonts │ ├── BebasNeue.otf │ ├── GillSans-Light.ttf │ ├── glyphicons-halflings-regular.eot │ ├── glyphicons-halflings-regular.ttf │ ├── glyphicons-halflings-regular.woff │ └── glyphicons-halflings-regular.woff2 ├── images │ ├── about │ │ ├── app-store-badge.svg │ │ ├── chrome64.png │ │ ├── edge64.png │ │ ├── firefox64.png │ │ ├── google-play-badge.png │ │ └── safari64.png │ ├── app-icon │ │ ├── app-icon1024.png │ │ ├── app-icon128.png │ │ ├── app-icon256.png │ │ ├── app-icon32.png │ │ ├── app-icon48.png │ │ ├── app-icon512.png │ │ ├── app-icon64.png │ │ ├── app-icon96.png │ │ ├── mini-icon16.png │ │ ├── mini-icon24.png │ │ ├── mini-icon32.png │ │ └── mini-icon48.png │ ├── close.svg │ ├── fa │ │ ├── calendar-alt-regular.svg │ │ ├── cog-solid.svg │ │ ├── facebook-f-brands.svg │ │ ├── globe-americas-solid.svg │ │ ├── globe-solid.svg │ │ ├── info-circle-solid.svg │ │ ├── link-solid.svg │ │ ├── linkedin-in-brands.svg │ │ ├── sign-in-alt-solid.svg │ │ ├── sign-out-alt-solid.svg │ │ └── twitter-brands.svg │ ├── glyphicons-halflings-regular.svg │ ├── hypothesis-logo.png │ ├── tabbar │ │ ├── donate-icon.svg │ │ └── feedback-icon.svg │ ├── toolbar │ │ ├── dev-icon-Fa16.png │ │ ├── dev-icon-Fa24.png │ │ ├── dev-icon-Fa32.png │ │ ├── dev-icon-Fa64.png │ │ ├── dev-icon-Fb16.png │ │ ├── dev-icon-Fb24.png │ │ ├── dev-icon-Fb32.png │ │ ├── dev-icon-Fb64.png │ │ ├── dev-icon-Ra16.png │ │ ├── dev-icon-Ra24.png │ │ ├── dev-icon-Ra32.png │ │ ├── dev-icon-Ra64.png │ │ ├── dev-icon-Rb16.png │ │ ├── dev-icon-Rb24.png │ │ ├── dev-icon-Rb32.png │ │ ├── dev-icon-Rb64.png │ │ ├── dev-icon-S16.png │ │ ├── dev-icon-S24.png │ │ ├── dev-icon-S32.png │ │ ├── dev-icon-S64.png │ │ ├── dev-icon-Va16.png │ │ ├── dev-icon-Va24.png │ │ ├── dev-icon-Va32.png │ │ ├── dev-icon-Va64.png │ │ ├── dev-icon-Vb16.png │ │ ├── dev-icon-Vb24.png │ │ ├── dev-icon-Vb32.png │ │ ├── dev-icon-Vb64.png │ │ ├── dev-icon-archive16.png │ │ ├── dev-icon-archive24.png │ │ ├── dev-icon-archive32.png │ │ ├── dev-icon-archive64.png │ │ ├── dev-icon-check16.png │ │ ├── dev-icon-check24.png │ │ ├── dev-icon-check32.png │ │ ├── dev-icon-check64.png │ │ ├── toolbar-icon-Fa16.png │ │ ├── toolbar-icon-Fa24.png │ │ ├── toolbar-icon-Fa32.png │ │ ├── toolbar-icon-Fa64.png │ │ ├── toolbar-icon-Fb16.png │ │ ├── toolbar-icon-Fb24.png │ │ ├── toolbar-icon-Fb32.png │ │ ├── toolbar-icon-Fb64.png │ │ ├── toolbar-icon-Fc16.png │ │ ├── toolbar-icon-Ra16.png │ │ ├── toolbar-icon-Ra24.png │ │ ├── toolbar-icon-Ra32.png │ │ ├── toolbar-icon-Ra64.png │ │ ├── toolbar-icon-Rb16.png │ │ ├── toolbar-icon-Rb24.png │ │ ├── toolbar-icon-Rb32.png │ │ ├── toolbar-icon-Rb64.png │ │ ├── toolbar-icon-Rc16.png │ │ ├── toolbar-icon-S16.png │ │ ├── toolbar-icon-S24.png │ │ ├── toolbar-icon-S32.png │ │ ├── toolbar-icon-S64.png │ │ ├── toolbar-icon-Va16.png │ │ ├── toolbar-icon-Va24.png │ │ ├── toolbar-icon-Va32.png │ │ ├── toolbar-icon-Va64.png │ │ ├── toolbar-icon-Vb16.png │ │ ├── toolbar-icon-Vb24.png │ │ ├── toolbar-icon-Vb32.png │ │ ├── toolbar-icon-Vb64.png │ │ ├── toolbar-icon-Vc16.png │ │ ├── toolbar-icon-archive16.png │ │ ├── toolbar-icon-archive24.png │ │ ├── toolbar-icon-archive32.png │ │ ├── toolbar-icon-archive64.png │ │ ├── toolbar-icon-check16.png │ │ ├── toolbar-icon-check24.png │ │ ├── toolbar-icon-check32.png │ │ └── toolbar-icon-check64.png │ ├── wayback-bordered.png │ ├── wayback-dark.png │ ├── wayback-light.png │ └── wiki-archive-icon.png ├── index.html ├── libs │ ├── bootstrap.js │ ├── jquery.awesomeCloud-0.2.js │ ├── jquery.js │ └── levenshtein.js ├── manifest.json ├── resource-list.html ├── scripts │ ├── about.js │ ├── annotations.js │ ├── archive.js │ ├── background.js │ ├── cited-books.js │ ├── cited-papers.js │ ├── exclude-list.js │ ├── index.js │ ├── login.js │ ├── popup.js │ ├── resource-list.js │ ├── settings.js │ ├── tvnews.js │ ├── utils.js │ ├── welcome.js │ ├── wikipedia.js │ └── wordcloud.js ├── tvnews.html ├── welcome.html └── wordcloud.html └── webpack.config.js /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "standard", 3 | "env": { 4 | "browser": true, 5 | "webextensions": true, 6 | "worker": true 7 | }, 8 | "rules": { 9 | "indent": ["warn", 2, { "SwitchCase": 1, "MemberExpression": "off" }], 10 | "brace-style": "off", 11 | "camelcase": "off", 12 | "space-before-function-paren": "off", 13 | "prefer-const": "off", 14 | "quote-props": "off", 15 | "one-var": "off", 16 | "padded-blocks": "off", 17 | "dot-notation": "off", 18 | "semi": "off" 19 | }, 20 | "globals": { 21 | "$": "readonly" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | # github: internetarchive 4 | custom: ['https://archive.org/donate'] 5 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. Go to '...' 16 | 2. Click on '....' 17 | 3. Scroll down to '....' 18 | 4. See error 19 | 20 | **Expected behavior** 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Screenshots** 24 | If applicable, add screenshots to help explain your problem. 25 | 26 | **Environment (please complete the following information):** 27 | - Webextension version: [e.g. v2.999.28] 28 | - Browser + version: [e.g. Chrome 95.0.xxx, Safari 15.1] 29 | - OS + version: [e.g. macOS 11.6.1, Windows 10.x] 30 | 31 | **Additional context** 32 | Add any other context about the problem here. 33 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem/ issue? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /.github/workflows/continuousIntegration.yml: -------------------------------------------------------------------------------- 1 | name: Continuous Integration 2 | on: [pull_request] 3 | jobs: 4 | check-bats-version: 5 | runs-on: ubuntu-latest 6 | steps: 7 | - uses: actions/checkout@v2 8 | - uses: actions/setup-node@v2 9 | with: 10 | node-version-file: '.node-version' 11 | - run: npm install 12 | - run: npm test 13 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | .DS_Store 3 | yarn.lock 4 | xcuserdata 5 | xuserdata 6 | profile 7 | build/ 8 | *~ 9 | .*~ 10 | -------------------------------------------------------------------------------- /.node-version: -------------------------------------------------------------------------------- 1 | 16.20.2 2 | -------------------------------------------------------------------------------- /.stylelintignore: -------------------------------------------------------------------------------- 1 | bootstrap.css 2 | *.js 3 | *.json 4 | *.png 5 | -------------------------------------------------------------------------------- /.stylelintrc.yml: -------------------------------------------------------------------------------- 1 | extends: 2 | - "stylelint-config-standard" 3 | -------------------------------------------------------------------------------- /STYLE_GUIDE.md: -------------------------------------------------------------------------------- 1 | # Style Guide 2 | 3 | This is a style guide for the Web Extension code. Some of the code may not currently follow this guide, but you can help improve it by refactoring it. Some items are merely suggestions and there can be exceptions, so use your best judgement. 4 | 5 | 6 | ## HTML / CSS ## 7 | 8 | #### General #### 9 | 10 | - Indent HTML by **2 spaces, no tabs**. 11 | - Indent CSS by **4 spaces, no tabs**. 12 | - Use only lowercase for HTML tags, attributes, CSS ids and properties. 13 | - Do not close void elements, e.g. use `
` over `
`. 14 | - No space between CSS style and colon, then single space between colon and values: `style: values;` 15 | - CSS: Opening brace on same line with space between, e.g. `.tab-bar {` 16 | - Use double `(")` over single `(')` quotes for HTML attributes. 17 | - Use single `(')` over double `(")` quotes for CSS property values. 18 | - Inlined styles in HTML is OK temporarily, but please try to move to the .css file before final submission. 19 | - If you're repeating the same styles on multiple *#ids*, consider placing those styles in a class! 20 | 21 | #### Naming #### 22 | 23 | - CSS ids and classes should be in `hyphen-style`. 24 | - Try to avoid using CamelCase or underscores. 25 | - Try to limit use of single-word classes and ids. 2-word ids are better. 3-word ids are fine too. 26 | 27 | #### Example #### 28 | 29 | ```CSS 30 | .tab-bar { 31 | padding: 2px 0 5px 0; 32 | } 33 | ``` 34 | 35 | ## JavaScript ## 36 | 37 | #### General #### 38 | 39 | - Indent JS by **2 spaces, no tabs**. 40 | - Single space between keywords and parentheses and braces, except function(), e.g. `if (...) { }` or `function() { }` 41 | - Space following but not before: commas, colons, and semicolons. 42 | - Braces follow K&R style. *(see example)* 43 | - Omit semicolons at end of lines. 44 | - Prefer single quotes `(')` around strings instead of double-quotes. 45 | - Prefer using `let` over `var` for variables. 46 | - Prefer using `let` over `const` if value will change. 47 | - Place any external globals used in a comment for ESLint like this: 48 | `/* global var1, var2 */` 49 | 50 | #### Naming #### 51 | 52 | - Function names should be in `lowerCamelCase`. 53 | - Class names in `UpperCamelCase`. 54 | - Variables can be `lowercase`, `lowerCamelCase`, or `under_scored`. 55 | - Global or class-scoped constants in `CONSTANT_CASE`. Since `const` in Javascript doesn't really mean constant, but *one-time assignment*, please only convert *true* constants to uppercase (e.g. `const PI = 3.14159`), and leave the rest like variable names. 56 | 57 | #### Example #### 58 | 59 | ```javascript 60 | const FOO = 5 61 | function fooBarBaz(pos) { 62 | let fooBar 63 | if (pos === FOO) { 64 | /* do something */ 65 | } else { 66 | /* something else */ 67 | } 68 | } 69 | ``` 70 | 71 | ## Using ESLint ## 72 | 73 | Using *eslint* will catch some basic formatting and syntax issues. It does not currently catch everything in the Style Guide above. 74 | 75 | Please follow the directions in the [Testing Guide](TESTING_GUIDE.md) section on **Formatting & Style** for details. 76 | 77 | -------------------------------------------------------------------------------- /appstores/changelog.md: -------------------------------------------------------------------------------- 1 | ## What's New - Version History 2 | 3 | *All Browsers* 4 | 5 | ### 3.4.2 ### 6 | 7 | What's New in v3.4.2 8 | 9 | We did a bit of internal code changes for upgrading to Manifest v3 (which just means we're keeping up with the latest browser requirements.) 10 | 11 | Fixed a bug saving Exclude URLs and updated some website links that changed. 12 | 13 | 14 | ### 3.3.1 (Edge) ### 15 | 16 | Inform if cookies are turned off when logging in 17 | 18 | 19 | ### 3.3 (Safari) ### 20 | 21 | New version of context API integration 22 | False 404 Popup bug fix 23 | Updating all the outdated dependancies 24 | 25 | 26 | ### 3.2 ### 27 | 28 | What's New in v3.2 29 | 30 | In this version, we've introduced an option to Disable Notifications in Settings, and a new Auto Save Bookmarks feature. 31 | 32 | We've fixed some bugs: Stay logged in after clearing cookies, prevent Auto Save from activating again on recently saved web pages, correctly handle blocked websites, and other minor bugs. 33 | 34 | Additional tweaks: Added third option to Show Features setting, hide the count badge while saving, improved keyboard accessibility, and "Show Context" takes you directly to the relevant context. 35 | 36 | 37 | ### 3.2 (Safari) ### 38 | 39 | What's New in v3.2 40 | 41 | In this version, we've fixed some bugs: Stay logged in after clearing cookies, prevent Auto Save from activating again on recently saved web pages, correctly handle blocked websites, and other minor bugs. 42 | 43 | Additional tweaks: Added third option to Show Features setting, hide the count badge while saving, and "Show Context" takes you directly to the relevant context. 44 | 45 | 46 | ### 3.1 ### 47 | 48 | What's New in v3.1 49 | 50 | We heard you - Now you can archive using "Save Page Now" without logging into an account! 51 | 52 | Some features still require logging in, which are indicated by an icon in place of checkboxes. 53 | 54 | This version introduces the new "Contextual Notices" feature which checks for contextual information from fact checking organizations and origin websites while browsing the web. Off by default - Check your Settings to turn it on. 55 | 56 | We've added two new buttons "URLs" & "Collections", tweaked some things, and fixed about a dozen bugs! 57 | 58 | 59 | ### 3.0 ### 60 | 61 | We've completely redone the official Wayback Machine web browser extension. Bugs have been fixed, and new features added, with a brand new design! 62 | 63 | Featuring: 64 | 65 | Save Page Now • Auto Save Page • Log-in • Oldest & Newest Pages • Improved "404 Not Found" Popups • Wayback Machine Count • Cited Books & Papers on Wikipedia • Amazon Books • TV News Clips • Site Map • Word Cloud • My Web Archive • Annotations • Search Tweets • Share Links • Private Mode. 66 | 67 | -------------------------------------------------------------------------------- /appstores/chrome/app-icon128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/chrome/app-icon128.png -------------------------------------------------------------------------------- /appstores/chrome/changelog-chrome.md: -------------------------------------------------------------------------------- 1 | ## Overview (Chrome) 2 | 3 | ### 2.13 (Aug 11, 2020) ### 4 | 5 | Reduce annoying 404 pages by automatically checking for an archived copy in the Wayback Machine. 6 | The official Chrome extension of the Wayback Machine from the Internet Archive. 7 | 8 | Detects dead pages, 404s, DNS failures and other Web breakdowns (HTTP error codes 408, 410, 451, 500, 502, 503, 504, 509, 520, 521, 523, 524, 525, and 526) 9 | 10 | If we have a Wayback Machine archive of a URL that returns those error codes we will offer it to you. 11 | 12 | In addition you can view a site map of Web sites based on archives of URLs from those sites archived in the Wayback Machine. 13 | 14 | 15 | -------------------------------------------------------------------------------- /appstores/chrome/image-assets.md: -------------------------------------------------------------------------------- 1 | Screenshots & Promo Images for Chrome Store 2 | ------------------------------------------- 3 | 4 | ### Screenshots 5 | - 1280 x 800 6 | - JPEG or 24-bit PNG (no alpha) 7 | - At least one is required. 8 | - Up to a maximum of 5. 9 | 10 | ### Marquee Promo Tile 11 | - 1400 x 560 Canvas 12 | - JPEG or 24-bit PNG (no alpha) 13 | 14 | ### Large Promo Tile 15 | - 920 x 680 Canvas 16 | - JPEG or 24-bit PNG (no alpha) 17 | 18 | ### Small Promo Tile 19 | - 440 x 280 Canvas 20 | - Create by cropping large tile to 920 x 585 then resize. 21 | - JPEG or 24-bit PNG (no alpha) 22 | -------------------------------------------------------------------------------- /appstores/chrome/v2.13/chrome1-v2.13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/chrome/v2.13/chrome1-v2.13.jpg -------------------------------------------------------------------------------- /appstores/chrome/v2.13/chrome2-v2.13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/chrome/v2.13/chrome2-v2.13.jpg -------------------------------------------------------------------------------- /appstores/chrome/v2.13/chrome3-v2.13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/chrome/v2.13/chrome3-v2.13.jpg -------------------------------------------------------------------------------- /appstores/chrome/v2.13/chrome4-v2.13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/chrome/v2.13/chrome4-v2.13.jpg -------------------------------------------------------------------------------- /appstores/chrome/v2.13/chrome5-v2.13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/chrome/v2.13/chrome5-v2.13.jpg -------------------------------------------------------------------------------- /appstores/chrome/v2.13/large-promo920x680.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/chrome/v2.13/large-promo920x680.jpg -------------------------------------------------------------------------------- /appstores/chrome/v2.13/large-promo920x680.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/chrome/v2.13/large-promo920x680.xcf -------------------------------------------------------------------------------- /appstores/chrome/v2.13/marquee-promo1400x560.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/chrome/v2.13/marquee-promo1400x560.jpg -------------------------------------------------------------------------------- /appstores/chrome/v2.13/marquee-promo1400x560.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/chrome/v2.13/marquee-promo1400x560.xcf -------------------------------------------------------------------------------- /appstores/chrome/v2.13/small-promo440x280.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/chrome/v2.13/small-promo440x280.jpg -------------------------------------------------------------------------------- /appstores/chrome/v3.0/chrome1b-v3.0.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/chrome/v3.0/chrome1b-v3.0.jpg -------------------------------------------------------------------------------- /appstores/chrome/v3.0/chrome2b-v3.0.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/chrome/v3.0/chrome2b-v3.0.jpg -------------------------------------------------------------------------------- /appstores/chrome/v3.0/chrome3b-v3.0.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/chrome/v3.0/chrome3b-v3.0.jpg -------------------------------------------------------------------------------- /appstores/chrome/v3.0/chrome4b-v3.0.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/chrome/v3.0/chrome4b-v3.0.jpg -------------------------------------------------------------------------------- /appstores/chrome/v3.0/chrome5b-v3.0.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/chrome/v3.0/chrome5b-v3.0.jpg -------------------------------------------------------------------------------- /appstores/chrome/v3.0/large-promo920x680.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/chrome/v3.0/large-promo920x680.jpg -------------------------------------------------------------------------------- /appstores/chrome/v3.0/large-promo920x680.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/chrome/v3.0/large-promo920x680.xcf -------------------------------------------------------------------------------- /appstores/chrome/v3.0/marquee-promo1400x560.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/chrome/v3.0/marquee-promo1400x560.jpg -------------------------------------------------------------------------------- /appstores/chrome/v3.0/marquee-promo1400x560.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/chrome/v3.0/marquee-promo1400x560.xcf -------------------------------------------------------------------------------- /appstores/chrome/v3.0/small-promo440x280.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/chrome/v3.0/small-promo440x280.jpg -------------------------------------------------------------------------------- /appstores/chrome/v3.1/chrome4-v3.1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/chrome/v3.1/chrome4-v3.1.jpg -------------------------------------------------------------------------------- /appstores/description.md: -------------------------------------------------------------------------------- 1 | ## Description 2 | 3 | ### Summary 4 | 5 | *(250 chars max)* 6 | 7 | Welcome to the Official Internet Archive Wayback Machine Browser Extension! Go back in time to see how a website has changed through the history of the Web. Save websites, view missing 404 Not Found pages, or read archived books & papers. 8 | 9 | 10 | ### Full Description 11 | 12 | *(250 chars above the fold, may be longer. Some HTML supported)* 13 | 14 | Welcome to the Official Internet Archive Wayback Machine Browser Extension! Go back in time to see how a website has changed through the history of the Web. Save websites, view missing *404 Not Found* pages, or read archived books & papers. 15 | 16 | Most features will work without requiring an account including Save Page Now. 17 | 18 | Some features must be enabled from Settings. Turn on *Private Mode* to prevent automatic sending of data and to protect your privacy while browsing. 19 | 20 | **Features** 21 | 22 | • **Save Page Now** - Instantly save the page you are currently viewing in the Wayback Machine. Turn on *Auto Save Page* in settings to save pages that have not previously been saved, or *Auto Save Bookmarks* to save when bookmarking a page. Works while logged out, or log in for additional options. 23 | 24 | • **Oldest, Newest & Overview** - View the first version of a page or the most recently saved in the Wayback Machine. Or view a calendar overview of all archived pages. Can also use by right-clicking over a page or link. 25 | 26 | • **Wayback Machine Count** - Display a count of snapshots of the current page stored in the Wayback Machine over the toolbar icon, and the date of last save in the popup. 27 | 28 | • **404 Not Found** - When an error occurs, automatically check if an archived copy is available. Checks against 4xx & 5xx HTTP error codes. 29 | 30 | • **Contextual Notices** - Check for contextual information from fact checking organizations and origin websites. 31 | 32 | • **Relevant Resources** - View research papers and books while visiting Wikipedia, archived digitized books while visiting Amazon Books, and recommended TV News Clips while visiting news websites. 33 | 34 | • **URLs & Collections** - Show a list of URLs captured under the current website, and what collections they are saved under. 35 | 36 | • **Site Map & Word Cloud** - Present a sunburst diagram for the domain you are currently viewing, or create a *Word Cloud* from the link's anchor text of the page you are on. 37 | 38 | • **Annotations** - Provide a list of annotations for the current web page and domain, provided by Hypothes.is. 39 | 40 | • **My Web Archive** - Save URLs to your public archive page on the Internet Archive. 41 | 42 | • **Tweets & Share Links** - Search Twitter for information regarding your current page, or share archived links on social media. 43 | 44 | 45 | For support, please email info@archive.org 46 | 47 | 48 | ### Full Description (Safari only) 49 | 50 | *(replace with the following)* 51 | 52 | • Save Page Now - Instantly save the page you are currently viewing in the Wayback Machine. Turn on Auto Save Page in settings to save pages that have not previously been saved. Works while logged out, or log in for additional options. 53 | 54 | -------------------------------------------------------------------------------- /appstores/edge/image-assets.md: -------------------------------------------------------------------------------- 1 | Image Assets - Microsoft Edge Store 2 | ----------------------------------- 3 | 4 | ### Extension Store Logo (icon) 5 | 6 | - An image that represents your company or extension logo. 7 | - Recommended size: 300 x 300 px 8 | 9 | ### Screenshots 10 | 11 | - Max of 10 screenshots 12 | - 640 x 480 or 1280 x 800 px 13 | 14 | ### Small Promo Tile (optional) 15 | 16 | - Used to display your extension alongside other extensions in the store. 17 | - 440 x 280 px 18 | 19 | ### Large Promo Tile (optional) 20 | 21 | - Used in store to feature extensions more prominently in the Microsoft Edge Add-ons website. 22 | - 1400 x 560 px PNG 23 | 24 | ### YouTube video URL (optional) 25 | 26 | - Must turn off ads. 27 | - Turn on embedding. 28 | - To submit: 29 | - On YouTube select Share > Embed and copy/paste the HTML. 30 | 31 | -------------------------------------------------------------------------------- /appstores/edge/square-icon300.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/edge/square-icon300.png -------------------------------------------------------------------------------- /appstores/edge/v3.0/edge1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/edge/v3.0/edge1.png -------------------------------------------------------------------------------- /appstores/edge/v3.0/edge2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/edge/v3.0/edge2.png -------------------------------------------------------------------------------- /appstores/edge/v3.0/edge3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/edge/v3.0/edge3.png -------------------------------------------------------------------------------- /appstores/edge/v3.0/edge4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/edge/v3.0/edge4.png -------------------------------------------------------------------------------- /appstores/edge/v3.0/edge5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/edge/v3.0/edge5.png -------------------------------------------------------------------------------- /appstores/edge/v3.0/large-marquee-promo1400x560.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/edge/v3.0/large-marquee-promo1400x560.png -------------------------------------------------------------------------------- /appstores/edge/v3.0/small-promo440x280.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/edge/v3.0/small-promo440x280.png -------------------------------------------------------------------------------- /appstores/edge/v3.1/edge4-v3.1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/edge/v3.1/edge4-v3.1.png -------------------------------------------------------------------------------- /appstores/firefox/changelog-firefox.md: -------------------------------------------------------------------------------- 1 | ## About this extension (Firefox) 2 | 3 | ### 1.8.6 (Apr 18, 2018) ### 4 | 5 | Detects dead pages, 404s, DNS failures & a range of other web breakdowns, offering to show archived versions via the Internet Archive's Wayback Machine. In addition you can archive web pages, and see their most recent & first archives. 6 | 7 | If you used No More 404s on Test Pilot, this extention is for you! 8 | 9 | ### 1.8.1 (Feb 21, 2017) ### 10 | 11 | -------------------------------------------------------------------------------- /appstores/firefox/image-assets.md: -------------------------------------------------------------------------------- 1 | Screenshots & Promo Images for Firefox Store 2 | -------------------------------------------- 3 | 4 | ### Screenshots 5 | 6 | - 1280 x 800 7 | - JPEG or 24-bit PNG (no alpha) 8 | - No practical limit to the number of screenshots you can include 9 | 10 | ### Icon 11 | 12 | - 3 sizes: 32x32, 64x64, 128x128 13 | - Only need to upload the largest and the website will resize it. 14 | -------------------------------------------------------------------------------- /appstores/firefox/v3.0/add-on-icon128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/firefox/v3.0/add-on-icon128.png -------------------------------------------------------------------------------- /appstores/firefox/v3.0/firefox1b-v3.0.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/firefox/v3.0/firefox1b-v3.0.jpg -------------------------------------------------------------------------------- /appstores/firefox/v3.0/firefox2b-v3.0.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/firefox/v3.0/firefox2b-v3.0.jpg -------------------------------------------------------------------------------- /appstores/firefox/v3.0/firefox3b-v3.0.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/firefox/v3.0/firefox3b-v3.0.jpg -------------------------------------------------------------------------------- /appstores/firefox/v3.0/firefox4b-v3.0.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/firefox/v3.0/firefox4b-v3.0.jpg -------------------------------------------------------------------------------- /appstores/firefox/v3.0/firefox5b-v3.0.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/firefox/v3.0/firefox5b-v3.0.jpg -------------------------------------------------------------------------------- /appstores/firefox/v3.1/firefox4-v3.1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/firefox/v3.1/firefox4-v3.1.jpg -------------------------------------------------------------------------------- /appstores/privacy-policy.md: -------------------------------------------------------------------------------- 1 | 2 | ## The Internet Archive Wayback Machine Browser Extension Privacy Policy 3 | 4 | This is the Internet Archive Wayback Machine Browser Extension (the “Extension”) Privacy Policy. This Policy only applies to data collected by the Extension. 5 | 6 | By default, and upon accepting this Policy, this Extension will automatically check the HTTP/S status code of webpage URLs you visit. If it detects an error code, such as a 404, and if an archive exists in the Wayback Machine for that URL, we will offer you the opportunity to replay the archive. The Extension can also provide you with additional references based on a URL, but you will need to enable those options in Settings. 7 | 8 | #### Collected Data and Use #### 9 | 10 | This Extension sends the URLs you visit to archive.org to provide information about the URL. URLs will be associated with your Internet Archive account if you have turned on “Save To My Web Archive” in the Save Page Now Settings and you use Save Page Now in the Extension. We may also use URLs to help improve the Wayback Machine and other Internet Archive services, for example to improve our archiving of web-based resources. 11 | 12 | #### Choices #### 13 | 14 | By default, the Extension will automatically check the HTTP/S status code of every URL you visit. You may turn this off by selecting Private Mode in Settings/Context and no information about you, except for archive.org cookies data (see Cookies), will be collected. You must opt-in to use other features in Settings, or by pressing a button to activate that feature. 15 | 16 | #### Cookies #### 17 | 18 | If you are logged into your Internet Archive account, the Internet Archive will share a cookie with the Extension in your browser to provide you with features available to logged-in patrons, such as the ability to do a one-hop crawl via Save Page Now and My Web Archive. The Extension will still work if you are not logged into your account or if you do not have an Internet Archive account. 19 | 20 | #### Third Party Sharing #### 21 | 22 | If you use the Annotation feature, the URL you are visiting will be shared with Hypothes.is. No other information about you will be shared with Hypothes.is from the Extension. 23 | 24 | If you use the Tweets feature, the URL you are visiting will be shared with Twitter. No other information about you will be shared with Twitter from this extension. See Twitter’s privacy policy for their data policies. 25 | 26 | The Facebook, Twitter, and LinkedIn share buttons are not presented with tracking code from those services. These buttons will take you to third party platforms, where the third-party’s privacy policy will apply to any data collected. 27 | 28 | #### Data Retention #### 29 | 30 | We retain collected URLs for as long as they provide value to our mission. 31 | 32 | -------------------------------------------------------------------------------- /appstores/safari/README.md: -------------------------------------------------------------------------------- 1 | ## Apple App Store Submission Notes 2 | 3 | - Please Update [What's New - Version History](../changelog.md) (v3.0+) and [Description](../description.md). 4 | - [Old Version History](changelog-safari.md). 5 | 6 | 7 | ### To prepare in Xcode 8 | 9 | The following should already be set and nothing else need change. 10 | 11 | Bundle IDs: `archive.org.waybackmachine.mac` & `archive.org.waybackmachine.mac.extension` 12 | 13 | Both Targets "Wayback Machine" & "Wayback Machine Extension" should match. 14 | 15 | Under "Signing & Capabilities" tab: 16 | 17 | - [x] Automatically manage signing 18 | - Team: Internet Archive 19 | - Signing Certificate: Development 20 | - App Sandbox: no checkboxes selected 21 | - File Access: default 'none' 22 | 23 | 24 | ### Build & Upload to Store 25 | 26 | First add new version in App Store Connect, then: 27 | 28 | - Menu: Product > Archive 29 | - Organizer: "Distribute App" button 30 | 31 | 32 | ### When selecting a build in App Store Connect 33 | 34 | "Export Compliance Information" 35 | 36 | - Uses Encryption? YES 37 | - Qualify for Exemption? YES 38 | 39 | - What type of encryption algorithms does your app implement? 40 | - [x] None of the algorithms mentioned above 41 | -------------------------------------------------------------------------------- /appstores/safari/changelog-safari.md: -------------------------------------------------------------------------------- 1 | ## Description (Safari) 2 | 3 | ### 1.4 ### 4 | 5 | The Internet Archive presents The Official Wayback Machine Extension. With the power of the Wayback Machine, you can go back in time to see how a website has changed and evolved through the history of the Web! 6 | 7 | 8 | Functions include seeing the oldest or newest version of a website, or a calendar of every past archive. There's also the "Site Map" feature that will draw a pie graph of the past history of pages of a site. 9 | 10 | The toolbar button shows you how many snapshots of the website you're visiting are in the Wayback Machine, and the date of the latest snapshot in the popup window. 11 | 12 | You can right-click, then "Open in Wayback Machine" in the context menu. Try it while over a link. 13 | 14 | Whenever you encounter a "dead link" (a.k.a 404 Not Found) page, this extension will automatically provide a link to a saved version in the Wayback Machine. 15 | 16 | Most features work without requiring an account, but if you do create an account, you'll be able to archive any website easily with just a single tap of a button. 17 | 18 | Convenient 3rd-party functions for searching for Related Tweets, Alexa, and Whois for looking up domain names, as well as sharing links on social media websites. 19 | 20 | For support, please email info@archive.org 21 | 22 | 23 | ## What's New - Version History 24 | 25 | ### 1.4 (Mar 17, 2020) ### 26 | 27 | We've added a couple of new features: 28 | 29 | • A new toolbar button badge shows you the number of snapshots of the website you're visiting which are stored in the Wayback Machine, and the date of last snapshot in the popup window. Will not activate while using Private Browsing, to respect your privacy. 30 | 31 | • We added an "Open in Wayback Machine" item to the right-click context menu. Try hovering over a link and right-click to open. 32 | 33 | ### 1.3.1 (Feb 28, 2020) ### 34 | 35 | We've overhauled the UI, fixed some bugs, and made it so that most features work without requiring a log in! Also looks nice now under Dark Mode. 36 | 37 | ### 1.3 (Feb 18, 2020) ### 38 | 39 | We've overhauled the UI, fixed some bugs, and made it so that most features work without requiring a log in! Also looks nice now under Dark Mode. 40 | 41 | ### 1.2.2 (Aug 18, 2019) ### 42 | 43 | (blank) 44 | 45 | -------------------------------------------------------------------------------- /appstores/safari/v3.0/safari1b-v3.0.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/safari/v3.0/safari1b-v3.0.jpg -------------------------------------------------------------------------------- /appstores/safari/v3.0/safari2b-v3.0.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/safari/v3.0/safari2b-v3.0.jpg -------------------------------------------------------------------------------- /appstores/safari/v3.0/safari3b-v3.0.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/safari/v3.0/safari3b-v3.0.jpg -------------------------------------------------------------------------------- /appstores/safari/v3.0/safari4b-v3.0.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/safari/v3.0/safari4b-v3.0.jpg -------------------------------------------------------------------------------- /appstores/safari/v3.0/safari5b-v3.0.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/safari/v3.0/safari5b-v3.0.jpg -------------------------------------------------------------------------------- /appstores/safari/v3.1/safari4-v3.1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/safari/v3.1/safari4-v3.1.jpg -------------------------------------------------------------------------------- /appstores/safari/v3.1/safari6-v3.1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/appstores/safari/v3.1/safari6-v3.1.jpg -------------------------------------------------------------------------------- /docs/_config.yml: -------------------------------------------------------------------------------- 1 | theme: jekyll-theme-tactile -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- 1 | # Wayback Machine Web Browser Extension 2 | 3 | Welcome to the Official Internet Archive Wayback Machine Browser Extension! Go back in time to see how a website has changed through the history of the Web. Save websites, view missing *404 Not Found* pages, or read archived books & papers. 4 | 5 | Most features work without requiring an account, but if you do create an account, you'll be able to archive any website easily with just a single tap of a button. 6 | 7 | Some features must be enabled from Settings. Select *Private Mode* to prevent automatic sending of data. 8 | 9 | 10 | **Features** 11 | 12 | • **Save Page Now** - Instantly save the page you are currently viewing in the Wayback Machine. Turn on Auto Save Page in settings to save pages that have not previously been saved. Must be logged in to use. 13 | 14 | • **Oldest, Newest & Overview** - View the first version of a page or the most recently saved in the Wayback Machine. Or view a calendar overview of all archived pages. Can also use by right-clicking over a page or link. 15 | 16 | • **404 Not Found** - When an error occurs, automatically check if an archived copy is available. Checks against 4xx & 5xx HTTP error codes. 17 | 18 | • **Wayback Machine Count** - Display a count of snapshots of the current page stored in the Wayback Machine over the toolbar icon, and the date of last save in the popup. 19 | 20 | • **Relevant Resources** - View archived digitized books while visiting Amazon Books, research papers and books while visiting Wikipedia, and recommended TV News Clips while visiting news websites. 21 | 22 | • **Site Map & Word Cloud** - Present a Site Map as a radial tree graph built from an inventory of archived pages of a site, or create a word cloud from the link's anchor text of the page you are on. 23 | 24 | • **My Web Archive** - Save URLs to your public archive page on the Internet Archive. 25 | 26 | • **Annotations** - Provide a list of annotations for the current web page and domain, provided by Hypothes.is. 27 | 28 | • **Tweets & Share Links** - Search Twitter for information regarding your current page, or share archived links on social media. 29 | 30 | 31 | For support, please email info@archive.org 32 | -------------------------------------------------------------------------------- /docs/privacy-policy.md: -------------------------------------------------------------------------------- 1 | 2 | ## The Internet Archive Wayback Machine Browser Extension Privacy Policy 3 | 4 | This is the Internet Archive Wayback Machine Browser Extension (the “Extension”) Privacy Policy. This Policy only applies to data collected by the Extension. 5 | 6 | By default, and upon accepting this Policy, this Extension will automatically check the HTTP/S status code of webpage URLs you visit. If it detects an error code, such as a 404, and if an archive exists in the Wayback Machine for that URL, we will offer you the opportunity to replay the archive. The Extension can also provide you with additional references based on a URL, but you will need to enable those options in Settings. 7 | 8 | #### Collected Data and Use #### 9 | 10 | This Extension sends the URLs you visit to archive.org to provide information about the URL. URLs will be associated with your Internet Archive account if you have turned on “Save To My Web Archive” in the Save Page Now Settings and you use Save Page Now in the Extension. We may also use URLs to help improve the Wayback Machine and other Internet Archive services, for example to improve our archiving of web-based resources. 11 | 12 | #### Choices #### 13 | 14 | By default, the Extension will automatically check the HTTP/S status code of every URL you visit. You may turn this off by selecting Private Mode in Settings/Context and no information about you, except for archive.org cookies data (see Cookies), will be collected. You must opt-in to use other features in Settings, or by pressing a button to activate that feature. 15 | 16 | #### Cookies #### 17 | 18 | If you are logged into your Internet Archive account, the Internet Archive will share a cookie with the Extension in your browser to provide you with features available to logged-in patrons, such as the ability to do a one-hop crawl via Save Page Now and My Web Archive. The Extension will still work if you are not logged into your account or if you do not have an Internet Archive account. 19 | 20 | #### Third Party Sharing #### 21 | 22 | If you use the Annotation feature, the URL you are visiting will be shared with Hypothes.is. No other information about you will be shared with Hypothes.is from the Extension. 23 | 24 | If you use the Tweets feature, the URL you are visiting will be shared with Twitter. No other information about you will be shared with Twitter from this extension. See Twitter’s privacy policy for their data policies. 25 | 26 | The Facebook, Twitter, and LinkedIn share buttons are not presented with tracking code from those services. These buttons will take you to third party platforms, where the third-party’s privacy policy will apply to any data collected. 27 | 28 | #### Data Retention #### 29 | 30 | We retain collected URLs for as long as they provide value to our mission. 31 | 32 | -------------------------------------------------------------------------------- /graphics/app-icon/alt-icon512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/app-icon/alt-icon512.png -------------------------------------------------------------------------------- /graphics/app-icon/app-icon1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/app-icon/app-icon1024.png -------------------------------------------------------------------------------- /graphics/app-icon/app-icon1024.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/app-icon/app-icon1024.xcf -------------------------------------------------------------------------------- /graphics/app-icon/mini-icon1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/app-icon/mini-icon1024.png -------------------------------------------------------------------------------- /graphics/app-icon/square-icon827.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/app-icon/square-icon827.png -------------------------------------------------------------------------------- /graphics/images-used/hypothesis-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/images-used/hypothesis-dark.png -------------------------------------------------------------------------------- /graphics/images-used/hypothesis-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/images-used/hypothesis-light.png -------------------------------------------------------------------------------- /graphics/images-used/hypothesis-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/images-used/hypothesis-logo.png -------------------------------------------------------------------------------- /graphics/images-used/hypothesis-logo.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/images-used/hypothesis-logo.xcf -------------------------------------------------------------------------------- /graphics/images-used/our-news-logo-original.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/images-used/our-news-logo-original.png -------------------------------------------------------------------------------- /graphics/images-used/our-news-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/images-used/our-news-logo.png -------------------------------------------------------------------------------- /graphics/images-used/our-news-logo.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/images-used/our-news-logo.xcf -------------------------------------------------------------------------------- /graphics/images-used/wayback-bordered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/images-used/wayback-bordered.png -------------------------------------------------------------------------------- /graphics/images-used/wayback-bordered2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/images-used/wayback-bordered2.png -------------------------------------------------------------------------------- /graphics/images-used/wayback-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/images-used/wayback-dark.png -------------------------------------------------------------------------------- /graphics/images-used/wayback-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/images-used/wayback-light.png -------------------------------------------------------------------------------- /graphics/images-used/wayback.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/images-used/wayback.xcf -------------------------------------------------------------------------------- /graphics/past-used/donate-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/past-used/donate-icon.png -------------------------------------------------------------------------------- /graphics/past-used/icon_notify.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/past-used/icon_notify.png -------------------------------------------------------------------------------- /graphics/past-used/insetIcon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Group 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /graphics/screenshots/popups.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/screenshots/popups.png -------------------------------------------------------------------------------- /graphics/toolbar-icon/dev-icon-Fa256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/toolbar-icon/dev-icon-Fa256.png -------------------------------------------------------------------------------- /graphics/toolbar-icon/dev-icon-Fb256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/toolbar-icon/dev-icon-Fb256.png -------------------------------------------------------------------------------- /graphics/toolbar-icon/dev-icon-Pa256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/toolbar-icon/dev-icon-Pa256.png -------------------------------------------------------------------------------- /graphics/toolbar-icon/dev-icon-Pb256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/toolbar-icon/dev-icon-Pb256.png -------------------------------------------------------------------------------- /graphics/toolbar-icon/dev-icon-Ra256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/toolbar-icon/dev-icon-Ra256.png -------------------------------------------------------------------------------- /graphics/toolbar-icon/dev-icon-Rb256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/toolbar-icon/dev-icon-Rb256.png -------------------------------------------------------------------------------- /graphics/toolbar-icon/dev-icon-S256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/toolbar-icon/dev-icon-S256.png -------------------------------------------------------------------------------- /graphics/toolbar-icon/dev-icon-Va256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/toolbar-icon/dev-icon-Va256.png -------------------------------------------------------------------------------- /graphics/toolbar-icon/dev-icon-Vb256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/toolbar-icon/dev-icon-Vb256.png -------------------------------------------------------------------------------- /graphics/toolbar-icon/dev-icon-archive256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/toolbar-icon/dev-icon-archive256.png -------------------------------------------------------------------------------- /graphics/toolbar-icon/dev-icon-check256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/toolbar-icon/dev-icon-check256.png -------------------------------------------------------------------------------- /graphics/toolbar-icon/make-toolbar-icons: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env perl 2 | 3 | # About: 4 | # Make toolbar icons given a 256x256 px icon. 5 | # Makes sizes: 16, 24, 32, 64 px 6 | # 7 | # Usage: 8 | # make-toolbar-icons outprefix icon256.png 9 | # 10 | # Where: 11 | # outprefix is the output filename prefix, e.g. outprefix60.png 12 | # icon256.png is input image file with size 256x256. 13 | 14 | use strict; 15 | 16 | { 17 | my ($outfix, $lgfile); 18 | 19 | if (scalar @ARGV <= 1) { 20 | print STDERR "Make icons for webextension toolbar. (12/9/2021)\n"; 21 | print STDERR "Requires ImageMagick 'convert' tool installed.\n"; 22 | print STDERR "Usage:\n $0 outprefix icon256.png\n"; 23 | exit(1); 24 | } 25 | if (scalar @ARGV >= 2) { 26 | $outfix = $ARGV[0]; 27 | $lgfile = $ARGV[1]; 28 | } 29 | 30 | # icons 31 | my %lg_sizes = ( '16' => '16', '24' => '24', '32' => '32', '64' => '64' ); 32 | 33 | print "Making icons from ${lgfile}:\n"; 34 | foreach my $size (keys %lg_sizes) { 35 | my $name = $lg_sizes{$size}; 36 | my $outfile = "${outfix}${name}.png"; 37 | print " $outfile\n"; 38 | `convert -filter Catrom '${lgfile}[${size}x${size}]' ${outfile}`; 39 | } 40 | 41 | print "Done\n"; 42 | } 43 | -------------------------------------------------------------------------------- /graphics/toolbar-icon/toolbar-icon-Fa256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/toolbar-icon/toolbar-icon-Fa256.png -------------------------------------------------------------------------------- /graphics/toolbar-icon/toolbar-icon-Fb256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/toolbar-icon/toolbar-icon-Fb256.png -------------------------------------------------------------------------------- /graphics/toolbar-icon/toolbar-icon-Fc256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/toolbar-icon/toolbar-icon-Fc256.png -------------------------------------------------------------------------------- /graphics/toolbar-icon/toolbar-icon-Pa256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/toolbar-icon/toolbar-icon-Pa256.png -------------------------------------------------------------------------------- /graphics/toolbar-icon/toolbar-icon-Pb256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/toolbar-icon/toolbar-icon-Pb256.png -------------------------------------------------------------------------------- /graphics/toolbar-icon/toolbar-icon-Pc256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/toolbar-icon/toolbar-icon-Pc256.png -------------------------------------------------------------------------------- /graphics/toolbar-icon/toolbar-icon-Ra256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/toolbar-icon/toolbar-icon-Ra256.png -------------------------------------------------------------------------------- /graphics/toolbar-icon/toolbar-icon-Rb256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/toolbar-icon/toolbar-icon-Rb256.png -------------------------------------------------------------------------------- /graphics/toolbar-icon/toolbar-icon-Rc256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/toolbar-icon/toolbar-icon-Rc256.png -------------------------------------------------------------------------------- /graphics/toolbar-icon/toolbar-icon-S256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/toolbar-icon/toolbar-icon-S256.png -------------------------------------------------------------------------------- /graphics/toolbar-icon/toolbar-icon-Va256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/toolbar-icon/toolbar-icon-Va256.png -------------------------------------------------------------------------------- /graphics/toolbar-icon/toolbar-icon-Vb256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/toolbar-icon/toolbar-icon-Vb256.png -------------------------------------------------------------------------------- /graphics/toolbar-icon/toolbar-icon-Vc256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/toolbar-icon/toolbar-icon-Vc256.png -------------------------------------------------------------------------------- /graphics/toolbar-icon/toolbar-icon-X256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/toolbar-icon/toolbar-icon-X256.png -------------------------------------------------------------------------------- /graphics/toolbar-icon/toolbar-icon-archive256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/toolbar-icon/toolbar-icon-archive256.png -------------------------------------------------------------------------------- /graphics/toolbar-icon/toolbar-icon-batsu256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/toolbar-icon/toolbar-icon-batsu256.png -------------------------------------------------------------------------------- /graphics/toolbar-icon/toolbar-icon-check256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/toolbar-icon/toolbar-icon-check256.png -------------------------------------------------------------------------------- /graphics/toolbar-icon/toolbar-icon-maru256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/toolbar-icon/toolbar-icon-maru256.png -------------------------------------------------------------------------------- /graphics/toolbar-icon/toolbar-icon256.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/graphics/toolbar-icon/toolbar-icon256.xcf -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "wayback-machine-webextension", 3 | "version": "3.0.0", 4 | "description": "A browser extension that interfaces with the internet archive", 5 | "main": "index.js", 6 | "directories": { 7 | "test": "test" 8 | }, 9 | "scripts": { 10 | "build": "webpack", 11 | "test": "mocha", 12 | "lint": "npm run lint:js && npm run lint:css", 13 | "lint:js": "eslint webextension/scripts test", 14 | "lint:css": "stylelint webextension/css" 15 | }, 16 | "repository": { 17 | "type": "git", 18 | "url": "git+https://github.com/internetarchive/wayback-machine-webextension.git" 19 | }, 20 | "author": "Internet Archive", 21 | "license": "AGPL-3.0", 22 | "bugs": { 23 | "url": "https://github.com/internetarchive/wayback-machine-webextension/issues" 24 | }, 25 | "homepage": "https://github.com/internetarchive/wayback-machine-webextension#readme", 26 | "devDependencies": { 27 | "@fortawesome/fontawesome-free": "^6.4.0", 28 | "bootstrap": "^5.2.3", 29 | "chai": "^4.3.4", 30 | "css-loader": "^6.7.3", 31 | "eslint": "^8.38.0", 32 | "eslint-config-standard": "^17.0.0", 33 | "eslint-plugin-import": "^2.22.1", 34 | "eslint-plugin-node": "^11.1.0", 35 | "eslint-plugin-promise": "^6.1.1", 36 | "fast-levenshtein": "^3.0.0", 37 | "file-loader": "^6.2.0", 38 | "jquery": "^3.6.0", 39 | "jsdom": "^21.1.1", 40 | "mini-css-extract-plugin": "^2.7.5", 41 | "mocha": ">=8.3.2", 42 | "stylelint": "^14", 43 | "stylelint-config-standard": "^29", 44 | "webpack": "^5.94.0", 45 | "webpack-cli": "^5.0.1" 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /safari/Wayback Machine Extension/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleDisplayName 8 | Wayback Machine Extension 9 | CFBundleExecutable 10 | $(EXECUTABLE_NAME) 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | $(PRODUCT_NAME) 17 | CFBundlePackageType 18 | $(PRODUCT_BUNDLE_PACKAGE_TYPE) 19 | CFBundleShortVersionString 20 | $(MARKETING_VERSION) 21 | CFBundleVersion 22 | $(CURRENT_PROJECT_VERSION) 23 | LSMinimumSystemVersion 24 | $(MACOSX_DEPLOYMENT_TARGET) 25 | NSExtension 26 | 27 | NSExtensionPointIdentifier 28 | com.apple.Safari.web-extension 29 | NSExtensionPrincipalClass 30 | $(PRODUCT_MODULE_NAME).SafariWebExtensionHandler 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /safari/Wayback Machine Extension/SafariWebExtensionHandler.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SafariWebExtensionHandler.swift 3 | // Wayback Machine Extension 4 | // 5 | // Created by Carl on 9/4/21. 6 | // 7 | 8 | import SafariServices 9 | import os.log 10 | 11 | let SFExtensionMessageKey = "message" 12 | 13 | class SafariWebExtensionHandler: NSObject, NSExtensionRequestHandling { 14 | 15 | func beginRequest(with context: NSExtensionContext) { 16 | let item = context.inputItems[0] as! NSExtensionItem 17 | let message = item.userInfo?[SFExtensionMessageKey] 18 | os_log(.default, "Received message from browser.runtime.sendNativeMessage: %@", message as! CVarArg) 19 | 20 | let response = NSExtensionItem() 21 | response.userInfo = [ SFExtensionMessageKey: [ "Response to": message ] ] 22 | 23 | context.completeRequest(returningItems: [response], completionHandler: nil) 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /safari/Wayback Machine Extension/Wayback_Machine_Extension.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.app-sandbox 6 | 7 | com.apple.security.files.user-selected.read-only 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /safari/Wayback Machine.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /safari/Wayback Machine.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /safari/Wayback Machine/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.swift 3 | // Wayback Machine 4 | // 5 | // Created by Carl on 9/4/21. 6 | // 7 | 8 | import Cocoa 9 | 10 | @main 11 | class AppDelegate: NSObject, NSApplicationDelegate { 12 | 13 | func applicationDidFinishLaunching(_ notification: Notification) { 14 | // Insert code here to initialize your application 15 | } 16 | 17 | func applicationWillTerminate(_ notification: Notification) { 18 | // Insert code here to tear down your application 19 | } 20 | 21 | func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { 22 | return true 23 | } 24 | 25 | /// Called from the install app's help menu. 26 | @IBAction func openSupportWebsite(_ sender: Any) { 27 | NSWorkspace.shared.open(URL(string: "https://archive.org/about/contact.php")!) 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /safari/Wayback Machine/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /safari/Wayback Machine/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "mini-icon16.png", 5 | "idiom" : "mac", 6 | "scale" : "1x", 7 | "size" : "16x16" 8 | }, 9 | { 10 | "filename" : "mini-icon32.png", 11 | "idiom" : "mac", 12 | "scale" : "2x", 13 | "size" : "16x16" 14 | }, 15 | { 16 | "filename" : "app-icon32.png", 17 | "idiom" : "mac", 18 | "scale" : "1x", 19 | "size" : "32x32" 20 | }, 21 | { 22 | "filename" : "app-icon64.png", 23 | "idiom" : "mac", 24 | "scale" : "2x", 25 | "size" : "32x32" 26 | }, 27 | { 28 | "filename" : "app-icon128.png", 29 | "idiom" : "mac", 30 | "scale" : "1x", 31 | "size" : "128x128" 32 | }, 33 | { 34 | "filename" : "app-icon256.png", 35 | "idiom" : "mac", 36 | "scale" : "2x", 37 | "size" : "128x128" 38 | }, 39 | { 40 | "filename" : "app-icon256.png", 41 | "idiom" : "mac", 42 | "scale" : "1x", 43 | "size" : "256x256" 44 | }, 45 | { 46 | "filename" : "app-icon512.png", 47 | "idiom" : "mac", 48 | "scale" : "2x", 49 | "size" : "256x256" 50 | }, 51 | { 52 | "filename" : "app-icon512.png", 53 | "idiom" : "mac", 54 | "scale" : "1x", 55 | "size" : "512x512" 56 | }, 57 | { 58 | "filename" : "app-icon1024.png", 59 | "idiom" : "mac", 60 | "scale" : "2x", 61 | "size" : "512x512" 62 | } 63 | ], 64 | "info" : { 65 | "author" : "xcode", 66 | "version" : 1 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /safari/Wayback Machine/Assets.xcassets/AppIcon.appiconset/app-icon1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/safari/Wayback Machine/Assets.xcassets/AppIcon.appiconset/app-icon1024.png -------------------------------------------------------------------------------- /safari/Wayback Machine/Assets.xcassets/AppIcon.appiconset/app-icon128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/safari/Wayback Machine/Assets.xcassets/AppIcon.appiconset/app-icon128.png -------------------------------------------------------------------------------- /safari/Wayback Machine/Assets.xcassets/AppIcon.appiconset/app-icon256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/safari/Wayback Machine/Assets.xcassets/AppIcon.appiconset/app-icon256.png -------------------------------------------------------------------------------- /safari/Wayback Machine/Assets.xcassets/AppIcon.appiconset/app-icon32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/safari/Wayback Machine/Assets.xcassets/AppIcon.appiconset/app-icon32.png -------------------------------------------------------------------------------- /safari/Wayback Machine/Assets.xcassets/AppIcon.appiconset/app-icon512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/safari/Wayback Machine/Assets.xcassets/AppIcon.appiconset/app-icon512.png -------------------------------------------------------------------------------- /safari/Wayback Machine/Assets.xcassets/AppIcon.appiconset/app-icon64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/safari/Wayback Machine/Assets.xcassets/AppIcon.appiconset/app-icon64.png -------------------------------------------------------------------------------- /safari/Wayback Machine/Assets.xcassets/AppIcon.appiconset/mini-icon16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/safari/Wayback Machine/Assets.xcassets/AppIcon.appiconset/mini-icon16.png -------------------------------------------------------------------------------- /safari/Wayback Machine/Assets.xcassets/AppIcon.appiconset/mini-icon32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/safari/Wayback Machine/Assets.xcassets/AppIcon.appiconset/mini-icon32.png -------------------------------------------------------------------------------- /safari/Wayback Machine/Assets.xcassets/AppIcon100.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "app-icon100@1x.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "filename" : "app-icon100@2x.png", 10 | "idiom" : "universal", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /safari/Wayback Machine/Assets.xcassets/AppIcon100.imageset/app-icon100@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/safari/Wayback Machine/Assets.xcassets/AppIcon100.imageset/app-icon100@1x.png -------------------------------------------------------------------------------- /safari/Wayback Machine/Assets.xcassets/AppIcon100.imageset/app-icon100@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/safari/Wayback Machine/Assets.xcassets/AppIcon100.imageset/app-icon100@2x.png -------------------------------------------------------------------------------- /safari/Wayback Machine/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /safari/Wayback Machine/Assets.xcassets/PrefScreenshots.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "safari-prefs-light-760x524.png", 5 | "idiom" : "universal" 6 | }, 7 | { 8 | "appearances" : [ 9 | { 10 | "appearance" : "luminosity", 11 | "value" : "dark" 12 | } 13 | ], 14 | "filename" : "safari-prefs-dark-760x524.png", 15 | "idiom" : "universal" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /safari/Wayback Machine/Assets.xcassets/PrefScreenshots.imageset/safari-prefs-dark-760x524.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/safari/Wayback Machine/Assets.xcassets/PrefScreenshots.imageset/safari-prefs-dark-760x524.png -------------------------------------------------------------------------------- /safari/Wayback Machine/Assets.xcassets/PrefScreenshots.imageset/safari-prefs-light-760x524.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/safari/Wayback Machine/Assets.xcassets/PrefScreenshots.imageset/safari-prefs-light-760x524.png -------------------------------------------------------------------------------- /safari/Wayback Machine/Assets.xcassets/Safari-icon.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "safari64.png", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /safari/Wayback Machine/Assets.xcassets/Safari-icon.imageset/safari64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/safari/Wayback Machine/Assets.xcassets/Safari-icon.imageset/safari64.png -------------------------------------------------------------------------------- /safari/Wayback Machine/Assets.xcassets/ShadowArchive.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "shadow-archive.png", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /safari/Wayback Machine/Assets.xcassets/ShadowArchive.imageset/shadow-archive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/safari/Wayback Machine/Assets.xcassets/ShadowArchive.imageset/shadow-archive.png -------------------------------------------------------------------------------- /safari/Wayback Machine/Assets.xcassets/WaybackLogo.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "wayback-light.png", 5 | "idiom" : "universal" 6 | }, 7 | { 8 | "appearances" : [ 9 | { 10 | "appearance" : "luminosity", 11 | "value" : "dark" 12 | } 13 | ], 14 | "filename" : "wayback-dark.png", 15 | "idiom" : "universal" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /safari/Wayback Machine/Assets.xcassets/WaybackLogo.imageset/wayback-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/safari/Wayback Machine/Assets.xcassets/WaybackLogo.imageset/wayback-dark.png -------------------------------------------------------------------------------- /safari/Wayback Machine/Assets.xcassets/WaybackLogo.imageset/wayback-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/safari/Wayback Machine/Assets.xcassets/WaybackLogo.imageset/wayback-light.png -------------------------------------------------------------------------------- /safari/Wayback Machine/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | $(PRODUCT_NAME) 17 | CFBundlePackageType 18 | $(PRODUCT_BUNDLE_PACKAGE_TYPE) 19 | CFBundleShortVersionString 20 | $(MARKETING_VERSION) 21 | CFBundleVersion 22 | $(CURRENT_PROJECT_VERSION) 23 | LSApplicationCategoryType 24 | public.app-category.reference 25 | LSMinimumSystemVersion 26 | $(MACOSX_DEPLOYMENT_TARGET) 27 | NSMainStoryboardFile 28 | Main 29 | NSPrincipalClass 30 | NSApplication 31 | 32 | 33 | -------------------------------------------------------------------------------- /safari/Wayback Machine/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // Wayback Machine 4 | // 5 | // Created by Carl on 9/4/21. 6 | // 7 | 8 | import Cocoa 9 | import SafariServices.SFSafariApplication 10 | import SafariServices.SFSafariExtensionManager 11 | 12 | let appName = "Wayback Machine" 13 | let extensionBundleIdentifier = "archive.org.waybackmachine.mac.extension" 14 | let APP_VERSION = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String ?? "0" 15 | 16 | class ViewController: NSViewController { 17 | 18 | @IBOutlet weak var statusLabel: NSTextField! 19 | @IBOutlet weak var versionLabel: NSTextField! 20 | @IBOutlet weak var activateButton: NSButton! 21 | 22 | override func viewDidLoad() { 23 | super.viewDidLoad() 24 | versionLabel.stringValue = "\(APP_VERSION)" 25 | 26 | SFSafariExtensionManager.getStateOfSafariExtension(withIdentifier: extensionBundleIdentifier) { (state, error) in 27 | guard let state = state, error == nil else { 28 | // Insert code to inform the user that something went wrong. 29 | return 30 | } 31 | 32 | DispatchQueue.main.async { 33 | if (state.isEnabled) { 34 | self.statusLabel.stringValue = "Extension is On" 35 | self.activateButton.title = "Open Preferences" 36 | } else { 37 | self.statusLabel.stringValue = "Extension is Off" 38 | } 39 | } 40 | } 41 | } 42 | 43 | @IBAction func openSafariExtensionPreferences(_ sender: AnyObject?) { 44 | SFSafariApplication.showPreferencesForExtension(withIdentifier: extensionBundleIdentifier) { error in 45 | guard error == nil else { 46 | // Insert code to inform the user that something went wrong. 47 | return 48 | } 49 | 50 | //DispatchQueue.main.async { 51 | // NSApplication.shared.terminate(nil) 52 | //} 53 | } 54 | } 55 | 56 | } 57 | -------------------------------------------------------------------------------- /safari/Wayback Machine/Wayback_Machine.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.app-sandbox 6 | 7 | com.apple.security.files.user-selected.read-only 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /test/annotations.spec.js: -------------------------------------------------------------------------------- 1 | const dom = require('./setup').jsdom 2 | const expect = require('chai').expect 3 | const hypothesisApiUrl = require('../webextension/scripts/annotations').hypothesisApiUrl 4 | 5 | describe('annotations', () => { 6 | it('should format hypothes.is API URL correctly', () => { 7 | var url1 = 'example.com' 8 | expect(hypothesisApiUrl(url1, 'domain')).to.be.equal('https://hypothes.is/api/search?uri.parts=example&uri.parts=com') 9 | expect(hypothesisApiUrl(url1, 'url')).to.be.equal('https://hypothes.is/api/search?uri=http://example.com') 10 | 11 | var url2 = 'http://iskme.org/our-ideas/well-rounded-lesson-history-and-common-core-math-work-together-when-teachers-and-students-' 12 | expect(hypothesisApiUrl(url2, 'domain')).to.be.equal('https://hypothes.is/api/search?uri.parts=iskme&uri.parts=org') 13 | expect(hypothesisApiUrl(url2, 'url')).to.be.equal('https://hypothes.is/api/search?uri=' + url2) 14 | 15 | var url3 = 'https://www.lifo.gr/' 16 | expect(hypothesisApiUrl(url3, 'domain')).to.be.equal('https://hypothes.is/api/search?uri.parts=www&uri.parts=lifo&uri.parts=gr') 17 | expect(hypothesisApiUrl(url3, 'url')).to.be.equal('https://hypothes.is/api/search?uri=' + url3) 18 | }) 19 | }) 20 | -------------------------------------------------------------------------------- /test/cited-papers.spec.js: -------------------------------------------------------------------------------- 1 | const expect = require('chai').expect 2 | const getMetadata = require('../webextension/scripts/cited-papers').getMetadata 3 | 4 | describe('cited-papers: getMetadata()', () => { 5 | let response = { 6 | 'abstracts': [], 7 | 'container_id': 'hcivi5alwffalcl3q2yireetlm', 8 | 'contribs': [ 9 | { 10 | 'extra': { 11 | 'sequence': 'first' 12 | }, 13 | 'index': 0, 14 | 'raw_name': 'David R. Gibson', 15 | 'role': 'author' 16 | } 17 | ], 18 | 'count_files': 1, 19 | 'doi': '10.1086/661761', 20 | 'extra': { 21 | 'crossref': { 22 | 'alternative-id': [ 23 | '10.1086/661761' 24 | ], 25 | 'container-title': [ 26 | 'American Journal of Sociology' 27 | ], 28 | 'is_kept': false, 29 | 'type': 'journal-article' 30 | } 31 | }, 32 | 'ident': 'qlymqxxsx5gttocoz77hq3e5ju', 33 | 'issue': '2', 34 | 'pages': '361-419', 35 | 'publisher': 'University of Chicago Press', 36 | 'refs': [], 37 | 'release_date': '2011-01-01T00:00:00Z', 38 | 'release_status': 'published', 39 | 'release_type': 'journal-article', 40 | 'revision': '844a08b1-ab28-4b1b-bcda-350baa55bf08', 41 | 'source': 'archive.org', 42 | 'state': 'active', 43 | 'title': 'Avoiding Catastrophe: The Interactional Production of Possibility during the Cuban Missile Crisis', 44 | 'url': 'https://web.archive.org/web/2017/http://www.belfercenter.org/sites/default/files/legacy/files/CMC50/DavidGibsonAvoidingCatastropheTheInteractionalProductionofPossibilityDuringTheCubanMissileCrisisAmericanJournalofSociology.pdf', 45 | 'volume': '117', 46 | 'wikidata_qid': 'Q56040827', 47 | 'work_id': '3xykhxcnubhqrcjz3k5f46fkxq' 48 | } 49 | it('should normalize data from response', () => { 50 | let result = getMetadata(response) 51 | expect(result).to.have.keys(['title', 'author', 'journal', 'url', 'source']) 52 | }) 53 | }) 54 | -------------------------------------------------------------------------------- /test/setup.js: -------------------------------------------------------------------------------- 1 | // https://github.com/airbnb/enzyme/blob/master/docs/guides/jsdom.md 2 | // Used to include headless DOM 3 | const { JSDOM } = require('jsdom') 4 | const jsdom = new JSDOM('') 5 | const { window } = jsdom 6 | function copyProps(src, target) { 7 | Object.defineProperties(target, { 8 | ...Object.getOwnPropertyDescriptors(src), 9 | ...Object.getOwnPropertyDescriptors(target) 10 | }) 11 | } 12 | global.window = window 13 | global.document = window.document 14 | global.$ = require('jquery') 15 | global.navigator = { 16 | userAgent: 'node.js' 17 | } 18 | global.isInTestEnv = true 19 | global.requestAnimationFrame = function (callback) { 20 | return setTimeout(callback, 0) 21 | } 22 | global.cancelAnimationFrame = function (id) { 23 | clearTimeout(id) 24 | } 25 | copyProps(window, global) 26 | module.exports = { jsdom: jsdom } 27 | -------------------------------------------------------------------------------- /test/tvnews.spec.js: -------------------------------------------------------------------------------- 1 | const expect = require('chai').expect 2 | const parseDate = require('../webextension/scripts/tvnews').parseDate 3 | 4 | describe('parseDate', () => { 5 | var tests = [ 6 | { 7 | 'input': '2019-01-29T16:00:00Z', 8 | 'expected': 'Tue Jan 29 2019' 9 | }, 10 | { 11 | 'input': '201901', 12 | 'expected': 'Tue Jan 01 2019' 13 | }, 14 | { 15 | 'input': '201704ab', 16 | 'expected': '' 17 | }, 18 | { 19 | 'input': false, 20 | 'expected': '' 21 | }, 22 | { 23 | 'input': '', 24 | 'expected': '' 25 | }, 26 | { 27 | 'input': '20184050', 28 | 'expected': '' 29 | } 30 | ] 31 | 32 | it('should return a formatted date string on success', () => { 33 | let result = parseDate(tests[0]['input']) 34 | expect(result).to.equal(tests[0]['expected']) 35 | }) 36 | it('should return empty string on impropperly formatted date input string', () => { 37 | let result = parseDate(tests[2]['input']) 38 | expect(result).to.equal(tests[2]['expected']) 39 | }) 40 | it('should return empty string on non-string input', () => { 41 | let result = parseDate(tests[3]['input']) 42 | expect(result).to.equal(tests[3]['expected']) 43 | }) 44 | it('should return empty string on empty string input', () => { 45 | let result = parseDate(tests[4]['input']) 46 | expect(result).to.equal(tests[4]['expected']) 47 | }) 48 | it('should return empty string on invalid date values', () => { 49 | let result = parseDate(tests[5]['input']) 50 | expect(result).to.equal(tests[5]['expected']) 51 | }) 52 | }) 53 | -------------------------------------------------------------------------------- /test/wordcloud.spec.js: -------------------------------------------------------------------------------- 1 | const expect = require('chai').expect 2 | const toConsumableArray = require('../webextension/scripts/wordcloud').toConsumableArray 3 | 4 | describe('wordcloud', () => { 5 | it('should execute the toConsumableArray function correctly by checking the array', () => { 6 | var array1 = [2001, 2003, 2004, 2005, 2006] 7 | var response1 = toConsumableArray(array1) 8 | for (var i = 0; i < response1.length; i++) { 9 | expect(response1[i]).to.equal(array1[i]) 10 | } 11 | var array2 = 'ABCDEF' 12 | var response2 = toConsumableArray(array2) 13 | for (var i = 0; i < response2.length; i++) { 14 | expect(array2.charAt(i)).to.equal(response2[i]) 15 | } 16 | }) 17 | }) 18 | -------------------------------------------------------------------------------- /unused/alexa.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Alexa Internet 11 | 12 | 13 |
14 |
15 |

Alexa Internet

16 |

Website ranking and analytical insights.

17 |

URL:

18 |
19 |
20 |
21 | 38 |
39 |
40 | 41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /unused/css/domaintools.css: -------------------------------------------------------------------------------- 1 | 2 | .color_code { 3 | color:#22c399; 4 | width: 100%; 5 | } 6 | 7 | body { 8 | max-height: 100%; 9 | } 10 | 11 | .container { 12 | padding-left: 15px; 13 | padding-right: 15px; 14 | /* background: white; */ 15 | } 16 | 17 | .extra_margin { 18 | margin-top: 3px 19 | } 20 | 21 | .lower_margin { 22 | margin-bottom: 5px; 23 | } 24 | 25 | #show_domaintools_data { 26 | font-size: 20px; 27 | } 28 | #whois { 29 | float: left; 30 | } 31 | 32 | .title .color_code { 33 | float: left; 34 | } 35 | -------------------------------------------------------------------------------- /unused/css/fact-check.css: -------------------------------------------------------------------------------- 1 | body { 2 | background-color: #eee; 3 | } 4 | 5 | .body-container { 6 | display: flex; 7 | flex-direction: column; 8 | height: 100vh; 9 | } 10 | 11 | .loader { 12 | flex: none; 13 | } 14 | 15 | .outer-container { 16 | display: contents; 17 | } 18 | 19 | #results-container { 20 | font-family: Menlo, Monaco, Consolas, "Courier New", monospace; 21 | color: #000; 22 | display: block; 23 | min-height: 1em; 24 | margin: 1em 0; 25 | font-size: 20px; 26 | line-height: 1.5; 27 | color: #333; 28 | background-color: #f5f5f5; 29 | border: 1px solid #ccc; 30 | border-radius: 5px; 31 | overflow-y: auto; 32 | word-break: break-all; 33 | } 34 | 35 | #fact-check-url { 36 | font-weight: normal; 37 | margin: 0 1em; 38 | word-break: break-all; 39 | } 40 | 41 | .fact-checks-list { 42 | margin: 0; 43 | padding: 0.5em; 44 | } 45 | 46 | #results-container .fact-checks-list:nth-child(even) { 47 | background-color: #fff; 48 | } 49 | 50 | .name { 51 | font-size: 21px; 52 | font-weight: 800; 53 | } 54 | 55 | .ournews-branding { 56 | font-size: 15px; 57 | } 58 | 59 | .ournews-branding img { 60 | margin: 8px 0 0 4px; 61 | width: 110px; 62 | } 63 | 64 | .container-scrollbar::-webkit-scrollbar { 65 | background-color: #aaa; 66 | width: 16px; 67 | border-radius: 5px; 68 | } 69 | .container-scrollbar::-webkit-scrollbar-thumb { 70 | background: #555; 71 | border-radius: 5px; 72 | } 73 | 74 | .header-container, .title { 75 | text-align: center; 76 | } 77 | 78 | .highlight-color { 79 | color: #733; 80 | } 81 | 82 | .highlight { 83 | color: #22c399; 84 | } 85 | 86 | .score-label { 87 | margin-left: 1em; 88 | padding: 3px 7px; 89 | border-radius: 5px; 90 | color: #fff; 91 | } 92 | 93 | .High { 94 | background-color: green; 95 | } 96 | 97 | .Medium { 98 | color: #000; 99 | background-color: yellow; 100 | } 101 | 102 | .Low { 103 | background-color: red; 104 | } 105 | 106 | /* dark mode */ 107 | @media (prefers-color-scheme: dark) { 108 | 109 | body { 110 | background-color: #2C2C2C; 111 | color: #eee; 112 | } 113 | 114 | #results-container { 115 | color: #ddd; 116 | background-color: #333; 117 | border: 1px solid #555; 118 | } 119 | 120 | #results-container .fact-checks-list:nth-child(even) { 121 | background-color: rgb(61, 61, 61); 122 | } 123 | 124 | .highlight-color { 125 | color: #d88; 126 | } 127 | 128 | .branding { 129 | color: #bbb; 130 | } 131 | 132 | .container-scrollbar::-webkit-scrollbar { 133 | background-color: #555; 134 | } 135 | .container-scrollbar::-webkit-scrollbar-thumb { 136 | background: #888; 137 | } 138 | 139 | a:hover { 140 | color: #438ac9; 141 | } 142 | } 143 | -------------------------------------------------------------------------------- /unused/css/radial-tree.css: -------------------------------------------------------------------------------- 1 | .rt-content{height:100%;margin:auto;overflow:auto;width:100%;z-index:9999!important}.rt-content .sequence{clear:both;font-size:18px;height:30px;margin-top:10px;text-align:center}.rt-content #chart{margin:auto;width:50%}.rt-content #chart svg{margin:auto}.rt-content #chart .rt-indicator{float:none;margin:auto;width:100%}.rt-content .div-btn{width:100%}.rt-content .div-btn .year-btn{background:#000;border-radius:0;color:#fff;cursor:pointer;float:left;font-size:18px;font-style:normal;font-weight:400;padding:5px;text-align:center;text-decoration:none}.rt-content .div-btn .active-btn,.rt-content .div-btn .year-btn:hover{background:green;color:#fff;cursor:pointer} -------------------------------------------------------------------------------- /unused/dnserror.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |

11 |

12 |

13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /unused/fact-check.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Fact Check 11 | 12 | 13 |

14 |
15 |

Fact Checks

16 |

powered byour.news

17 |

18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /unused/fonts/MaterialIcons-Regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/unused/fonts/MaterialIcons-Regular.eot -------------------------------------------------------------------------------- /unused/fonts/MaterialIcons-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/unused/fonts/MaterialIcons-Regular.ttf -------------------------------------------------------------------------------- /unused/fonts/MaterialIcons-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/unused/fonts/MaterialIcons-Regular.woff -------------------------------------------------------------------------------- /unused/fonts/MaterialIcons-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/unused/fonts/MaterialIcons-Regular.woff2 -------------------------------------------------------------------------------- /unused/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/unused/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /unused/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/unused/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /unused/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/unused/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /unused/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/unused/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /unused/images/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/unused/images/icon.png -------------------------------------------------------------------------------- /unused/images/icon_color.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/unused/images/icon_color.png -------------------------------------------------------------------------------- /unused/images/logo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/unused/images/logo.gif -------------------------------------------------------------------------------- /unused/images/our-news-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/unused/images/our-news-logo.png -------------------------------------------------------------------------------- /unused/images/wayback-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/unused/images/wayback-logo.png -------------------------------------------------------------------------------- /unused/scripts/alexa.js: -------------------------------------------------------------------------------- 1 | // alexa.js 2 | 3 | // from 'utils.js' 4 | /* global getUrlByParameter */ 5 | 6 | function getAlexa() { 7 | let alexa_url = 'https://xml.alexa.com/data?cli=10&dat=n&url=' 8 | let url = getUrlByParameter('url') 9 | let hostname = new URL(url).hostname 10 | $('.url').text(url).attr('href', url) 11 | $.get(alexa_url + hostname, (xml) => { 12 | let name = xml.getElementsByTagName('ALEXA')[0].getAttribute('URL') 13 | $('#alexa_name').text(name) 14 | let details = xml.getElementsByTagName('SD')[0] 15 | if (details) { 16 | $('.error').hide() 17 | let popularity = xml.getElementsByTagName('POPULARITY') 18 | let country_exists = xml.getElementsByTagName('COUNTRY') 19 | if (popularity && popularity.length > 0) { 20 | let rank = popularity[0].getAttribute('TEXT') 21 | $('#alexa_rank').text(rank) 22 | } else { 23 | $('.rank').hide() 24 | } 25 | if (country_exists && country_exists.length > 0) { 26 | let country = country_exists[0].getAttribute('NAME') 27 | $('#alexa_country').text(country) 28 | } else { 29 | $('.country').hide() 30 | } 31 | } else { 32 | $('.error').text('No More Data Found') 33 | $('.rank').hide() 34 | $('.country').hide() 35 | } 36 | let rl = xml.getElementsByTagName('RL') 37 | const TITLE_LEN = 26 38 | let len = rl.length 39 | if (rl.length > 0) { 40 | for (let i = 0; i < len && i < 5; i++) { 41 | let title = rl[i].getAttribute('TITLE') 42 | let href = rl[i].getAttribute('HREF') 43 | $('#alexa_list').append( 44 | $('
  • ').append( 45 | $('').attr('href', 'http://' + href) 46 | .attr('target', '_blank') 47 | .attr('class', 'rl-a') 48 | .attr('title', title) 49 | .text(title.length > TITLE_LEN ? title.substring(0, TITLE_LEN) + '...' : title) 50 | ) 51 | ) 52 | } 53 | } else { 54 | $('.related_sites').hide() 55 | } 56 | $('#alexa_page').attr('href', 'https://archive.org/services/context/alexa?url=' + hostname) 57 | $('#loader_alexa').hide() 58 | $('#show_alexa_data').show() 59 | }).fail(() => { 60 | $('#loader_alexa').hide() 61 | $('#alexa_domain_tag').hide() 62 | $('.error').text('Can not reach Alexa at the moment!') 63 | $('.rank').hide() 64 | $('.country').hide() 65 | $('#show_alexa_data').show() 66 | }) 67 | } 68 | 69 | // onload 70 | $(function() { 71 | getAlexa() 72 | }) 73 | -------------------------------------------------------------------------------- /unused/scripts/dnserror.js: -------------------------------------------------------------------------------- 1 | // dnserror.js 2 | // do NOT use jQuery in this file 3 | 4 | // from 'archive.js' 5 | /* global refreshWayback */ 6 | 7 | function getParameterByName(name) { 8 | const url = new URL(window.location.href) 9 | return url.searchParams.get(name) 10 | } 11 | 12 | // onload 13 | window.addEventListener('load', function() { 14 | let page_url = getParameterByName('page_url') 15 | let wayback_url = getParameterByName('wayback_url') 16 | document.getElementById('title1').innerHTML = 'Server Not Found' 17 | document.getElementById('title2').innerHTML = 'Server Not Found' 18 | document.getElementById('description').innerHTML = "The requested URL's server or domain could not be found. If you entered the URL manually, please check your spelling and try again." 19 | document.getElementById('page-url').innerHTML = page_url 20 | document.getElementById('page-url').href = page_url 21 | refreshWayback(wayback_url, 999) 22 | }) 23 | -------------------------------------------------------------------------------- /unused/scripts/domaintools.js: -------------------------------------------------------------------------------- 1 | // domaintools.js 2 | 3 | // from 'utils.js' 4 | /* global getUrlByParameter, hostURL */ 5 | 6 | function appendToParent (id, item, text_before, parent, show_item, text_after) { 7 | if (item) { 8 | if (show_item) { 9 | parent.append($(id).text(text_before + item + text_after)) 10 | } else { 11 | parent.append($(id).text(text_before + text_after)) 12 | } 13 | } 14 | } 15 | 16 | function getDomainTool () { 17 | let url = getUrlByParameter('url') 18 | let domaintools_api = hostURL + 'context/domaintools?url=' + url 19 | $.getJSON(domaintools_api, (data) => { 20 | let parent = $('#show_domaintools_data') 21 | if (data.status !== 'error') { 22 | if (data.response.results_count !== 0) { 23 | appendToParent('#domain', data.response.results[0].domain, 'Domain: ', parent, true, '') 24 | appendToParent('#alexa', data.response.results[0].alexa, 'Alexa Rank: ', parent, true, '') 25 | appendToParent('#admin_contact_country', data.response.results[0].admin_contact.country.value, 'Country: ', parent, true, '') 26 | appendToParent('#create_date', data.response.results[0].create_date.value, 'Created Date: ', parent, true, '') 27 | appendToParent('#email_domain', data.response.results[0].email_domain[0].value, 'Email Domain: ', parent, true, '') 28 | appendToParent('#expiration_date', data.response.results[0].expiration_date.value, 'Expire Date: ', parent, true, '') 29 | appendToParent('#admin_contact_state', data.response.results[0].admin_contact.state.value, 'State: ', parent, true, '') 30 | appendToParent('#registrant_org', data.response.results[0].registrant_org.value, 'Registrant Org: ', parent, true, '') 31 | appendToParent('#website_response', data.response.results[0].website_response, 'Website Response Status Code: ', parent, true, '') 32 | appendToParent('#whois', data.response.results[0].whois_url, 'Click to see the Whois URL', parent, false, '') 33 | $('#whois').attr('href', data.response.results[0].whois_url) 34 | } else { 35 | parent.text('Data not available') 36 | } 37 | } else { 38 | parent.text('Data not available') 39 | } 40 | $('#loader_domaintools').hide() 41 | $('#show_domaintools_data').show() 42 | }) 43 | .fail(() => { 44 | $('#show_domaintools_data').text('Data not available') 45 | }) 46 | } 47 | 48 | if (typeof module !== 'undefined') { module.exports = { appendToParent, getDomainTool } } 49 | -------------------------------------------------------------------------------- /unused/scripts/fact-check.js: -------------------------------------------------------------------------------- 1 | // fact-check.js 2 | 3 | // from 'utils.js' 4 | /* global getUrlByParameter, isNotExcludedUrl, isValidUrl */ 5 | 6 | function cScore(score) { 7 | let value = '' 8 | const confidenceScoreDict = { 9 | high: 'High', 10 | medium: 'Medium', 11 | low: 'Low' 12 | } 13 | if (score > 0.7) { 14 | value = 'high' 15 | } else if (score > 0.5) { 16 | value = 'medium' 17 | } else if (score >= 0) { 18 | value = 'low' 19 | } 20 | return confidenceScoreDict[value] 21 | } 22 | 23 | function runFactCheck() { 24 | const url = getUrlByParameter('url') 25 | $('#fact-check-url').text(url) 26 | if (isValidUrl(url) && isNotExcludedUrl(url)) { 27 | chrome.runtime.sendMessage({ message: 'getFactCheckResults', url: url }, (resp) => { 28 | if (chrome.runtime.lastError) { /* skip */ } 29 | $('.loader').hide() 30 | $('.facts').show() 31 | if (resp && resp.json) { 32 | if (resp.json.results && resp.json.results.meta && resp.json.results.meta.indicators) { 33 | // api returns results 34 | let item = resp.json.results.meta 35 | for (let i = 0; i < item.indicators.length; i++) { 36 | let row = $('
    ') 37 | let checkedBy = $('
    ').text(item.indicators[i].name) 38 | let relatedAnalysis = $('').text(item.indicators[i].url).attr('href', item.indicators[i].url) 39 | /* 40 | let scoreValue = $('').text((Math.round((item.indicators[i].confidence)*100))) 41 | let sRating = cScore(item.indicators[i].confidence) 42 | let scoreLabel = $(``).text(sRating) 43 | let confidenceScore = $('
    ').text('Confidence Score: ').append(scoreValue, scoreLabel) 44 | */ 45 | $('#results-container').append( 46 | row.append(checkedBy, relatedAnalysis) 47 | ) 48 | } 49 | } else { 50 | // api returns no results 51 | let row = $('
    ') 52 | $('#results-container').append(row.text('No fact checks found for the current URL.')) 53 | } 54 | } else { 55 | // api call failed 56 | let row = $('
    ') 57 | $('#results-container').append(row.text('Fact check server is not responding.')) 58 | } 59 | }) 60 | } 61 | } 62 | 63 | // onload 64 | $(function() { 65 | runFactCheck() 66 | }) 67 | -------------------------------------------------------------------------------- /unused/scripts/overview.js: -------------------------------------------------------------------------------- 1 | // overview.js 2 | 3 | // from 'utils.js' 4 | /* global getUrlByParameter, hostURL, getWaybackCount, timestampToDate */ 5 | 6 | function getWBMSummary () { 7 | let url = getUrlByParameter('url') 8 | getArchiveDetails(url) 9 | firstArchiveDetails(url) 10 | recentArchiveDetails(url) 11 | } 12 | 13 | function getArchiveDetails (url) { 14 | let new_url = hostURL + 'services/context/metadata?url=' + url 15 | $.getJSON(new_url, (response) => { 16 | if ('type' in response) { 17 | let type = response.type 18 | $('#details').text(type) 19 | $('#url_details').show() 20 | } 21 | }).fail(() => {}) 22 | let captures 23 | getWaybackCount(url, (values) => { 24 | captures = values.total 25 | $('#total_archives_number').attr('href', 'https://web.archive.org/web/*/' + url) 26 | .text(captures.toLocaleString()) 27 | if (captures > 0) { 28 | $('#total_captures').show() 29 | getThumbnail(url) 30 | } 31 | }) 32 | } 33 | 34 | function firstArchiveDetails (url) { 35 | let new_url = hostURL + 'cdx/search?url=' + url + '&limit=1&output=json' 36 | $.getJSON(new_url, (data) => { 37 | if (data.length === 0) { 38 | $('#first_archive_datetime_error').text('URL has not been archived') 39 | } else { 40 | const ts = data[1][1] 41 | const dt = timestampToDate(ts).toString().split('+')[0] 42 | $('#first_archive_datetime') 43 | .text(dt) 44 | .attr('href', 'https://web.archive.org/web/' + ts + '/' + url) 45 | } 46 | }) 47 | .fail(() => $('#first_archive_datetime_error').text('Data not available')) 48 | } 49 | 50 | function recentArchiveDetails (url) { 51 | let new_url = hostURL + 'cdx/search?url=' + url + '&limit=-1&output=json' 52 | $.getJSON(new_url, (data) => { 53 | if (data.length === 0) { 54 | $('#recent_archive_datetime_error').text('URL has not been archived') 55 | } else { 56 | const ts = data[1][1] 57 | const dt = timestampToDate(ts).toString().split('+')[0] 58 | $('#recent_archive_datetime') 59 | .text(dt) 60 | .attr('href', 'https://web.archive.org/web/' + ts + '/' + url) 61 | } 62 | }) 63 | .fail(() => $('#recent_archive_datetime_error').text('Data not available')) 64 | } 65 | 66 | // Function used to get the thumbnail of the URL 67 | function getThumbnail (url) { 68 | // Add to manifest permissions to use: "http://crawl-services.us.archive.org:8200/*" 69 | let new_url = 'http://crawl-services.us.archive.org:8200/wayback?url=' + url + '&width=300&height=200' 70 | $('#loader_thumbnail').show() 71 | fetch(new_url) 72 | .then((response) => { 73 | $('#loader_thumbnail').hide() 74 | let thumbnail = $(``) 75 | $('#show_thumbnail').append(thumbnail).show() 76 | }) 77 | .catch((exception) => { 78 | $('#loader_thumbnail').hide() 79 | if (exception === 'timeout') { 80 | $('#show_thumbnail').text('Please refresh the page.').show() 81 | } else { 82 | if (exception.status === 504) { 83 | $('#show_thumbnail').text('Please refresh the page.').show() 84 | } else { 85 | $('#show_thumbnail').text('Thumbnail not found.').show() 86 | } 87 | } 88 | }) 89 | } 90 | 91 | // onload 92 | $(function() { 93 | const url = getUrlByParameter('url') 94 | $('.url').text(url).attr('href', url) 95 | getWBMSummary() 96 | }) 97 | -------------------------------------------------------------------------------- /unused/test/domaintools.spec.js: -------------------------------------------------------------------------------- 1 | const expect = require('chai').expect 2 | const dom = require('./setup').jsdom 3 | const appendToParent = require('../webextension/scripts/domaintools').appendToParent 4 | describe('domaintools', () => { 5 | function htmlToElement(html) { 6 | var template = document.createElement('template') 7 | template.innerHTML = html 8 | return template.content.firstChild 9 | } 10 | it('should append right text to the parent element', () => { 11 | var html = '
    ' 12 | var parent = htmlToElement(html) 13 | dom.window.document.body.appendChild(parent) 14 | var id = '#test_id' 15 | var item = 'test_item' 16 | var text_before = 'some_text_before ' 17 | var text_after = ' some_text_after' 18 | var show_item = true 19 | appendToParent(id, item, text_before, parent, show_item, text_after) 20 | expect(parent.firstChild.innerHTML).to.equal('some_text_before test_item some_text_after') 21 | }) 22 | }) 23 | -------------------------------------------------------------------------------- /unused/wbmsummary.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Wayback Machine 11 | 12 | 13 |
    14 | 19 | 20 |
    21 |
    22 |
    23 |
    First Capture:
    24 |
    Last Capture:
    25 |
    Total Number of Captures:
    26 |
    The URL is a
    27 | 28 |
    29 |
    30 |
    31 | 32 |
    33 |
    34 |
    35 |
    36 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /update-version: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "Usage: $0 [version]" 4 | echo " " 5 | 6 | version=`grep '"version"' webextension/manifest.json | sed 's/.*\"version\"\ *\:\ *\"\([0-9\.]*\)\".*/\1/'` 7 | echo "Current version is $version" 8 | 9 | if [ -n "$1" ]; then 10 | echo "Updating version to $1" 11 | sed -i '' -e "s/MARKETING_VERSION\ \=\ [0-9\.]*/MARKETING_VERSION = $1/" safari/Wayback\ Machine.xcodeproj/project.pbxproj 12 | sed -i '' -e "s/\"version\"\ *\:\ *\"[0-9\.]*\"/\"version\"\:\ \"$1\"/" webextension/manifest.json 13 | # sed -i '' -e "s/\"version\"\ *\:\ *\"[0-9\.]*\"/\"version\"\:\ \"$1\"/" package.json 14 | fi 15 | -------------------------------------------------------------------------------- /webextension/annotations.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Annotations 11 | 12 | 13 |
    14 |
    15 |

    Annotations

    16 |

    powered byHypothes.is

    17 |

    URL:

    18 | 19 |
    20 |
    21 |
    22 |
    23 |
    24 |
    25 |

    Domain

    26 |
    27 |
    28 |
    29 | 30 | 31 |
    32 |
    33 | 34 | 35 |
    36 |
    37 | 38 | Public on 39 | 40 |
    41 |
    42 |
    43 | 44 |
    45 | 46 |
    47 |
    48 | 49 | 50 |
    51 |
    52 | 53 | Public on 54 | 55 |
    56 |
    57 |
    58 | 59 |
    60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | -------------------------------------------------------------------------------- /webextension/cited-books.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Cited Books 11 | 12 | 13 |
    14 | 15 |

    Cited Books

    16 |

    17 |

    18 |
    19 |
    20 |
    21 |
    22 |
    23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /webextension/cited-papers.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Cited Papers 11 | 12 | 13 |
    14 | 15 |

    Cited Papers

    16 |

    17 |

    18 |
    19 |
    20 |
    21 |
    22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /webextension/css/about.css: -------------------------------------------------------------------------------- 1 | 2 | /* About Page */ 3 | 4 | h1.underlined { 5 | border-bottom: 1px solid #ccc; 6 | padding-bottom: 0.5em; 7 | } 8 | 9 | .about-header { 10 | /* float: left; */ 11 | margin-bottom: 3em; 12 | text-align: center; 13 | } 14 | .about-header * { 15 | /* float: left; */ 16 | } 17 | .about-header img { 18 | margin: 1em 1em 0 0; 19 | } 20 | 21 | .about-body { 22 | float: left; 23 | font-size: 14pt; 24 | margin-bottom: 2em; 25 | } 26 | .about-body div { 27 | padding-right: 3em; 28 | } 29 | 30 | .about-footer { 31 | font-size: 11pt; 32 | line-height: 1.1; 33 | margin: 2em 0; 34 | } 35 | 36 | .about-app-icon { 37 | width: 32px; 38 | height: 32px; 39 | margin: 2px 2px 2px 0; 40 | } 41 | .about-badge { 42 | height: 50px; 43 | margin-bottom: 1em; 44 | } 45 | 46 | #about-news-list { 47 | font-size: 11pt; 48 | line-height: 1.1; 49 | } 50 | 51 | ul.features { 52 | list-style-type: none; 53 | padding-inline-start: 0; 54 | } 55 | ul.features li { 56 | padding-bottom: 0.5em; 57 | } 58 | ul.features li:nth-child(odd) h4 { 59 | color: #733; 60 | } 61 | ul.features li:nth-child(even) h4 { 62 | color: #522; 63 | } 64 | 65 | /* Dark Mode */ 66 | @media (prefers-color-scheme: dark) { 67 | 68 | body { 69 | background-color: #222; 70 | color: #ccc; 71 | } 72 | 73 | h1.underlined { 74 | border-bottom: 1px solid #444; 75 | } 76 | 77 | h1 { 78 | color: #ddd; 79 | } 80 | 81 | h2, h3, h4 { 82 | color: #dcc; 83 | } 84 | 85 | a { 86 | color: #d66; 87 | } 88 | a:hover { 89 | color: #f88; 90 | } 91 | 92 | ul.features li:nth-child(odd) h4 { 93 | color: #faa; 94 | } 95 | ul.features li:nth-child(even) h4 { 96 | color: #d88; 97 | } 98 | 99 | } 100 | -------------------------------------------------------------------------------- /webextension/css/archive.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: serif; 3 | font-size: 12pt; 4 | } 5 | 6 | #popup-container { 7 | position: fixed; 8 | z-index: 2147483647; 9 | width: 350px; 10 | top: 10px; 11 | right: 10px; 12 | background-color: white; 13 | outline: 1rem black; 14 | font-family: 'Arial', sans-serif; 15 | font-size: 12pt; 16 | animation: fadein 0.8s ease-out; 17 | border-radius: 5px; 18 | box-shadow: 0 3px 5px 0 rgba(0,0,0,.3); 19 | } 20 | 21 | #popup-container p { 22 | margin: 0.5em 1em; 23 | text-align: center; 24 | font-size: 11pt; 25 | color: #444; 26 | } 27 | 28 | #title-txt { 29 | position: relative; 30 | height: 2em; 31 | width: 100%; 32 | font-family: 'Courier New', 'Courier', monospace; 33 | font-size: 12pt; 34 | text-align: center; 35 | line-height: 2em; 36 | color: white; 37 | background-color: #9A3B38; 38 | border-radius: 5px 5px 0px 0px; 39 | } 40 | 41 | 42 | #close-btn { 43 | display: inline-block; 44 | position: absolute; 45 | width: 1em; 46 | height: 1em; 47 | top: 0.5em; 48 | right: 0.5em; 49 | cursor: pointer; 50 | transition: 0.3s; 51 | } 52 | 53 | #close-btn:hover { 54 | opacity: 0.6; 55 | } 56 | 57 | .wm-logo { 58 | display: block; 59 | position: relative; 60 | width: 95%; 61 | margin: 0.5em auto; 62 | } 63 | 64 | #archive-btn { 65 | display: block; 66 | position: relative; 67 | font-family: 'Arial', sans-serif; 68 | font-size: 12pt; 69 | height: 2em; 70 | background-color: #9A3B38; 71 | color: #eee; 72 | line-height: 2em; 73 | text-align: center; 74 | text-decoration: none; 75 | opacity: 1; 76 | transition: 0.3s; 77 | border-radius: 5px; 78 | } 79 | 80 | #archive-btn:hover { 81 | opacity: 0.6; 82 | } 83 | 84 | @keyframes fadein { 85 | from { opacity: 0; } 86 | to { opacity: 1; } 87 | } 88 | -------------------------------------------------------------------------------- /webextension/css/cited-books.css: -------------------------------------------------------------------------------- 1 | #resultsTray { 2 | display: grid; 3 | grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); 4 | margin: auto; 5 | padding-left: 15px; 6 | padding-right: 15px; 7 | } 8 | #resultsTray > div { 9 | background-color: #eee; 10 | border-radius: 5px; 11 | border: 1px solid #888; 12 | margin: 10px auto; 13 | padding: 5px; 14 | justify-content: space-between; 15 | display: flex; 16 | flex-flow: column wrap; 17 | text-align: center; 18 | width: 300px; 19 | } 20 | #resultsTray > p { 21 | display: block; 22 | margin: auto; 23 | overflow: hidden; 24 | text-align: center; 25 | white-space: normal; 26 | width: 250px; 27 | } 28 | 29 | .text-elements { 30 | display: block; 31 | margin: 10px auto; 32 | overflow: hidden; 33 | text-align: center; 34 | white-space: normal; 35 | padding: 0 1em; 36 | } 37 | 38 | .bottom-details { 39 | justify-content: flex-end; 40 | width: 180px; 41 | margin: 0 auto 10px; 42 | } 43 | 44 | .btn { 45 | text-align: center; 46 | margin: 20px auto; 47 | } 48 | 49 | .cover-img { 50 | align-self: center; 51 | display: block; 52 | height: 250px; 53 | margin-bottom: 10px; 54 | width: 180px; 55 | } 56 | 57 | body { 58 | max-height: 100%; 59 | } 60 | 61 | .container { 62 | padding: 15px; 63 | } 64 | 65 | p { 66 | font-family: "Gill Sans Light"; 67 | font-size: 20px; 68 | } 69 | 70 | h3 { 71 | font-size: 20px; 72 | } 73 | 74 | /* dark mode */ 75 | @media (prefers-color-scheme: dark) { 76 | body { 77 | background-color: #2C2C2C; 78 | color: #eee; 79 | } 80 | 81 | #resultsTray > div { 82 | background-color: #333; 83 | color: #ddd; 84 | } 85 | } 86 | -------------------------------------------------------------------------------- /webextension/css/cited-papers.css: -------------------------------------------------------------------------------- 1 | #container-whole-doi { 2 | display: grid; 3 | grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); 4 | margin-left: auto; 5 | margin-right: auto; 6 | padding-left: 15px; 7 | padding-right: 15px; 8 | } 9 | #container-whole-doi > div { 10 | background-color: #eee; 11 | border-radius: 5px; 12 | border: 1px solid #888; 13 | margin: 10px auto; 14 | padding: 5px; 15 | justify-content: space-between; 16 | display: flex; 17 | flex-flow: column wrap; 18 | text-align: center; 19 | width: 300px; 20 | } 21 | #container-whole-doi > div > p { 22 | display: block; 23 | margin-left: auto; 24 | margin-right: auto; 25 | overflow: hidden; 26 | text-align: center; 27 | white-space: normal; 28 | } 29 | #container-whole-doi > div > div > button { 30 | text-align: center; 31 | margin-top: 10px; 32 | margin-bottom: 10px; 33 | } 34 | 35 | .text-elements { 36 | display: block; 37 | margin: 10px auto; 38 | overflow: hidden; 39 | text-align: center; 40 | white-space: normal; 41 | padding: 0 1em; 42 | } 43 | 44 | .bottom-details { 45 | justify-content: flex-end; 46 | text-align: center; 47 | /* margin: 10px auto; */ 48 | margin: 0 auto 10px; 49 | } 50 | 51 | .unavailable-label { 52 | color: #800; 53 | display: block; 54 | margin: 20px auto; 55 | overflow: hidden; 56 | text-align: center; 57 | white-space: normal; 58 | } 59 | 60 | body { 61 | max-height: 100%; 62 | } 63 | 64 | .container { 65 | padding: 15px; 66 | } 67 | 68 | p { 69 | font-family: Gill Sans Light; 70 | font-size: 20px; 71 | } 72 | 73 | h3 { 74 | font-size: 20px; 75 | } 76 | 77 | /* dark mode */ 78 | @media (prefers-color-scheme: dark) { 79 | body { 80 | background-color: #2C2C2C; 81 | color: #eee; 82 | } 83 | 84 | #container-whole-doi > div { 85 | background-color: #333; 86 | } 87 | 88 | .unavailable-label { 89 | color: #f88; 90 | } 91 | } 92 | -------------------------------------------------------------------------------- /webextension/css/exclude-list.css: -------------------------------------------------------------------------------- 1 | 2 | body { 3 | background-color: #eee; 4 | } 5 | 6 | p { 7 | font-family: "Gill Sans Light"; 8 | font-size: 20px; 9 | } 10 | 11 | .body-container { 12 | display: flex; 13 | flex-direction: column; 14 | height: 100vh; 15 | } 16 | 17 | .header-container { 18 | text-align: center; 19 | } 20 | 21 | .outer-container { 22 | display: contents; 23 | } 24 | 25 | #legend-info { 26 | flex: 2; 27 | } 28 | 29 | #save-btn, #cancel-btn { 30 | width: 10em; 31 | height: 32px; 32 | margin: 0.5em 0 0 0.5em; 33 | } 34 | 35 | .btn { 36 | white-space: inherit; 37 | } 38 | 39 | #exclude-list-container { 40 | margin-top: 0.5em; 41 | display: flex; 42 | flex-direction: column; 43 | flex: 2; 44 | font-family: Menlo, Monaco, Consolas, "Courier New", monospace; 45 | font-size: 14px; 46 | } 47 | 48 | #exclude-list-area { 49 | flex: 2; 50 | width: 100%; 51 | min-height: 4em; 52 | border-radius: 5px; 53 | padding: 0.5em; 54 | border: 1px solid #737373; 55 | color: #333; 56 | resize: none; 57 | } 58 | 59 | .container-scrollbar::-webkit-scrollbar { 60 | background-color: #aaa; 61 | width: 16px; 62 | border-radius: 5px; 63 | } 64 | .container-scrollbar::-webkit-scrollbar-thumb { 65 | background: #555; 66 | border-radius: 5px; 67 | } 68 | 69 | /* Dark Mode */ 70 | 71 | @media (prefers-color-scheme: dark) { 72 | 73 | body { 74 | background-color: #2C2C2C; 75 | color: #eee; 76 | } 77 | 78 | a { 79 | color: #d66; 80 | } 81 | a:hover { 82 | color: #f88; 83 | } 84 | 85 | #exclude-list-area { 86 | color: #ddd; 87 | background-color: #333; 88 | border: 1px solid #555; 89 | } 90 | 91 | .container-scrollbar::-webkit-scrollbar { 92 | background-color: #555; 93 | } 94 | .container-scrollbar::-webkit-scrollbar-thumb { 95 | background: #888; 96 | } 97 | 98 | } 99 | -------------------------------------------------------------------------------- /webextension/css/resource-list.css: -------------------------------------------------------------------------------- 1 | 2 | body { 3 | background-color: #eee; 4 | } 5 | 6 | .container { 7 | display: flex; 8 | flex-direction: column; 9 | height: 100vh; 10 | } 11 | 12 | .loader { 13 | flex: none; 14 | } 15 | 16 | .outer-list-container { 17 | display: contents; 18 | } 19 | 20 | #resource-list-container { 21 | font-family: Menlo, Monaco, Consolas, "Courier New", monospace; 22 | color: #000; 23 | display: block; 24 | padding: 0.5em; 25 | margin: 1em 0; 26 | font-size: 20px; 27 | line-height: 1.5; 28 | color: #333; 29 | background-color: #f5f5f5; 30 | border: 1px solid #ccc; 31 | border-radius: 5px; 32 | overflow-y: scroll; 33 | } 34 | 35 | #current-url { 36 | font-weight: normal; 37 | margin: 0 1em; 38 | word-break: break-all; 39 | } 40 | 41 | .spn-head { 42 | display: inline-block; 43 | } 44 | 45 | p { 46 | font-family: Gill Sans Light; 47 | font-size: 20px; 48 | } 49 | 50 | #resource-list-container p { 51 | padding: 0 5px; 52 | white-space: normal; 53 | word-break: break-all; 54 | margin: 0; 55 | } 56 | #resource-list-container p:nth-child(even) { 57 | color: #666; 58 | } 59 | 60 | .logo { 61 | margin: 1em auto; 62 | text-align: center; 63 | } 64 | 65 | .wb-logo { 66 | height: 90px; 67 | padding-top: 1em; 68 | } 69 | 70 | .container-scrollbar::-webkit-scrollbar { 71 | background-color: #aaa; 72 | width: 16px; 73 | border-radius: 5px; 74 | } 75 | .container-scrollbar::-webkit-scrollbar-thumb { 76 | background: #555; 77 | border-radius: 5px; 78 | } 79 | 80 | #counter-container { 81 | display: none; 82 | text-align: right; 83 | margin-bottom: 1em; 84 | } 85 | 86 | .live-status { 87 | text-align: center; 88 | } 89 | 90 | .error { 91 | padding-bottom: 1em; 92 | text-align: center; 93 | display: none; 94 | } 95 | 96 | .error-color { 97 | color: #733; 98 | font-weight: 700; 99 | } 100 | 101 | .highlight-color { 102 | color: #733; 103 | } 104 | 105 | .snapshot-color { 106 | font-weight: normal; 107 | /* color: #faa; */ 108 | } 109 | 110 | #message { 111 | display: none; 112 | margin-top: 1em; 113 | } 114 | 115 | #snapshot-url { 116 | display: none; 117 | } 118 | 119 | /* dark mode */ 120 | @media (prefers-color-scheme: dark) { 121 | 122 | body { 123 | background-color: #2C2C2C; 124 | color: #eee; 125 | } 126 | 127 | #resource-list-container { 128 | color: #ddd; 129 | background-color: #333; 130 | border: 1px solid #555; 131 | } 132 | 133 | #resource-list-container p:nth-child(even) { 134 | color: #aaa; 135 | } 136 | 137 | .error-color { 138 | color: #f66; 139 | } 140 | 141 | .highlight-color { 142 | color: #d88; 143 | } 144 | 145 | .snapshot-color { 146 | color: #7ac; 147 | } 148 | .snapshot-color:hover { 149 | color: #9cf; 150 | } 151 | 152 | .container-scrollbar::-webkit-scrollbar { 153 | background-color: #555; 154 | } 155 | .container-scrollbar::-webkit-scrollbar-thumb { 156 | background: #888; 157 | } 158 | } 159 | -------------------------------------------------------------------------------- /webextension/css/settings.css: -------------------------------------------------------------------------------- 1 | /* default light mode */ 2 | 3 | #setting-page { 4 | overflow: hidden; 5 | } 6 | 7 | #setting-page label { 8 | font-weight: 500; 9 | font-size: 12px; 10 | } 11 | 12 | #view-setting-text { 13 | font-size: 12px; 14 | font-weight: 500; 15 | } 16 | 17 | .setting-text-box { 18 | display: inline-block; 19 | width: calc(100% - 50px); 20 | } 21 | 22 | .setting-text-box div { 23 | margin-top: 0.5em; 24 | } 25 | 26 | .setting-switch { 27 | width: 100%; 28 | min-height: 36px; 29 | border-radius: 5px; 30 | border: 1px solid #888; 31 | margin: 5px auto 5px auto; 32 | padding: 8px 5px 8px 5px; 33 | text-align: left; 34 | cursor: pointer; 35 | } 36 | .setting-switch:hover { 37 | background-color: #ccc; 38 | outline: none; 39 | } 40 | 41 | .btn-docs { 42 | background-color: #888; 43 | color: #fff; 44 | } 45 | 46 | /* navgation bar */ 47 | 48 | ul.setting-nav { 49 | list-style-type: none; 50 | margin: 0 0 5px 0; 51 | overflow: hidden; 52 | } 53 | 54 | ul.setting-nav li { 55 | float: left; 56 | width: 50%; 57 | } 58 | 59 | /* options */ 60 | 61 | #view-setting { 62 | text-align: center !important; 63 | } 64 | 65 | #view-setting label { 66 | margin: 0; 67 | } 68 | 69 | .setting-switch * { 70 | cursor: pointer; 71 | } 72 | 73 | .setting-switch input[type=checkbox] { 74 | margin: 3px 7px 0 3px; 75 | float: left; 76 | } 77 | 78 | .radiobtn { 79 | margin-right: 8px; 80 | } 81 | 82 | label[for=tagcloud] { 83 | margin-bottom: 5px; 84 | } 85 | 86 | #back-btn { 87 | margin-top: 10px; 88 | } 89 | 90 | .embed-popup-group { 91 | line-height: 1em; 92 | } 93 | 94 | .embed-popup-group input { 95 | margin: 0 7px 0 0 !important; 96 | } 97 | 98 | .embed-popup-group label { 99 | margin: 0; 100 | font-size: 10px !important; 101 | } 102 | 103 | 104 | /* tooltips */ 105 | 106 | .btn-docs { 107 | float: right; 108 | width: 16px; 109 | height: 16px; 110 | border: 1px solid #888; 111 | border-radius: 50%; 112 | font-size: 10px; 113 | padding: 0; 114 | } 115 | 116 | .tooltip-inner p { 117 | margin: 5px; 118 | font-size: 12px; 119 | } 120 | 121 | .setting-tip { 122 | width: 100px; 123 | } 124 | 125 | /* dark mode */ 126 | 127 | @media (prefers-color-scheme: dark) { 128 | 129 | #setting-page label { 130 | font-weight: 500; 131 | } 132 | 133 | #view-setting-text { 134 | font-weight: 500; 135 | } 136 | 137 | .setting-switch { 138 | border: 1px solid #666; 139 | } 140 | .setting-switch:hover { 141 | background-color: #444; 142 | } 143 | 144 | .btn-docs { 145 | background-color: #888; 146 | color: #000; 147 | } 148 | 149 | } 150 | -------------------------------------------------------------------------------- /webextension/css/tvnews.css: -------------------------------------------------------------------------------- 1 | #RecommendationTray { 2 | display: grid; 3 | grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); 4 | margin: 0 auto 0 auto; 5 | padding: 0 15px 0 15px; 6 | } 7 | #RecommendationTray > div { 8 | background-color: #eee; 9 | border-radius: 5px; 10 | border: 1px solid #888; 11 | margin: 0.5em auto 0.5em auto; 12 | padding: 5px; 13 | justify-content: space-between; 14 | display: flex; 15 | flex-flow: column wrap; 16 | text-align: center; 17 | width: 300px; 18 | } 19 | 20 | #RecommendationTray p { 21 | margin: 0; 22 | } 23 | 24 | .topElements { 25 | display: block; 26 | margin: 10px auto; 27 | overflow: hidden; 28 | text-align: center; 29 | white-space: normal; 30 | width: 250px; 31 | } 32 | 33 | .bottomElements { 34 | justify-content: flex-end; 35 | margin: 10px auto; 36 | width: 250px; 37 | } 38 | 39 | img { 40 | align-self: center; 41 | display: block; 42 | margin: 4px auto 0 auto; 43 | max-width: 250px; 44 | height: auto; 45 | } 46 | 47 | body { 48 | max-height: 100%; 49 | } 50 | 51 | .container { 52 | padding: 15px; 53 | } 54 | 55 | p { 56 | font-family: "Gill Sans Light"; 57 | font-size: 20px; 58 | } 59 | 60 | strong { 61 | font-family: "Bebas Neue"; 62 | } 63 | 64 | h2 strong { 65 | font-family: 'Oswald', sans-serif; 66 | } 67 | 68 | .preview-clips { 69 | border-radius: 5px; 70 | border: 1px solid #888; 71 | margin-bottom: 10px; 72 | padding: 1px; 73 | } 74 | .preview-clips:hover { 75 | border: 2px solid #668db3; 76 | padding: 0; 77 | } 78 | 79 | /* dark mode */ 80 | @media (prefers-color-scheme: dark) { 81 | body { 82 | background-color: #2C2C2C; 83 | color: #eee; 84 | } 85 | 86 | #RecommendationTray > div { 87 | background-color: #333; 88 | } 89 | 90 | .preview-clips { 91 | border: 1px solid #444; 92 | } 93 | } 94 | -------------------------------------------------------------------------------- /webextension/css/welcome.css: -------------------------------------------------------------------------------- 1 | 2 | body { 3 | background-color: #eee; 4 | font-size: 24px; 5 | text-align: left; 6 | } 7 | 8 | h1, h2, h3, h4 { 9 | color: inherit; 10 | } 11 | h1 { 12 | font-size: 22pt; 13 | } 14 | h4 { 15 | margin-top: 1em; 16 | font-size: 14pt; 17 | } 18 | 19 | p { 20 | text-align: justify; 21 | } 22 | 23 | .body-container { 24 | height: 100vh; 25 | margin-top: 1em; 26 | padding: 0; 27 | } 28 | 29 | .header-container { 30 | text-align: center; 31 | } 32 | 33 | .content-container { 34 | margin: 2em 15vw 10vh 15vw; 35 | padding-bottom: 5em; 36 | } 37 | 38 | .bottom-container { 39 | position: fixed; 40 | margin: 0; 41 | padding: 0.5em 15vw 0.5em 15vw; 42 | bottom: 0; 43 | left: 0; 44 | right: 0; 45 | width: 100%; 46 | background-color: #ddd; 47 | border-top: 1px solid #888; 48 | } 49 | 50 | .welcome-logo { 51 | background: url('../images/wayback-light.png') center/cover no-repeat; 52 | width: 375px; 53 | height: 150px; 54 | margin: 0 auto; 55 | } 56 | 57 | /* dark mode */ 58 | @media (prefers-color-scheme: dark) { 59 | 60 | body { 61 | background-color: #222; 62 | color: #ccc; 63 | } 64 | 65 | h1 { 66 | color: #ddd; 67 | } 68 | 69 | h2, h3, h4 { 70 | color: #dcc; 71 | } 72 | 73 | .bottom-container { 74 | background-color: #333; 75 | } 76 | 77 | .welcome-logo { 78 | background-image: url('../images/wayback-dark.png') 79 | } 80 | 81 | } 82 | -------------------------------------------------------------------------------- /webextension/css/wikipedia.css: -------------------------------------------------------------------------------- 1 | /* for embedding into Wikipedia pages */ 2 | 3 | .wm1996-archive-btn { 4 | padding: 5px; 5 | } 6 | 7 | .wm1996-archive-btn img { 8 | border-radius: 5px; 9 | width: 25px; 10 | height: 25px; 11 | } 12 | 13 | .wm1996-tooltip-header { 14 | color: white; 15 | max-width: 100%; 16 | text-align: center; 17 | line-height: 1.4em; 18 | } 19 | 20 | .wm1996-tooltip-header p { 21 | margin: 0 0 0.5em 0 !important; 22 | } 23 | 24 | .wm1996-book-outer { 25 | display: block; 26 | width: 122px; 27 | height: 170px; 28 | align-self: center; 29 | margin: 10px auto; 30 | } 31 | 32 | .wm1996-book-img { 33 | border: 1px solid black; 34 | border-radius: 3px; 35 | max-width: 120px; 36 | max-height: 168px; 37 | } 38 | 39 | .wm1996-tooltip-title { 40 | color: #eee; 41 | font-weight: bold; 42 | font-style: italic; 43 | } 44 | 45 | .wm1996-tooltip-author { 46 | color: #bbb; 47 | } 48 | 49 | .wm1996-address { 50 | font-weight: bold; 51 | text-align: left; 52 | line-height: 1.2em; 53 | } 54 | 55 | .wm1996-tooltip-details { 56 | box-sizing: border-box; 57 | background-color: #eee; 58 | width: 100%; 59 | padding: 1px 5px 1px 5px; 60 | border-radius: 3px; 61 | color: #555; 62 | line-height: 1.4em; 63 | text-align: center; 64 | } 65 | 66 | /* CSS Tooltip */ 67 | 68 | .wm1996-tooltip { 69 | position: relative; 70 | text-indent: 0; 71 | font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; 72 | } 73 | 74 | .wm1996-tooltip a, .wm1996-tooltip-body a, .wm1996-tooltip a:hover, .wm1996-tooltip-body a:hover { 75 | text-decoration: none; 76 | } 77 | 78 | .wm1996-tooltip-body { 79 | position: absolute; 80 | z-index: 999; 81 | font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; 82 | font-size: 13px; 83 | transform: translateY(-50%) translateX(-50%); 84 | width: 18em; 85 | padding: 10px; 86 | border-radius: 10px; 87 | background: #333; 88 | color: #fff; 89 | animation: wm1996-fadeInFrames ease 0.3s; 90 | } 91 | 92 | @keyframes wm1996-fadeInFrames { 93 | 0% { opacity: 0; } 94 | 100% { opacity: 1; } 95 | } 96 | 97 | /* Buttons */ 98 | 99 | .wm1996-btn { 100 | text-align: center; 101 | margin: 0 auto 10px auto; 102 | font-weight: 500; 103 | border-radius: 5px; 104 | display: inline-block; 105 | white-space: nowrap; 106 | vertical-align: middle; 107 | touch-action: manipulation; 108 | cursor: pointer; 109 | padding: 6px 12px; 110 | font-size: 14px; 111 | line-height: 1.4; 112 | } 113 | 114 | .wm1996-btn-auto { 115 | min-width: 60px; 116 | padding-left: 10px; 117 | padding-right: 10px; 118 | } 119 | 120 | .wm1996-btn-blue { 121 | background-color: #405971 !important; 122 | border: 1px solid #668db3 !important; 123 | color: #eee !important; 124 | } 125 | 126 | .wm1996-btn-blue:hover { 127 | background-color: #51708E !important; 128 | } 129 | -------------------------------------------------------------------------------- /webextension/exclude-list.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Exclude URLs 11 | 12 | 13 |
    14 | 15 |
    16 |

    Exclude URLs

    17 |

    Enter URL patterns below to exclude from Auto Save.

    18 |
    19 | 20 |
    21 | 22 |
    23 | 24 | 25 |
    26 | 27 |
    28 | 29 |
    30 | 31 |
    32 |
    Use * as a wildcard. For example:
    archive.org*
    33 | 34 | 35 |
    36 | 37 |
    38 | 39 |
    40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /webextension/fonts/BebasNeue.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/fonts/BebasNeue.otf -------------------------------------------------------------------------------- /webextension/fonts/GillSans-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/fonts/GillSans-Light.ttf -------------------------------------------------------------------------------- /webextension/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /webextension/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /webextension/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /webextension/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /webextension/images/about/chrome64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/about/chrome64.png -------------------------------------------------------------------------------- /webextension/images/about/edge64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/about/edge64.png -------------------------------------------------------------------------------- /webextension/images/about/firefox64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/about/firefox64.png -------------------------------------------------------------------------------- /webextension/images/about/google-play-badge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/about/google-play-badge.png -------------------------------------------------------------------------------- /webextension/images/about/safari64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/about/safari64.png -------------------------------------------------------------------------------- /webextension/images/app-icon/app-icon1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/app-icon/app-icon1024.png -------------------------------------------------------------------------------- /webextension/images/app-icon/app-icon128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/app-icon/app-icon128.png -------------------------------------------------------------------------------- /webextension/images/app-icon/app-icon256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/app-icon/app-icon256.png -------------------------------------------------------------------------------- /webextension/images/app-icon/app-icon32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/app-icon/app-icon32.png -------------------------------------------------------------------------------- /webextension/images/app-icon/app-icon48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/app-icon/app-icon48.png -------------------------------------------------------------------------------- /webextension/images/app-icon/app-icon512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/app-icon/app-icon512.png -------------------------------------------------------------------------------- /webextension/images/app-icon/app-icon64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/app-icon/app-icon64.png -------------------------------------------------------------------------------- /webextension/images/app-icon/app-icon96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/app-icon/app-icon96.png -------------------------------------------------------------------------------- /webextension/images/app-icon/mini-icon16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/app-icon/mini-icon16.png -------------------------------------------------------------------------------- /webextension/images/app-icon/mini-icon24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/app-icon/mini-icon24.png -------------------------------------------------------------------------------- /webextension/images/app-icon/mini-icon32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/app-icon/mini-icon32.png -------------------------------------------------------------------------------- /webextension/images/app-icon/mini-icon48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/app-icon/mini-icon48.png -------------------------------------------------------------------------------- /webextension/images/close.svg: -------------------------------------------------------------------------------- 1 | close-icon 2 | -------------------------------------------------------------------------------- /webextension/images/fa/calendar-alt-regular.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /webextension/images/fa/cog-solid.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /webextension/images/fa/facebook-f-brands.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /webextension/images/fa/globe-americas-solid.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /webextension/images/fa/globe-solid.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /webextension/images/fa/info-circle-solid.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /webextension/images/fa/link-solid.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /webextension/images/fa/linkedin-in-brands.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /webextension/images/fa/sign-in-alt-solid.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /webextension/images/fa/sign-out-alt-solid.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /webextension/images/fa/twitter-brands.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /webextension/images/hypothesis-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/hypothesis-logo.png -------------------------------------------------------------------------------- /webextension/images/tabbar/feedback-icon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /webextension/images/toolbar/dev-icon-Fa16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/dev-icon-Fa16.png -------------------------------------------------------------------------------- /webextension/images/toolbar/dev-icon-Fa24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/dev-icon-Fa24.png -------------------------------------------------------------------------------- /webextension/images/toolbar/dev-icon-Fa32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/dev-icon-Fa32.png -------------------------------------------------------------------------------- /webextension/images/toolbar/dev-icon-Fa64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/dev-icon-Fa64.png -------------------------------------------------------------------------------- /webextension/images/toolbar/dev-icon-Fb16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/dev-icon-Fb16.png -------------------------------------------------------------------------------- /webextension/images/toolbar/dev-icon-Fb24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/dev-icon-Fb24.png -------------------------------------------------------------------------------- /webextension/images/toolbar/dev-icon-Fb32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/dev-icon-Fb32.png -------------------------------------------------------------------------------- /webextension/images/toolbar/dev-icon-Fb64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/dev-icon-Fb64.png -------------------------------------------------------------------------------- /webextension/images/toolbar/dev-icon-Ra16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/dev-icon-Ra16.png -------------------------------------------------------------------------------- /webextension/images/toolbar/dev-icon-Ra24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/dev-icon-Ra24.png -------------------------------------------------------------------------------- /webextension/images/toolbar/dev-icon-Ra32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/dev-icon-Ra32.png -------------------------------------------------------------------------------- /webextension/images/toolbar/dev-icon-Ra64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/dev-icon-Ra64.png -------------------------------------------------------------------------------- /webextension/images/toolbar/dev-icon-Rb16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/dev-icon-Rb16.png -------------------------------------------------------------------------------- /webextension/images/toolbar/dev-icon-Rb24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/dev-icon-Rb24.png -------------------------------------------------------------------------------- /webextension/images/toolbar/dev-icon-Rb32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/dev-icon-Rb32.png -------------------------------------------------------------------------------- /webextension/images/toolbar/dev-icon-Rb64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/dev-icon-Rb64.png -------------------------------------------------------------------------------- /webextension/images/toolbar/dev-icon-S16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/dev-icon-S16.png -------------------------------------------------------------------------------- /webextension/images/toolbar/dev-icon-S24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/dev-icon-S24.png -------------------------------------------------------------------------------- /webextension/images/toolbar/dev-icon-S32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/dev-icon-S32.png -------------------------------------------------------------------------------- /webextension/images/toolbar/dev-icon-S64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/dev-icon-S64.png -------------------------------------------------------------------------------- /webextension/images/toolbar/dev-icon-Va16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/dev-icon-Va16.png -------------------------------------------------------------------------------- /webextension/images/toolbar/dev-icon-Va24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/dev-icon-Va24.png -------------------------------------------------------------------------------- /webextension/images/toolbar/dev-icon-Va32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/dev-icon-Va32.png -------------------------------------------------------------------------------- /webextension/images/toolbar/dev-icon-Va64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/dev-icon-Va64.png -------------------------------------------------------------------------------- /webextension/images/toolbar/dev-icon-Vb16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/dev-icon-Vb16.png -------------------------------------------------------------------------------- /webextension/images/toolbar/dev-icon-Vb24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/dev-icon-Vb24.png -------------------------------------------------------------------------------- /webextension/images/toolbar/dev-icon-Vb32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/dev-icon-Vb32.png -------------------------------------------------------------------------------- /webextension/images/toolbar/dev-icon-Vb64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/dev-icon-Vb64.png -------------------------------------------------------------------------------- /webextension/images/toolbar/dev-icon-archive16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/dev-icon-archive16.png -------------------------------------------------------------------------------- /webextension/images/toolbar/dev-icon-archive24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/dev-icon-archive24.png -------------------------------------------------------------------------------- /webextension/images/toolbar/dev-icon-archive32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/dev-icon-archive32.png -------------------------------------------------------------------------------- /webextension/images/toolbar/dev-icon-archive64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/dev-icon-archive64.png -------------------------------------------------------------------------------- /webextension/images/toolbar/dev-icon-check16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/dev-icon-check16.png -------------------------------------------------------------------------------- /webextension/images/toolbar/dev-icon-check24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/dev-icon-check24.png -------------------------------------------------------------------------------- /webextension/images/toolbar/dev-icon-check32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/dev-icon-check32.png -------------------------------------------------------------------------------- /webextension/images/toolbar/dev-icon-check64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/dev-icon-check64.png -------------------------------------------------------------------------------- /webextension/images/toolbar/toolbar-icon-Fa16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/toolbar-icon-Fa16.png -------------------------------------------------------------------------------- /webextension/images/toolbar/toolbar-icon-Fa24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/toolbar-icon-Fa24.png -------------------------------------------------------------------------------- /webextension/images/toolbar/toolbar-icon-Fa32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/toolbar-icon-Fa32.png -------------------------------------------------------------------------------- /webextension/images/toolbar/toolbar-icon-Fa64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/toolbar-icon-Fa64.png -------------------------------------------------------------------------------- /webextension/images/toolbar/toolbar-icon-Fb16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/toolbar-icon-Fb16.png -------------------------------------------------------------------------------- /webextension/images/toolbar/toolbar-icon-Fb24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/toolbar-icon-Fb24.png -------------------------------------------------------------------------------- /webextension/images/toolbar/toolbar-icon-Fb32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/toolbar-icon-Fb32.png -------------------------------------------------------------------------------- /webextension/images/toolbar/toolbar-icon-Fb64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/toolbar-icon-Fb64.png -------------------------------------------------------------------------------- /webextension/images/toolbar/toolbar-icon-Fc16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/toolbar-icon-Fc16.png -------------------------------------------------------------------------------- /webextension/images/toolbar/toolbar-icon-Ra16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/toolbar-icon-Ra16.png -------------------------------------------------------------------------------- /webextension/images/toolbar/toolbar-icon-Ra24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/toolbar-icon-Ra24.png -------------------------------------------------------------------------------- /webextension/images/toolbar/toolbar-icon-Ra32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/toolbar-icon-Ra32.png -------------------------------------------------------------------------------- /webextension/images/toolbar/toolbar-icon-Ra64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/toolbar-icon-Ra64.png -------------------------------------------------------------------------------- /webextension/images/toolbar/toolbar-icon-Rb16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/toolbar-icon-Rb16.png -------------------------------------------------------------------------------- /webextension/images/toolbar/toolbar-icon-Rb24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/toolbar-icon-Rb24.png -------------------------------------------------------------------------------- /webextension/images/toolbar/toolbar-icon-Rb32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/toolbar-icon-Rb32.png -------------------------------------------------------------------------------- /webextension/images/toolbar/toolbar-icon-Rb64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/toolbar-icon-Rb64.png -------------------------------------------------------------------------------- /webextension/images/toolbar/toolbar-icon-Rc16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/toolbar-icon-Rc16.png -------------------------------------------------------------------------------- /webextension/images/toolbar/toolbar-icon-S16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/toolbar-icon-S16.png -------------------------------------------------------------------------------- /webextension/images/toolbar/toolbar-icon-S24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/toolbar-icon-S24.png -------------------------------------------------------------------------------- /webextension/images/toolbar/toolbar-icon-S32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/toolbar-icon-S32.png -------------------------------------------------------------------------------- /webextension/images/toolbar/toolbar-icon-S64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/toolbar-icon-S64.png -------------------------------------------------------------------------------- /webextension/images/toolbar/toolbar-icon-Va16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/toolbar-icon-Va16.png -------------------------------------------------------------------------------- /webextension/images/toolbar/toolbar-icon-Va24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/toolbar-icon-Va24.png -------------------------------------------------------------------------------- /webextension/images/toolbar/toolbar-icon-Va32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/toolbar-icon-Va32.png -------------------------------------------------------------------------------- /webextension/images/toolbar/toolbar-icon-Va64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/toolbar-icon-Va64.png -------------------------------------------------------------------------------- /webextension/images/toolbar/toolbar-icon-Vb16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/toolbar-icon-Vb16.png -------------------------------------------------------------------------------- /webextension/images/toolbar/toolbar-icon-Vb24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/toolbar-icon-Vb24.png -------------------------------------------------------------------------------- /webextension/images/toolbar/toolbar-icon-Vb32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/toolbar-icon-Vb32.png -------------------------------------------------------------------------------- /webextension/images/toolbar/toolbar-icon-Vb64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/toolbar-icon-Vb64.png -------------------------------------------------------------------------------- /webextension/images/toolbar/toolbar-icon-Vc16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/toolbar-icon-Vc16.png -------------------------------------------------------------------------------- /webextension/images/toolbar/toolbar-icon-archive16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/toolbar-icon-archive16.png -------------------------------------------------------------------------------- /webextension/images/toolbar/toolbar-icon-archive24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/toolbar-icon-archive24.png -------------------------------------------------------------------------------- /webextension/images/toolbar/toolbar-icon-archive32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/toolbar-icon-archive32.png -------------------------------------------------------------------------------- /webextension/images/toolbar/toolbar-icon-archive64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/toolbar-icon-archive64.png -------------------------------------------------------------------------------- /webextension/images/toolbar/toolbar-icon-check16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/toolbar-icon-check16.png -------------------------------------------------------------------------------- /webextension/images/toolbar/toolbar-icon-check24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/toolbar-icon-check24.png -------------------------------------------------------------------------------- /webextension/images/toolbar/toolbar-icon-check32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/toolbar-icon-check32.png -------------------------------------------------------------------------------- /webextension/images/toolbar/toolbar-icon-check64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/toolbar/toolbar-icon-check64.png -------------------------------------------------------------------------------- /webextension/images/wayback-bordered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/wayback-bordered.png -------------------------------------------------------------------------------- /webextension/images/wayback-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/wayback-dark.png -------------------------------------------------------------------------------- /webextension/images/wayback-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/wayback-light.png -------------------------------------------------------------------------------- /webextension/images/wiki-archive-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/internetarchive/wayback-machine-webextension/757fb6be4167de5ecf94015dfce3a830e41fa9ba/webextension/images/wiki-archive-icon.png -------------------------------------------------------------------------------- /webextension/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest_version": 3, 3 | "name": "Wayback Machine", 4 | "version": "3.4.2", 5 | "description": "The Official Wayback Machine Extension - by the Internet Archive.", 6 | "icons": { 7 | "16": "images/app-icon/mini-icon16.png", 8 | "24": "images/app-icon/mini-icon24.png", 9 | "32": "images/app-icon/mini-icon32.png", 10 | "48": "images/app-icon/mini-icon48.png", 11 | "64": "images/app-icon/app-icon64.png", 12 | "96": "images/app-icon/app-icon96.png", 13 | "128": "images/app-icon/app-icon128.png", 14 | "256": "images/app-icon/app-icon256.png", 15 | "512": "images/app-icon/app-icon512.png", 16 | "1024": "images/app-icon/app-icon1024.png" 17 | }, 18 | "action": { 19 | "default_icon": { 20 | "16": "images/toolbar/toolbar-icon-archive16.png", 21 | "24": "images/toolbar/toolbar-icon-archive24.png", 22 | "32": "images/toolbar/toolbar-icon-archive32.png", 23 | "64": "images/toolbar/toolbar-icon-archive64.png" 24 | } 25 | }, 26 | "homepage_url": "https://archive.org/", 27 | "permissions": [ 28 | "activeTab", 29 | "cookies", 30 | "contextMenus", 31 | "notifications", 32 | "storage", 33 | "scripting", 34 | "webRequest" 35 | ], 36 | "host_permissions": [ 37 | "https://archive.org/*", 38 | "https://*.archive.org/*", 39 | "https://hypothes.is/*", 40 | "" 41 | ], 42 | "optional_permissions": [ 43 | "bookmarks" 44 | ], 45 | "background": { 46 | "scripts": ["scripts/background.js", "scripts/utils.js"], 47 | "service_worker": "scripts/background.js" 48 | }, 49 | "content_scripts": [{ 50 | "matches": ["http://*.wikipedia.org/*", "https://*.wikipedia.org/*"], 51 | "js": ["scripts/wikipedia.js"], 52 | "css": ["css/wikipedia.css"] 53 | }], 54 | "web_accessible_resources": [{ 55 | "resources": ["/css/archive.css", "/images/*"], 56 | "matches": [""] 57 | }] 58 | } 59 | -------------------------------------------------------------------------------- /webextension/resource-list.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Resource List and Save Status 11 | 12 | 13 |
    14 |
    15 | 18 |

    Saving Snapshot...

    19 |

    20 |

    21 |

    22 |

    23 |
    24 |
    25 |
    26 |
    27 |
    28 |
    29 |

    Downloaded elements:

    30 |
    31 |
    32 |
    33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /webextension/scripts/about.js: -------------------------------------------------------------------------------- 1 | // about.js 2 | 3 | // from 'utils.js' 4 | /* global feedbackURL, newshosts */ 5 | 6 | const VERSION = chrome.runtime.getManifest().version 7 | const YEAR = new Date().getFullYear() 8 | 9 | // onload 10 | $(function() { 11 | $('#version').text(VERSION) 12 | $('#year').text(YEAR) 13 | $('#reviews-page').attr('href', feedbackURL) 14 | updateNewsList(Array.from(newshosts).sort()) 15 | }) 16 | 17 | function updateNewsList(sitelist) { 18 | const linklist = sitelist.map((e) => { 19 | return `${e}` 20 | }) 21 | $('#about-news-list').html(linklist.join(', ')) 22 | } 23 | -------------------------------------------------------------------------------- /webextension/scripts/cited-books.js: -------------------------------------------------------------------------------- 1 | // cited-books.js 2 | 3 | // from 'utils.js' 4 | /* global openByWindowSetting, getUrlByParameter, checkLastError */ 5 | 6 | function getWikipediaBooks(url) { 7 | return new Promise((resolve, reject) => { 8 | chrome.runtime.sendMessage({ 9 | message: 'getWikipediaBooks', 10 | query: url 11 | }, (books) => { 12 | checkLastError() 13 | if (books) { 14 | resolve(books) 15 | } else { 16 | reject(new Error('error')) 17 | } 18 | }) 19 | }) 20 | } 21 | 22 | function bookMetadata(book) { 23 | const MAX_TITLE_LEN = 300 24 | if (book && book.metadata) { 25 | return { 26 | 'title': (book.metadata.title.length > MAX_TITLE_LEN) ? book.metadata.title.slice(0, MAX_TITLE_LEN) + '...' : book.metadata.title, 27 | 'author': book.metadata.creator, 28 | 'image': 'https://archive.org/services/img/' + book.metadata.identifier, 29 | 'link': book.metadata['identifier-access'], 30 | 'button_text': 'Read Book', 31 | 'button_class': 'btn btn-auto btn-blue', 32 | 'readable': true 33 | } 34 | } 35 | return false 36 | } 37 | 38 | // This runs every time cited-books.html is viewed. 39 | // It retrieves a list of book cover images. 40 | function populateBooks(url) { 41 | // Gets the data for each book on the wikipedia url 42 | getWikipediaBooks(url).then(data => { 43 | $('.loader').hide() 44 | if (data && data.message !== 'No ISBNs found in page' && data.status !== 'error') { 45 | for (let isbn of Object.keys(data)) { 46 | let metadata = bookMetadata(data[isbn]) 47 | if (metadata) { 48 | let book_element = addBook(metadata) 49 | $('#resultsTray').append(book_element) 50 | } 51 | } 52 | } else { 53 | $('.loader').hide() 54 | $('#resultsTray').css('grid-template-columns', 'none').append( 55 | $('
    ').html(data.message) 56 | ) 57 | } 58 | }).catch((error) => { 59 | $('.loader').hide() 60 | $('#resultsTray').css('grid-template-columns', 'none').append( 61 | $('
    ').html(error) 62 | ) 63 | }) 64 | } 65 | 66 | function addBook(metadata) { 67 | let text_elements = $('
    ').attr({ 'class': 'text-elements' }).append( 68 | $('

    ').text(metadata.title), 69 | $('

    ').text(metadata.author) 70 | ) 71 | let details = $('

    ').attr({ 'class': 'bottom-details' }).append( 72 | metadata.image ? $('').attr({ 'class': 'cover-img', 'src': metadata.image }) : $('

    ').attr({ 'class': 'cover-img' }).text('No cover available'), 73 | $('