ADOS - to skrypt napisany przez użytkownika DINI. Jest on częściową alternatywą dla Download Mastera znanego z oryginalnego oprogramowania.
ADOS został napisany w języku PHP. Obsługuje protokoły HTTP i FTP. Jest szczególnie pomocny, gdy korzysta się z usług płatnych kont typu Rapidshare, czy Megauplowad, etc.
Jako że oryginalny Dowlnoad Master nie jest kompatybilny z firmware Oleg'a, ADOS jest w tej chwili jedynym godnym polecenia zamiennikiem tego programu w alternatywnych firmware.
ADOS nie obsługuje sieci p2p, w tym torrentów.
Support i tutorial skryptu w języku angielskim znajduje się tutaj.
Możliwości skryptu:
- Zarządzanie pobieraniami przez przeglądarkę internetową
- Obsługa nieskończonej ilości linków
- Możliwość obsługi wielu użytkowników (z podziałem na konta administratorów i użytkowników)
- Planowane pobierania
- Współpraca z bazami danych SQLite i MySQL
- Współpraca z silnikami pobierania: cURL, wget, axel
- Każdy użytkownik może posiadać własne foldery z pobieranymi plikami
- Wspieranie przekierowań, oraz możliwość zdefiniowania loginów i haseł używanych do serwerów FTP, czy płatnych kont, np. Rapidshare
- Możliwość ograniczenia przepustowości pobierania na poszczególnego użytkownika
- Możliwość podglądania statusu pobierania plików w czasie rzeczywistym
---------------
I. Pliki do pobrania:
Aktualna wersja skryptu
Polskie pliki językowe
Tłumaczenie nie jest jeszcze w 100% kompletne. Oznacza to, że część interfejsu jest w języku angielskim.
Będę tutaj zamieszczał systematycznie zaktualizowaną wersję tłumaczenia.
Aby być na bieżąco zasubskrybuj ten temat.
---------------
II. Przygotowanie systemu:
Aby ADOS działał prawidłowo należy zainstalować na routerze następujące oprogramowanie:
Krok 1. Konfiguracja IPKG
W tutorialu (w jez. angielskim) tutaj podana jest informacja aby zamienić repozytoria na alternatywne. Operacja ta będzie wiązała się z przeinstalowaniem wszystkich dotychczasowo zainstalowanych pakietów (ustawienia zostaną nienaruszone).
Jednak jeżeli używasz firmware olega w najnowszej wersji, a zawartość pliku /opt/etc/ipkg.conf to
Code:
#Uncomment the following line for native packages feed (if any)
#src/gz native http://ipkg.nslu2-linux.org/feeds/optware/oleg/native/stable
src/gz optware http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable
dest /opt/ /
#option verbose-wget
wówczas możesz pominąć krok 1 przejść do następnego.
W innym wypadku wykonaj w terminalu:
Code:
echo "src unslung http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable" > /opt/etc/ipkg.conf
echo "dest root /" >> /opt/etc/ipkg.conf
ipkg update && ipkg install uclibc-opt && awk '/^Package:/{system("ipkg install -force-reinstall -force-defaults " $2)}' /opt/lib/ipkg/status
Krok 2. Instalacja pakietów
Potrzebne pakiety to: cron, lighttpd, sqlite, php-fcgi a także silniki pobierania plików: cURL i wget
Pakiety php-gd i php-mbstring nie są wymagane, ale zaleca się ich instalację.
Aby zainstalować wykonaj w terminalu:
Code:
ipkg update
ipkg install cron
ipkg install lighttpd
ipkg install sqlite
ipkg install php-fcgi
ipkg install libcurl
ipkg install wget
ipkg install php-gd
ipkg install php-mbstring
Krok 3. Konfiguracja serwera web lighttpd
Należy wyedytować plik konfiguracyjny /opt/etc/lighttpd/lighttpd.conf,
zamienić linię
Code:
# server.event-handler = "freebsd-kqueue" # needed on OS X
na
Code:
server.event-handler = "poll" # needed on OS X
usunąć komentarz z poniższych linii
Code:
"mod_access",
"mod_fastcgi",
"mod_cgi",
"mod_accesslog"
Ustawić katalog główny serwera www (w cudzysłowu wstaw wybraną ścieżkę):
Code:
server.document-root = "/opt/share/www/"
Wybierz port nasłuchiwania serwera (np. 8080):
Wyedytuj sekcję fastcgi według poniższego:
Code:
fastcgi.server = ( ".php" =>
( "localhost" =>
(
"min-procs" => 1,
"max-procs" => 1,
"max-load-per-proc" => 4,
"socket" => "/tmp/php-fastcgi.socket",
"bin-path" => "/opt/bin/php-fcgi"
)
)
)
Zapisz zmiany i zamknij plik.
Krok 4. Konfiguracja PHP
Należy uaktywnić pewne wymagane rozszerzenia.
Aby tego dokonać otwórz plik /opt/etc/php.ini i usuń komentarz z poniższych linii:
Code:
extension=pdo.so
extension=sqlite.so
extension=pdo_sqlite.so
Jeżeli którejś linii nie ma w pliku - dodaj ją.
Zapisz zmiany i zamknij plik.
Krok 5. Konfiguracja CRON
Otwórz plik /opt/etc/crontab i wstaw poniższe linie (jeśli jeszcze nie istnieją):
Code:
SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=""
HOME=/
# ---------- ---------- Default is Empty ---------- ---------- #
*/1 * * * * admin /opt/bin/run-parts /opt/etc/cron.1min
*/5 * * * * admin /opt/bin/run-parts /opt/etc/cron.5mins
01 * * * * admin /opt/bin/run-parts /opt/etc/cron.hourly
02 4 * * * admin /opt/bin/run-parts /opt/etc/cron.daily
22 4 * * 0 admin /opt/bin/run-parts /opt/etc/cron.weekly
42 4 1 * * admin /opt/bin/run-parts /opt/etc/cron.monthly
Ważne: zamień wpisy "admin" w pliku na nazwę, jaką posługujesz się do logowania do routera.
Zapisz zmiany i zamknij plik.
Krok 6. Tworzenie skryptu /opt/bin/run-parts (jeżeli jeszcze tego nie zrobiłeś wcześniej)
Jest to jedna z podstawowych czynności, które powinieneś wykonać po zainstalowaniu firmware Olega.
Jeżeli jeszcze tego nie zrobiłeś utwórz plik /opt/bin/run-parts
i wklej do niego poniższą zawartość:
Code:
#!/bin/sh
#
# runparts.sh by macsat@macsat.com
# intended for use with cron
#
# based on rc.unslung by unslung guys :-)
#
if [ -z "$1" ]
then
echo "Usage : $0 "
fi
RUNDIR=$1"/*"
for i in $RUNDIR ;do
# Ignore dangling symlinks (if any).
[ ! -f "$i" ] && continue
case "$i" in
*.sh)
# Source shell script for speed.
(
trap - INT QUIT TSTP
set start
. $i
)
;;
*)
# No sh extension, so fork subprocess.
$i start
;;
esac
done
Zapisz zmiany i zamknij plik.
Nadaj odpowiednie uprawnienia plikowi /opt/bin/run-parts wykonując polecenie:
Code:
chmod +x /opt/bin/run-parts
Krok 7. Tworzenie katalogów na potrzeby crona
Wykonaj następujące polecenia, aby utworzyć potrzebne katalogi:
Code:
mkdir /opt/etc/cron.1min
mkdir /opt/etc/cron.5mins
mkdir /opt/etc/cron.hourly
mkdir /opt/etc/cron.daily
mkdir /opt/etc/cron.weekly
mkdir /opt/etc/cron.monthly
Skrypty w katalogu /opt/etc/cron.1min będą wykonywane co minutę, skrypty w katalogu /opt/etc/cron.5mins co 5 minut, itd.
Krok 8. Automatyczne uruchamianie usług lighttpd i cron po uruchomieniu routera i zamontowaniu dysku (opcjonalnie).
Jeśli chcesz, aby usługi cron i lighttpd uruchamiały się zaraz po podłączeniu dusku USB musisz dodać poniższe linie to pliku /usr/local/sbin/post-mount:
Code:
#!/bin/sh
/opt/etc/init.d/S10cron
/opt/etc/init.d/S80lighttpd start
Ważne: Nie dodawaj ponownie linii #!/bin/sh jeżeli już istnieje w pliku!
Zapisz zmiany w pliku.
Zapisz zmiany do pamięci i uaktywnij konfigurację:
Code:
flashfs save && flashfs commit && flashfs enable
Uruchom ponownie serwer web, aby uaktywnić nową konfigurację:
Code:
/opt/etc/init.d/S80lighttpd restart
Gotowe! System jest gotowy do zainstalowania skryptu ADOS.