<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<font face="Helvetica, Arial, sans-serif">Ciao,<br>
sì, direi che ogni buon nerd ha decisamente il suo account su
github, quindi buono smanettamento ;)<br>
Sinceramente non sono molto esperto di buffering, quindi mi sono
limitato a fare il download monitorando la net-console di firebug...<br>
Puoi provare con <a
href="http://192.168.36.210/Scheda:?ZDQxZDhjZDk4ZjAwYjIwNGU5ODAwOTk4ZWNmODQyN2U6Ly9WaWRlby9GaWxtL1NhZ2E6IFRoZSBNYXRyaXgvTWF0cml4ICgxOTk5IC0gQW5keSBlIExhcnJ5IFdhY2hvd3NraSkuYXZp">questo
file</a>, almeno fino a che non mi si impalla la odroid.<br>
Il file sta nel NAS (192.168.36.200) che è montato in maniera
permanente su una odroid X2 (192.168.36.210).<br>
Ad essere sincero mi sembra che la situazione sia nettamente
peggiorata perché almeno prima se lasciavo fare il download senza
toccare altro non si incantava.<br>
Se si incanta te ne accorgi perché semplicemente smette di pingare.<br>
<br>
Fammi sapere<br>
Gubi<br>
<br>
</font>
<div class="moz-cite-prefix">Il 25/02/2014 22:27, Francesco Rapanà
ha scritto:<br>
</div>
<blockquote
cite="mid:CACsqx8MvwGjQdaxq2cvhfJ4ZrK2+x+Ly4MkoY2W88jmbPNVmKg@mail.gmail.com"
type="cite">
<div dir="ltr">Non ho l'account ma lo creo prima possibile.
<div>Quali test hai effettuato? Hai a disposizione un file
grande da rendere disponibile al download?</div>
<div>Probabilmente se il file è in locale e non è attivo
l'output buffering non dovrebbero esserci differenze, credo
che la differenza si noti se il file è remoto e/o c'è output
buffering.</div>
<div><br>
</div>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">Il giorno 25 febbraio 2014 07:13,
Alessandro Gubitosi <span dir="ltr"><<a
moz-do-not-send="true"
href="mailto:gubi.ale@gotanotherway.com" target="_blank">gubi.ale@gotanotherway.com</a>></span>
ha scritto:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"> <font
face="Helvetica, Arial, sans-serif">Francesco ho
modificato lo script come hai suggerito ma non sembra
che ci siano cambiamenti: <a moz-do-not-send="true"
href="https://github.com/gubi/Ninuxoo-2.0/commit/2ec735cf65ac6494066a9a092a9239a05442738d"
target="_blank">https://github.com/gubi/Ninuxoo-2.0/commit/2ec735cf65ac6494066a9a092a9239a05442738d</a></font><br>
Se hai un account github possiamo discuterne di là senza
intasare la ML: <a moz-do-not-send="true"
href="https://github.com/gubi/Ninuxoo-2.0/issues/19"
target="_blank">https://github.com/gubi/Ninuxoo-2.0/issues/19</a>
<div class=""><br>
<br>
Gubi<br>
<br>
<div>Il 19/02/2014 13:05, Francesco Rapanà ha scritto:<br>
</div>
</div>
<blockquote type="cite">
<div dir="ltr">Ho effettuato l'iscrizione a Ninux-dev
così posso dare il mio contributo.
<div>
<div class="h5">
<div><br>
</div>
<div>Le alternative secondo me sono due:</div>
<div>- file proxy, cioè quello di cui stiamo già
parlando (è necessario allow_url_fopen = true)</div>
<div>- smbclient [1] o [2], con la ovvia
limitazione che funzionerebbe solo con smb e
non, ad esempio, con ftp</div>
<div><br>
</div>
<div>Il codice che ho inviato "dovrebbe"
funzionare, se hai tempo puoi fare un piccolo
test con due pagine download, la prima con
readfile_chunked(file_locale) e la seconda con
readfile_chunked(url_pagina_download1).</div>
<div><br>
</div>
<div>Francesco<br>
</div>
<div><br>
</div>
<div>[1] <a moz-do-not-send="true"
href="http://smorgasbork.com/component/content/article/34-web/66-accessing-smb-servers-with-php"
target="_blank">http://smorgasbork.com/component/content/article/34-web/66-accessing-smb-servers-with-php</a><br>
</div>
<div>[2] <a moz-do-not-send="true"
href="http://sourceforge.net/projects/smbwebclient/"
target="_blank">http://sourceforge.net/projects/smbwebclient/</a></div>
<div><br>
</div>
<div><br>
</div>
</div>
</div>
</div>
<div>
<div class="h5">
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote"> Il giorno 19 febbraio
2014 12:15, Alessandro Gubitosi <span dir="ltr"><<a
moz-do-not-send="true"
href="mailto:gubi.ale@gotanotherway.com"
target="_blank">gubi.ale@gotanotherway.com</a>></span>
ha scritto:<br>
<blockquote class="gmail_quote" style="margin:0
0 0 .8ex;border-left:1px #ccc
solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"> Inoltro
ninux-dev per "competenza".<br>
<br>
Il 19/02/2014 10:14, Francesco Rapanà ha
scritto:<br>
<blockquote type="cite">
<div dir="ltr">Nel caso il file si trovi
sulla stessa macchina dove gira lo
script va bene, ma se il file si trova
su un'altra macchina mi pare che il
codice non è ancora presente, o sbaglio?
In questo caso lo script farebbe
@readfile($url_file_altro_nas) o farebbe
un redirect verso lo script che gira sul
nas che contiene il file?</div>
</blockquote>
Hai ragione non è ancora stato implementato,
ma perché sto appunto aspettando che mi
arrivi un altro device per fare lo sviluppo
su entrambi, di modo che poi si possa
passare agli step successivi.<br>
Comunque, in teoria parsa l'hash e se c'è il
token non guarda in locale ma fa una
richiesta in broadcast rivolta a quel token,
che a sua volta parsa l'hash e tira fuori il
file.<br>
Lo script locale re-inoltrerebbe l'output
della macchina remota, ma non so a questo
punto quale potrebbe essere la reazione (se
appare la finestra di download o fa qualche
scherzetto).<br>
Hai idee migliori?<br>
<br>
<blockquote type="cite">
<div dir="ltr">
<div>In ogni caso readfile credo (non ho
testato) dovrebbe dare problemi di
memoria con file molto grandi se è
abilitato l'output buffering, nei
commenti su php c'è la funzione
readfile_chunked con il flush.
Andrebbe testato sia usando readfile
con file locale che con url, mi
preoccupa più questo secondo caso
perché potrebbe tentare di scaricare
prima il file in memoria locale e poi
passarlo in output.</div>
</div>
</blockquote>
<blockquote type="cite">
<div dir="ltr">
<div><br>
</div>
<div><span><span><?php <br>
</span><span>function </span><span>readfile_chunked</span><span>(</span><span>$filename</span><span>,</span><span>$retbytes</span><span>=</span><span>true</span><span>)
{ <br>
</span><span>$chunksize </span><span>= </span><span>1</span><span>*(</span><span>1024</span><span>*</span><span>1024</span><span>); </span><span>//
how many bytes per chunk <br>
</span><span>$buffer </span><span>= </span><span>''</span><span>; <br>
</span><span>$cnt </span><span>=</span><span>0</span><span>; <br>
</span><span>// $handle =
fopen($filename, 'rb'); <br>
</span><span>$handle </span><span>= </span><span>fopen</span><span>(</span><span>$filename</span><span>, </span><span>'rb'</span><span>); <br>
if (</span><span>$handle </span><span>=== </span><span>false</span><span>)
{ <br>
return </span><span>false</span><span>; <br>
} <br>
while (!</span><span>feof</span><span>(</span><span>$handle</span><span>))
{ <br>
</span><span>$buffer </span><span>= </span><span>fread</span><span>(</span><span>$handle</span><span>, </span><span>$chunksize</span><span>); <br>
echo </span><span>$buffer</span><span>; <br>
</span><span>ob_flush</span><span>(); <br>
</span><span>flush</span><span>(); <br>
if (</span><span>$retbytes</span><span>)
{ <br>
</span><span>$cnt </span><span>+= </span><span>strlen</span><span>(</span><span>$buffer</span><span>); <br>
} <br>
} <br>
</span><span>$status </span><span>= </span><span>fclose</span><span>(</span><span>$handle</span><span>); <br>
if (</span><span>$retbytes </span><span>&& </span><span>$status</span><span>)
{ <br>
return </span><span>$cnt</span><span>; </span><span>//
return num. bytes delivered like
readfile() does. <br>
</span><span>} <br>
return </span><span>$status</span><span>; <br>
<br>
} <br>
</span><span>?></span></span><br>
</div>
</div>
</blockquote>
Avevo notato bene, infatti su questa cosa
che mi ero ripromesso di parlarne in ML dev.<br>
Come detto sopra, non lo so, andrebbe
testato, e sto aspettando <a
moz-do-not-send="true"
href="http://imx.solid-run.com/product/cubox-i4-pro/"
target="_blank">questo device</a> da metà
novembre (spedito poi il 2 febbraio).<br>
Adesso è "<i>In carico al portalettere del
centro postale di RM PALESTRINA CSD in
data 19-FEB-2014"</i>), quindi in teoria
dovrebbe arrivare a giorni, se non oggi
stesso.<br>
Ti terrò aggiornato cmq, perché essendo
disoccupato e in risposta di notizie
lavorative <a moz-do-not-send="true"
href="https://github.com/gubi/Ninuxoo-2.0/commits?author=gubi"
target="_blank">sto lavorando a tempo
pieno per Ninux</a> :D<br>
<br>
Grazie comunque per il coinvolgimento e per
la funzione che testerò sicuramente ;)<br>
A presto<br>
<br>
Gubi<br>
<br>
<blockquote type="cite">
<div class="gmail_extra"><br>
<div class="gmail_quote">Il giorno 19
febbraio 2014 08:56, Alessandro
Gubitosi <span dir="ltr"><<a
moz-do-not-send="true"
href="mailto:gubi.ale@gotanotherway.com"
target="_blank">gubi.ale@gotanotherway.com</a>></span>
ha scritto:<br>
<blockquote class="gmail_quote"
style="margin:0 0 0
.8ex;border-left:1px #ccc
solid;padding-left:1ex">
<div bgcolor="#FFFFFF"
text="#000000"> <font
face="Helvetica, Arial,
sans-serif">Parli di una cosa
come questa?<br>
<a moz-do-not-send="true"
href="http://192.168.36.210/Scheda:?ZDQxZDhjZDk4ZjAwYjIwNGU5ODAwOTk4ZWNmODQyN2U6Ly9NdXNpY2EvR2lvcmdpbyBHYWJlci8oMTk4NCkgLSBHYWJlci8wNyAtIElsIFNvY2lhbGUubXAz"
target="_blank">http://192.168.36.210/Scheda:?ZDQxZDhjZDk4ZjAwYjIwNGU5ODAwOTk4ZWNmODQyN2U6Ly9NdXNpY2EvR2lvcmdpbyBHYWJlci8oMTk4NCkgLSBHYWJlci8wNyAtIElsIFNvY2lhbGUubXAz<br>
</a><br>
Non guardare l'ip perché poi
dovrà andare su dns anycast
ninux (ad es. sarà <a
moz-do-not-send="true"
href="http://ninuxoo.ninux.org/"
target="_blank">http://ninuxoo.ninux.org/</a></font><font
face="Helvetica, Arial,
sans-serif"><font
face="Helvetica, Arial,
sans-serif">Scheda:?sde3uhswf3g)</font>.<br>
</font><font face="Helvetica,
Arial, sans-serif"><font
face="Helvetica, Arial,
sans-serif">Per rendere questo
link scaricabile poi anche
dall'america ci vorrà magari
un url shortener (in ninux ce
n'è già uno) e un proxy bgp
come anche suggerisci tu, con
un altro dns, magari.<br>
</font>L'hash contiene già tutto
il percorso al file (col token
del nas al posto del suo ip),
per il resto i nas si trovano in
rete da soli via mdns.<br>
<br>
Lo script imputato al download è
questo qui: <a
moz-do-not-send="true"
href="https://github.com/gubi/Ninuxoo-2.0/blob/master/common/include/funcs/download.php"
target="_blank">https://github.com/gubi/Ninuxoo-2.0/blob/master/common/include/funcs/download.php</a><br>
Grazie per la disponibilità del
device, ma a meno che non mi dai
accesso ssh per correggere gli
script che man mano sistemo,
meglio aspettare.<br>
Sicuramente sarà utile nella
fase di collaudo... ;)<br>
Notizia: i NAS si potranno
collegare tra loro anche se sono
remoti, basta indicare
l'indirizzo ipv(4|6) o dns... ;)<br>
<br>
A presto<br>
Gubi<br>
<br>
</font>
<div>Il 18/02/2014 22:23,
Francesco Rapanà ha scritto:<br>
</div>
<div>
<div>
<blockquote type="cite">
<div dir="ltr">Se ti può
essere utile per i test,
ho un synology DS213j.
<div>Al momento sto
vedendo come si potrebbe
fare una specie di proxy
da installare su un
route reflector client
in modo da rendere
disponibile all'esterno
determinati file /
cartelle interne alla
rete.</div>
<div>es: ho un NAS sul
nodo xx e un BGP Route
Reflector con IP
pubblico sul nodo yy. Se
volessi rendere
"pubblici" determinati
file del NAS, il proxy
potrebbe mostrare la
lista dei file su
$IP_pubblico_yy/NAS_xx/
e per il download credo
andrebbe fatto qualcosa
con fopen / fread /
fwrite</div>
</div>
<div class="gmail_extra"><br>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</div>
</blockquote>
</div>
<br>
</div>
<br>
<fieldset></fieldset>
<br>
</div>
</div>
<div class="">
<pre>_______________________________________________
ninux-dev mailing list
<a moz-do-not-send="true" href="mailto:ninux-dev@ml.ninux.org" target="_blank">ninux-dev@ml.ninux.org</a>
<a moz-do-not-send="true" href="http://ml.ninux.org/mailman/listinfo/ninux-dev" target="_blank">http://ml.ninux.org/mailman/listinfo/ninux-dev</a>
</pre>
</div>
</blockquote>
<br>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</body>
</html>