Ganonmaster 3dcd75e490
Release / Build and push Docker image (push) Successful in 14m16s
Release / Build Linux release binary (push) Successful in 15m14s
v0.4.0
Co-authored-by: Copilot <copilot@github.com>
2026-05-02 02:53:09 +02:00
2026-04-11 22:53:33 +02:00
2026-05-02 02:53:09 +02:00
2026-04-11 22:03:08 +02:00
2026-03-18 13:54:42 +01:00

mikebase

A Rust-based emote database and API.

Importing legacy emotes

Use the protected management endpoint to mirror emotes from a legacy JSON feed.

Endpoint

POST /manage/import

  • Auth: HTTP Basic (same credentials used for other protected routes)
  • Content-Type: application/json
  • Body:
{
  "source_url": "https://smutba.se/emoji/json/"
}

Behavior

  • Fetches source JSON in the format {"emotes": [{name, url, created, modified}, ...]}
  • Downloads each image URL and uploads bytes to this app's configured S3 bucket
  • Inserts emote rows preserving source created and modified timestamps
  • Skips entries where name already exists locally
  • Continues processing after per-item failures and returns a batch summary

Example response

{
  "source_url": "https://smutba.se/emoji/json/",
  "total": 2,
  "imported": 1,
  "skipped": 1,
  "failed": 0,
  "results": [
    {"name": "legacy_new", "status": "imported", "reason": null},
    {"name": "legacy_duplicate", "status": "skipped", "reason": "Name already exists"}
  ]
}

Allowlisted hosts

Import is restricted to hosts in configuration:

[import]
allowed_hosts = ["smutba.se"]

Environment override example:

  • APP__IMPORT__ALLOWED_HOSTS=["smutba.se","legacy.example.org"]
S
Description
A Rust-based emote database and API.
Readme GPL-3.0 261 KiB
v0.4.0 Latest
2026-05-02 00:53:09 +00:00
Languages
Rust 75.3%
HTML 23.2%
Dockerfile 1.5%