Compare commits

..

3 commits

Author SHA1 Message Date
2a465e7a20 archivador.sh 2021-11-30 20:46:26 -03:00
0b0162ff6a aria2-feeder: morir si algo falla 2021-11-30 20:46:11 -03:00
a573b55f61 aria2-feeder: permitir especificar RPC y silenciar curl 2021-11-30 20:45:59 -03:00
4 changed files with 52 additions and 4 deletions

42
archivador.sh Executable file
View file

@ -0,0 +1,42 @@
#!/bin/sh -e
if ! type aria2c > /dev/null; then
echo "Te falta instalar aria2."
exit 1
fi
if ! type curl > /dev/null; then
echo "Te falta instalar curl."
exit 1
fi
if ! type lua > /dev/null; then
echo "Te falta instalar lua."
exit 1
fi
if ! type zstd > /dev/null; then
echo "Te falta instalar zstd."
exit 1
fi
echo "¡Gracias por contribuir!"
if ! curl -q localhost:6850 >/dev/null 2>/dev/null; then
echo "> Iniciando aria2..."
mkdir -p datos/
cd datos/
aria2c --enable-rpc --rpc-listen-all=false --rpc-listen-port=6850 --max-concurrent-downloads=50 --max-connection-per-server=16 --continue >> ../aria2.log &
sleep 3 # Esperar a que inicie
cd ..
fi
if test -f lista-paginas.zst; then
echo "Voy a descargar las páginas en lista-paginas.zst."
echo "> Descomprimiendo lista..."
zstd -f -d lista-paginas.zst
echo "Son $(cat lista-paginas.zst | wc -l) páginas."
echo "> Alimentando a aria2..."
cd aria2-feeder/
lua feed-aria2.lua ../lista-paginas localhost:6850
echo "Terminé de alimentar. ¡Suerte!"
else
echo "No tengo ninguna lista para descargar. ¡Chau!"
fi

View file

@ -4,7 +4,7 @@ Le inserta urls a [aria2](https://aria2.github.io) via su interfaz JSON RPC (via
```sh ```sh
# Para una URL # Para una URL
./feed-aria2.sh "https://URL" ./feed-aria2.sh "https://URL" "localhost:6800"
# Para un archivo con una URL por línea # Para un archivo con una URL por línea
lua feed-aria2.lua "archivo" lua feed-aria2.lua "archivo" "localhost:6800"
``` ```

View file

@ -1,11 +1,17 @@
local file = arg[1] local file = arg[1]
local handle = io.open(file) local handle = io.open(file)
local rpc = arg[2]
if not rpc then
rpc = "localhost:6800"
end
while 1 do while 1 do
local line = handle:read("*l") local line = handle:read("*l")
if not line then break end if not line then break end
local result = os.execute("./feed-aria2.sh '"..line.."'") local result = os.execute("./feed-aria2.sh '"..line.."' '"..rpc.."'")
if not result == 0 then if not result == 0 then
print("¡Hubo un error!")
return return
end end
end end

View file

@ -2,4 +2,4 @@
params=$(echo -n "[[\"$1\"],{\"header\":[\"accept-encoding: gzip, br\"]}]" | base64 -w0) params=$(echo -n "[[\"$1\"],{\"header\":[\"accept-encoding: gzip, br\"]}]" | base64 -w0)
id=$(echo "$RANDOM * $RANDOM" | bc) id=$(echo "$RANDOM * $RANDOM" | bc)
curl -q "localhost:6800/jsonrpc?method=aria2.addUri&id=$id&params=$params" curl -q "$2/jsonrpc?method=aria2.addUri&id=$id&params=$params" >/dev/null 2>/dev/null