gitlin/README.md

97 行
4.7 KiB
Markdown
Raw 通常表示 履歴

# GotHub
2022-10-24 21:24:32 +09:00
Alternative front-end for GitHub written with Go. (WIP)
[Matrix](https://matrix.to/#/%23gothub%3Atrygve.me?via=projectsegfau.lt&via=vern.cc&via=matrix.org&via=trygve.me)
[![Go Report Card](https://goreportcard.com/badge/codeberg.org/gothub/gothub)](https://goreportcard.com/report/codeberg.org/gothub/gothub)
## Features
- Lightweight - for both you and the instance host
- No JavaScript - pure HTML and CSS goodness
- No requests made to Micro$oft - they won't even know you made a request!
- Open source - for peer review & trustworthiness
- Save bandwidth - no JavaScript/tracking bloat loaded!
## 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 not bad though!
2023-01-14 04:35:45 +09:00
``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 |
| -------- | ---------- | ----------- | ----- | ----- |
2023-03-26 15:58:32 +09:00
| [gothub.projectsegfau.lt](https://gothub.projectsegfau.lt) (official) | No | GeoDNS | BuyVM/Bharti Airtel/Digital Ocean | master |
2023-03-07 21:09:13 +09:00
| [gh.odyssey346.dev](https://gh.odyssey346.dev) | No | 🇫🇷 | OVHcloud (Trolling Solutions) | master |
| [gh.riverside.rocks](https://gh.riverside.rocks) | No | 🇺🇸 | Comcast | master |
| [gh.vern.cc](https://gh.vern.cc)[^1] | No | 🇺🇸 | Hetzner | master |
| [gh.akisblack.dev](https://gh.akisblack.dev) | No | 🇩🇪 | OVHcloud | master |
| [gothub.lunar.icu](https://gothub.lunar.icu) | Yes | 🇩🇪 | Unesty | master |
2023-03-07 21:16:06 +09:00
| [gh.phreedom.club](https://gh.phreedom.club) | No | 🇮🇸 | Flokinet | master |
| [gothub.dev.projectsegfau.lt](https://gothub.dev.projectsegfau.lt) (official) | No | 🇱🇺 | BuyVM | dev |
2023-03-07 21:09:13 +09:00
| [gh.dev.odyssey346.dev](https://gh.dev.odyssey346.dev) | No | 🇫🇷 | OVHcloud (Trolling Solutions) | dev |
| [gothub.esmailelbob.xyz](https://gothub.esmailelbob.xyz) | No | 🇨🇦 | OVHcloud | dev |
| [dev.gh.akisblack.dev](https://dev.gh.akisblack.dev) | No | 🇩🇪 | OVHcloud | dev |
2023-03-11 23:47:47 +09:00
| [gh.777.tf](https://gh.777.tf) | No | 🇫🇮 | Own ISP | dev |
2023-01-14 04:35:45 +09:00
Have an instance you want on the list? Make an issue or PR!
2023-03-07 21:35:57 +09:00
You can find a json-list of the same in [gothub/gothub-instances](https://codeberg.org/gothub/gothub-instances).
2023-01-14 04:35:45 +09:00
[^1]: Has some modifications: https://git.vern.cc/vern/modifications/src/branch/master/gothub
## Setup
### Docker
We recommend Docker as it is easy to update GotHub that way and it is easy to setup.
[Packages page](https://codeberg.org/gothub/-/packages/container/gothub/latest)
```docker
2022-12-18 04:48:50 +09:00
docker run -d -p 3000:3000 --name gothub codeberg.org/gothub/gothub
```
If you are using Portainer or Podman, you know how to create the GotHub container.
### Manual
You will need an installation of Go 1.19+ installed on your system.
We recommend setting the `GO_TELEMETRY` environment variable to `off`. In the future, the Go CLI will send telemetry to Google, which you might not want.
```bash
git clone https://codeberg.org/gothub/gothub.git
cd gothub
go build -o gothub
./gothub serve
```
2022-12-18 04:48:50 +09:00
If you don't want to use port 3000 for GotHub, set the GOTHUB_PORT environment variable to the port you want to use.
If you want to be in the official instance list, you also need to fill these Instance Privacy environment variables:
```
GOTHUB_IP_LOGGED=true/false
GOTHUB_REQUEST_URL_LOGGED=true/false
GOTHUB_USER_AGENT_LOGGED=true/false
GOTHUB_DIAGNOSTIC_INFO_LOGGED=true/false
GOTHUB_INSTANCE_PRIVACY_POLICY=""
GOTHUB_INSTANCE_COUNTRY=""
GOTHUB_INSTANCE_PROVIDER=""
GOTHUB_INSTANCE_CLOUDFLARE=true/false
```
### Web server configuration (Caddy)
We recommend Caddy for the web server, as it provides automatic HTTPS, HTTP/3 and is easy to setup.
```caddyfile
gothub.example.com {
reverse_proxy localhost:(the port for GotHub)
}
```
2023-02-10 18:13:06 +09:00
## Scraping
2023-03-07 21:35:57 +09:00
Other than for the explore page, gothub uses scraping in order to retrieve the information.
This makes it hard for gothub to get ratelimited.
You can also set the GOTHUB_USER_AGENT envvar in order to set the user agent with which GotHub makes requests to Github.
By default, we use the user agent of Chrome 110 on Windows 10.
## 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.
2023-02-10 18:13:06 +09:00
GitHub is a registered trademark of GitHub, Inc. GotHub is not affiliated with GitHub, Inc.