V2.0.1 aka it's working now
This commit is contained in:
parent
32052f5cd5
commit
f3a28cb10f
22
README.md
22
README.md
@ -4,8 +4,26 @@ It scrapes URL's of debian mirrors for later use in opnsense as an alias that on
|
|||||||
|
|
||||||
I'll be trying to maintain up to date list, aka just run a docker container and forget about it propably.
|
I'll be trying to maintain up to date list, aka just run a docker container and forget about it propably.
|
||||||
|
|
||||||
Also includes IPs for security.debian.org
|
Also includes IPs for security.debian.org, docker, proxmox and nvidia container toolkit
|
||||||
|
|
||||||
|
## Docker
|
||||||
|
|
||||||
|
Here is a rundown of all the options in docker-compose
|
||||||
|
|
||||||
|
```DEBMIRRORURL``` is a link to Debian's mirror list. You don't have to fill it as I don't think they'll be changing that. I hope so at least.
|
||||||
|
|
||||||
|
```GITURLPROTO``` protocol of git server. Usually https
|
||||||
|
|
||||||
|
```GITURL``` address of git server. Fox example, github.com
|
||||||
|
|
||||||
|
```GITREPOPATH``` is the path to your repository. For example, YuruC3/pmpw (shameless plug for my other project)
|
||||||
|
|
||||||
|
```GITEA_TOKEN``` is a personal token used by git to authenticate.
|
||||||
|
|
||||||
|
```EXTRAREPOS``` can be True of False. It includes IP's for security updates for debian. Pretty usefull.
|
||||||
|
|
||||||
|
```SECURITYREPOS``` has IPs for things like docker, the whole proxmox suite and nvidia container toolkit.
|
||||||
|
|
||||||
## Run at home
|
## Run at home
|
||||||
|
|
||||||
if you want to run it at your place remember to change crontab timings and git personal token.
|
if you want to run it at your place remember to change crontab timings and git personal token and so on.
|
12
code/main.py
12
code/main.py
@ -4,6 +4,15 @@ from whatDomain import *
|
|||||||
|
|
||||||
|
|
||||||
DEBSECURITYURL = ["https://security.debian.org/debian-security/"]
|
DEBSECURITYURL = ["https://security.debian.org/debian-security/"]
|
||||||
|
EXTRASURL = ["https://download.docker.com/linux/debian/",
|
||||||
|
# Double just to be sure. Even though they point to the same IP
|
||||||
|
"http://download.proxmox.com/debian/",
|
||||||
|
"https://enterprise.proxmox.com/debian/pve/",
|
||||||
|
# That's for nvidia docker toolkit something something
|
||||||
|
# stuff that makes containers use nvenc and shit
|
||||||
|
"https://nvidia.github.io/libnvidia-container/stable/deb/",
|
||||||
|
"https://nvidia.github.io/libnvidia-container/experimental/deb/"]
|
||||||
|
|
||||||
DEBMIRRORURL = "https://www.debian.org/mirror/list"
|
DEBMIRRORURL = "https://www.debian.org/mirror/list"
|
||||||
IPv4FILE = "../MirrorListV4"
|
IPv4FILE = "../MirrorListV4"
|
||||||
IPv6FILE = "../MirrorListV6"
|
IPv6FILE = "../MirrorListV6"
|
||||||
@ -21,7 +30,7 @@ target_countries = set([
|
|||||||
"Argentina", "Brazil", "Canada", "Chile", "Colombia", "Costa Rica", "Ecuador",
|
"Argentina", "Brazil", "Canada", "Chile", "Colombia", "Costa Rica", "Ecuador",
|
||||||
"Mexico", "Peru", "United States", "Uruguay", "Venezuela",
|
"Mexico", "Peru", "United States", "Uruguay", "Venezuela",
|
||||||
# Others
|
# Others
|
||||||
"Security"
|
"Security", "Extras"
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|
||||||
@ -84,6 +93,7 @@ def sanitizeUrlsGodWhatTheFuckIsThis(SoupInput: BeautifulSoup):
|
|||||||
outMirrorDict[current_country].append(url)
|
outMirrorDict[current_country].append(url)
|
||||||
|
|
||||||
outMirrorDict.update({"Security": DEBSECURITYURL})
|
outMirrorDict.update({"Security": DEBSECURITYURL})
|
||||||
|
outMirrorDict.update({"Extras": EXTRASURL})
|
||||||
|
|
||||||
return outMirrorDict
|
return outMirrorDict
|
||||||
|
|
||||||
|
2
docker/.gitignore
vendored
2
docker/.gitignore
vendored
@ -1,3 +1,3 @@
|
|||||||
repo
|
repo
|
||||||
__pycache__
|
__pycache__
|
||||||
/.env
|
.env
|
@ -2,6 +2,8 @@ FROM alpine:latest
|
|||||||
|
|
||||||
# https://docs.docker.com/reference/dockerfile/#environment-replacement
|
# https://docs.docker.com/reference/dockerfile/#environment-replacement
|
||||||
ENV DEBMIRRORURL="https://www.debian.org/mirror/list"
|
ENV DEBMIRRORURL="https://www.debian.org/mirror/list"
|
||||||
|
ENV EXTRAREPOS=True
|
||||||
|
ENV SECURITYREPOS=True
|
||||||
|
|
||||||
RUN apk update && \
|
RUN apk update && \
|
||||||
apk add python3 py3-pip git
|
apk add python3 py3-pip git
|
||||||
|
@ -4,9 +4,13 @@ services:
|
|||||||
debmirup:
|
debmirup:
|
||||||
container_name: Debian_Mirrors_Updater
|
container_name: Debian_Mirrors_Updater
|
||||||
build: ./
|
build: ./
|
||||||
image: debmirrorupd:V1.1
|
image: debmirrorupd:V2.0.1
|
||||||
environment:
|
environment:
|
||||||
- DEBMIRRORURL=https://www.debian.org/mirror/list
|
- DEBMIRRORURL=https://www.debian.org/mirror/list
|
||||||
- GITEA_TOKEN=<CHANGE_ME>
|
- GITURLPROTO=https
|
||||||
|
- GITURL=tea.shupogaki.org
|
||||||
|
- GITREPOPATH=YuruC3/Debain-repos.git
|
||||||
|
- GITEA_TOKEN=<CHANGHE_ME>
|
||||||
|
- EXTRAREPOS=True
|
||||||
|
- SECURITYREPOS=True
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
privileged: false
|
|
||||||
|
@ -3,7 +3,7 @@ set -e
|
|||||||
|
|
||||||
WORKPTH="/etc/debmirror/"
|
WORKPTH="/etc/debmirror/"
|
||||||
REPO_DIR="$WORKPTH/Debain-repos"
|
REPO_DIR="$WORKPTH/Debain-repos"
|
||||||
REPO_URL="https://tea.shupogaki.org/YuruC3/Debain-repos.git"
|
REPO_URL="${GITURLPROTO}://${GITURL}/${GITREPOPATH}"
|
||||||
|
|
||||||
|
|
||||||
# Clone repo only if it doesn't already exist
|
# Clone repo only if it doesn't already exist
|
||||||
@ -15,13 +15,19 @@ fi
|
|||||||
|
|
||||||
cd "$REPO_DIR"
|
cd "$REPO_DIR"
|
||||||
|
|
||||||
git remote set-url origin "https://${GITEA_TOKEN}@tea.shupogaki.org/YuruC3/Debain-repos.git"
|
git remote set-url origin "https://${GITEA_TOKEN}@${GITURL}/${GITREPOPATH}"
|
||||||
|
|
||||||
git config user.name "UpdateBot"
|
git config user.name "UpdateBot"
|
||||||
git config user.email "UpdateBot@localhost.local"
|
git config user.email "UpdateBot@localhost.local"
|
||||||
|
|
||||||
# pull changes
|
# If anything to commit locally, commit it now
|
||||||
git pull
|
if ! git diff --cached --quiet; then
|
||||||
|
echo "[$(date)] Committing local changes before pulling"
|
||||||
|
git commit -m "Auto-commit before pull on $(date -Iseconds)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Now pull the latest
|
||||||
|
git pull --rebase --autostash
|
||||||
|
|
||||||
# stage files
|
# stage files
|
||||||
git add MirrorListV4 MirrorListV6
|
git add MirrorListV4 MirrorListV6
|
||||||
|
@ -9,6 +9,15 @@ else:
|
|||||||
DEBMIRRORURL = "https://www.debian.org/mirror/list"
|
DEBMIRRORURL = "https://www.debian.org/mirror/list"
|
||||||
|
|
||||||
DEBSECURITYURL = ["https://security.debian.org/debian-security/"]
|
DEBSECURITYURL = ["https://security.debian.org/debian-security/"]
|
||||||
|
EXTRASURL = ["https://download.docker.com/linux/debian/",
|
||||||
|
# Double just to be sure. Even though they point to the same IP
|
||||||
|
"http://download.proxmox.com/debian/",
|
||||||
|
"https://enterprise.proxmox.com/debian/pve/",
|
||||||
|
# That's for nvidia docker toolkit something something
|
||||||
|
# stuff that makes containers use nvenc and shit
|
||||||
|
"https://nvidia.github.io/libnvidia-container/stable/deb/",
|
||||||
|
"https://nvidia.github.io/libnvidia-container/experimental/deb/"]
|
||||||
|
|
||||||
IPv4FILE = "/etc/debmirror/MirrorListV4"
|
IPv4FILE = "/etc/debmirror/MirrorListV4"
|
||||||
IPv6FILE = "/etc/debmirror/MirrorListV6"
|
IPv6FILE = "/etc/debmirror/MirrorListV6"
|
||||||
|
|
||||||
@ -25,7 +34,7 @@ target_countries = set([
|
|||||||
"Argentina", "Brazil", "Canada", "Chile", "Colombia", "Costa Rica", "Ecuador",
|
"Argentina", "Brazil", "Canada", "Chile", "Colombia", "Costa Rica", "Ecuador",
|
||||||
"Mexico", "Peru", "United States", "Uruguay", "Venezuela",
|
"Mexico", "Peru", "United States", "Uruguay", "Venezuela",
|
||||||
# Others
|
# Others
|
||||||
"Security"
|
"Security", "Extras"
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|
||||||
@ -87,7 +96,10 @@ def sanitizeUrlsGodWhatTheFuckIsThis(SoupInput: BeautifulSoup):
|
|||||||
outMirrorDict[current_country] = []
|
outMirrorDict[current_country] = []
|
||||||
outMirrorDict[current_country].append(url)
|
outMirrorDict[current_country].append(url)
|
||||||
|
|
||||||
outMirrorDict.update({"Security": DEBSECURITYURL})
|
if os.environ["SECURITYREPOS"]:
|
||||||
|
outMirrorDict.update({"Security": DEBSECURITYURL})
|
||||||
|
if os.environ["EXTRAREPOS"]:
|
||||||
|
outMirrorDict.update({"Extras": EXTRASURL})
|
||||||
|
|
||||||
return outMirrorDict
|
return outMirrorDict
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user