A simple http router for apt downloads based on GeoIP
Go to file
Tyler c4bd02485c
continuous-integration/drone/push Build is failing Details
Fix tests and add coverage
2022-08-14 03:49:28 -04:00
assets Add mirror status endpoint, timestamp on last activity 2022-04-02 04:50:12 -04:00
.drone.yml Fix tests and add coverage 2022-08-14 03:49:28 -04:00
.gitignore Initial testing implementation of checks 2022-08-06 16:20:46 -04:00
Dockerfile Add proper CMD 2022-03-30 20:43:10 -04:00
LICENSE Initial testing implementation of checks 2022-08-06 16:20:46 -04:00
README.md Initial testing implementation of checks 2022-08-06 16:20:46 -04:00
armbianmirror_suite_test.go Initial testing implementation of checks 2022-08-06 16:20:46 -04:00
check.go Improve test coverage and documentation 2022-08-14 03:42:49 -04:00
check_test.go Improve test coverage and documentation 2022-08-14 03:42:49 -04:00
config.go Improve test coverage and documentation 2022-08-14 03:42:49 -04:00
dlrouter.yaml Mimic existing mirrors endpoint, add geoip 2022-03-31 22:04:19 -04:00
go.mod Fix tests and add coverage 2022-08-14 03:49:28 -04:00
go.sum Fix tests and add coverage 2022-08-14 03:49:28 -04:00
http.go Improve test coverage and documentation 2022-08-14 03:42:49 -04:00
main.go Improve test coverage and documentation 2022-08-14 03:42:49 -04:00
map.go Improve test coverage and documentation 2022-08-14 03:42:49 -04:00
map_test.go Improve test coverage and documentation 2022-08-14 03:42:49 -04:00
middleware.go Allow real IP from loopback AND private 2022-03-30 22:58:15 -04:00
mirrors.go Improve test coverage and documentation 2022-08-14 03:42:49 -04:00
servers.go Improve test coverage and documentation 2022-08-14 03:42:49 -04:00
util.go Resolve issue with returning a lower number of servers, add auth to reload 2022-04-02 14:35:46 -04:00

README.md

Armbian Redirector

This repository contains a redirect service for Armbian downloads, apt, etc.

It uses multiple current technologies and best practices, including:

  • Go 1.17/1.18
  • GeoIP + Distance routing
  • Server weighting, pooling (top x servers are served instead of a single one)
  • Health checks (HTTP, TLS)

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.

Regardless, it is meant to be simple and easy to understand.