Go to file
video-prize-ranch 6141be7f89
Fix typos
2022-01-17 18:22:46 -05:00
api Fix media 2022-01-17 17:47:54 -05:00
pages Change go-rimgu to rimgo 2022-01-17 17:34:05 -05:00
samples Make comments optional 2021-10-07 01:01:37 +09:00
src Initial album support 2022-01-17 15:23:04 -05:00
static Add favicon 2022-01-17 17:47:54 -05:00
types Updates 2022-01-17 17:11:33 -05:00
views Add favicon 2022-01-17 17:47:54 -05:00
.dockerignore Add Dockerfile 2021-10-07 01:01:36 +09:00
.gitignore First commit: /a/, /gallery/, images, gifv 2021-10-07 01:00:58 +09:00
Dockerfile Replace go-rimgu with rimgo in the Dockerfile 2022-01-17 23:34:55 +01:00
LICENSE Add README, LICENSE 2021-10-07 01:19:35 +09:00
README.md Fix typos 2022-01-17 18:22:46 -05:00
config.example.yml Update README 2022-01-17 18:08:00 -05:00
config.yml Initial album support 2022-01-17 15:23:04 -05:00
docker-compose.yml Basic docker support 2022-01-17 23:33:51 +01:00
go.mod Change go-rimgu to rimgo 2022-01-17 17:34:05 -05:00
go.sum Initial album support 2022-01-17 15:23:04 -05:00
main.go Change go-rimgu to rimgo 2022-01-17 17:34:05 -05:00

README.md

rimgo

An alternative frontend for Imgur. Based on rimgu and rewritten in Go.

License: AGPLv3

It's read-only and works without JavaScript. Images and albums can be viewed without wasting resources from downloading and running tracking scripts. No sign-up nags.

Features

  • URL-compatible with i.imgur.com - just replace the domain in the URL
  • Images and videos (gifv, mp4)
  • Galleries with comments
  • Albums
  • User page
  • Tag page

This is currently very early stage software. Some things left to implement (contributions welcome!):

  • Streaming (currently media is downloaded in full in rimgu before it's returned)
  • Localization/internationalization
  • Pretty CSS styling (responsive?)
  • Support for other popular image sites
  • Filtering and exploration on user/tags pages
  • Responsive scaling of videos on user/tags pages
  • Logo

Things that are considered out of scope:

  • Uploading, commenting, voting, etc - rimgo is read-only.
  • Authentication, serving HTTPS, rate limiting, etc - Use a reverse proxy or load balancer like Caddy, Traefik, or NGINX.
  • Anything requiring JavaScript or the client directly interacting with upstream servers.

Instances

Open an issue to have your instance listed here!

Website Country Cloudflare
i.bcow.xyz 🇨🇦 CA
l4d4owboqr6xcmd6lf64gbegel62kbudu3x3jnldz2mx6mhn3bsv3zyd.onion

Building

Locally

Dependencies:

  • Go v1.16 or later
go build

Docker

sudo docker build -t rimgo:latest .

Running

Locally

go run main.go

Docker

Without docker-compose:

sudo docker run -p 8080:8080 -e -it RIMGU_ADDRESS=0.0.0.0 -e RIMGU_PORT=8080 rimgu:latest

With docker-compose:

sudo docker-compose up -d

Configuration

rimgo can be configured using environment variables or a config file.

Environment variables

Name Default
RIMGU_PORT 3000
RIMGU_HOST localhost
RIMGU_ADDRESS 0.0.0.0
RIMGU_IMGUR_CLIENT_ID 546c25a59c58ad7

Contributing

PRs are welcome!

This software is released under the AGPL 3.0 license. In short, this means that if you make any modifications to the code and then publish the result (e.g. by hosting the result on a web server), you must publicly distribute your changes and declare that they also use AGPL 3.0.