Felix Stupp 3a30714adf | 4 years ago | |
---|---|---|
LICENSE | 5 years ago | |
README.md | 4 years ago | |
redirect.py | 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
andpython3-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.