Un piccolo “download center” completamente gestibile da remoto grazie ad una comoda interfaccia grafica o riga di comando: Mldonkey in accoppiata al nostro Fritz!Box ci permette questo e molto altro! Quando p2p e filesharing non necessitano più di un pc “sempre accesso” e di una connessione internet flat.
Tra le tante opportunità che un router “linux based” come il Fritz!Box ci riserva vi è certamente quella di poter personalizzare oltremodo la nostra macchina in modo da renderla quanto più possibile rispondente alle nostre esigenze.
Tra le altre, una delle più gettonate è quella di implementare un client p2p che permetta di poter effettuare filesharing “a pc spento” sfruttando un unità di archiviazione esterna collegabile al router per mezzo della porta usb di cui è dotato.
Grazie alle imbeccate di Tokka dunque andremo ad installare Mldonkey, uno dei client multipiattaforma e multiprotocollo più apprezzati del panorama opensource, sul nostro Fritz!Box 727o equipaggiato con l’ultima release del firmware internazionale (la 54.04.67) rilasciata da AVM.
La scelta di Mldonkey non è casuale: questo client si è rivelato uno dei più completi, promettenti e sviluppati, capace di “ben adattarsi” alle limitate risorse hardware del nostro router senza impattare oltremodo sulle prestazioni generali della macchina. Insomma il giusto compromesso tra funzionalità e prestazioni.
Mldonkey inoltre, oltre a supportare una pletora di protocolli, integra un piccolo web server ed è completamente controllabile via telnet: l’ideale per realizzare un piccolo “download center” gestibile da remoto, attraverso interfaccia grafica o linea di comando.
Dopo aver connesso una unità disco esterna al nostro Fritz!Box è dunque necessario andare a scaricare il client: personalmente ho utilizzato la versione 3.0.0 CVS compilata da Tokka, ma in attesa che il “sedicenne” la rilasci “al grande pubblico”, potete tranquillamente sopperire utilizzando il precedente rilascio o quella compilata per architettura Mipsel da Fabtar.
Una volta decompressa la cartella sul vostro desktop copiatene il contenuto all’interno dell’ unità di archiviazione esterna connessa al router. Personalmente io utilizzo il comando scp, ma lo stesso risultato si ottiene con qualunque client FTP.
Al termine dunque vi dovreste trovare con Mldonkey installato nella cartella
/var/media/ftp/STORAGE/bin/mldonkey
dove STORAGE è la vostra periferica esterna.
A questo punto qualora provaste a lanciare il client vi trovereste con uno sconsolante errore:
error mkdir failed on /.mldonkey: Read-only file system for directory /.mldonkey
Mldonkey infatti di default utilizza l’account root la cui partizione nei nostri Fritz!Box non è accessibile in scrittura. Problema facilmente aggirabile creando un nuovo utente all’interno del file /etc/passwd o ricorrendo ad una semplice operazione di “export”.
Per ragioni di comodità seguiremo questa seconda strada, riservandomi di illustrarvi l’altra, che permette di superare gran parte delle limitazioni dei firmware originali, in un altro articolo.
Da terminale dunque digitiamo:
telnet fritz.box cat /var/flash/debug.cfg > /var/debug vi /var/debug
e quindi incolliamo all’interno del file appena aperto quanto segue
if [ -f /var/media/ftp/STORAGE/bin/mldonkey/mlnet ]; then export HOME=/var/media/ftp/STORAGE/bin/mldonkey/ export TMPDIR=/var/media/ftp/STORAGE/bin/mldonkey/.mldonkey/temp LD_LIBRARY_PATH=/var/media/ftp/STORAGE/bin/mldonkey/.mldonkey/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH /var/media/ftp/STORAGE/bin/mldonkey/mlnet & fi
Rendiamo permanenti le modifiche apportate con
cat /var/debug > /var/flash/debug.cfg
Al successivo riavvio il nostro client sarà raggiungibile da interfaccia grafica all’indirizzo IP_ROUTER:4080. Non ci resta che proteggere l’account admin di mldonkey con una password, impostare il firewall del Fritz!Box in modo da garantirci ID alto e personalizzare il client in modo da scongiurare crash e blocchi del router.
PASSWORD PER ACCOUNT ADMIN
Di default l’account utilizzato da Mldonkey non è protetto da alcuna password ed è accessibile dall’esterno. Una pessima situazione! Poniamovi rimedio.
cd /var/media/ftp/STORAGE/bin wget http://blog.liberailvoip.it/wp-content/uploads/busybox-4mb_26 chmod 755 /var/media/ftp/STORAGE/bin/busybox-4mb_26 ./busybox-4mb_26 telnet localhost 4000
Una volta connesso via telnet a Mldonkey è sufficiente digitare:
useradd admin nuova-password-supersegreta
e quindi chiudere la finestra di telnet. Da ora in poi ogniqualvolta tenteremo di accedere all’indirizzo IP_ROUTER:4080 ci verrà richiesta la password di amministrazione.
ID ALTO
Da una rapida analisi dei files di configurazione del client p2p appare immediatamente chiaro che tutti i problemi legati all’id basso nell’uso del protocollo edonkey sono dovuti alle porte “non standard” utilizzate.
cd /var/tmp cat /var/flash/ar7.cfg > ar7 vi ar7 :164 (NOTA: questo comando fa si che vi spostiate alla riga numero 164)
Cerchiamo la seguente stringa:
voip_forwardrules = "udp 0.0.0.0:5060 0.0.0.0:5060", "tcp 0.0.0.0:5060 0.0.0.0:5060",
attiviamo la modalità inserimento dati premendo il tasto i e successivamente aggiungiamo le seguenti stringhe in modo da ottenere:
voip_forwardrules = "udp 0.0.0.0:5060 0.0.0.0:5060", "tcp 0.0.0.0:5060 0.0.0.0:5060", "tcp 0.0.0.0:8795 0.0.0.0:8795", "tcp 0.0.0.0:8796 0.0.0.0:8796", "tcp 0.0.0.0:8797 0.0.0.0:8797", "udp 0.0.0.0:7078+32 0.0.0.0:7078";
Ancora una volta rendiamo permanenti le modifiche apportate digitando:
cat /var/tmp/ar7 > /var/flash/ar7.cfg
IMPOSTAZIONI DOWNLOADS.INI
Infine limitiamo il numero di connessioni contemporanee e di fonti cui il nostro client p2p potrà accedere durante l’attività di filesharing, in modo da evitare crash e blocchi del router.
vi /var/media/ftp/STORAGE/bin/mldonkey/.mldonkey/downloads.ini
Qui le voci da modificare sono diverse, vi elenco le salienti, lasciando poi ad ognuno di voi la consultazione e modifica degli altri parametri. Il file è ottimamente commentato e non dovreste incorrere in alcun problema.
allowed_ips = ["0.0.0.0-255.255.255.255";]
max_upload_slots = 3
friends_upload_slot = false
max_connections_per_second = 3
nolimit_ips = ["192.168.1.255";]
max_concurrent_downloads = 20
shared_directories = [
{ dirname = shared
strategy = all_files
priority = 0
};
{ dirname = "/var/media/ftp/STORAGE/Downloads" #(NOTA:cartella ove salvo i download completi)
strategy = incoming_files
priority = 0
};
{ dirname = "/var/media/ftp/STORAGE/Downloads" #(NOTA:cartella ove salvo i download completi)
strategy = incoming_directories
priority = 0
};]
sources_per_chunk = 3
I più pigri potranno comunque scaricare la versione di downloads.ini che attualmente utilizzo; vi ricordo infine che è consigliabile attivare una file di swap.








Innanzi tutto, complimenti per l’ottima guida.
Volevo chiederti:
1) La stabilità del programma ed eventuali malfunzionamenti e problematiche;
2) La possibilità di eseguire la procedura su altri modelli, visto che nel caso da te descritto fai riferimento al 7270.
linus
1- E’ “tutto su” da 3 giorni, i primi 2 dei quali ho lasciato alcune popolari canzoni in condivisione (in modo da avere sempre l’ upload a piena banda) e non è successo nulla. Anzi non ha nemmeno attinto alla swap per ora.
2- La procedura è per 7270 dal momento che è il fritz che possiedo ma nulla vieta di “replicarla” su altri modelli: i comandi linux sono “universali” e a quanto mi risulta tutti i fritz sono compatibili con l’architettura mipsel
Un grosso ringraziamento per questa guida.
Ho seguito tutte le procedure che hai descritto e mldonkey, versione 3.0 di Fabtar sul mio fritz 7270 (FW. INT. ver. 04.67) con swap attivato, si avvia senza problemi.
Ho anche modificato il file download.ini con le tue indicazioni e ho anche estratto il file libraries incluso nel pacchetto statico full, lincandolo con EXPORT prima dell’avvio del programma.
Ho solo un problema Durante l’avvio e sulla home page di mldonkey mi vengono restituiti due errori:
- libmagic data base not found;
- l’errore “DNS resolution don’t work”.
Il primo errore penso che non sia di fondamentale importanza ma il secondo dovrebbe essere sostanziale.
Infatti questo ovviamente causa l’impossibilità di collegarsi ad alcun server o di scaricare il file server.met.
Sinceramente non saprei come risolvere questo problema.
Hai avuto anche tu questo genere di errore.
Grazie
Carlo
Ciao Carlo,
il problema dei DNS lo risolvi con la stringa relativa alle librerie:
controlla di aver impostato correttamente il percorso che punta alle librerie
ragazzi dato che sono intenzionato ad implementare una rete domestica multimediale ho da farvi alcune domande sul Fritz!Box.
1) L’Hd che viene montato sulla porta usb del fritz viene visto da qualunque pc e lettore multimediale?
2) Mldonkey permette anche di scaricare da rapidshered e megaupload utilizzando un account visto che ormai utilizzo solo questi?
3) Eventualmente si potrebbe far girare anche sull’hd esterno un programma di video sorveglianza come zoneminder?
4) Da quando hai fatto la guida ad oggi ti funziona ancora tutto o hai avuto dei problemi?
Grazie a tutti per l’eventuali risposte
ciao Diablo. Ti rispondo per punti
1- si tramite samba o accesso ftp
2- no.
3- secondo me no. troppo esoso di risorse, soprattutto se vuoi impostare delle “zones” sensibili ai movimenti, delle registrazioni programmate o vuoi visualizzare a monitor il flusso video. Molto dipende però da che telecamere ip monti e da quanti eventuali passaggi debba fare il processore per gestire il flusso video.
4- si
Grazie skumpic le tue risposte mi sono state davvero utili.
Ciao skumpic
visto che ci siamo volevo chiederti quale altro modem/router con possibilità di gestire il voip consiglieresti per un acquisto che sia un po più economico rispetto al fritz?
Sai il fritz e davvero bello ma costa una cifra ed onestamente ora che ho scoperto che non posso nemmeno scaricare da rapid e megaupload un router più entry-level mi andrebbe bene. L’uso che dovrei farne è quello classico con in più la possibilità di attaccarsi su tutta la rete telefonica di casa ed usare il voip, che chiaramente passa da liv
Se ti interessa solo il router e vuoi smanettare ti consiglio la fonera nuova.
Con 59 euro (mi pare) puoi gestire praticamente tutto. Però devi aver voglia di metterti alla prova con openwrt o ddwrt e non ha prese FXS (quelle per connetterci i tel analogici per intenderci). Quindi solo tel IP.
Viceversa un router con presa FXS (tel analogici) ed FXO (presa telefonica domestica) con cui mi sono trovato molto bene è il BILLION (se cerchi sul blog ho anche scritto diversi articoli a riguardo. Io lo presi usato su ebay per 35 euro mi pare), ma anche il Siemens SX763 si comporta bene (a patto di voler rinunciare al tu tu italiano, cerca sempre l’articolo a riguardo sul blog).
I linksys hanno problemi di eco nelle chiamate terminate su rete telecom, viceversa (solo chiamate voip) sono perfetti e a buon mercato (vedi il pap2).
ciao, ho fritz 7140 con fw originale 39.40.67, ho scaricato dal sourgeforce la versione ultima di mldonkey-3.0.1
posso seguire la tua guida oppure non è valida?
grazie ciao
Certo è possibile utilizzarla ma dovrai compilare i sorgenti per l’architettura del Fritz (mipsel) su di una macchina virtuale
grazie per la risposta!
mi sapresti indicare dove scaricare il pacchetto già compilato?
grazie e ciao
Nell’articolo indico un post sul forum di mldonkey dove il pacchetto è mantenuto da FABTAR.
Li trovi anche l’attuale versione compilata per mipsel
mi blocco qui:
# cat /var/flash/debug.cfg > /var/debug
cat: can’t open ‘/var/flash/debug.cfg’: No such file or directory
Ma ti funziona il fritz?
Senza debug.cfg non dovresti nemmeno riuscire ad avviarlo correttamente.
Ps. Spero che il # sia stato rimosso mentre veniva inviato il comando al router
si funziona, ovviamente il # non c’era!!
navigando la folder /var/flash/ il file debug.cfg lo trova … provando a a aprirlo con il vi, lo trovo vuoto!!
fritz 7140 annex A
anche a me ha dato lo stesso errore.
cercando nel sito tedesco http://www.ip-phone-forum.de ho trovato quanto segue:
- è normale che il file /var/flash/debug.cfg sia vuoto
- per risolvere il problema dai il comando “echo > /var/flash/debug.cfg” oppure “touch /var/flash/debug.cfg” poi riprova con il comando cat
visto che non sono un esperto ti consiglio comunque di attendere il parere di skumpic. io non ho ancora avuto modo di testare questa soluzione
grazie Giulio ma niente da fare…
# echo /var/flash/debug.cfg
/var/flash/debug.cfg
# cat /var/flash/debug.cfg > /var/debug
cat: can’t open ‘/var/flash/debug.cfg’: No such file or directory
@Fabio e Giulio
Se non hai mai modificato in precedenza il file debug.cfg (cosa che stupidamente davo per scontata) è corretto che il file sia vuoto.
Esegui quesi comandi invece di quelli indicati nel post:
Quindi inserisci i comandi indicati nella guida per il funzionamento di mldonkey e successivamente digita:
Non mi è chiaro questo passaggio,qualcuno mi può spiegare cosa fare?
Grazie.
Il “problema” sta nel fatto che il fritzbox reimposta gli utenti e le relative cartelle ad ogni avvio, fatto di cui dobbiamo tener conto in sede di configurazione di mldonkey.
Per aggirare l’ostacolo ci sono 2 soluzioni:
- ricopiare il file passwd che nei sistemi linux controlla proprio utenti, password e cartelle ad ogni avvio (strada più complessa)
o in alternativa
- ottenere lo stesso risultando modificando “artificialmente” una variabile con un export.
In questo post si segue la seconda delle 2 strade, ed il comando è l’ultimo che indico poco dopo.
Non devi fare altro che continuare a seguire le indicazioni della guida.
Avevo già provato a seguire i passi indicati ma purtroppo non mi funziona. Tra le altre cose dopo il riavvio del router (con firmware originale 58.04.78) se apro il file debug.cfg me lo ritrovo vuoto e con la dicitura “Not a regular file”. Ciò avviene sia se modifico il contenuto sia se lo cancello proprio, in pratica al riavvio il sistema va a ricreare il file fragandosene dei cambiamenti che ho fatto.
Se compare il messaggio “not a regular file” significa che commetti qualche errore nella creazione del file.
Assicurati di seguire per bene le indicazioni scritte nel post, VI è un editor a linea di comando un pò ostico per quanti sono agli inizi.
Si hai perfettamente ragione, non avevo capito io il funzionamento perchè quando riavviavo andavo a lanciare manualmente ./mlnet, mentre basta aspettare e parte da solo.
Insomma nel rispettare i passi della guida ho dimenticato la cosa fondamentale: accendere il cervello!
Ciao Skumpic e grazie per la splendida guida. Io ho il fritz 7170 e vorrei installare mldonkey su un nas collegato in rete visto che la porta usb del fritz è impegnata con la stampante e non ho un hub usb. quindi dovrei usare la porta di rete e non la usb. Mi aiuti? grazie.
Quindi vorresti montare il disco del nas con samba e quindi utilizzarlo come “spazio di storing” per mldonkey?
Tecnicamente penso sia possibile ma non so quanto sia facile realizzarlo. Sul nas non puoi installare alcuna distribuzione linux? (su alcuni come i linksys so che è possibile) Cosi sarebbe tutto molto più semplice.
Si vorrei gestire mldonkey con il fritz ma installandolo nel nas. ho letto dai forum che dovrei montare il samba ma poi non so come proseguire. nel nas so che gira proprio samba per gestire le proprietà del disco, ma dalla schermata di gestione disco ci si puo solo formattare o eseguire lo scandisk… credo quindi sia molto limitato. Samba è comunque all’interno del firmware e non so prorio come gestirlo.