# GotHub Alternative front-end for GitHub written with Go. (WIP) [![Matrix](https://img.shields.io/matrix/gothub:matrix.org?label=Matrix)](https://matrix.to/#/#gothub:matrix.org) [![Go Report Card](https://goreportcard.com/badge/codeberg.org/gothub/gothub)](https://goreportcard.com/report/codeberg.org/gothub/gothub) [![Website](https://img.shields.io/website?down_color=red&down_message=offline&up_color=green&up_message=online&url=https%3A%2F%2Fgothub.app)](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. | | [GotHub](https://pagespeed.web.dev/analysis/https-gh-psf-lt-ansible-ansible/6ssup87ipo?form_factor=mobile) | [GitHub](https://pagespeed.web.dev/analysis/https-github-com-ansible-ansible/maetxu2zat?form_factor=mobile) | | ------------------- | ---------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | | Performance | 100 | 81 | | Requests | 3 | 88 | | Resource Size | 8kb | 629kb | | Time to Interactive | 0.9s | 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 | | [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.bloatcat.tk](https://gh.bloatcat.tk) | No | Iceland | 1984 | master | | [gh.fascinated.cc](https://gh.fascinated.cc) | Yes | Germany | Contabo | master | | [gothub.lunar.icu](https://gothub.lunar.icu) | Yes | Germany | Unesty | 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.