summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorzhanghua0002022-10-07 21:01:11 +0800
committerzhanghua0002022-10-07 21:01:11 +0800
commit1f6e902e3ae7d095b9a0f4fe99c370cae409bdfe (patch)
treef0ae8ec690bf8b554b84433863edbbba178f4ca9
parentdc5fc859c4af0ebe3b69cc7d3b28e4b6e93dca88 (diff)
downloadaur-1f6e902e3ae7d095b9a0f4fe99c370cae409bdfe.tar.gz
Allow auto update tracker
-rw-r--r--.SRCINFO12
-rw-r--r--PKGBUILD40
-rw-r--r--aria2.conf6
-rw-r--r--aria2@.service3
-rw-r--r--tracker-config.sh4
-rw-r--r--update-aria2-tracker26
6 files changed, 67 insertions, 24 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 54a1d16fe263..d708ed78c91d 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index e7d84b325806..decf487582be 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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"