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

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 (official) πŸ‡¨πŸ‡¦ CA
rimgo.bcow.xyz (official) 🌐 Global
rimgo.pussthecat.org πŸ‡©πŸ‡ͺ DE
img.riverside.rocks πŸ‡ΊπŸ‡Έ US
rimgo.totaldarkness.net πŸ‡¨πŸ‡¦ CA
rimgo.bus-hit.me πŸ‡¨πŸ‡¦ CA
l4d4owboqr6xcmd6lf64gbegel62kbudu3x3jnldz2mx6mhn3bsv3zyd.onion
jx3dpcwedpzu2mh54obk5gvl64i2ln7pt5mrzd75s4jnndkqwzaim7ad.onion πŸ‡ΊπŸ‡Έ US

rimgo.bcow.xyz is running on AWS Lambda@Edge for a global serverless deployment, there may be issues and CloudFront collects some anonymous usage statistics.

Install

rimgo can run on any platform Go compiles on.

Docker

Install Docker and docker-compose, then clone this repository.

git clone https://codeberg.org/video-prize-ranch/rimgo
cd rimgo

Edit the docker-compose.yml file using your favorite text editor.

nvim docker-compose.yml

You can now run rimgo.

sudo docker-compose up -d

Build from source

Requirements

  • Go v1.16 or later

Clone the repository and cd into it.

git clone https://codeberg.org/video-prize-ranch/rimgo
cd rimgo

Build rimgo.

go build

Edit the config file using your preferred editor.

nvim config.yml

You can now run rimgo.

./rimgo

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.

Similar Resources

NKN-ESI (or nESI) is an NKN based Energy Services Interface (ESI).

nkn-esi NKN-ESI (or nESI) is an NKN based Energy Services Interface (ESI). An ESI supports a distributed marketplace for energy services on the electr

Mar 18, 2022

Create a new OpenAPI based blink-plugin

OpenAPI plugin template Create a new OpenAPI based blink-plugin. READ FIRST Getting the Repo Option 1: From Github Press Use this template Naming conv

Oct 14, 2021

A REST API microservices-based Twitter Clone server.

Simple API Twitter Clone A REST API microservices-based project to fetch, edit, post, and delete tweets. API documentation The API documentation is bu

May 13, 2022

RESTful based volume management framework for GlusterFS

Heketi Heketi provides a RESTful management interface which can be used to manage the life cycle of GlusterFS volumes. With Heketi, cloud services lik

Nov 18, 2020

A tiny JSON rule based API Mocker

API Mocker A tiny JSON rule based API mocker. The API Mocker intends to simulate an API behavior, supported by a group of rules written as a JSON file

Sep 11, 2022

A starting point for a GitHub Action based in Go.

GitHub Action Using Go This is a starting point for a GitHub Action based in Go. This repo provides all the structure needed to build a robust GitHub

Dec 11, 2021

Us-api: a simple service that returns the US state code based on the state

us-api us-api is a simple service that returns the US state code based on the state. It does not support creating, updating nor deleting data. Local D

Dec 13, 2021

Log4Shell: a middleware plugin for Traefik which blocks JNDI attacks based on HTTP header values

Log4Shell: a middleware plugin for Traefik which blocks JNDI attacks based on HTTP header values

Traefik (pronounced traffic) is a modern HTTP reverse proxy and load balancer that makes deploying microservices easy. Traefik integrates with your ex

Dec 26, 2022

The Bhojpur PEE is a software-as-a-service product used as a Provider's Edge Equipment based on Bhojpur.NET Platform for application delivery.

Bhojpur PEE - Provider's Edge Equipment The Bhojpur PEE is a software-as-a-service product used as a Provider's Edge Equipment based on Bhojpur.NET Pl

Dec 31, 2021
Rewritten glusterfs csi driver to use with heketi API
Rewritten glusterfs csi driver to use with heketi API

Glusterfs-Heketi CSI driver The CSI (Container Storage Interface) is a universal way to provide storage for the applications. This version of the plug

Dec 8, 2022
Go-twitter - Simple Prototype for Twitter with frontend and backend
Go-twitter - Simple Prototype for Twitter with frontend and backend

Twitter Clone Introduction A Twitter clone created with Golang, PostgreSQL, Redi

Feb 21, 2022
Scrape the Twitter Frontend API without authentication with Golang.

Twitter Scraper Twitter's API is annoying to work with, and has lots of limitations β€” luckily their frontend (JavaScript) has it's own API, which I re

Dec 29, 2022
Gopedia: an alternative to get summaries from Wikipedia API

Gopedia Gopedia is an alternative to get summaries from Wikipedia API ♻️ Changel

Mar 18, 2022
The Fabric Token SDK is a set of API and services that lets developers create token-based distributed application on Hyperledger Fabric.

The Fabric Token SDK is a set of API and services that let developers create token-based distributed application on Hyperledger Fabric.

Dec 14, 2022
An API for generating JSON based STIX objects and TAXII messages with the Go

libstix2 an API for generating JSON based STIX objects and TAXII messages with the Go (Golang) programming language. Please see the examples directory and the README files in each of the sub packages for more information. This API is built to support STIX 2.x and TAXII 2.x.

Dec 21, 2021
A simple command line -based snake game built with go and termbox
A simple command line -based snake game built with go and termbox

snake-task Snake Game A simple command line -based snake game built with go and termbox library. This is a test task for a Golang positon. It took me

Jan 16, 2022
Maven-client - A command line tool to query first order and transitive maven coordinates based off an initial list of coordinates.

maven-client Description This CLI reads a list of maven group artifact version (GAV) coordinates and returns an ordered list of first order and transi

Jan 6, 2022
A console based twitter client for displaying tweets from twitter lists
A console based twitter client for displaying tweets from twitter lists

About I follow a bunch of people who span a bunch of topics and wanted a way to keep track of all the cool stuff they post. I figured there would cert

Oct 6, 2022
Graph Role-Based Access Control by Animeshon
Graph Role-Based Access Control by Animeshon

gRBAC - Graph Role-Based Access Control A cloud-native graph implementation of the Role-Based Access Control (RBAC) authorization architecture powered

Nov 9, 2022