Giter Site home page Giter Site logo

dessant / web-archives Goto Github PK

View Code? Open in Web Editor NEW
1.1K 37.0 88.0 1.47 MB

Browser extension for viewing archived and cached versions of web pages, available for Chrome, Edge and Safari

Home Page: https://apps.apple.com/us/app/web-archives-for-safari/id1603181853

License: GNU General Public License v3.0

JavaScript 73.94% Vue 23.45% HTML 2.21% CSS 0.41%
browser-extension archive cache google yandex wayback-machine chrome-extension firefox-extension safari-extension

web-archives's Introduction

Web Archives



Chrome Web Store Firefox add-ons Microsoft Store Opera add-ons

Mac App Store

Supporting the Project

Web Archives is an open source project made possible thanks to a community of awesome supporters. If you'd like to support the continued development of the extension, please consider contributing with Patreon, PayPal or Bitcoin.

Description

Web Archives is a browser extension that enables you to find archived and cached versions of web pages, and comes with support for more than 10 search engines. Searches can be initiated from the context menu and the browser toolbar.

Search Engines

A diverse set of archive and cache sources are supported, which can be toggled and reordered from the extension's options. Visit the wiki for the full list of supported search engines.

https://github.com/dessant/web-archives/wiki/Search-engines

Screenshots

License

Copyright (c) 2017-2024 Armin Sebastian

This software is released under the terms of the GNU General Public License v3.0. See the LICENSE file for further information.

web-archives's People

Contributors

dessant avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

web-archives's Issues

To a new user, the intentions of the icons aren't obvious. Consider tooltips?

Is your feature request related to a problem? Please describe.
In the popup, there is a link icon and a heart icon. It's not clear what the purpose of each is. The purpose of the heart icon becomes clear after clicking on it, but the link icon's purpose is not clear. I had thought that perhaps the link icon was to add the current page to an archive, but I really can't tell what it's suppose to do.

Describe the solution you'd like
Would you consider a simple title attribute in the icon links to describe their purpose? Additionally, it would be helpful to mention their purpose in the documentation.

Add to context menu when on the "New Tab" (blank tab)

Is your feature request related to a problem? Please describe.

When opening a new tab, no url is loaded yet, but there links like "Recommended by Pocket", that I would like to search for on the Wayback machine without loading the link.

Describe the solution you'd like

Right-click on a pocket link, go to the "Web Archives" submenu, and select "Wayback Machine". It should be possible because uBlock has a menu item in that context menu.

Describe alternatives you've considered

Copy the link manually and put it into the Wayback Machine, which is a small pain.

Duplication of Search Engines

I am experiencing where Wayback Machine (All) and Archive.is (All) are duplicated in both the settings and the menu item.

Screenshot_2021-08-18_16-41-32

Screenshot_2021-08-18_16-42-17

The duplicated search engines are tied together (unchecking one copy unchecks the other). This has been replicated to all of my other Firefox sessions that are connected to my Firefox Sync account. If I remove the extension and reinstall it, the duplicated search engines remain. Is there a way to delete just the Web Archives extension data without resetting the whole Firefox profile?

Support archiving pages

Would you add the option to make a direct saving request to archive.is alias archive.fo ?

If there is already an archive entry for the concerning URL, archive.today show the found entry, and will also ask for a confirmation - like this:

This page was last archived 99 years ago
If this snapshot looks obsolete you can again

If the above suggestion is not feasable, maybe the following is:
https://archive.is/?url={?}

Wrong syntax for Yandex

System

  • OS name: Microsoft Windows
  • OS version: 10.0.19043.1889
  • Browser name: Mozilla Firefox
  • Browser version: 104.0b9 (64-bit)
  • Extension version: 3.1.0 (15 August 2022)

Bug description
A request to the Yandex cache using the add-on displays the main page of this search engine, and not the cached web page. For example, https://github.com/dessant/web-archives should display this web page.

2022-08-15_16-10-40

Logs

16:07:38.636 Layout was forced before the page was fully loaded. If stylesheets are not yet loaded this may cause a flash of unstyled content. yandex.ru:33:1660
16:07:38.650 <unavailable> content.js:1064:15
16:07:38.742 Found existing Ya object: <unavailable> RU AdList JS Fixes.user.js:5143:42
16:07:38.758 Active cookies: yandexuid=3304095571654971210; yp=1970331218.udn.cDpQaGlsbGlwcGEgTWFja2F5#1676334840.szm.1:1920x1200:1669x1087#1660570311.rnwcst.3#1663158811.ygu.1#1660655258.com.3; L=eX10dAtiUn5BRX5hVgJDAmEFDV4DXF1fESYhe1IJMX8CO0EvAAA=.1654971218.15005.316499.ee1fea527e0c980936eb97c7fd579a36; yandex_login=ALE-aka-Korwin; instruction=1; is_gdpr=0; is_gdpr_b=CN/1QxCEeigC; _yasc=5N5MNcpcqST0/y9BfROoeAZ0MQe4K2B/drlcNdukiS3+hFCpBt93ZSJDQ0rET4cCN4uRmA==; gdpr=0; _ym_uid=1655561906728654766; yuidss=3304095571654971210; ymex=1970921906.yrts.1655561906; maps_routes_travel_mode=pedestrian; ys=udn.cDpQaGlsbGlwcGEgTWFja2F5#wprid.1660568548569854-17903450442418467443-sas2-0340-sas-l7-balancer-8080-BAL-2136; mda=0; yandex_gid=2; font_loaded=YSv1; my=YwA= RU AdList JS Fixes.user.js:1904:22
16:07:38.863 InstallTrigger is deprecated and will be removed in the future. yandex.ru:28:88
16:07:38.894 home = <unavailable> RU AdList JS Fixes.user.js:5266:38
16:07:38.906 Active cookies: yandexuid=3304095571654971210; yp=1970331218.udn.cDpQaGlsbGlwcGEgTWFja2F5#1676334840.szm.1:1920x1200:1669x1087#1660570311.rnwcst.3#1663158811.ygu.1#1660655258.com.3; L=eX10dAtiUn5BRX5hVgJDAmEFDV4DXF1fESYhe1IJMX8CO0EvAAA=.1654971218.15005.316499.ee1fea527e0c980936eb97c7fd579a36; yandex_login=ALE-aka-Korwin; instruction=1; is_gdpr=0; is_gdpr_b=CN/1QxCEeigC; _yasc=5N5MNcpcqST0/y9BfROoeAZ0MQe4K2B/drlcNdukiS3+hFCpBt93ZSJDQ0rET4cCN4uRmA==; gdpr=0; _ym_uid=1655561906728654766; yuidss=3304095571654971210; ymex=1970921906.yrts.1655561906; maps_routes_travel_mode=pedestrian; ys=udn.cDpQaGlsbGlwcGEgTWFja2F5#wprid.1660568548569854-17903450442418467443-sas2-0340-sas-l7-balancer-8080-BAL-2136; mda=0; yandex_gid=2; font_loaded=YSv1; my=YwA= RU AdList JS Fixes.user.js:1904:22
16:07:39.109
Some cookies are misusing the recommended “SameSite“ attribute 6
16:07:39.109 Cookie “ys_fp” has been rejected because it is already expired. yandex.ru
16:07:39.109 Cookie “maps_routes_travel_mode” has been rejected because it is already expired. yandex.ru
16:07:39.246 Hid banner. RU AdList JS Fixes.user.js:5376:54
16:07:39.517 Ignoring unsupported entryTypes: layout-shift. iD6t7LkKWWL_M8RwrZABpkRiI.js:20:177762
16:07:39.517 Ignoring unsupported entryTypes: largest-contentful-paint. iD6t7LkKWWL_M8RwrZABpkRiI.js:20:178331
16:07:39.545 BODY <unavailable> RU AdList JS Fixes.user.js:5435:58
16:07:39.913 Loading failed for the <script> with source “https://mc.yandex.ru/metrika/watch_serp.js”. yandex.ru:1:1
16:07:39.913 Loading failed for the <script> with source “https://mc.yandex.ru/metrika/tag.js”. yandex.ru:1:1
16:07:39.952 This page uses the non standard property “zoom”. Consider using calc() in the relevant property values, or using “transform” along with “transform-origin: 0 0”. yandex.ru
16:07:41.475 [ClearURLs]: Save on disk. storage.js:84:13
16:07:41.727 Loading failed for the <script> with source “https://mc.yandex.ru/metrika/tag.js”. yandex.ru:1:1
16:07:41.734 Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://yabs.yandex.ru/count/WIyejI_zO6i0BGa0L0yVRi_YIdv_FmK0Qm4n6aNwOW00000useqKy0B2xBZH2F050Q061Ca6Iezlf6g1sYsf1vxKUFNNXpn1i0U0W9WygWiGBUGqkvxK003MVEjGH-R0W82029WEofw-ewgjeEqj-10TW14Tg170X3tf4hge_7qc2vUjy18TY1C2y1N1YlRieu-y_6Fu5G795l0_WHUe5mdG627u6EBQa-2-fVAFL80Pa1a1i1cu6V___m7I6H9vOM9pNtDbSdPbSYzoDp0pBJBe6O320_0PWC83c1hnmBG1i1jWk1i4WXmDTLf1EafZObL6HbXYD-aSW1t_Vz0X____0Gu0h46ao1ZuGKxbZgOmvRMgs1QIkH73EbLgPnBcKQ0NPXruD04EsZaBa8WEsWm0~1=WPWejI_zOEC0TGm0j1ND6vSeum503aW2ODmCSE2Fmyl7rjhCom6G0RIksDdKW8200fW1jAxOsLIu0QgRWgeZs06s_-2U0UW1C903yCE0Rw03Ch030gW61Aa7djHuzTU7F46m1u20c3ou1wmqyGS008080GZm2F37uUMZgwtcPUW9Gydu2e2r6DaBw0oJe0x0X3so3mau0KM0KG40I0604Dlzs1_840Ye4S24FTWIWO0OwHAwgFnz9WkNhPWJ1AWJhg_hqOMPx_mMo1G2w1I40f0MvmE15vWNeFNHBS0Nj9O1e1W4i1ZAsEYN1lWOujgJuBwbyezKW1d1YlRieu-y_6EG6G6W6GIu6Vy1w1c0mWFm6O320u4Q___Red0TE4-O6l70j06u6W7r6W40002m6s2u6mJf703mFu0T_t-P7G3mFyWTm8Gzg1u1s1xzZH-W7zlzs1-m7nh87zk_i4
16:07:44.774 Loading failed for the <script> with source “https://mc.yandex.ru/metrika/tag.js”. yandex.ru:1:1
16:07:45.224 Content Security Policy: Ignoring "'unsafe-inline'" within script-src or style-src: nonce-source or hash-source specified

More limited permission

Is your feature request related to a problem? Please describe.
My employer don’t like browser extension with <all_urls> permission.

Describe the solution you'd like
Use activeTab instead of <all_urls>.

Describe alternatives you've considered
N/A

Additional context
N/A

Properly set `openerTabId` on new tabs

Is your feature request related to a problem? Please describe.

When new tabs are opened by the extension, they are not linked to the originating tab due to not having the openerTabId property passed to browser.tabs.create().

This somewhat confuses tab management extensions such as Tree Style Tab causing them to possibly insert the tab into suboptimal positions.

Describe the solution you'd like

When opening new tabs, the openerTabId should preferably be set to the originating tab ID, retrieved from eg. (await browser.tabs.query({active: true, currentWindow: true}))[0]?.id.

Additional context

I'm willing to work on a pull request if this sounds fine. Hints where to modify the code are appreciated.

wanted to use it for custom url creation

i sometimes check urls in places like semrush/ahrefs and it would be awesome to right click and it takes me to the predefined setup url (customized)

is it possible to add that? maybe in the settings a buttont to add the custom url and parameter that gets replaces something like "%%%"

Archive.Today receives encoded URL

When page to be archived contains special signs in its URL, then this extension sends them encoded to archive.today
But archive.today does not understand codes like

So I am forced to decode them, or just not use the browser plugin. Example below...

extension failed: archive.is/4Kh81
and server too: archive.is/HyxLB

manually saved: archive.fo/NQhiR

Windows 10, Vivaldi 27 (Chromium), View Page Archive 1.7.2

Request: Keyboard shortcut for preferred archive

Sometimes there are too many Hyperlinks to be send into archive.
I wish, I don't need to right-click on every single Hyperlink, in order to come to the context menue.
So there could be the option to use a keyboard shortcut, such as CTRL+Q+Click
..in order to check for entries in the preferred internet archive in a new background tab.

Adding custom archives

In addition to well-known public web-page archives, there are a some kind of archives that not intended for widespread using. In particular, these are archives that saves a pages from only a specific site, or perhaps even custom archives running on local host. Therefore, not much point to include these archives into source code of this addon directly, but it would be great if one could specify the addresses of these archives and URL redirection rules via some custom field in addon settings.

Automatically viewing the oldest copy of a page

Dear developers,

Can you please make it possible to automatically view the oldest copy of a page (specifically Wayback Machine and Archive.is)?
Adding this feature would enable the user to go from a paywalled newspaper article to its full version in one step.

I appreciate you considering my suggestion.
Thank you for your time.

404 on Google

I'm a big fan of the extension and I use it on Android Firefox Nightly. It used to work perfectly but for several months for every page I try, I get a 404 when I choose the Google option. Other options (eg wayback machine) work fine. For example, the image below shows the result of attempting to view the cached version of this GitHub project.

Screenshot_20210820-094611_Firefox Nightly

My version is 2.1.0 from the Firefox store.

Display Web Archives popup on 404 error

This isn't a big deal, but it would be nice to have an option to automatically display a popup with archive options when you arrive at a 404 page or similar. I could see myself forgetting about this extension and giving up on a broken page otherwise. Plus, it would just be a little quicker and more convenient. Here's what I'm imagining:

ArchiveMockup

Automatically strip query string for pages that aren't found

Is your feature request related to a problem? Please describe.
Sometimes a URL isn't found in archive.is because of a superfuous query string

Describe the solution you'd like
If there is no match inside of archive.is, then automatically strip the query string and try again.
Or maybe just strip the query string before searching archive.is

Describe alternatives you've considered
I edit the URL manually and try again.

Additional context
Here's an example URL: https://www.economist.com/united-states/2020/06/11/meet-our-us-2020-election-forecasting-model?cid1=cust/ednew/n/bl/n/2020/06/11n/owned/n/n/nwl/n/n/NA/494260/n

Redirect Google+ and others automatically to preferred supplier

Is your feature request related to a problem? Please describe.
Google+ is dead
Describe the solution you'd like
Let you define a regex to provider, say
Regex plus.google.com/.*/posts/.* or something-other.dead Provider Wayback Machine and Archive.is.

Why not just redirect g+ to archive.org? To allow expansion as other things go down.

Is there a userscript version of this for Grease/Tampermonkey?

Is your feature request related to a problem? Please describe.

Not really no. Just more reliable than Browser Store addons that could get removed at any time.
Describe the solution you'd like

a userscript version of this for Grease/Tampermonkey?
Describe alternatives you've considered

Installing the Browser plugin
Additional context

There is no option to customize the search engines and the addons search on only 6 search engines.

You write on Mozilla addons: "The enabled search engines and their order can be customized from the extension's options."

Supported search engines, archive and cache sources:

Wayback Machine
Google Cache
Bing Cache
Yandex Cache
Archive.is
Memento Time Travel
WebCite
Exalead Cache
Gigablast Cache
Sogou Snapshot
Qihoo 360 Search Snapshot
Baidu Snapshot
Naver Cache
Yahoo Japan Cache
Megalodon

//

There is no option to customize the search engines and the addons search on only 6 search engines.

repetitive license comments create a huge file

commons.bundle.js in the Firefox extension has 14 copies of the Apache license and only 1 line of actual code.

Removing the duplicate license statements and unused code would reduce this file from 152K to 7.2K.

Why do you have all the unused stuff?

The View Page Archive's "popup" is unreadable when using a dark GTK Theme on Linux - Here how to fix it

Hi,

I am using a Dark GTK Theme on Linux with Firefox. And sadly, it is quite difficult to use this plugin since the background color of the popup is almost black with this setup.

After seeing the src/action/index.html, line 9, I would assume you just need to create the css file style.bundle.css in the same directory and add the following:

body
{
    background-color: #FFFFFF !important;
}

Sadly, I did not directly tested that since it became harder to modify an extension on Firefox (lack of time mostly). However I modified my userContent.css in the profile folder of Firefox: ~/.mozilla/firefox/XXXXXXXXXX.default/chrome, and it works:

@-moz-document url("moz-extension://[...extension-hash...]/src/action/index.html")
{
    body
    {
        background-color: #FFFFFF !important;
    }
}

Thank you for your great add-on!

Best regards,

Remove deprecated search engines

A couple of search engines from China seem to have removed access to their web caches, while others from Russia are now serving search results and cached content from Yandex. The following search engines will be removed since they are no longer useful for discovering cached web pages:

  • Baidu (removed web cache)
  • 360 Search (removed web cache)
  • Yahoo Japan (blocks visitors from the EU)
  • Mail.ru (serves Yandex in a frame)

Add support for ghostarchive.org

Hello. Enloying the extension very much. Thank you.

Could you please consider supporting /ghostarchive.org as one of the services?
I like using it since it is in my experience the fastest of the archiving services, and it would be great to use it with the convenience of this extension.

Thanks

[Q] how to style intermediate page?

i'm trying to change the background color of the moz-extension://* page - this is the page that displays before the archive website loads - but i'm having trouble because the url is dynamic, so this doesn't work...

@-moz-document url("moz-extension://[ext-id]/src/tab/index.html")

openerTabId parameter is not given when opening new tabs

System

  • OS name: Windows
  • OS version: 7
  • Browser name: Firefox
  • Browser version: 70.0.1 64-bit
  • Extension version: 1.8.0

Bug description
When using addons like Tree Style Tab, new tabs opened by VPA&C appear after the whole tree instead of as a child of the current tab. (I'm told there are other benefits to providing this parameter even apart from addons like TST.)

Logs
[none]

Customize and group search engines

We should be able to create different groups of search engines, and search with a specific group for a page. Search engines should also have customizable options, such as locale.

Add options to unarchive

Add options to view the current page (via the extension button) or links (via context menu) in the actual website.
The reason for this is when surfing an archived page (with archive.org or archive.is for example) all links turn to archived versions. Many of them are not actually archived though, or the user might decide to view the current version of them.

Open new tab as child of existing tab

I love your add-on. It is not only a time-saver, but often it is the preferred way to get hold of the information I am looking for! Thanks.

Is your feature request related to a problem? Please describe.

At the moment, the new tab opened by Web Archives is appended at the end of the existing tabs.

Describe the solution you'd like

I would like to have the new tab opened next to the ‘calling’ tab – or even as a child.

Resuming extension development

The latest release of the extension is more than a year old, and several search engines are now either obsolete or broken. I've begun to refactor the extension in order to support new platforms, such as Safari and Samsung Internet, and the search engines will also be updated.

By the end of December 2021 a new version will be released that should fix current issues with search engines.

Not listed among extensions in Safari preferences. Installed via Appstore

System

  • OS name: MacOS
  • OS version: 12.1
  • Browser name: Safari
  • Browser version: 15.2 (17612.3.6.1.6)
  • Extension version: 3.1.0

Bug description
I purchased and installed Web Archives for Safari via AppStore. It doesn't show among extensions in Safari preferences.
The button encouraging to "Quit and Open Safari Extensions Preferences..." in the little app that got installed doesn't do anything other than the visual mouse down/up visual cues.

Broken in incognito mode in Chrome OS

System

  • OS name: ChromeOS
  • Browser name: Chrome
  • Browser version: 105.0.5195.134
  • Extension version: 3.1.0

Bug description

Clicking on a search engine / archive in context menu or in browser overlay does nothing when in incognito mode.

Logs

script.js:1 Uncaught (in promise) Error: No current window
    at script.js:1:9048
(anonymous) @ script.js:1
await in (anonymous) (async)
(anonymous) @ script.js:1

Appearance in the address bar when no server error is apparent

Here, for example:

2018-06-30 20 21 29 waterfox

I see no server error. Waterfox 56.2.1 on FreeBSD-CURRENT,

$ pkg info waterfox | grep Version ; date ; uname -v
Version        : 56.2.1.19_2
Sat 30 Jun 2018 20:34:28 BST
FreeBSD 12.0-CURRENT #6 r335800: Sat Jun 30 03:35:14 BST 2018     root@momh167-gjp4-hpelitebook8570p-freebsd:/usr/obj/usr/src/amd64.amd64/sys/GENERIC 

Steps

Maybe reproducible in this way:

  1. load the page
  2. accidentally click a link within the page
  3. immediately Escape
  4. observe the View Page Archive & Cache icon in the address bar
  5. reload the page

Expected

  • following an error-free reload, disappearance of the icon

Actual result

  • persistence of the icon

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.