diff options
author | zhanghua000 | 2022-10-07 21:01:11 +0800 |
---|---|---|
committer | zhanghua000 | 2022-10-07 21:01:11 +0800 |
commit | 1f6e902e3ae7d095b9a0f4fe99c370cae409bdfe (patch) | |
tree | f0ae8ec690bf8b554b84433863edbbba178f4ca9 | |
parent | dc5fc859c4af0ebe3b69cc7d3b28e4b6e93dca88 (diff) | |
download | aur-1f6e902e3ae7d095b9a0f4fe99c370cae409bdfe.tar.gz |
Allow auto update tracker
-rw-r--r-- | .SRCINFO | 12 | ||||
-rw-r--r-- | PKGBUILD | 40 | ||||
-rw-r--r-- | aria2.conf | 6 | ||||
-rw-r--r-- | aria2@.service | 3 | ||||
-rw-r--r-- | tracker-config.sh | 4 | ||||
-rw-r--r-- | update-aria2-tracker | 26 |
6 files changed, 67 insertions, 24 deletions
@@ -1,23 +1,27 @@ pkgbase = aria2cd pkgdesc = A systemd Service to start aria2 automatically. - pkgver = 1.1 - pkgrel = 3 + pkgver = 1.2 + pkgrel = 1 url = https://aur.archlinux.org/aria2cd.git arch = any license = custom:WTFPL depends = aria2 depends = systemd + source = tracker-config.sh + source = update-aria2-tracker source = notify-user source = aria2cd-install source = aria2cd.hook source = aria2.conf source = aria2@.service source = LICENSE::http://www.wtfpl.net/txt/copying + sha256sums = 85f465f6f32a1713f65c389b57f81d26cecfb1e7baf06c38f6b9477818fc4f85 + sha256sums = b83e17eccd9d93f46e63622e479782b63ab142d816617d5b1dffe0baa66d4f1d sha256sums = 5dd14105fcd2224c60103e5521922af0ddcb2a9ec2ef1734b092d946100019f6 sha256sums = 68416b3df5a44c8b953b7d15f554056f21acaca7c6e3353e97c7b44fc6c322ca sha256sums = 79e7fad888a53769776f691d3ce14bd29fc617bb58267304a9b04aa6ccbf4cf5 - sha256sums = a075c9b90a4732ea7fb332e81ad50244e778977ec028a56ae0b29f895fd7db87 - sha256sums = c863595990e32eb41aa76fd55d151acb04cee401fcf219d4e418b96fdc1468b2 + sha256sums = d3dc278eeddbc910c775124bf474aa2c68b7bbba30226f6322ffc2c457785d27 + sha256sums = 334c0e9eed1a09cd1f44da4323a61aa79a3c4f2d51bec8a948c3d922867a5b1f sha256sums = 0356258391e190dc1d44ea01565cfe627fe44e27dad693a0a54c2483a7b223e5 pkgname = aria2cd @@ -1,14 +1,18 @@ -# Maintainer ZhangHua<zhanghua.00@qq.com> +# Maintainer: ZhangHua<zhanghua.00@qq.com> pkgname=aria2cd -pkgver=1.1 -pkgrel=3 +pkgver=1.2 +pkgrel=1 pkgdesc="A systemd Service to start aria2 automatically." arch=(any) -url="https://aur.archlinux.org/aria2cd.git" +url="https://aur.archlinux.org/packages/aria2cd" license=(custom:WTFPL) depends=(aria2 systemd) +optdepends=( + 'curl: for getting tracker list') source=( + tracker-config.sh + update-aria2-tracker notify-user aria2cd-install ${pkgname}.hook @@ -16,20 +20,24 @@ source=( aria2@.service LICENSE::http://www.wtfpl.net/txt/copying ) -sha256sums=('5dd14105fcd2224c60103e5521922af0ddcb2a9ec2ef1734b092d946100019f6' +sha256sums=('85f465f6f32a1713f65c389b57f81d26cecfb1e7baf06c38f6b9477818fc4f85' + 'b83e17eccd9d93f46e63622e479782b63ab142d816617d5b1dffe0baa66d4f1d' + '5dd14105fcd2224c60103e5521922af0ddcb2a9ec2ef1734b092d946100019f6' '68416b3df5a44c8b953b7d15f554056f21acaca7c6e3353e97c7b44fc6c322ca' '79e7fad888a53769776f691d3ce14bd29fc617bb58267304a9b04aa6ccbf4cf5' - 'a075c9b90a4732ea7fb332e81ad50244e778977ec028a56ae0b29f895fd7db87' - 'c863595990e32eb41aa76fd55d151acb04cee401fcf219d4e418b96fdc1468b2' + 'd3dc278eeddbc910c775124bf474aa2c68b7bbba30226f6322ffc2c457785d27' + '334c0e9eed1a09cd1f44da4323a61aa79a3c4f2d51bec8a948c3d922867a5b1f' '0356258391e190dc1d44ea01565cfe627fe44e27dad693a0a54c2483a7b223e5') package(){ - install -Dm644 ${srcdir}/aria2.conf ${pkgdir}/usr/share/aria2/aria2.conf - touch ${pkgdir}/usr/share/aria2/dht.dat - touch ${pkgdir}/usr/share/aria2/dht6.dat - touch ${pkgdir}/usr/share/aria2/aria2.session - install -Dm644 ${srcdir}/aria2@.service ${pkgdir}/usr/lib/systemd/system/aria2@.service - install -Dm644 ${srcdir}/LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE - install -Dm644 ${srcdir}/${pkgname}.hook ${pkgdir}/usr/share/libalpm/hooks/${pkgname}.hook - install -Dm755 ${srcdir}/notify-user ${pkgdir}/usr/share/libalpm/scripts/notify-user - install -Dm755 ${srcdir}/aria2cd-install ${pkgdir}/usr/bin/aria2cd-install + touch "${pkgdir}/usr/share/aria2/dht.dat" + touch "${pkgdir}/usr/share/aria2/dht6.dat" + touch "${pkgdir}/usr/share/aria2/aria2.session" + install -Dm644 "${srcdir}/aria2.conf" "${pkgdir}/usr/share/aria2/aria2.conf" + install -Dm644 "${srcdir}/tracker-config.sh" "${pkgdir}/usr/share/aria2/tracker-config.sh" + install -Dm644 "${srcdir}/aria2@.service" "${pkgdir}/usr/lib/systemd/system/aria2@.service" + install -Dm644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" + install -Dm644 "${srcdir}/${pkgname}.hook" "${pkgdir}/usr/share/libalpm/hooks/${pkgname}.hook" + install -Dm755 "${srcdir}/notify-user" "${pkgdir}/usr/share/libalpm/scripts/notify-user" + install -Dm755 "${srcdir}/aria2cd-install" "${pkgdir}/usr/bin/aria2cd-install" + install -Dm755 "${srcdir}/update-aria2-tracker" "${pkgdir}/usr/bin/update-aria2-tracker" } diff --git a/aria2.conf b/aria2.conf index 98fac9b14cf8..b7e05b02e31c 100644 --- a/aria2.conf +++ b/aria2.conf @@ -42,8 +42,8 @@ save-session=${HOME}/.config/aria2/aria2.session ## Input File input-file=${HOME}/.config/aria2/aria2.session ## DHT File -#dht-file-path=${HOME}/.cache/aria2/dht.dat +dht-file-path=${HOME}/.cache/aria2/dht.dat ## DHT 6 File -#dht-file-path6=${HOME}/.cache/aria2/dht6.dat +dht-file-path6=${HOME}/.cache/aria2/dht6.dat ## BT Trackers -#bt-tracker= +bt-tracker= diff --git a/aria2@.service b/aria2@.service index 584779f987cb..0da4221936d0 100644 --- a/aria2@.service +++ b/aria2@.service @@ -1,11 +1,12 @@ [Unit] -Description=Aria2c Daemon +Description=Aria2c Daemon for %i Requires=network.target After=network-online.target [Service] Type=forking User=%i +ExecStartPre=/usr/bin/update-aria2-tracker ExecStart=/usr/bin/aria2c --daemon=true ExecReload=/usr/bin/kill -HUP ${MAINPID} diff --git a/tracker-config.sh b/tracker-config.sh new file mode 100644 index 000000000000..e48ad3f55f9d --- /dev/null +++ b/tracker-config.sh @@ -0,0 +1,4 @@ +# Set $ENABLED to false to disable auto updating tracker +# Please fill $TRACKER with proper content, you can see the sample address for more info. +ENABLED=false +TRACKER=$(curl -Ls https://cdn.staticaly.com/gh/XIU2/TrackersListCollection/master/best_aria2.txt)
\ No newline at end of file diff --git a/update-aria2-tracker b/update-aria2-tracker new file mode 100644 index 000000000000..3850c6fbd62b --- /dev/null +++ b/update-aria2-tracker @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +set -e + +function get_aria2_home(){ + for path in ${HOME}/.aria2 ${XDG_CONFIG_HOME:-${HOME}/.config}/aria2 + do + [[ -f ${path}/aria2.conf ]] && echo ${path} && return 0 + done + echo ${HOME}/.aria2 && return 0 +} + +ARIA2_CONFIG_HOME=$(get_aria2_home) +echo "Aria2 config is placing at ${ARIA2_CONFIG_HOME}" +if [[ -f "${ARIA2_CONFIG_HOME}/tracker-config.sh" ]] +then + echo "Loading config from ${ARIA2_CONFIG_HOME}/tracker-config.sh" + source "${ARIA2_CONFIG_HOME}/tracker-config.sh" +fi +[[ -z $ENABLED ]] && ENABLED=false +$ENABLED || exit 0 +[[ -z $TRACKER ]] && \ + TRACKER=$(curl -Ls https://cdn.staticaly.com/gh/XIU2/TrackersListCollection/master/best_aria2.txt) +grep -q 'bt-tracker=' "${ARIA2_CONFIG_HOME}/aria2.conf" && \ + sed -i "s@bt-tracker=.*@bt-tracker=$TRACKER@" "${ARIA2_CONFIG_HOME}/aria2.conf" || \ + sed -i "\$a bt-tracker=$TRACKER" "${ARIA2_CONFIG_HOME}/aria2.conf" |