gitlin/README.md

88 行
6.3 KiB
Markdown

# 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-dev-odyssey346-dev-ansible-ansible/2430mn1ece?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.esmailelbob.xyz](https://gothub.esmailelbob.xyz) | No | Canada | OVHcloud | master |
| [gothub.no-logs.com](https://gothub.no-logs.com/) | No | Sweden | Vultr | master |
| [gh.odyssey346.dev](https://gh.odyssey346.dev) | No | France | OVHcloud (Trolling Solutions) | 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 |
| [gh.dev.odyssey346.dev](https://gh.dev.odyssey346.dev) | No | France | OVHcloud (Trolling Solutions) | 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.