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.
70 lines
2.2 KiB
Markdown
70 lines
2.2 KiB
Markdown
# 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](https://github.com/Zocker1999NET/approx-redirect).
|
|
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](https://git.banananet.work/zocker/approx-redirect) 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`](https://manpages.debian.org/buster/apt/apt-transport-mirror.1.en.html))
|
|
(**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](https://www.python.org/dev/peps/pep-0008/).
|
|
|
|
## License
|
|
|
|
This project is licensed under MIT.
|