Estoy buscando una manera para que mi HTC Hero (Android 2.1) pueda compartir el contenido de mi tarjeta SD y la memoria del teléfono a través de la red WiFi como un recurso compartido de archivos normal de Windows. Me gustaría uno que no requiera que rootee mi teléfono y estoy dispuesto a pagar por la aplicación correcta para que no tenga que ser gratis.
Estoy pensando en usar el servidor SMB y todo lo que he encontrado hasta ahora es:
¿Es incluso técnicamente posible desarrollar un servidor SMB en Android que pueda instalarse sin acceso de root?
Como su pregunta original aún no ha sido respondida y yo me preguntaba lo mismo, aquí está la respuesta.
Respuesta corta: No, sin root no es posible ejecutar un servidor SMB usando los puertos predeterminados para que las PC con Windows lo encuentren.
Respuesta larga: SMB se ejecuta en los puertos 137-139 (UDP y TCP) usando NetBIOS o en sistemas más nuevos (desde Windows Vista en adelante) directamente en el puerto TCP 445 donde, en el último caso, los nombres de las computadoras se resuelven mediante LLMNR (Link-local Multicast). Resolución de nombres) que se ejecuta en el puerto UDP 5355. ¿Por qué es importante? Las aplicaciones que no se ejecutan como root no pueden vincularse a puertos sin privilegios (<1024). Es posible usar puertos alternativos para SMB, pero Windows está programado para escuchar solo los predeterminados. Entonces, supongo que si usa Linux o un cliente SMB separado para Windows que permite conectarse a un servidor con un número de puerto personalizado, probablemente sea posible. Pero en realidad no es una forma directa.
\\your.ip:port
...Si bien es posible que no sea posible ejecutar un servidor SMB sin raíz o mediante el reenvío de puertos , es posible ejecutar un servidor WebDAV sin raíz para obtener un efecto similar.
Configuración de un servidor WebDAV de Android
En mi Nexus 7 original, instalé WebDAV Server , lo abrí, hice clic en el botón de inicio e inmediatamente pude ver mi /storage/sdcard
carpeta en mi navegador web en la URL que muestra la aplicación, es decirhttp://192.168.x.y:8080
Tenga en cuenta que con WebDAV, también tiene la opción de seleccionar Raíz (/) o DCIM , así como SdCard como raíz de WebDAV .
Uso del servidor WebDAV a través del Explorador de Windows
Luego asigné http://192.168.x.y:8080
como una unidad de red en el Explorador de Windows y pude acceder al contenido de mi unidad de almacenamiento, como si estuviera conectado a través de MTP, pero a través de una letra de unidad.
Lamentablemente, esta solución es increíblemente lenta.
Cada cambio de directorio tarda entre 6 y 20 segundos, al igual que acceder a la mayoría de los archivos. Sin embargo, una vez que se accede a un archivo, se transfiere a una velocidad razonable (copiar un solo archivo de 42 MB en el Explorador de Windows tomó alrededor de 60 segundos, es decir, 700 KB/s).
Por lo tanto, WebDAV a través del Explorador de Windows está bien para descargar algunos archivos grandes cuya ubicación conoce, pero navegar o sincronizar un dispositivo completo de esta manera no es rápido. Sincronicé 1,75 GB de datos en alrededor de 6000 archivos y 400 directorios y tardé 10 horas, es decir, alrededor de 50 KB/so 10 archivos/directorios por minuto en promedio.
Uso del servidor WebDAV a través de la línea de comandos de Windows
Incluso desde la línea de comandos, cada listado de directorio toma de 5 a 6 segundos, al igual que cualquier acceso a archivos. Copiar el mismo archivo de 42 MB desde la línea de comandos tomó alrededor de 20 segundos, es decir, alrededor de 2,1 MB/s.
Uso del servidor WebDAV a través de un navegador web
Sin embargo, la opción más rápida para WebDAV es usar su navegador web, directamente a través de la URL proporcionada. Cambiar de directorio rara vez toma más de un segundo y descargar el mismo archivo de 42 MB desde el navegador web tomó alrededor de 12 segundos, es decir, alrededor de 3,6 MB/s.
La desventaja de usar el navegador web es que solo muestra la fecha (sin tamaño ni tipo) y no hace distinción entre archivos y directorios, por lo que si un archivo no tiene una extensión (o un directorio la tiene), puede que no sea obvio. si hacer clic en un enlace lo llevará a otra página web (para un directorio) o iniciará una descarga (para un archivo).
Advertencias
De forma predeterminada, Windows limita el tamaño de las descargas de WebDAV a 50000000 bytes (47,6 MB), aunque esto se puede cambiar a través de un truco de registro ( FileSizeLimitInBytes
en HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters
) si sabe lo que está haciendo.
El acceso WebDAV no es seguro . Incluso si establece una contraseña en el recurso compartido WebDAV, la conexión aún http
no es válida https
, por lo que no está encriptada. Solo use WebDAV en una red wifi segura y ciertamente no habilite el servidor WebDAV mientras se encuentra en un cibercafé u otro wifi no seguro.
El problema no es el servidor samba, sino el hecho de que Windows puede acceder a un recurso compartido samba solo en el puerto 445, y en un Android no rooteado, una aplicación normal no puede escuchar en el puerto 445.
Pero puede superar esto con algún mapeo de puertos TCP:
He descrito todos los pasos en detalle aquí en mi blog http://techforpassion.blogspot.it/2013/12/android-how-to-share-folder-over-wifi.html
Probé diferentes servidores samba, y la única aplicación gratuita que funciona en esta configuración se llama Servidor Samba
\\androids.ip:7777
en la barra de direcciones del explorador?Actualmente terminé una aplicación ( para dispositivos no rooteados ) para compartir archivos en la red local. Mis lecciones aprendidas:
Alternativamente, puede ejecutar un servidor ftp en su teléfono para obtener acceso al contenido de su tarjeta SD. Echa un vistazo a SwiFTP .
Puede que no lo entienda bien, pero parece que necesita un cliente SMB, no un servidor. Además, no necesita acceso de root. Para usar SMB para transferir archivos a su computadora, puede usar ASTRO File Manager con el complemento SMB , o existe File Expert , que también es gratuito.
También puede usar WebDAV en lugar de SMB con una aplicación como WebSharing .
En el pasado, usaba una aplicación que con el software del cliente en mi computadora me permitía transferir archivos a través del explorador de archivos desde cualquier lugar a través de la web. No era una aplicación VNC completa. Tengo un teléfono nuevo y ahora, por mi vida, no puedo encontrar la aplicación.
joe casadonte
Wifi Explorer
( appbrain.com/app/wifi-file-explorer/… ) varias veces y funciona muy bien, no se requiere root. Sin embargo, no es SMB (y probablemente tampoco sea FTP).