Improve readme with proper information and configuration
This commit is contained in:
parent
5ff4aa9fae
commit
2f71e97f2e
102
README.md
102
README.md
|
@ -15,4 +15,104 @@ Code Quality
|
||||||
|
|
||||||
The code quality isn't the greatest/top tier. All code lives in the "main" package and should be moved at some point.
|
The code quality isn't the greatest/top tier. All code lives in the "main" package and should be moved at some point.
|
||||||
|
|
||||||
Regardless, it is meant to be simple and easy to understand.
|
Regardless, it is meant to be simple and easy to understand.
|
||||||
|
|
||||||
|
Configuration
|
||||||
|
-------------
|
||||||
|
|
||||||
|
### Modes
|
||||||
|
|
||||||
|
#### Redirect
|
||||||
|
|
||||||
|
Standard redirect functionality
|
||||||
|
|
||||||
|
#### Download Mapping
|
||||||
|
|
||||||
|
Uses the `dl_map` configuration variable to enable mapping of paths to new paths.
|
||||||
|
|
||||||
|
Think symlinks, but in a generated file.
|
||||||
|
|
||||||
|
### Mirrors
|
||||||
|
Mirror targets with trailing slash are placed in the yaml configuration file.
|
||||||
|
|
||||||
|
### Example YAML
|
||||||
|
```yaml
|
||||||
|
# GeoIP Database Path
|
||||||
|
geodb: GeoLite2-City.mmdb
|
||||||
|
|
||||||
|
# Comment out to disable
|
||||||
|
dl_map: userdata.csv
|
||||||
|
|
||||||
|
# LRU Cache Size (in items)
|
||||||
|
cacheSize: 1024
|
||||||
|
|
||||||
|
# Server definition
|
||||||
|
# Weights are just like nginx, where if it's > 1 it'll be chosen x out of x + total times
|
||||||
|
# By default, the top 3 servers are used for choosing the best.
|
||||||
|
# server = full url or host+path
|
||||||
|
# weight = int
|
||||||
|
# optional: latitude, longitude (float)
|
||||||
|
servers:
|
||||||
|
- server: armbian.12z.eu/apt/
|
||||||
|
- server: armbian.chi.auroradev.org/apt/
|
||||||
|
weight: 15
|
||||||
|
latitude: 41.8879
|
||||||
|
longitude: -88.1995
|
||||||
|
````
|
||||||
|
|
||||||
|
## API
|
||||||
|
|
||||||
|
`/status`
|
||||||
|
|
||||||
|
Meant for a simple health check (nginx/etc can 502 or similar if down)
|
||||||
|
|
||||||
|
`/reload`
|
||||||
|
|
||||||
|
Flushes cache and reloads configuration and mapping. Requires reloadToken to be set in the configuration, and a matching token provided in `Authorization: Bearer TOKEN`
|
||||||
|
|
||||||
|
`/mirrors`
|
||||||
|
|
||||||
|
Shows all mirrors in the legacy (by region) format
|
||||||
|
|
||||||
|
`/mirrors.json`
|
||||||
|
|
||||||
|
Shows all mirrors in the new JSON format. Example:
|
||||||
|
|
||||||
|
```json
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"available":true,
|
||||||
|
"host":"imola.armbian.com",
|
||||||
|
"path":"/apt/",
|
||||||
|
"latitude":46.0503,
|
||||||
|
"longitude":14.5046,
|
||||||
|
"weight":10,
|
||||||
|
"continent":"EU",
|
||||||
|
"lastChange":"2022-08-12T06:52:35.029565986Z"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
`/mirrors/{server}.svg`
|
||||||
|
|
||||||
|
Magic SVG path to show badges based on server status, for use in dynamic mirror lists.
|
||||||
|
|
||||||
|
`/dl_map`
|
||||||
|
|
||||||
|
Shows json-encoded download mappings
|
||||||
|
|
||||||
|
`/geoip`
|
||||||
|
|
||||||
|
Shows GeoIP information for the requester
|
||||||
|
|
||||||
|
`/region/REGIONCODE/PATH`
|
||||||
|
|
||||||
|
Using this magic path will redirect to the desired region:
|
||||||
|
|
||||||
|
* NA - North America
|
||||||
|
* EU - Europe
|
||||||
|
* AS - Asia
|
||||||
|
|
||||||
|
`/metrics`
|
||||||
|
|
||||||
|
Prometheus metrics endpoint. Metrics aren't considered private, thus are exposed to the public.
|
Loading…
Reference in New Issue