Skip to content

Instantly share code, notes, and snippets.

@agowa
Created January 5, 2025 18:00
Show Gist options
  • Save agowa/b408acf615cd5cfe5ef04dfdca8b9ba9 to your computer and use it in GitHub Desktop.
Save agowa/b408acf615cd5cfe5ef04dfdca8b9ba9 to your computer and use it in GitHub Desktop.
mirror media.ccc.de using aria2c
#ps1
$index = (Invoke-WebRequest -Uri 'https://cdn.media.ccc.de/INDEX' -Verbose).Content -split "`n" | ForEach-Object {$_.Trim()} | Where-Object {-not [String]::IsNullOrEmpty($_)}
#$aria2cIndex = foreach($e in $index) { "https://cdn.media.ccc.de/$e"; " dir=./$(Split-Path -Parent $e)"; " out=$(Split-Path -Leaf $e)" }
$aria2cIndex = foreach($e in $index) {
"https://cdn.media.ccc.de/$e`thttps://berlin-ak.ftp.media.ccc.de/$e`thttps://mirror.selfnet.de/CCC/$e`thttps://ftp.fau.de/cdn.media.ccc.de/$e`thttps://mirror.eu.oneandone.net/projects/media.ccc.de/$e`thttps://mirrors.dotsrc.org/cdn.media.ccc.de/$e`thttps://koeln.ftp.media.ccc.de/$e`thttps://mirror.netcologne.de/CCC/$e"
" dir=./$(Split-Path -Parent $e)"
" out=$(Split-Path -Leaf $e)"
}
$aria2cIndex | Out-File -Encoding ascii -Path "./INDEX.aria2c.txt"
#!/bin/sh
rpctoken="$(head -c 500 /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 40 | head -n 1)"
echo "RPC Token: $rpctoken"
echo $rpctoken > rpctoken.secret
#!/bin/sh
rpctoken="$(cat rpctoken.secret)"
# replace "--deferred-input=true" with "--deferred-input=false" if you'd like all of the links to be within the download list immediately.
# Otherwise they'll be added one-by-one once a download completes.
aria2c -s16 -x16 --always-resume=true --continue=true --auto-file-renaming=false --use-head=true --input=INDEX.aria2c.txt --enable-rpc=true --pause=true --pause-metadata=true --rpc-allow-origin-all=true --rpc-listen-all=true --rpc-listen-port=6800 --rpc-secret=$rpctoken --rpc-secure=false --auto-save-interval=60 --deferred-input=true --daemon=false
# Running legacy aria2 gui, project appears to have been
# discontinued, but it still works and is
# referenced within the official docs.
FROM alpine:latest
RUN apk update
RUN apk upgrade
RUN apk add nodejs icu-data-full git curl
RUN git clone https://github.com/ziahamza/webui-aria2.git
WORKDIR /webui-aria2
PORT 8888/tcp
HEALTHCHECK --interval=5m --timeout=3s \
CMD curl -f http://localhost:8888/ || exit 1
CMD ["node", "node-server.js"]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment