GotHub is a javascript-free GitHub frontend in agpl golang on codeberg

Undescribed Horrific Abuse, One Victim & Survivor of Many gmkarl at gmail.com
Sat Jun 17 17:39:55 PDT 2023


source:
https://codeberg.org/gothub/gothub
site:
https://gothub.app/
instance:
https://gh.bloatcat.tk/

# GotHub

Alternative front-end for GitHub written with Go. (WIP)

[![Matrix](https://matrix.to/#/#gothub:matrix.org)
[![Website](https://gothub.app)

## Features

- Lightweight - for both you and the instance host
- No JavaScript - pure HTML and CSS goodness
- No requests made to GitHub from the client side - they won't even
know you made a request!
- Open source - for peer review & trustworthiness
- Save bandwidth - no JavaScript/tracking bloat loaded!

## Comparison to GitHub

Tested with PageSpeed Insights. Using ansible/ansible as a test repo.

| Performance         | GotHub=100 | GitHub=81 |
| Requests            | GotHub=3 | GitHub=88 |
| Resource Size       | GotHub=8kb | GitHub=629kb |
| Time to Interactive | GotHub=0.9s | GitHub=2.7s |

Quite the difference, isn't it?

## Instances

### Difference between branches

The `master` branch runs on the master branch of GotHub. This means
that the instance is running a stable, tested version of GotHub that
doesn't get updated as much as `dev`. Doesn't mean they're bad,
though.

`dev` instances run on the dev branch of GotHub. This might mean they
are more up-to-date than other instances, but at the same time, they
might not be (instance admin might not always update their instance,
no auto-updates etc.). You can get the latest and greatest straight
out of Git, but you could meet on bugs and other nasty things.
| Link | Cloudflare | Country | ISP | Branch |
| -------- | ---------- | ----------- | ----- | ----- |
| [gh.akisblack.dev](https://gh.akisblack.dev) | No | Germany |
OVHcloud | master |
| [gh.bloatcat.tk](https://gh.bloatcat.tk) | No | Iceland | 1984 | master |
| [gothub.lunar.icu](https://gothub.lunar.icu) | No | Germany | Avoro | master |
| [gothub.no-logs.com](https://gothub.no-logs.com/) | No | Sweden |
Vultr | master |
| [gothub.projectsegfau.lt](https://gothub.projectsegfau.lt) | No |
GeoDNS (Luxembourg/USA/India) | BuyVM/Digital Ocean/Airtel | master |
| [gh.fascinated.cc](https://gh.fascinated.cc) | Yes | Germany |
Contabo | master |
| [gh.whateveritworks.org](https://gh.whateveritworks.org) | Yes |
Germany | Hetzner | master |
| [dev.gh.akisblack.dev](https://dev.gh.akisblack.dev) | No | Germany
| OVHcloud | dev |
| [gh.creller.net](https://gh.creller.net) | No | Scotland | British
Telecommunications PLC | dev |
| [gothub.dev.projectsegfau.lt](https://gothub.dev.projectsegfau.lt) |
No | Luxembourg | BuyVM | dev |

Have an instance you want on the list? Make an issue or PR!

You can find a json-list of the same in
[gothub/gothub-instances](https://codeberg.org/gothub/gothub-instances).

### Instance rules

These are the rules an instance must follow to be in our official instance list.

Most of these rules have been copied from the [invidious
project](https://docs.invidious.io/instances).

- Instance MUST have been updated in the last month.
- Instances using any EXTERNAL DDoS Protection / MITM / Anti-Bot
protection MUST be marked as such.
- Instances MUST NOT use any sort of web analytics
- Instances MUST NOT serve ads
- Instances MUST NOT restrict or disallow the access / usage to any
natural person (eg. a country's IP range MUST NOT be blocked, access
by a natural person MUST NOT be disallowed for arbirary reason) - this
rule doesn't apply to juridical persons.

These rules may change at any time, we will inform the current hosters
in the list, and give them 2 weeks so they can correct it

## Setup

See [gothub.app/docs](https://gothub.app/docs) for information about
setting up GotHub.

## Scraping

GotHub utilizes scraping powered by [Colly](http://go-colly.org/) to
retrieve information from GitHub for everything except the explore
page. By default, GotHub uses Chrome on Windows 10 as the user agent,
but you can change it by setting the `GOTHUB_USER_AGENT` environment
variable.

## Funding

Our domain [gothub.app](https://gothub.app) is funded by the [Project
Segfault](https://projectsegfau.lt) team, which is our only expense
other than blood, sweat and tears. So, if you'd like to donate to
GotHub, you can donate it to your favourite instance host or [Project
Segfault](https://projectsegfau.lt/donate).

## DMCA/Legal notice

All content shown on a GotHub instance is from GitHub. Any issues with
content shown on a GotHub instance need to be reported to GitHub, not
the instance host's internet or domain provider.

GitHub is a registered trademark of GitHub, Inc. GotHub is not
affiliated with GitHub, Inc.


More information about the cypherpunks mailing list