Configures your local sources.list to adapt to a running approx proxy
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Felix Stupp 3a30714adf
Fix separating metadata from urls in mirror lists with tabs instead of spaces
4 years ago
LICENSE First commit 4 years ago
README.md Added warning about not working mirror mode 4 years ago
redirect.py Fix separating metadata from urls in mirror lists with tabs instead of spaces 4 years ago

README.md

Approx Redirector

This simple Python 3 script does redirect all entries in your sources.list and sources.list.d files to a given approx instance. It redirects all entries cached by the approx server but does not change uncached repositories.

Repository clones

The original repository will be stored on GitHub. You can use the original reopsitory if you want to use GitHub. Also issues and pull requests will be collected there for convenience.

This repository will be cloned to my own server. You can use the clone instead of this repository if you want to avoid use GitHub.

Features

  • Looks up cacheable repositories
  • Supports ≈99.9 % of all approx configurations out there (except approx forcing https)
  • Verboses changes if requested
  • Can rewrite sources files if run as root
  • Does backup old sources files for easy restoring
  • Supports mirror lists for allowing fallback to direct connection (see man apt-transport-mirror) (WARNING: This feature is not considered stable, please use with caution)

ToDo

  • Support https for approx

Usage

  • Obviously requires a Debian-based system
  • Requires python3 and python3-request to be installed

Assuming approx is the hostname of the approx cache you want to use. You can use an IP address instead. You can append a port by using approx:9999. By default http:// will be used but you can specify https as protocol, too: https://approx (not supported yet).

./redirect.py -v approx

The script will check which entries can be redirected and report these to stdout. If you want to approve these changes, run as root:

./redirect.py -vc approx

Now your system will use the approx cache. The old entries can be found in the backup files.

Mirror Mode

To use mirror mode, follow the same approach as above, but append the flag -m or --mirror-mode to the arguments.

Contribute

Feel free to contribute to this project. Please follow the common style guide for Python.

License

This project is licensed under MIT.