Je cherche un moyen pour mon HTC Hero (Android 2.1) afin de pouvoir partager le contenu de ma carte SD et de la mémoire de mon téléphone sur le réseau WiFi comme un partage de fichiers Windows normal. J'aimerais en avoir un qui ne me demande pas de rooter mon téléphone, et je suis prêt à payer pour la bonne application afin qu'elle ne soit pas gratuite.
Je pense utiliser le serveur SMB et tout ce que j'ai trouvé jusqu'à présent est:
- SambaAndroid qui nécessite un accès root.
- androidsmb qui est une "implémentation Java du serveur de fichiers réseau et de partage d'imprimante SMB / CIFS pour les appareils Android" hébergée sur Google Code qui n'a aucune documentation et n'a publié aucun fichier.
Est-il même techniquement possible de développer un serveur SMB sur Android qui peut être installé sans accès root?
wi-fi
root-access
cifs
journée
la source
la source
Wifi Explorer
( appbrain.com/app/wifi-file-explorer/… ) plusieurs fois et cela fonctionne très bien, aucune racine n'est requise. Ce n'est cependant pas SMB (et ce n'est probablement pas FTP non plus).Réponses:
Comme votre question d'origine n'est toujours pas répondue et je me suis posé la même question, voici la réponse.
Réponse courte: Non, sans root, il n'est pas possible d'exécuter un serveur SMB en utilisant les ports par défaut afin qu'il soit trouvé par les PC Windows.
Réponse longue: SMB s'exécute sur les ports 137-139 (UDP et TCP) à l'aide de NetBIOS ou sur les systèmes plus récents (à partir de Windows Vista) directement sur le port TCP 445 où, dans ce dernier cas, les noms d'ordinateur sont résolus par le LLMNR (Link-local Multicast Protocole de résolution de noms) qui s'exécute sur le port UDP 5355. Pourquoi est-ce important? Les applications qui ne s'exécutent pas en tant que root ne peuvent pas se lier à des ports non privilégiés (<1024). Il est possible d'utiliser des ports alternatifs pour SMB mais Windows est câblé pour écouter uniquement ceux par défaut. Donc je suppose que si vous utilisez Linux ou un client SMB séparé pour Windows qui permet de se connecter à un serveur avec un numéro de port personnalisé, c'est probablement possible. Mais ce n'est pas vraiment une façon simple.
la source
\\your.ip:port
...Bien qu'il ne soit pas possible d' exécuter un serveur SMB sans root ou d' utiliser la redirection de port , il est possible d'exécuter un serveur WebDAV sans root pour un effet similaire.
Configuration d'un serveur Android WebDAV
Sur mon Nexus 7 d'origine, j'ai installé WebDAV Server , l'ai ouvert, cliqué sur le bouton Démarrer et j'ai immédiatement pu voir mon
/storage/sdcard
dossier dans mon navigateur Web à l'URL affichée par l'application, c'est-à-direhttp://192.168.x.y:8080
Notez qu'avec WebDAV, vous avez également la possibilité de sélectionner Root (/) ou DCIM ainsi que SdCard comme racine WebDAV .
Utilisation du serveur WebDAV via l'Explorateur Windows
J'ai ensuite mappé en
http://192.168.x.y:8080
tant que lecteur réseau dans l'Explorateur Windows et j'ai pu accéder au contenu de mon lecteur de stockage, comme si j'étais connecté via MTP, mais via une lettre de lecteur.Malheureusement, cette solution est incroyablement lente.
Chaque changement de répertoire prend entre 6 et 20 secondes, tout comme l'accès à la plupart des fichiers. Une fois qu'un fichier est accédé, il est transféré à une vitesse raisonnable (la copie d'un seul fichier de 42 Mo dans l'Explorateur Windows a pris environ 60 secondes, donc 700 Ko / s).
Ainsi WebDAV via l'Explorateur Windows est ok pour télécharger quelques gros fichiers dont vous connaissez l'emplacement, mais parcourir ou synchroniser un appareil entier de cette façon n'est pas rapide. J'ai synchronisé 1,75 Go de données dans environ 6000 fichiers et 400 répertoires et cela a pris 10 heures, soit environ 50 Ko / s ou 10 fichiers / dirs par minute en moyenne.
Utilisation du serveur WebDAV via la ligne de commande Windows
Même à partir de la ligne de commande, chaque liste de répertoires prend 5-6 secondes, comme tout accès aux fichiers. La copie du même fichier de 42 Mo à partir de la ligne de commande a pris environ 20 secondes, soit environ 2,1 Mo / s.
Utilisation du serveur WebDAV via un navigateur Web
L'option la plus rapide pour WebDAV consiste à utiliser votre navigateur Web, directement via l'URL indiquée. Changer de répertoire prend rarement plus d'une seconde et le téléchargement du même fichier de 42 Mo à partir du navigateur Web prend environ 12 secondes, soit environ 3,6 Mo / s.
L'inconvénient de l'utilisation du navigateur Web est qu'il n'affiche que la date (pas de taille ou de type) et ne fait aucune distinction entre les fichiers et les répertoires, donc si un fichier n'a pas d'extension (ou un répertoire en a), cela peut ne pas être évident. si vous cliquez sur un lien, vous accédez à une autre page Web (pour un répertoire) ou lancez un téléchargement (pour un fichier).
Avertissements
Par défaut, Windows limite la taille des téléchargements WebDAV à 50000000 octets (47,6 Mo), bien que cela puisse être modifié via un hack de registre (
FileSizeLimitInBytes
inHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters
) si vous savez ce que vous faites.L'accès WebDAV n'est pas sécurisé . Même si vous définissez un mot de passe sur le partage WebDAV, la connexion ne l'est toujours
http
pashttps
, elle n'est donc pas chiffrée. N'utilisez WebDAV que sur un réseau wifi sécurisé et n'activez certainement pas le serveur WebDAV lorsque vous êtes dans un cybercafé ou un autre wifi non sécurisé.la source
Le problème n'est pas le serveur samba, mais le fait que Windows ne peut accéder à un partage samba que sur le port 445, et sur un android non rooté, une application normale ne peut pas écouter sur le port 445.
Mais vous pouvez surmonter cela avec un mappage de port TCP:
J'ai décrit toutes les étapes en détail ici sur mon blog http://techforpassion.blogspot.it/2013/12/android-how-to-share-folder-over-wifi.html
J'ai essayé différents serveurs samba, et la seule application gratuite qui fonctionne dans cette configuration s'appelle Samba Server
la source
\\androids.ip:7777
dans la barre d'adresse de l'explorateur?Alternativement, vous pouvez exécuter un serveur ftp sur votre téléphone pour accéder au contenu de votre carte SD. Découvrez SwiFTP .
la source
J'ai actuellement terminé une application ( pour les appareils non rootés ) pour partager des fichiers sur le réseau local. Mes leçons apprises:
la source
Je peux me méprendre, mais il semble que vous ayez besoin d'un client SMB, pas d'un serveur. De plus, vous n'avez pas besoin d'un accès root. Pour utiliser SMB pour transférer des fichiers vers votre ordinateur, vous pouvez utiliser ASTRO File Manager avec l' addon SMB , ou il y a File Expert qui est également gratuit.
Vous pouvez également utiliser WebDAV au lieu de SMB avec une application comme WebSharing .
Dans le passé, j'utilisais une application qui, avec un logiciel client sur mon ordinateur, me permettait de transférer des fichiers via l'explorateur de fichiers de n'importe où sur le Web. Ce n'était pas une application VNC complète. J'ai un nouveau téléphone et maintenant, pour la vie de moi, je ne trouve pas l'application.
la source