Privacy-respecting alternative front-end for Tenor
  • Scheme 95.4%
  • CSS 4.6%
Find a file
2026-03-22 08:14:13 -04:00
soprano uri-decode proxy-page url query 2025-06-11 15:04:52 -04:00
static nuke commit history 2025-05-01 20:56:15 -04:00
.gitignore nuke commit history 2025-05-01 20:56:15 -04:00
instances.json Remove tenor.fsky.io from instance list 2026-03-20 12:00:43 +01:00
LICENSE nuke commit history 2025-05-01 20:56:15 -04:00
README.md use add-to-load-path instead of -L 2026-03-22 08:14:13 -04:00
soprano.scm use add-to-load-path instead of -L 2026-03-22 08:14:13 -04:00

Soprano

Soprano is a privacy-respecting frontend to Tenor

This project is incomplete. The only supported endpoints are /view (gif) and /search (search).

Support

Join our Matrix room for support and other things related to Soprano

Instances

See instances.json

Run your own instance

Dependencies

This program is written in Guile Scheme.

You will need need guile, guile-gnutls, and guile-lib.

Running

  1. Install the dependencies
  2. Clone the repository using git clone --recurse-submodules http://git.vern.cc/cobra/Soprano
  3. Run guile soprano.scm
  4. Connect to http://localhost:8005 (or point your reverse proxy to it)
  5. Profit

Environment

PATCHES_URL - Link to any patches that were applied. Necessary if there are any. Do not set if there aren't.

The following are optional.

PORT - What port to run on (default 8005).