👛 a very simple REST API for saving online articles to read later
Go to file
reese sapphire 89a3755d83 flake: change version to datestamp 2024-06-18 18:45:57 -05:00
embed edit homepage warning 2024-06-18 18:44:13 -05:00
extra remove apikey authentication, advise using your own auth instead 2024-06-18 18:35:33 -05:00
.editorconfig embed static files, serve at /* 2023-12-28 16:27:18 -06:00
.gitignore update gitignore 2024-02-04 19:44:10 -06:00
LICENSE.txt start of golang rewrite 2023-12-27 16:49:11 -06:00
config.go add response template, language config option 2024-01-27 22:08:04 -06:00
flake.lock flake: change version to datestamp 2024-06-18 18:45:57 -05:00
flake.nix flake: change version to datestamp 2024-06-18 18:45:57 -05:00
go.mod start of golang rewrite 2023-12-27 16:49:11 -06:00
go.sum start of golang rewrite 2023-12-27 16:49:11 -06:00
main.go edit homepage warning 2024-06-18 18:44:13 -05:00
readme.md remove apikey authentication, advise using your own auth instead 2024-06-18 18:35:33 -05:00
roadmap.md remove apikey authentication, advise using your own auth instead 2024-06-18 18:35:33 -05:00

readme.md

reticule

Reticule is an extremely minimal single-user self-hosted alternative to bookmarking services like Pocket/Instapaper/Wallabag that relies on a feed reader of your choice (like Miniflux, Vore, Newsboat, and others) to view your saved links.

Installation

Flakes

Currently the only supported installation method is with Nix Flakes. This flake provides the reticule package and a module for using it declaratively with NixOS. Here is an example flake.nix that you can copy from if your system is configured with Flakes:

{
  inputs = {
    reticule.url = "git+https://git.cyberia.club/reese/reticule.git";
  };
  
  outputs = { reticule, ... }@inputs: {
    nixosConfigurations.hostname = nixpkgs.lib.nixosSystem rec {
      modules = [
        reticule.nixosModules.reticule
      ];
    };
  };
}

The possible configuration values can be found here.

From source

You can also download the source code from this repository and build it like any other Go binary. Once built, see ./reticule -h for usage info.

Usage

WARNING: Reticule comes with absolutely zero means of authentication on its own. If you need to use it over the internet, use reverse-proxy authentication to protect the /add endpoint at the very least.

Web browser bookmarklet

Create a new bookmark in your browser with the name "Save to Reticule" and set the URL to the following:

javascript:(()=>{window.open("<SERVER_ADDRESS>/add&url="+encodeURIComponent(location),"_blank","noreferrer,noopener")})()

Make sure you change <SERVER_ADDRESS> to the value you configured your server with.

Go to a webpage that you want to save, click the bookmarklet, and voila! It should open a new tab with a message that it was saved successfully, which you can then close.

Android

  1. Install HTTP Shortcuts from F-Droid or the Play Store.
  2. Download reticule_http_shortcut.json from this repo to your device.
  3. Open HTTP Shortcuts, tap the vertical 3 dots in the top right corner, tap "Import/Export", then tap "Import from file". Select the json file you downloaded earlier.
  4. Go back to the main page, tap the 3 dot button again, then tap "Variables", and edit the value of reticule_instance to point to your instance.
  5. Try using the share button in an app. A new item "Send to..." with the HTTP Shortcuts icon should appear on the share sheet. You can also save an article by tapping the shortcut inside the HTTP Shortcuts app itself and pasting the URL.

Feed reader

There is an RSS feed endpoint at /feed, and an Atom feed at /atom. If it doesn't work in your reader, open an issue and I will try my best to resolve it!

Acknowledgements

The purple coin purse favicon comes from OpenMoji, which is licensed under CC BY-SA 4.0.