web-dev-qa-db-fra.com

Transfert direct d'un fichier entre deux ordinateurs sur Internet

Je recherche un moyen simple mais direct de transférer un fichier de tout type et de toute taille entre deux personnes. Si possible, ne possédez qu'un navigateur Web, sans avoir le fichier stocké sur une troisième machine entre-temps.

Je souhaite le faire sans obliger les utilisateurs finaux à se connecter à un troisième serveur, car ainsi les données circuleront dans la machine xyz.com, ce qui ralentira éventuellement le transfert et posera des problèmes de sécurité. des risques.

Je souhaite éviter de configurer un serveur FTP complet uniquement pour des transferts de fichiers occasionnels. Jusqu'à présent, j'ai découvert JetBytes , Click2Copy et PipeBytes . Ces services Web devraient faciliter le transfert. Cependant, le trafic passe par leurs serveurs, ils ne répondent donc pas à mes attentes.

Je veux que le transfert soit direct entre le client et moi. Le cryptage serait une fonctionnalité supplémentaire intéressante de Nice.

Je sais que, ce faisant, je dois ouvrir un port sur mon ordinateur et configurer une redirection de port sur mon routeur. Cependant, NAT traversal serait également un ajout intéressant.

Ma question est:

Existe-t-il un moyen simple d'effectuer un seul transfert direct de fichier de bout en bout entre deux ordinateurs, en évitant les tiers? (si possible, avec chiffrement et NAT traversée)

26
Benoit

Si vous utilisez * nix, le plus sale est d’utiliser netcat (nc) pour lier le fichier à l’hôte distant. Mais si vous voulez un cryptage, vous pouvez aussi bien utiliser SCP/SSH.

Vous devez comprendre que si l'une des parties est derrière un NAT et que vous ne souhaitez pas configurer le transfert de port, il est impossible d'établir une connexion directe sans vous connecter à un serveur tiers. Le serveur ne doit pas nécessairement relayer le trafic (voir http://en.wikipedia.org/wiki/UDP_hole_punching ) et la plupart d'entre eux ne le font pas. car la bande passante est coûteuse.

Par exemple, Skype essaiera d'utiliser de nombreuses méthodes de traversée NAT pour établir une connexion directe avant de recourir au relais du trafic via leurs super nœuds. (Skype est un réseau très P2P.)

En ce qui concerne le problème de compte. Je suppose que c'est inévitable. Toutes les méthodes nécessiteront une configuration ou une configuration qui est généralement plus difficile que d’enregistrer un compte.

12
billc.cn

Les solutions basées sur WebRTC répondent à vos besoins, peut-être sous la forme la plus simple. Vous vous connectez à un site Web tiers, mais cela sert uniquement à connecter les pairs et non la partie de transfert de fichier.

Exemple de services:
https://www.justbeamit.com/
https://www.sharedrop.io/

EDIT: Je comprends que cela ne répond pas à toutes les exigences de l’OP mais il existe une autre solution très pratique: Firefox Send . Avec cela, vous téléchargez votre fichier sur un serveur tiers sous une forme cryptée. Le service vous fournit une URL que vous pouvez partager avec d'autres. L'URL contient également la clé pour déchiffrer le fichier. Ils peuvent ensuite télécharger le fichier. Le fichier est automatiquement supprimé après un nombre défini de téléchargements ou après 24 heures. Le serveur ne voit jamais la clé et ne peut donc pas déchiffrer le fichier. L'utilisation d'un serveur tiers présente l'avantage que la partie de partage et la partie de téléchargement n'ont pas besoin d'être en ligne simultanément.

9
r.v

Vous pouvez synchroniser des fichiers entre ordinateurs distants à l'aide d'un serveur rsync. Cet utilitaire est disponible pour Windows dans cygwin , ou vous pouvez l'installer avec le// pré-emballé cwRsync .

Je laisserai ma réponse précédente intacte, mais compte tenu des révélations récentes concernant la NSA, je ne recommanderais plus Skype pour les transferts de fichiers sécurisés.

Vous pouvez envoyer un fichier directement à une autre personne en utilisant Skype . Skype fonctionne parfois même lorsque les deux utilisateurs sont derrière le NAT. Si vous êtes assez en mesure d'ouvrir un port sur votre routeur, cela augmentera les chances de négociation d'une connexion directe.

Plus généralement, de nombreux programmes de chat incluent un mécanisme de partage/envoi de fichiers. La plupart ne fournissent pas de cryptage par défaut comme Skype. Mais tant que vous et votre destinataire possédez le même client de discussion, vous disposez d'un "outil simple" de partage de fichiers.

8
isuldor

Si votre Linux/unix ssh est un moyen sécurisé de transmettre des fichiers dans un modèle de serveur client. les transferts de port nécessaires sur les connexions entrantes si derrière NAT si.

5
0x7c0

Une fois, j’ai écrit un article sur le transfert de fichiers avec le serveur HTTP intégré de Python . En bref, installez Python, ouvrez une commande Invite, cd, dans le répertoire contenant les fichiers à partager et exécutez python -m SimpleHTTPServer. Très pratique si vous êtes sous Linux ou OS X car Python est installé par défaut (facile à installer sous Windows également).

Si vous êtes derrière un NAT, vous devez configurer la redirection de port sur votre routeur ou autre (que je suppose que vous connaissez déjà).

3
phunehehe

FTP. Il existe depuis des lustres. C'est peu sûr. Et c'est simple.

Téléchargez Filezilla, qui peut fonctionner à la fois comme serveur et comme client. Assurez-vous que votre pare-feu est configuré pour l'autoriser en sortie. Demandez à votre destination de télécharger filezilla et de vous connecter à votre serveur filezilla. Transférer le fichier.

Juste comme ça, tous vos morceaux sont jetés sur Internet pour que tout le monde puisse les voir comme autant de linge se renversant dans la brise de la cour arrière.

3
music2myear

Bit torrent sync synchronise les dossiers sur le Web. Les fichiers sont également cryptés. Vérifiez-le.

http://www.bittorrent.com/sync

2
peter42y

Un serveur Web qui peut faire UPnP NAT traversal fonctionnerait, le destinataire n'aurait besoin que d'un navigateur Web. Comme un cryptage de bonus est facile avec un serveur Web, utilisez simplement https.

Voici un exemple (payware 99USD) RaidenHTTPD

2
Nifle

Vous devriez vérifier http://filesovermiles.com Il semble faire exactement ce que vous voulez. Transfert direct P2P via navigateur (flash).

1
Trevor

Magic Wormhole peut être utilisé pour cela. Sur Ubuntu, vous pouvez installer via apt-get (il est également disponible via Python pip):

Sudo apt install magic-wormhole

Pour envoyer un fichier, vous dites simplement quoi envoyer

wormhole send README.md

Ceci affichera la ligne de commande que vous devriez exécuter du côté destinataire. Cela inclut une clé secrète (qui vous permet également de la lire par téléphone). Vous ne spécifiez aucun nom d'ordinateur ni adresse IP. Wormhole établit automatiquement la connexion et chiffre les fichiers à transférer.

https://magic-wormhole.readthedocs.io/en/latest/welcome.html

1
Juha Palomäki

Pourquoi personne ne mentionne le transfert de IRC DCC? https://en.wikipedia.org/wiki/Direct_Client-to-Client , vous obtenez votre client HexChat, installez-le sur les deux ordinateurs, vous entrez Disons Freenode, puis créez un canal pour les deux, puis faites un clic droit sur l'autre "contact/PC" et envoyez le fichier. Ancienne technologie qui fonctionne toujours, à part Hyperterminal pour la connexion directe par numérotation, entre 1995 et 1998, CDC était le moyen classique de télécharger de la musique et des films.

1
Zacharias

Vous pouvez essayer le transfert de dossier à partir de http://www.foldertransfer.com , qui permet de transférer directement un fichier entre deux ordinateurs sur Internet. Il peut pleinement répondre à vos besoins.

1
user290488