Contents of nextcloud-memento
Latest commit: Remove nextcloud max-version 5 years ago

appinfo 5 years ago
lib/Controller 6 years ago
COPYING 6 years ago
Readme.md 6 years ago

Readme.md

Memento — Nextcloud web archive server

If you host snapshots of web pages on your Nextcloud, this app enables any client that speaks the Memento protocol to access these snapshots. It is part of an experiment aiming to create personal web archives.

The Memento protocol (RFC7089) is widely used to ask archives (such as the Internet Archive’s Wayback Machine) for their copies of web pages. For example, a client (e.g. a browser extension) may ask an archive whether it has a copy of https://nextcloud.com from around July last year, and —if successful— will be redirected to the closest match.

Snapshot format

Currently this app only supports snapshots that are stored as plain html files (supporting WARC files could be a future addition). It recognises a file as being a snapshot if the file contains a <link> to the location of the original page; such snapshots can be created using Freeze-dry.

For example, assume you have an html file example.html. If this file contains a <link rel="origin" href="https://example.org"> in its <head>, it will be recognised as a snapshot of https://example.org.

Usage

This app presents a Memento TimeGate at the /timegate/{url} route. Assuming that the example.html of the above example resides in a shared folder with URL /s/123abc, then visiting /apps/memento/timegate/https://example.org would redirect you to /apps/raw/s/123abc/example.html (hence you need the Raw app as well).

Note that a private file will only be found if the client supplies login credentials (i.e. the session cookie). Otherwise, only files/folders for which ‘Share link’ is enabled will be scanned.

In a typical Memento client (e.g. the Memento Time Travel browser extension), you would add your archive as https://my-nextcloud/apps/memento/timegate/ (of course first replace my-nextcloud appropriately).

A TimeMap is also exposed, at the /timemap/{url} route, to list all available snapshots of a URL. For details, look at the documentation of the Memento protocol (RFC7089).

The app normally looks for shared snapshots of all users on the Nextcloud instance. To limit results to those of a single user, use .../u/{userid}/timegate/... instead of .../timegate/... (and likewise for timemap).

Requirements

Besides of course Nextcloud itself (tested on version 14), this app requires the app Raw to also be installed, in order to host the snapshots.

Installation

Clone this repo into your Nextcloud installation’s /apps (or /custom_apps) folder, ensuring the folder’s name is memento:

git clone https://code.treora.com/gerben/nextcloud-memento memento

Then log into Nextcloud as admin, find and enable it in the list of apps.

This app is currently not published in the Nextcloud app store.