info.xml 3.5 KiB

2 years ago
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <?xml version="1.0"?>
  2. <info xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:noNamespaceSchemaLocation="https://apps.nextcloud.com/schema/apps/info.xsd">
  4. <id>memento</id>
  5. <name>Memento</name>
  6. <summary>Turn your Nextcloud into a web archive</summary>
  7. <description>
  8. If you host snapshots of web pages on your Nextcloud, this app enables any client that speaks the
  9. Memento protocol to access these snapshots. It is part of an experiment aiming to create personal
  10. web archives.
  11. The Memento protocol ([RFC7089][]) is widely used to ask archives (such as the Internet Archive's
  12. [Wayback Machine][]) for their copies of web pages. For example, a client (e.g. a browser extension)
  13. may ask an archive whether it has a copy of `https://nextcloud.com` from around July last year, and
  14. —if successful— will be redirected to the closest match.
  15. ## Snapshot format
  16. Currently this app only supports snapshots that are stored as plain html files (supporting [WARC][]
  17. files could be a future addition). It recognises a file as being a snapshot if the file contains a
  18. `&lt;link&gt;` to the location of the original page; such snapshots can be created using [Freeze-dry][].
  19. For example, assume you have an html file `example.html`. If this file contains a `&lt;link
  20. rel="origin" href="https://example.org"&gt;` in its `&lt;head&gt;`, it will be recognised as a snapshot of
  21. `https://example.org`.
  22. ## Usage
  23. This app presents a Memento TimeGate at the `/timegate/{url}` route. Assuming that the
  24. `example.html` of the above example resides in a shared folder with URL `/s/123abc`, then visiting
  25. `/apps/memento/timegate/https://example.org` would redirect you to
  26. `/apps/raw/s/123abc/example.html` (hence you need the [Raw] app as well).
  27. Note that a private file will only be found if the client supplies login credentials (i.e. the
  28. session cookie). Otherwise, only files/folders for which 'Share link' is enabled will be scanned.
  29. In a typical Memento client (e.g. the [Memento Time Travel][] browser extension), you would add your
  30. archive as `https://my-nextcloud/apps/memento/timegate/` (of course first replace `my-nextcloud`
  31. appropriately).
  32. A TimeMap is also exposed, at the `/timemap/{url}` route, to list all available snapshots of a URL.
  33. For details, look at the documentation of the Memento protocol ([RFC7089][]).
  34. The app normally looks for shared snapshots of all users on the Nextcloud instance. To limit results
  35. to those of a single user, use `.../u/{userid}/timegate/...` instead of `.../timegate/...` (and
  36. likewise for `timemap`).
  37. ## Requirements
  38. Besides of course Nextcloud itself (tested on version 14), this app requires the app [Raw][] to also
  39. be installed, in order to host the snapshots.
  40. [Memento Time Travel]: https://addons.mozilla.org/en-US/firefox/addon/memento-timetravel/
  41. [RFC7089]: https://tools.ietf.org/html/rfc7089
  42. [Wayback Machine]: https://web.archive.org/
  43. [WARC]: https://iipc.github.io/warc-specifications/specifications/warc-format/warc-1.1/
  44. [Freeze-dry]: https://github.com/WebMemex/freeze-dry
  45. [Raw]: https://code.treora.com/gerben/nextcloud-raw
  46. </description>
  47. <version>0.1.0</version>
  48. <licence>agpl</licence>
  49. <author mail="gerben@treora.com">Gerben</author>
  50. <namespace>Memento</namespace>
  51. <category>files</category>
  52. <repository type="git">https://code.treora.com/gerben/nextcloud-memento</repository>
  53. <bugs>https://code.treora.com/gerben/nextcloud-memento/issues</bugs>
  54. <dependencies>
  55. <nextcloud min-version="14"/>
  56. </dependencies>
  57. </info>