?>/script>'; } ?> WEBDAV como FILE MANAGER Widgets Magazine

Autor Tema: WEBDAV como FILE MANAGER  (Leído 13928 veces)

0 Usuarios y 1 Visitante están viendo este tema.

espeltron

  • Visitante
WEBDAV como FILE MANAGER
« en: 19-05-2014, 02:44 (Lunes) »
WEBDAV como FILE MANAGER

Mi proposito es poder visualizar a traves del navegador de un PC, tablet, videoconsola o TV el contenido de unas carpetas compartidas por el servidor miniDLNA que hay en OpenWrt.

Despues de poder visualizar las carpetas, lo siguiente seria poder mover, borrar, copiar, descargar o subir los archivos a traves del propio navegador.

De estas tareas, la mas importante seria la de "borrar", para evitar los problemas de "disco duro lleno", habituales cuando se utilizan memorias USB.

Hasta ahora estoy usando conexiones a traves de consola o programas como el WinSCP para el manejo de los ficheros, pero necesito reemplazar esto para un usuario "inexperto" en informatica, que lo ha visto y me ha pedido uno.
Este usuario tiene conocimientos basicos de windows, y ningun conocimiento de linux, asi que me costaria mas enseñarle a manejar WinSCP o un terminal que buscar una aplicacion que funcionase a traves de un navegador web.

Hay numerosos dispositivos con capacidad de reproducir en streaming archivos contenidos en servidores DLNA y muchos de ellos tienen tambien algun navegador web.
Como ejemplo pondre la PS3, pero hay mas, como Android TV, Smart TV, PCs y MACs con XBMC, etc.

Debido al tamaño y a la lentitud de programas hechos en PHP no se pueden usar Ajaxplorer, PHP File Manager, etc.

Como solucion he encontrado WebDAV.
El protocolo WebDAV se utiliza en dos softwares:
- Servidor WebDAV
- Cliente WebDAV

En una prueba rapida he instalado el "Servidor WebDAV" en una Raspberry Pi y me ha funcionado correctamente.
Como cliente he usado el propio "Explorador de Windows" del XP para realizar las conexiones y montar las carpetas de red.
He podido mover dentro del mismo equipo remoto archivos de varios GB de una carpeta a otra de forma inmediata.

El usar conexiones remotas de red todavia seria complicado para este usuario "inexperto", asi que estoy buscado soluciones que permitan utilizar los navegadores como medio de uso de "cliente WebDAV", dicho cliente estaria localizado tambien en el propio OpenWrt.

No me valdrian clientes WebDAV externos, ya que en determinadas ocasiones no se podrian instalar o utilizar.
Ejemplo: Smart TV

He encontrado 2 posibles aplicaciones:

1- Escrita en Perl: WebDAV CGI
http://webdavcgi.sourceforge.net/

2.- Escrita en C: Alaya
https://sites.google.com/site/columscode/home/Alaya

Pero aun no las he probado, y no se si funcionarian o no, o si tendrian problemas de tamaño o velocidad.

¿Hay alguien que haya manejado clientes WebDAV a traves de navegadores y pueda recomendarme alguno o darme algun consejo?

Saludos
espeltron
« Última modificación: 19-05-2014, 13:08 (Lunes) por jar229 »

Desconectado jar229

  • Moderador
  • *
  • Mensajes: 4607
Y un cliente FTP 'sencillo' no te valdría ?

Enviado desde mi CUBOT GT99


Desconectado Tki2000

  • Moderador
  • *
  • Mensajes: 2247
WEBDAV como FILE MANAGER

Mi proposito es poder visualizar a traves del navegador de un PC, tablet, videoconsola o TV el contenido de unas carpetas compartidas por el servidor miniDLNA que hay en OpenWrt.

Despues de poder visualizar las carpetas, lo siguiente seria poder mover, borrar, copiar, descargar o subir los archivos a traves del propio navegador.

De estas tareas, la mas importante seria la de "borrar", para evitar los problemas de "disco duro lleno", habituales cuando se utilizan memorias USB.

Hasta ahora estoy usando conexiones a traves de consola o programas como el WinSCP para el manejo de los ficheros, pero necesito reemplazar esto para un usuario "inexperto" en informatica, que lo ha visto y me ha pedido uno.
Este usuario tiene conocimientos basicos de windows, y ningun conocimiento de linux, asi que me costaria mas enseñarle a manejar WinSCP o un terminal que buscar una aplicacion que funcionase a traves de un navegador web.

Hay numerosos dispositivos con capacidad de reproducir en streaming archivos contenidos en servidores DLNA y muchos de ellos tienen tambien algun navegador web.
Como ejemplo pondre la PS3, pero hay mas, como Android TV, Smart TV, PCs y MACs con XBMC, etc.

Debido al tamaño y a la lentitud de programas hechos en PHP no se pueden usar Ajaxplorer, PHP File Manager, etc.

Como solucion he encontrado WebDAV.
El protocolo WebDAV se utiliza en dos softwares:
- Servidor WebDAV
- Cliente WebDAV

En una prueba rapida he instalado el "Servidor WebDAV" en una Raspberry Pi y me ha funcionado correctamente.
Como cliente he usado el propio "Explorador de Windows" del XP para realizar las conexiones y montar las carpetas de red.
He podido mover dentro del mismo equipo remoto archivos de varios GB de una carpeta a otra de forma inmediata.

El usar conexiones remotas de red todavia seria complicado para este usuario "inexperto", asi que estoy buscado soluciones que permitan utilizar los navegadores como medio de uso de "cliente WebDAV", dicho cliente estaria localizado tambien en el propio OpenWrt.

No me valdrian clientes WebDAV externos, ya que en determinadas ocasiones no se podrian instalar o utilizar.
Ejemplo: Smart TV

He encontrado 2 posibles aplicaciones:

1- Escrita en Perl: WebDAV CGI
http://webdavcgi.sourceforge.net/

2.- Escrita en C: Alaya
https://sites.google.com/site/columscode/home/Alaya

Pero aun no las he probado, y no se si funcionarian o no, o si tendrian problemas de tamaño o velocidad.

¿Hay alguien que haya manejado clientes WebDAV a traves de navegadores y pueda recomendarme alguno o darme algun consejo?

Saludos
espeltron

Nginx tiene un módulo para WebDAV y la instalación no es compleja, sólo hay que habilitarlo en el make menuconfig.
La pega es que por lo visto no tiene todos los comandos disponibles, pero a lo mejor te puede servir para lo básico.
La instalación de nginx escuchando por otro puerto para acceder a él es fácil, así como la habilitación del módulo WebDAV (no he conseguido sustituir por completo uhttpd porque no he conseguido todavía que nginx me ejecute luci).
Lo que no es tan fácil es hacer el cliente WebDAV completo. Para eso he encontrado este repositorio en el que se implementan los comandos WebDAV que le faltan al módulo de nginx: https://github.com/arut/nginx-dav-ext-module
No te puedo decir cómo compilarlo en openwrt porque no lo he hecho, pero a lo mejor te sirve de ayuda si tú tienes esos conocimientos. Información para hacerlo hay por internet también.
También he visto en algún sitio que nginx-extras por lo visto ya viene con nginx-dav-ext-module, pero no sé a partir de qué versión ni si está incorporado a openwrt.

espeltron

  • Visitante
Nginx tiene un módulo para WebDAV y la instalación no es compleja, sólo hay que habilitarlo en el make menuconfig.
La pega es que por lo visto no tiene todos los comandos disponibles, pero a lo mejor te puede servir para lo básico.
La instalación de nginx escuchando por otro puerto para acceder a él es fácil, así como la habilitación del módulo WebDAV (no he conseguido sustituir por completo uhttpd porque no he conseguido todavía que nginx me ejecute luci).
Lo que no es tan fácil es hacer el cliente WebDAV completo. Para eso he encontrado este repositorio en el que se implementan los comandos WebDAV que le faltan al módulo de nginx: https://github.com/arut/nginx-dav-ext-module
No te puedo decir cómo compilarlo en openwrt porque no lo he hecho, pero a lo mejor te sirve de ayuda si tú tienes esos conocimientos. Información para hacerlo hay por internet también.
También he visto en algún sitio que nginx-extras por lo visto ya viene con nginx-dav-ext-module, pero no sé a partir de qué versión ni si está incorporado a openwrt.

Gracias Tki2000, le echare un vistazo cuando pueda, pero al parecer esto implementa el "servidor WebDAV", no el "cliente WebDAV" que usa como "pasarela" una pagina web.

Apache2 tiene el modulo de "servidor WebDAV" implementado completamente, y para hacer pruebas con "clientes WebDAV" me sirve.
Cuando tenga que usar OpenWrt ya vere que servidor tendre que utilizar, ya que uhttp no tiene soporte para esto.

De momento ya he probado WebDAV-CGI.
He hecho las pruebas en una Raspberry Pi, ya que tenia el Apache2 y Perl instalados, conexion a internet y todo lo que me hacia falta.

WebDAV ya lo tenia instalado previamente, y para la instalacion de WebDAV-CGI he seguido las indicaciones de la pagina:
http://webdavcgi.sourceforge.net/doc.html

El resultado es bastante bueno:

Puedo mover archivos grandes de una carpeta remota a otra carpeta remota de forma inmediata.

Las unicas cosas que veo que pueden a llegar a ser un problema son:
- la velocidad de carga de paginas, que no es muy rapida.
- el gran numero de paquetes perl y librerias asociadas, que pueden llegar a tener un tamaño considerable.

Esto puede traer complicaciones si se quiere usar en OpenWrt.

Para adaptar este programa a OpenWrt habria que:
- Usar lighttpd o nginx en vez de apache2
- disminuir los paquetes, eliminando opciones innecesarias

Ahora voy a ver si Alaya no tiene estos problemas.

He encontrado un screenshot de esta aplicacion:

Alaya parece mas simple que WebDAV-CGI, ademas de estar hecha en C, que es mas eficiente que perl.

Tendre que compilarlo y probarlo.

Saludos
espeltron

espeltron

  • Visitante
Y un cliente FTP 'sencillo' no te valdría ?

Enviado desde mi CUBOT GT99


jar229, esto es para una persona mayor, que quiere usar el Smart TV de su Samsung.

En el router con OpenWrt que le voy a regalar le voy a instalar:
transmission + miniDLNA + soporte ext3/vfat para memorias USB

El PC solo lo utiliza para cosas basicas:
- Ver el correo
- Navegar
- Crear documentos del word y del excel.

Si le tengo que decir como se instalan clientes ftp y enseñarle como se manejan voy a liarlo bastante.

Vive a 200Km, y no puedo configurarle el PC, a menos que le envie "Single Click - UltraVNC".
Y a saber como lo tiene, creo que es un Pentium III, con poca RAM, cache de disco, un disco duro lento, antivirus Panda, virus, basura, etc.


Aun no se como le voy a explicar "como se abren los puertos de los routers", ya que le parecera que le hablo en "chino".

Saludos
espeltron

Desconectado jar229

  • Moderador
  • *
  • Mensajes: 4607
Re: WEBDAV como FILE MANAGER
« Respuesta #5 en: 19-05-2014, 13:12 (Lunes) »


Vive a 200Km, y no puedo configurarle el PC, a menos que le envie "Single Click - UltraVNC".
Y a saber como lo tiene, creo que es un Pentium III, con poca RAM, cache de disco, un disco duro lento, antivirus Panda, virus, basura, etc.


Aun no se como le voy a explicar "como se abren los puertos de los routers", ya que le parecera que le hablo en "chino".

Saludos
espeltron

Si quieres olvidarte del tema de puertos, puedes usar Team Viewer 9: gratis y muy fácil de usar.

He separado el tema en uno nuevo. Me parece que puede ser interesante y en el otro hilo se quedará 'perdido'  ;)
« Última modificación: 19-05-2014, 13:20 (Lunes) por jar229 »

Desconectado Tki2000

  • Moderador
  • *
  • Mensajes: 2247
Re: WEBDAV como FILE MANAGER
« Respuesta #6 en: 19-05-2014, 13:57 (Lunes) »


Vive a 200Km, y no puedo configurarle el PC, a menos que le envie "Single Click - UltraVNC".
Y a saber como lo tiene, creo que es un Pentium III, con poca RAM, cache de disco, un disco duro lento, antivirus Panda, virus, basura, etc.


Aun no se como le voy a explicar "como se abren los puertos de los routers", ya que le parecera que le hablo en "chino".

Saludos
espeltron

Si quieres olvidarte del tema de puertos, puedes usar Team Viewer 9: gratis y muy fácil de usar.

He separado el tema en uno nuevo. Me parece que puede ser interesante y en el otro hilo se quedará 'perdido'  ;)

Aunque sea un poco offtopic, pero tiene que ver con el post:

Teamviewer 9 consume un güebo de recursos y va a pedales. Te lo digo yo que lo he estado usando en los últimos meses (y no por que yo quisiera ni lo aconsejara). Teamviewer utiliza las tecnología RDP para conectarse, amén de que manda datos a servidores externos que no nos incumben.
UltraVNC va a consumir menos recursos seguro y en el router se puede instalar VNCRepeater para hacer de proxy entre el router y el equipo al que accedamos. Si se puede configurar el router para que al equipo PC le de siempre la misma IP se puede hacer un acceso remoto sin problemas (esa configuración ya la he realizado con bastante éxito anteriormente). La seguridad se acentúa ya que necesitamos saber la IP externa del router, la IP interna del PC y además la contraseña para acceder a UltraVNC (y si cambiamos los puertos por defecto, todavía más).
Para saber la IP externa del router podemos hacer un script como el que hice en el hilo: https://foro.seguridadwireless.net/openwrt/(tutorial)-adsl-portatil-para-openwrt/ en el apartado "Enviar email cuando nos cambia la IP del ADSL" (evidentemente adaptándolo).
Si a alguien le interesa tengo alguna que otra instalación de UltraVNC completamente desatendida (aunque sean versiones antiguas sirven para acceso remoto)
Entonces, si por un lado tenemos la instalación fácil de UltraVNC, y por otro el router que le vas a regalar ya tiene la configuración adecuada, el acceso al ordenador lo tienes ganado.

Desconectado jar229

  • Moderador
  • *
  • Mensajes: 4607
Re: WEBDAV como FILE MANAGER
« Respuesta #7 en: 19-05-2014, 14:22 (Lunes) »


Vive a 200Km, y no puedo configurarle el PC, a menos que le envie "Single Click - UltraVNC".
Y a saber como lo tiene, creo que es un Pentium III, con poca RAM, cache de disco, un disco duro lento, antivirus Panda, virus, basura, etc.


Aun no se como le voy a explicar "como se abren los puertos de los routers", ya que le parecera que le hablo en "chino".

Saludos
espeltron

Si quieres olvidarte del tema de puertos, puedes usar Team Viewer 9: gratis y muy fácil de usar.

He separado el tema en uno nuevo. Me parece que puede ser interesante y en el otro hilo se quedará 'perdido'  ;)

Aunque sea un poco offtopic, pero tiene que ver con el post:

Teamviewer 9 consume un güebo de recursos y va a pedales. Te lo digo yo que lo he estado usando en los últimos meses (y no por que yo quisiera ni lo aconsejara). Teamviewer utiliza las tecnología RDP para conectarse, amén de que manda datos a servidores externos que no nos incumben.
UltraVNC va a consumir menos recursos seguro y en el router se puede instalar VNCRepeater para hacer de proxy entre el router y el equipo al que accedamos. Si se puede configurar el router para que al equipo PC le de siempre la misma IP se puede hacer un acceso remoto sin problemas (esa configuración ya la he realizado con bastante éxito anteriormente). La seguridad se acentúa ya que necesitamos saber la IP externa del router, la IP interna del PC y además la contraseña para acceder a UltraVNC (y si cambiamos los puertos por defecto, todavía más).
Para saber la IP externa del router podemos hacer un script como el que hice en el hilo: https://foro.seguridadwireless.net/openwrt/(tutorial)-adsl-portatil-para-openwrt/ en el apartado "Enviar email cuando nos cambia la IP del ADSL" (evidentemente adaptándolo).
Si a alguien le interesa tengo alguna que otra instalación de UltraVNC completamente desatendida (aunque sean versiones antiguas sirven para acceso remoto)
Entonces, si por un lado tenemos la instalación fácil de UltraVNC, y por otro el router que le vas a regalar ya tiene la configuración adecuada, el acceso al ordenador lo tienes ganado.


Oye que a mi no tienes que convencerme, yo estoy encantando, desde hace años con UltraVNC  ;D

Comenté lo de TeamViewer por la facilidad de instalación/manejo  ;)

Desconectado Tki2000

  • Moderador
  • *
  • Mensajes: 2247
Re: WEBDAV como FILE MANAGER
« Respuesta #8 en: 19-05-2014, 14:38 (Lunes) »
Oye que a mi no tienes que convencerme, yo estoy encantando, desde hace años con UltraVNC  ;D

No lo intentaba...  ;D  >:D

espeltron

  • Visitante
Re: WEBDAV como FILE MANAGER
« Respuesta #9 en: 19-05-2014, 16:23 (Lunes) »
Buenas tardes

He probado el TeamViewer, y por mis malas experiencias no se lo recomiendo a nadie.
Bastante es que gmail, hotmail o yahoo espien mis correos para encima de todo darle el control completo de mi maquina de forma permanente a esta compañia.
La desisntalacion del TeamViewer es bastante mas complicada que la instalacion, sobre todo en los MACs.

Al parecer no conoceis UltraVNC Single Click:
http://www.uvnc.com/products/uvnc-sc.html

Resumiendo:
1.- Es un programa que hace la conexion de "forma inversa", por lo que el PC a reparar no tiene que tener ningun puerto abierto en su router.
2.- Yo, como tecnico "configuro" un programa llamado "reparacion-remota.exe" con los datos de mi PC: el puerto que tengo abierto de mi router y la IP global en ese momento o el dominio que tengo, ya que uso un DNS dinamico.
3.- El programa "reparacion-remota.exe" se lo mando por correo al usuario con el "PC roto".
4.- En el momento en que ese usuario lo ejecuta y confirma la conexion puedo acceder a su equipo.

El "equipo del tecnico" es el unico que tiene que tener servicios o programas UltraVNC funcionando, escuchando posibles solicitudes de conexion, y un puerto del router abierto.

Los usuarios con el PC roto no tienen por que tener ningun tipo de conocimiento informatico, ni saber su IP, ni abrir puertos, ni crear cuentas en sitios web, ni nada de nada.
Como he dicho anteriormente, la conexion se realiza de forma "inversa" solo mientras se este ejecutando el programa "reparacion-remota.exe".

Una vez finalizada la reparacion se puede borrar "reparacion-remota.exe" y no se queda nada instalado, ni tampoco se instala ningun servicio.

Esto esta pensado para usuarios que no saben absolutamente nada de informatica.

En cuanto al tema en cuestion, el WebDAV y el cliente que usemos como "manejador de ficheros", he encontrado una solucion aceptable.

He compilado e instalado "Alaya" sobre la plataforma Raspberry Pi.
Basicamente:
Código: [Seleccionar]
./configure
make
sudo make install

El propio Alaya hace de servidor web, por lo que no hace falta que haya ninguno instalado.

He probado la coexistencia con el Apache, y la unica limitacion es utilizar un puerto diferente.

Creamos el siguiente archivo de configuracion:
jed /etc/alaya.conf
Código: [Seleccionar]
Port=8080
HttpMethods=GET,PUT,DELETE,PROPFIND
DirListType=Full

Y ejecutamos el programa servidor web Alaya como programa, no como servicio, sin ningun tipo de configuracion o proteccion con autentificacion:
Código: [Seleccionar]
sudo alaya -d -O
Desde el navegador, en mi caso, ya que tengo asociada la IP del dispositivo a un nombre o dominio:
http://rpi.local:8080

En la mayoria de los casos seria:
http://192.168.1.1:8080

Obtenemos esto:


Y podemos borrar un archivo:


Hay mas comandos y opciones, por ejemplo:
Código: [Seleccionar]
sudo alaya -user add test testing123 -h /home/test -e sha1 SSLClientCertificate=required
sudo alaya -user list
sudo alaya -user del test

En el fichero README viene toda la informacion necesaria.

Lo bueno de este programa es:
Código: [Seleccionar]
1.- Es muy pequeño.
2.- Se compila muy facilmente, esta escrito en C.
3.- No tiene dependencias de otros programas o librerias.
4.- Tiene el servidor web integrado, no dependiendo del que tengamos instalado.
5.- Permite la coexistencia con otros servidores web.
6.- Utiliza codigo HTML, nada de javascript, flash, java o cualquier otra cosa que lo hiciera incompatible con la mayoria de navegadores.

Ya solo me queda portar esto a OpenWrt.

Saludos
espeltron
« Última modificación: 19-05-2014, 16:43 (Lunes) por espeltron »

danitool

  • Visitante
Re: WEBDAV como FILE MANAGER
« Respuesta #10 en: 19-05-2014, 17:08 (Lunes) »
Yo también usé varias veces VNC con conexiones inversas. Si las dos máquinas usan linux es tan sencillo como dos comandos:
El local desde que el que controlaremos el PC remoto ejecuta
Código: [Seleccionar]
vncviewer -bgr233 -compresslevel 8 -listen
Y el remoto a controlar ejecuta:
Código: [Seleccionar]
x11vnc  -connect 188.87.129.221y ya está


Sobre el Alaya, también echo en falta algo de ese estilo para openwrt. A ver si hay suerte y te funciona bien consumiendo pocos recursos.

Desconectado Tki2000

  • Moderador
  • *
  • Mensajes: 2247
Re: WEBDAV como FILE MANAGER
« Respuesta #11 en: 19-05-2014, 18:27 (Lunes) »
Al parecer no conoceis UltraVNC Single Click:
http://www.uvnc.com/products/uvnc-sc.html

Sí lo conozco, pero se consigue lo mismo con el viewer en modo escucha, como dice danitool.

Desconectado Tki2000

  • Moderador
  • *
  • Mensajes: 2247
Re: WEBDAV como FILE MANAGER
« Respuesta #12 en: 19-05-2014, 19:31 (Lunes) »
Agrego esto al hilo:

Según parece ser, Windows Explorer ya tiene un cliente WebDAV integrado, así que si en nginx conseguimos el servidor WebDAV y Windows XP ya nos da el cliente WebDAV (que creo que en XP se llama WebFolders), ya lo tendríamos configurado, ¿no?

Windows 7, 8, Vista:
http://www.webdavsystem.com/server/access/windows
XP
http://www.webdavsystem.com/server/access/windows/windows
Mapping Network Drive on Windows 7, Vista, Windows XP and Windows Server 2003
http://www.webdavsystem.com/server/access/windows/map_drive

Mapear una unidad con WebDAV en XP parece un poco caprichoso, pero se puede hacer...

Edito: Web Folders ya venía con Windows 98, por si el P3 es demasiado antiguo para un XP...
« Última modificación: 19-05-2014, 19:36 (Lunes) por Tki2000 »

espeltron

  • Visitante
Re: WEBDAV como FILE MANAGER
« Respuesta #13 en: 19-05-2014, 19:52 (Lunes) »
Agrego esto al hilo:

Según parece ser, Windows Explorer ya tiene un cliente WebDAV integrado, así que si en nginx conseguimos el servidor WebDAV y Windows XP ya nos da el cliente WebDAV (que creo que en XP se llama WebFolders), ya lo tendríamos configurado, ¿no?

Windows 7, 8, Vista:
http://www.webdavsystem.com/server/access/windows
XP
http://www.webdavsystem.com/server/access/windows/windows
Mapping Network Drive on Windows 7, Vista, Windows XP and Windows Server 2003
http://www.webdavsystem.com/server/access/windows/map_drive

Mapear una unidad con WebDAV en XP parece un poco caprichoso, pero se puede hacer...

Edito: Web Folders ya venía con Windows 98, por si el P3 es demasiado antiguo para un XP...
Yo he montado una carpeta de red WebDAV directamente desde Windows XP Home Edition, sin necesidad de instalarle nada, ni si quiera una version reciente del Internet Explorer.

Esta pagina lo explica muy bien:
https://www.wikispaces.com/WebDAV+Windows+XP

No hace falta instalar nada, y la carpeta de red se comporta de forma similar a cualquier otra.
Por ejemplo:
- Mover un archivo grande desde una carpeta que haya en el servidor WebDAV a otra carpeta que haya en el servidor WebDAV es inmediato.
- En cambio copiar ese archivo desde el servidor a la unidad C: es lento (se tiene que transferir todo el archivo a traves de la red ethernet o wifi).

Pero como decia anteriormente, esto solo sirve en determinados casos, si tienes una television Samsung con Smart TV, poco podras hacer, a menos que tengas algo compatible con el navegador web que llevan.

Saludos
espeltron

vk496

  • Visitante
Re: WEBDAV como FILE MANAGER
« Respuesta #14 en: 20-05-2014, 16:14 (Martes) »
En nada tendré algo de tiempo libre... A ver si le puedo meter mano a este tema...  ;D

Salu2

raphik

  • Visitante
Re: WEBDAV como FILE MANAGER
« Respuesta #15 en: 28-05-2014, 21:04 (Miércoles) »
¿No es más simple tirar de script?

Con este script se puede visualizar el contenido de una carpeta del router desde un navegador de Internet (en el PC,  la tablet, teléfono móvil, videoconsola o smart TV).

Código: [Seleccionar]
#!/bin/sh
# Coloca en la línea siguiente la ruta al directorio que quieres visualizar
directorio=/mnt/hdd/dlna/video

echo -e "Content-type:text/html\n\n"
cd $directorio
x=*
echo "<meta charset='UTF-8'>"
for line in $x
do
  echo "$line<br>"
done

Crea el fichero "dir.sh" en la carpeta www/cgi-bin del router con el contenido de arriba
Conviértelo en ejecutable: chmod +x /www/cgi-bin/dir.sh
Para utilizarlo en un navegador de internet:  [IP_del_router]/cgi-bin/dir.sh

Añadiendo un  poco más de código también podrías borrar ficheros.

Desconectado Tki2000

  • Moderador
  • *
  • Mensajes: 2247
Re: WEBDAV como FILE MANAGER
« Respuesta #16 en: 29-05-2014, 08:15 (Jueves) »
Añadiendo un  poco más de código también podrías borrar ficheros.

Creo que "un poco más" es relativo, sobre todo si quieres procesar las respuestas en POST o GET, o algo de Javascript y poner algo similar a "Está Ud. seguro de que quiere borrar el fichero?"
« Última modificación: 29-05-2014, 08:23 (Jueves) por Tki2000 »

raphik

  • Visitante
Re: WEBDAV como FILE MANAGER
« Respuesta #17 en: 30-05-2014, 15:15 (Viernes) »
Creo que "un poco más" es relativo, sobre todo si quieres procesar las respuestas en POST o GET, o algo de Javascript y poner algo similar a "Está Ud. seguro de que quiere borrar el fichero?"
Eso es así. El código, el mercado y los gases tienden a ocupar todo el espacio disponible.

Éste código está en php5. Muestra en el navegador el cotenido del una carpeta del router (/root/pruebas, se puede cambiar) y permite borrar ficheros previo mensaje de confirmación.

Código: [Seleccionar]
<html>
<head>
  <meta charset="utf-8">
    <title>Borrado de archivos</title>
</head>
<body>
<?php  $directorio = "/root/pruebas";  if ( isset($_POST['listado']) && $_POST['ok'] == "borrar" )    { shell_exec("rm '".$directorio."/".$_POST['listado']."'"); };  echo "<b>Contenido de la carpeta $directorio</b><br>";  $v = scandir("$directorio",0);  unset ($v[0]); unset ($v[1]);  echo "<form action='' method='POST'>";  foreach ($v as $indice=>$contenido)    echo "<input type='radio' name='listado' value='$contenido'>$contenido<br>";?>

  <input type='submit' name='ok' value='borrar'
    onClick="return confirm('¿Está Ud. seguro de que quiere borrar el fichero?');"><br>
  </form>
</body>
</html>

Para instalar y configurar php5, desde una consola:
opkg update
opkg install php5 php5-cgi
uci set uhttpd.main.interpreter=.php=/usr/bin/php-cgi
uci commit uhttpd
/etc/init.d/uhttpd restart

Saludos

espeltron

  • Visitante
Re: WEBDAV como FILE MANAGER
« Respuesta #18 en: 30-05-2014, 16:55 (Viernes) »
Creo que "un poco más" es relativo, sobre todo si quieres procesar las respuestas en POST o GET, o algo de Javascript y poner algo similar a "Está Ud. seguro de que quiere borrar el fichero?"
Eso es así. El código, el mercado y los gases tienden a ocupar todo el espacio disponible.

Éste código está en php5. Muestra en el navegador el cotenido del una carpeta del router (/root/pruebas, se puede cambiar) y permite borrar ficheros previo mensaje de confirmación.

Código: [Seleccionar]
<html>
<head>
  <meta charset="utf-8">
    <title>Borrado de archivos</title>
</head>
<body>
<?php  $directorio = "/root/pruebas";  if ( isset($_POST['listado']) && $_POST['ok'] == "borrar" )    { shell_exec("rm '".$directorio."/".$_POST['listado']."'"); };  echo "<b>Contenido de la carpeta $directorio</b><br>";  $v = scandir("$directorio",0);  unset ($v[0]); unset ($v[1]);  echo "<form action='' method='POST'>";  foreach ($v as $indice=>$contenido)    echo "<input type='radio' name='listado' value='$contenido'>$contenido<br>";?>

  <input type='submit' name='ok' value='borrar'
    onClick="return confirm('¿Está Ud. seguro de que quiere borrar el fichero?');"><br>
  </form>
</body>
</html>

Para instalar y configurar php5, desde una consola:
opkg update
opkg install php5 php5-cgi
uci set uhttpd.main.interpreter=.php=/usr/bin/php-cgi
uci commit uhttpd
/etc/init.d/uhttpd restart

Saludos
Gracias raphik

Programa sencillo y bastante practico.

Funciona correctamente, haciendo algun retoque se quedaria "perfecto" para la idea que tenia en mente.

He editado la ruta por defecto para hacer una prueba y este es el resultado:



Borra correctamente los archivos, siempre y cuando la carpeta y los propios archivos tengan los permisos de escritura adecuados.

Ya es funcional, si se quisiera mejorar:
- No usar tildes, ya que las ventanas de mensajes de algunos navegadores no reconoce bien los caracteres del fichero utf8.
- Indicar el tamaño de cada fichero y su fecha, para saber la antiguedad del archivo y cuanto espacio se esta liberando.
- El espacio disponible en la unidad, para saber cuanto espacio necesitamos liberar.
- Usar checkbox en vez de radio, para seleccionar varios ficheros a la vez.
- Y hasta se podria proteger con contraseña el acceso web a esta carpeta.

Aunque tambien he probado phpfm, que es algo mas grande y complejo, voy a usar este, por sencillez y tamaño.

Saludos
espeltron
« Última modificación: 30-05-2014, 17:13 (Viernes) por espeltron »

Desconectado Tki2000

  • Moderador
  • *
  • Mensajes: 2247
Re: WEBDAV como FILE MANAGER
« Respuesta #19 en: 30-05-2014, 22:06 (Viernes) »
Y puestos ya a poner PHP, ¿por qué no usar un filemanager en condiciones? : https://foro.seguridadwireless.net/openwrt/(recopilatario)-utilidades-para-openwrt/msg309645/#msg309645

Hasta lo he integrado con luci y éste es el resultado:

         

También puestos, he integrado un gestor de fichero por FTP, que además interpreta correctamente los ficheros con nombres en utf8:

         

Lo utilizo junto con el pure-ftpd.

Si alguien está interesado en los fuentes para compilar y hacer sus propios paquetes instalables con estas utilidades que me lo diga.