Pobieranie plików

Jak w każdym systemie czasami niezbędne jest pobranie plików ze źródeł zewnętrznych. Jeżeli wielkość pliku nie przekracza kilku megabajtów, plik można pobrać do katalogu /tmp (czyli tak naprawdę pamięci ram). W innych przypadkach niezbędne jest posiadanie zamontowanego zewnętrznego nośnika (dysk USB, karta SD lub inne udostępnione zasoby)

FTP

Do pobrania plików z serwerów FTP lub HTTP można posłużyć się wbudowanym poleceniem wget. Przykład użycia (dla ftp):

wget -c ftp://serwer_ftp.pl/katalog/plik.zip

lub (dla HTTP)

wget -c http://inny_serwer.pl/katalog/plik.zip

Ponieważ plik zapisywany jest w bieżącym katalogu, wywołanie tego polecenia należy wykonać będąc w katalogu reprezentującym podmontowany zasób (np. /mnt/disc0_1). Ewentualnie należy użyć opcji -P do określenia katalogu docelowego pliku

wget -c ftp://serwer_ftp.pl/katalog/plik.zip -P /mnt/disc0_1

BitTorrent

Obecnie (8.09.1) pod OpenWRT przygotowywane są trzy paczki z klientami torrenta:

  • ctorrent - który blokowany jest na niektórych trackerach przez co stracił na popularności
  • transmission - dobrze dopracowany pod względem obsługi (paczka zawiera GUI dostępne przez http), generuje większe obciążenie procesora niż rtorrent
  • rtorrent - najmniejszy tekstowy klient, niestety aby udostępnić GUI (np: rutorrent, wtorrent) trzeba zainstalować sporo zależności (PHP5) przez co paczki musimy instalować na zewnętrznym nośniku danych (SD MOD/USB). Jak to zrobić bardzo dobrze opisał tutaj Obsy.

ctorrent

Klienta ctorrent instalujemy poleceniem

opkg install ctorrent

Niestety, obsługa odbywa się tylko z linii poleceń. Dlatego też zalecana jest instalacja nakładki/rozszerzenia do webif dostępnej w jednym z wielu wątków forum OpenWrt: (1), (2) lub niżej wymienionych. Update: Obecnie standardowym środowiskiem graficznym OpenWRT jest Luci.

YODCTCS

Bardzo ciekawy interfejs do ctorrenta wykorzystujący jego specjalne właściwości. Dostępny jest pod adresem http://yodctcs.googlepages.com/home

Instalacja jest banalna: sprowadza się do wydania poleceń:

opkg install ctorrent
opkg install http://yodctcs.googlepages.com/dctcs_0.7.2-2-809_mipsel.ipk

Po instalacji należy pamiętać o poprawnym ustawieniu ścieżek w pliku /etc/dctcs.conf !

Dostęp do dctcs możliwy jest pod adresem http://adres_ip_rutera:18000 (na porcie 18000 o ile nie zmieniono tego w pliku konfiguracyjnym). User i hasło - takie jak ustawione w konfiguracji.

rTorrent

W przypadku gdy nie jesteśmy zadowoleni z klienta ctorrent możemy pokusić się o instalacje jednego z najlepszych klientów sieci bittorrent, rtorrent. Instalacja rtorrenta przebiega w następujący sposób:

Kamikaze 8.09.1

Wstęp

Warto przy okazji dokonywania tej czynności zapoznać się z następującymi materiałami:

rTorrent potrzebuje sporej ilości pamięci RAM, zalecane jest więc aby utworzyć partycję swap o wielkości nie mniejszej niż 100MB.

Paczka rTorrenta jest obecnie dostępna w repozytorium:

Instalacja

Instalacja w pamięci routera:

opkg update
opkg install rtorrent

Instalacja na zewnętrznym nośniku (automatyczne montowanie: /mnt/sda1):

ipkg -d /mnt/sda1 install rtorrent
Konfiguracja

Plik konfiguracyjny powinniśmy stworzyć w /root/ i nazwać go .rtorrent.rc . A tak wygląda przykładowy plik konfiguracyjny:

max_peers = 50
max_peers_seed = 30
max_uploads = 7

download_rate = 500
upload_rate = 30

directory = /mnt/sda1/torrent
session = /mnt/sda1/torrent/session

port_range = 44414-44416
port_random = yes
check_hash = yes
use_udp_trackers = yes

Aby dokładniej ustawić rtorrenta odsyłam na stronę producenta.

W przypadku gdy korzystamy z wersji squashFS OpenWRT nie będzie problemów, jednak w innym wypadku należy stworzyć skrypt kopiujący plik .rtorrent.rc do /root/ np z podpiętego dysku. Alternatywą jest uruchomienie rtorrenta z odpowiednim parametrem, którym wskażemy gdzie plik konfiguracyjny się znajduje. (patrz niżej)

Uruchomienie

Pozostaje wydać polecenie:

rtorrent -n -o import=[scieżka do pliku konfiguracyjnego]

albo po prostu:

rtorrent
Użytkowanie na codzień

Aby nasz router stał się maszynką do zasysania torrentow pracujacą non-stop potrzebny nam będzie jeszcze program screen:

opkg install screen

po czym uruchamiamy rtorrenta:

screen -S rtorrent -md /usr/bin/rtorrent &

W momencie gdy będziemy chcieli przywrócić sesję rtorrenta wystarczy wydać polecenie:

screen -r

Aby rtorrent uruchamiał się zawsze po restarcie routera musimy stworzyc skrypt inicjujący w /etc/init.d Wydajemy polecenia:

root@router:/etc/init.d# touch rtorrent
root@router:/etc/init.d# vi rtorrent

Sam skrypt wygląda tak:

#!/bin/sh /etc/rc.common
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
NAME=rtorrent
DESC="Torrent Client"
START=80

start() {
         screen -S rtorrent -md /usr/bin/rtorrent -n -o import=/mnt/torrent/.rtorrent.rc &
}

stop() {
        killall rtorrent
        echo "rtorrent zostal zamkniety"
}

Pozostaje nadać plikowi rtorrent prawa wykonywalności

root@router:/etc/init.d# chmod +x rtorrent

i wydać polecenie:

root@router:/etc/init.d# ./rtorrent start

Aby skrypt był odpalany automatycznie przy uruchomieniu rutera należy wydać polecenie:

root@router:/etc/init.d# ./rtorrent enable

W celu zapoznania się z interfejsem tekstowym oraz „klawiszologią” rtorrent'a polecam poczytać lekturę http://jakilinux.org/aplikacje/p2p/rtorrent-p2p-w-konsoli/

Kamikaze 8.09

rtorrent nie jest dostępny w finalnej wersji OpenWrt Kamikaze 8.09 z powodów problemów z kompilacją programu.

kamikaze 7.09

1. Dopisujemy do pliku /etc/ipkg.conf adres repozytorium rtorrenta (dzięki uprzejmości użytkownika ArteK :) )

echo "src Artek ftp://artekw.cerbero.pl/rtorrent/" >> /etc/ipkg.conf

2. Robimy update

ipkg update

3. Instalujemy rtorrenta ( z racji objętości należy instalować torrenta na zewnętrznym nośniku, USB bądź SD/MMC)

a) Na zewnętrznym nośniku USB (dysk USB zamontowany w /mnt/hdd )

ipkg -d hdd install rtorrent

lub

b) Na karcie SD/MMC ( karta pamięci w tym przypadku zamontowana jest w /mnt/sd )

ipkg -d sd install rtorrent

4. Po zakończonej instalacji rtorrenta potrzebny jest jeszcze pakiet „libstdc++_6.0.3-2” który to ściągamy i instalujemy ręcznie

wget ftp://artekw.cerbero.pl/rtorrent/libstdc++_6.0.3-2_mipsel.ipk
ipkg install libstdc++_6.0.3-2_mipsel.ipk

5. Zmieniamy nazwę biblioteki

a) W przypadku instalacji na hdd zamontowanym w /mnt/hdd

mv /mnt/hdd/usr/lib/libcurl.so.3 /mnt/hdd/usr/lib/libcurl.so.4

b) W przypadku instalacji na SD/MMC zamontowanej na /mnt/sd

mv /mnt/sd/usr/lib/libcurl.so.3 /mnt/sd/usr/lib/libcurl.so.4

6. Należy jeszcze dodać do pliku /etc/profile odpowiednie ścieżki.

a) W przypadku instalacji na hdd należy jeszcze dopisać informacje o definicji typu terminala

echo "export TERMINFO=\"/mnt/hdd/usr/share/terminfo\"" >> /etc/profile

b) W przypadku instalacji na SD/MMC zamontowanej na /mnt/sd robimy dokładnie tak jak wyżej a jedynie zmieniamy ścieżkę gdzie zamontowana jest karta.

echo "export TERMINFO=\"/mnt/sd/usr/share/terminfo\"" >> /etc/profile

7. Możemy cieszyć się działającym klientem rtorrent wydając polecenie

rtorrent

8. Konfiguracja rtorrenta sprowadza się do utworzenia pliku ”.rtorrent.rc.” który to możemy umieścić w katalogu /tmp (Polecam poczytać lekturę http://jakilinux.org/aplikacje/p2p/rtorrent-p2p-w-konsoli/)

rtorrent potrzebuje dosyć sporej pamięci RAM, zalecane jest więc aby utworzyć na HDD bądź SD/MMC swap o wielkości nie mniejszej niż 100MB w przypadku karty SD o objętości 1GB.

transmission

ED2K

Jak klienta można użyć programu aMule; niestety jest on za duży na to, żeby całkowicie „zmieścić” do w pamięci flash. Z tego też powodu zarówno program jak i ściągane dane zostaną umieszczone na zewnętrznym nośniku. Może to być dysk zewnętrzny w kieszeni USB; może to być także karta pamięci lub inny rodzaj nośnika.

UWAGA: W większości przypadków pliki udostępnione w sieci p2p są nielegalnie. Masz tego świadomość:!:.

Należy także pamiętać, że OpenWrt pracuje zwykle na urządzeniach do ograniczonej pamięci i zasobach sprzętowych. Z tego też względu, w konfiguracji amule należy zminimalizować liczbę połączeń, filtracje adresów itd. Należy również ograniczyć liczbę plików włożonych do kolejki.

Kamikaze 8.09

opkg update
opkg install amule

Konfiguracja

Pierwsze uruchomienie amule powoduje wygenerowanie odpowiedniego pliku konfiguracyjnego.

/tmp/shared/bin/amule start

Ponieważ w pliku tym zostaje wymuszony katalog domowy (HOME), cała konfiguracja amule zawarta jest w katalogu /tmp/shared/home/amule/.aMule Niezbędne jest jeszcze odpowiednio przygotowane hasło do serwera amule:

echo -n haslo | md5sum | cut -d ' ' -f 1

Słowo haslo należy zastąpić swoim własnym. Zostanie wygenerowany ciąg znaków; należy je zapisać/zapamiętać :)

Ulubionym edytorem należy pozmieniać parę opcji konfiguracyjnych (przy wyłączonym amule!). Uruchamiamy edycję…

/tmp/shared/bin/amule stop
nano /tmp/shared/home/amule/.aMule/amule.conf

…i ustawiamy podane niżej opcje

[eMule]
IPFilterAutoLoad=0
[WebServer]
Enabled=1
Password=###
Template=php-default
[ExternalConnect]
AcceptExternalConnections=1
ECPassword=###
ShowProgressBar=1

W miejsce ### należy wstawić wcześniej wygenerowany ciąg znaków.

Należy także pobrać aktualną listę serwerów (z serwera http://ed2k.2x4u.de - link do listy jest zmieniany co kilka minut, należy więc wejść na podaną stronę) i zapisać plik w katalogu /tmp/share/home/amule/.aMule oraz wskazać katalog z szablonem stron www:

ln -s /tmp/shared/share/amule/webserver/ /tmp/shared/home/amule/.aMule/webserver

Ponowne uruchomienie polecenia

/tmp/shared/bin/amule start

powinno uruchomić już serwer amule.

Jeżeli po uruchomieniu serwera nie będzie on widoczny w liście procesów (do uzyskania przez ps ax), należy zmienić opcję -f w pliku /tmp/shared/bin/amule na -i -o. Spowoduje to wypisanie na konsolę komunikatów startowych umożliwiając tym samym diagnozę problemów.

Dostęp do serwera można uzyskać zarówno z linii poleceń (amulecmd) jak również z poziomu www pod adresem http://adres_serwera:4711

Ściągnięte pliki znajdują się w katalogu /tmp/shared/home/amule/.aMule/Incoming; można to zmienić zmieniając odpowiednią opcję w pliku konfiguracyjnym. W razie problemów z amule należy zapoznać się z pomocą dostępną na stronie amule http://www.amule.org/wiki/index.php/Main_Page. Wszystkie odpowiedzi typu „a dlaczego mam lowid” czy „a dlaczego mi nie działa ta opcja” są też wyjaśnione na stronie pomocy aMule.

Automatycznie uruchamianie

W katalogu /etc/init.d należy utworzyć plik o nazwie S99amule

touch /etc/init.d/S99amule
chmod 755 /etc/init.d/S99amule

I umieścić w nim wywołanie serwera:

#!/bin/sh
ln -s /mnt/disc0_1 /tmp/shared
/tmp/shared/bin/amule start

Rozwiązanie to ma pewne wady - nie zawsze podmontowany jest dysk i nie zawsze dostępny jest katalog /tmp/shared wskazujący na ten nośnik.

Lepszym rozwiązaniem wydaje się być wykorzystanie skryptu automatycznego montowania dysku.

W pliku /etc/hotplug.d/usb, w pliku 01-mount należy zamienić

for part in part*; do
  path=/mnt/${dev}_${part##*part}
  mkdir -p ${path}
  mount ${part} ${path}
done

na

for part in part*; do
  path=/mnt/${dev}_${part##*part}
  mkdir -p ${path}
  mount ${part} ${path}
  if [ -f ${path}/bin/amule ]; then 
    ln -s ${path} /tmp/shared
    /tmp/shared/bin/amule start
  fi
done

Przed odłączeniem dysku należy upewnić się, że nie jest on wykorzystywany, i w szczególności, nie jest uruchomiony serwer amule. Można zrobić odpowiedni skrypt połączony pod przycisk SES (EZSetup w Asus WL-500gP). Wtedy, jeżeli chcemy odłączyć dysk wystarczy nacisnąć przycisk, odczekać kilka sekund i można go bezpiecznie odłączyć. Przykład takiego skryptu (do umieszczenia w katalogu /etc/hotplug.d/button pod nazwą 01-umount)

if [ "$BUTTON" = "ses" ] ; then
  if [ "$ACTION" = "pressed" ] ; then
    if [ -f /tmp/shared/bin/amule ]; then 
      /tmp/shared/bin/amule stop
      umount /dev/sda1
      sleep 3
    fi
  fi
fi

Grupy binarne

Informacje wstępne

Udostępnianie plików na grupach binarnych jest tak stare jak sama sieć Internet ;). Na specjalnych grupach alt.binaries.* udostępnianie są wszelkiego rodzaju pliki(muzyka, filmy itd). Zanim powstał format NZB, używało się programów takich jak GrabIt czy NewsPro, gdzie sciągało sie nagłówki interesujących nas grup. Trwało to bardzo długo i trzeba było mieć dobre łącze. Format NZB ułatwia prace, gdyż dzięki serwisom internetowym, które indeksują wrzucane pozycje na takie grupy wystarczy pobrać interesujący plik .nzb Do tego celu należy użyć specjalnego klienta. np. nzbget.

Instalacja klienta

Instalujemy następujące pakiety

opkg install nzbget
opkg install nzbgetweb

Serwer nzbget

Stawiamy serwer nzbget jako sesję w screen'ie.

 screen
 nzbget -d

RapidShare

Do pobierania plików z Rapidshare posłuży nam skrypt rsget-mod którego autorem jest D4rky (http://rs.nerdblog.pl/)

Pierwsze co robimy to konfiguracja USB i HDD

Następnie instalujemy potrzebne paczki

opkg install bash
opkg install screen
opkg install wget --force-overwrite
opkg install nano

Tworzymy folder np /hdd/rapid na dysku (/hdd jest to miejsce montowania dysku), nadajemy prawa i przechodzimy do niego.

mkdir /hdd/rapid
chmod 777 /hdd/rapid
cd /hdd/rapid

Pobieramy skrypt

wget http://rs.nerdblog.pl/stable/latest/rsget-mod.sh

Nadajemy prawa i uruchamiamy (zostaną pobrane potrzebne pliki)

chmod +x rsget-mod.sh
./rsget-mod.sh

Aby pobrać pliki tworzymy np. rapid.txt kopiujemy linki i uruchamiamy skrypt

./rsget-mod.sh -i rapid.txt

można także uruchomić w screen'nie

screen -S rapid ./rsget-mod.sh -i rapid.txt &

i gotowe.

Osoby posiadające łącze ze zmiennym IP (neostrada, netia, itp.) aby nie czekać 15 minut mogą zrobić następującą modyfikacje

nano /root/.rsget-mod/common.sh 

i zmieniamy z

# You have reached download limit
elif [ -n "$(echo "$link" | grep "You have reached the download limit")" ];
then

minutes=$(echo "$link" | grep "Instant download access! Or try again in about" | $_RSGET_SED -e "s/.*about \([0-9]*\) minutes.*/\1/")
printf "$_LANG_TIME_LIMIT" "$minutes"

minutes=$(($minutes*60))

count "$_LANG_TIME_LIMIT" $minutes
download "$1" 

na

# You have reached download limit
elif [ -n "$(echo "$link" | grep "You have reached the download limit")" ];
then

ifdown wan; ifup wan; sleep 10

download "$1" 

zapisujemy

ctrl+x

Konto premium

opkg install wget --force-overwrite

Jeżeli jesteśmy posiadaczami konta premium: linki do plików umieszczamy w pliku, a następnie wydajemy polecenie:

cd /hdd/miejsce_gdzie_chcemy_by_znalazły_się_pliki
wget -b -c --auth-no-challenge --user=login --password=hasło -i nazwa_pliku

gdzie login i hasło to dane do konta premium, nazwa_pliki - plik z podanymi linkami do ściągania.

zastosowania/pobieranie_plikow.txt · ostatnio zmienione: 2010/03/23 18:39 przez arteq
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki Recent changes RSS feed Valid XHTML 1.0