transsmute

command module
v1.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 3, 2025 License: GPL-3.0 Imports: 4 Imported by: 0

README

Transsmute

Transsmute Icon

Build Artifact Hub

Transsmute (transmute + RSS) is a server written in Go that builds RSS feeds for websites that don't provide them.

Currently, the following feed providers are supported:

  • YouTube (channel, playlist)
  • Container registries (DockerHub, ghcr.io)
  • Kemono

Installation

Transsmute can be installed as a container (suggested) or as a compiled binary.

Docker

A Docker container is available at ghcr.io/gabe565/transsmute. The containerized version of Transsmute will run on port 80 by default, and accepts all configuration as flags or as environment variables. See Configuration for more info.

docker run --rm -it -p 80:80 ghcr.io/gabe565/transsmute

Alternatively, an example docker-compose.yml file is provided.

Kubernetes

A Helm chart is available for Kubernetes deployment. For more information, see charts.gabe565.com or Artifact Hub.

Configuration

Flag Environment Variable Description Default
--address TRANSSMUTE_ADDRESS Listen address ":3000" (":80" in container)
--youtube-enabled TRANSSMUTE_YOUTUBE_ENABLED YouTube API enabled. true
--youtube-key TRANSSMUTE_YOUTUBE_KEY YouTube API key. Required to enable YouTube routes! ""
--docker-enabled TRANSSMUTE_DOCKER_ENABLED Docker API enabled. true
--dockerhub-username TRANSSMUTE_DOCKERHUB_USERNAME DockerHub username for private repos. ""
--dockerhub-password TRANSSMUTE_DOCKERHUB_PASSWORD DockerHub password for private repos. ""
--ghcr-username TRANSSMUTE_GHCR_USERNAME GitHub username for ghcr.io repos. ""
--ghcr-password TRANSSMUTE_GHCR_PASSWORD GitHub PAT for ghcr.io repos. ""
--kemono-enabled TRANSSMUTE_KEMONO_ENABLED Kemono API enabled. true
--kemono-hosts TRANSSMUTE_KEMONO_HOSTS Kemono API hosts, where the key is the URL prefix and the value is the host. kemono=kemono.su

Command-line help reference is also available in docs.

DockerHub

DockerHub credentials are only required to access private repositories.

ghcr.io

A personal access token is used to authenticate into GitHub's ghcr.io API. The only required scope is read:packages. Click here to generate a personal access token with the necessary scopes prefilled.

Routes

Feed Type

An Atom feed is generated by default, but a file extension of .json or .rss will change the output to the given format.

YouTube
  • /youtube/playlist/{playlist_id}
  • /youtube/channel/handle/{channel_handle}
  • /youtube/channel/username/{channel_username}
  • /youtube/channel/id/{channel_id}
Query Parameters
Name Description Default
limit Limit the number of articles in the feed. 15
no_embed Disables video iframe. Useful for RSS readers that automatically load videos like Miniflux. false
Docker
  • /docker/tags/{repo}
Query Parameters
Name Description Default
filter Anchored regex pattern used to filter tags.
Kemono
  • /kemono/{service}/user/name/{user_name}
  • /kemono/{service}/user/id/{user_id}
  • /kemono/{service}/podcast/name/{user_name}
  • /kemono/{service}/podcast/id/{user_id}
Query Parameters
Name Description Default
pages Maximum number of pages to load. Each page contains 50 posts. 1
q Search query.
tag Only include posts that contain the given tag.

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳