Aleksandar Ivanisevic wrote:
> Drazen Kacar <
da...@fly.srk.fer.hr> writes:
>
> > A gle, postoje programi zvani lynx, links, elinks, a možda i još koji u
> > toj kategoriji i svi oni znaju napraviti to što ti treba. Ne moraš
> > koristiti wget i curl.
>
> Dakle imam jedan ftp server na koji imam samo ftp pristup sa
> user/passom koji ne zelim nikome davati. E sad bi ja da mogu shareati
> jedan direktorij na tom serveru preko weba, koristeci drugi server kao
> proxy, a bez da tamo trebam prostora na disku, dakle tocno ono sto
> radi proxypass, kad bi ga se samo moglo sloziti da ne trazi originalni
> user/pass.
>
> Kako da to postignem pomocu lynxa, linksa, elinksa, curla ili wgeta,
> molicu fino?
Ajme meni. Oš me zaposlit nakon ovoga? :-)
U Apache config staviš nešto ovakvo:
ScriptAlias /acocgi/ /home/dave/aco/
<Directory "/home/dave/aco">
AllowOverride None
Options +ExecCGI
Order allow,deny
Allow from all
</Directory>
RewriteEngine On
RewriteRule ^/shareddir$ /shareddir/ [R,L]
RewriteRule ^/shareddir/(.*)
http://127.0.0.1/acocgi/getit/$1 [PT,L]
U /home/dave/aco staviš skriptu pod nazivom getit:
#!/bin/zsh
if [[ -z $PATH_INFO || $PATH_INFO[-1] == "/" ]]; then
# Get the directory listing
echo Content-Type: text/html
echo
elinks -source ftp://user:pass@localhost/home/dave/trash$PATH_INFO
else
# Get the file
echo Content-Type: application/octet-stream
echo
wget -q -O - ftp://user:pass@localhost/trash$PATH_INFO
fi
I to ti otprilike radi to što hoćeš (umjesto 127.0.0.1 trebaš staviti
hostname svog servera). Invokcija elinksa će vjerojatno trebati još neke
flagove (-no-connect i -no-home barem), a i njegov output ćeš morati
procesirati jer na par mjesta imaš URL FTP servera (bez usernamea i
passworda, doduše).
A mogao bi i dodati malo koda za izbacivanje pravilnog content typea
kod skidanja datoteke umjesto hardkodiranog application/octet-stream.
Nisam provjerio radi li ispravno za poddirektorije. Pati se sam s tim. :-)