1
0
Fork 0
mirror of https://github.com/Luzifer/preserve.git synced 2024-11-08 14:20:05 +00:00
Little HTTP server to preserve the presence of URLs
Find a file
2021-06-09 10:59:53 +02:00
.gitignore Initial version 2020-06-14 02:09:06 +02:00
cache.go Add modular storage API / GCS support (#1) 2021-02-23 14:08:53 +01:00
Dockerfile Initial version 2020-06-14 02:09:06 +02:00
go.mod Add HTTP log and Gzip compression for transit 2021-06-09 10:59:30 +02:00
go.sum Add HTTP log and Gzip compression for transit 2021-06-09 10:59:30 +02:00
History.md prepare release v0.2.0 2021-06-09 10:59:53 +02:00
LICENSE Initial version 2020-06-14 02:09:06 +02:00
main.go Add HTTP log and Gzip compression for transit 2021-06-09 10:59:30 +02:00
README.md Add infos about storage provider 2021-02-23 14:17:22 +01:00
storage.go Add modular storage API / GCS support (#1) 2021-02-23 14:08:53 +01:00
storage_gcs.go Add modular storage API / GCS support (#1) 2021-02-23 14:08:53 +01:00
storage_local.go Add modular storage API / GCS support (#1) 2021-02-23 14:08:53 +01:00

Go Report Card

Luzifer / preserve

preserve is a little HTTP server to preserve the presence of URLs.

Ever relied on an HTTP resource to be available and it vanished? Happened too often to me so I wrote a little tool to prevent URLs from vanishing: preserve.

Usage

After you've started preserve it will by default listen on port 3000 and you can start using it by prefixing the URL of the resource:

Lets say you want to ensure the image https://example.com/image.png does not vanish:

  • http://localhost:3000/https://example.com/image.png will fetch the resource once and then deliver it from the local cache
  • http://localhost:3000/latest/https://example.com/image.png will fetch the resource with every request until it gets unavailable and then serve it from local cache

This also works with parameters:

http://localhost:3000/https://pbs.twimg.com/media/somemediaid?format=jpg&name=4096x4096

Select Storage Provider

Local files

preserve \
  --listen=:3000 \
  --storage-provider=local \
  --storage-dir=/var/lib/preserve

Google Cloud Storage

preserve \
  --listen=:3000 \
  --storage-provider=gcs \
  --bucket-uri=gs://mybucket/prefix