Στο σημερινό tip θα δούμε πως μπορούμε να κάνουμε μεταφορά αρχείων από PC σε PC με το Magic Wormhole σε Linux, Windows ή Mac είτε αυτά είναι στο σπίτι μας είτε στην άλλη άκρη του πλανήτη.
Όπως δείχνει και το comic strip απο το xkcd το να στείλεις ένα αρχείο από ένα υπολογιστή σε ένα τυχαίο άλλο είναι ένα δύσκολο πρόβλημα. Στεφτείτε λίγο πως θα μπορούσατε να στείλετε σε στο αφεντικό σας (που μεταξύ μας δεν τα πάει και πολύ καλά με την τεχνολογία) ένα μεγάλο αρχείο ή ένα μικρό αρχείο που περιέχει ευαίσθητα δεδομένα όπως εταιρικούς κωδικούς.
Υπάρχουν βέβαια πολλές απλές λύσεις, όπως το email ή το dropbox, ή το παλιό καλό ftp, αλλά δεν θα βρεις μα λύση που να δουλεύει με μεγάλα αρχεία και με ασφαλή μεταφορά.
Το πρόβλημα αυτό ήρθε να λύσει η μαγική σκουληκότρυπα (magic-wormhole). Το magic wormhole θα δημιουργήσει μια ασφαλή σύνδεση μεταξύ των υπολογιστών και η μεταφορά θα γίνει με τις ταχύτητες ανεβάσματος (Ονειρεύομαι την μέρα που θα απαιτήσουμε όλοι από τους παρόχους συμμετρικές γραμμές για ισότιμη συμμετοχή στο δίκτυο, αλλά αυτό είναι μια άλλη ιστορία)
Εγκατάσταση του Magic Worhole
Το magic wormhole απαιτεί απλά να είναι εγκατεστημένο το pip στην διανομή σας κάτι που το κάνει διαθέσιμο σε όλες τις διανομές για εγκατάσταση με μια εντολή. Για παράδειγμα σε όσους έχουν διανομές APT θα δώσουμε τις εντολές :
sudo apt install python-pip
sudo -H pip install magic-wormhole
Η εντολή pip που δώσαμε παραπάνω, είναι κάτι σαν το apt για προγράμματα που έχουν γραφτεί στην γλώσσα προγραμματισμού python.
Χρήση του Magic Wormhole
Η χρήση της είναι απλή. Είναι ένα εργαλείο γραμμής εντολών (άντε να το εξηγήσεις στο αφεντικό αυτό, αλλά τεσπά).
Στον ένα υπολογιστή γράφεις
wormhole send <ονομα_αρχειου>
αφού πρώτα κάνεις cd στον κατάλογο που υπάρχει το αρχείο (αφεντικό ψυχραιμία).
Η μαγική λέξη θα φτιαχτεί αυτόματα και είναι όπως είδατε ευανάγνωστη και εύκολη στην μεταφορά, ή τουλάχιστον ευκολότερη από κάτι σαν το «i9LMteuS7zSFXj4U». Και πολύ ποιο εύκολο από το να πεις από το τηλέφωνο την διεύθυνση του email σου – πόσες φορές το καταφέρατε αυτό με την πρώτη προσπάθεια;. Υπονοείτε εδώ πως ήδη έχεις ανοικτό ένα κανάλι άμεσης επικοινωνίας με το αφεντικό.
Για το αφεντικό λοιπόν τα πράγματα είναι ποιο απλά. Θα πρέπει να γράψει μόνο
wormhole receive <μαγική-λήξη>
Θα πεις στο αφεντικό την μαγική λέξη για να το παραλάβει, στο παράδειγμα μας «7-guitarist-revenge» και αυτό ήταν. .
Η μεταφορά θα ξεκινήσει αμέσως μετά και τα δύο μέρη θα πάρουν επιβεβαίωση λήψης.
Εάν γίνει προσπάθεια υποκλοπής αυτό θα γίνει αντιληπτό και η μεταφορά θα σταματήσει.
Ναι είναι τόσο απλό. Και το καλύτερο δουλεύει και στον υπολογιστή του αφεντικού που έχει Mac για να πουλάει μούρη.
Λεπτομέρειες για πως δουλεύει θα βρείτε εδώ http://www.lothar.com/%7Ewarner/MagicWormhole-PyCon2016.pdf και εδώ ένα βίντεο παρουσίασής του:
Η σελίδα του έργου είναι εδώ https://github.com/warner/magic-wormhole.
Η σειρά άρθρων #cinnamon_linux_tips και #linuxmint_tips είναι μια σειρά μικρών και χρήσιμων συμβουλών, όπως δημοσιεύθηκαν στην κοινότητα Linux Mint και αντιγράφτηκαν εδώ με την σύμφωνη γνώμη του Διόνυσου Ασφοδελάκη (Talos)
Υπηρχαν και πιο πριν αντιστοιχα προγραμματα διοτι αν οχι απορω για το γιατι;
Δεν υπήρχαν λύσεις που να μην απαιτούν είτε να στήσεις μια υποδομή, είτε να χρησιμοποιήσεις μια υπηρεσία με πληρωμή. Σίγουρα μπορούσες να στήσεις ένα ftp ή ένα ssh server. Και να ανοίξεις πόρτες στο firewall και στον ρούτερ, να διαχειριστείς κλειδιά και κωδικούς κλπ. Αν έχεις την υποδομή έτοιμη είναι προφανώς καλύτερη λύση να την χρησιμοποιείς κιόλας. Ούτε δεν έχουν θέση υπηρεσίες αποθήκευσης στο cloud. Άλλα αν θέλεις να μεταφέρεις ένα αρχείο περιστασιακά δεν υπήρχε λύση.
Ο λόγος έχει να κάνει στο ότι είναι δύσκολο να μιλήσουν 2 τυχαίοι υπολογιστές όταν και οι δύο δεν είναι συνδεμένοι στο διαδίκτυο. Και ο υπολογιστής σου τώρα που το διαβάζεις δεν είναι συνδεμένος. Ναι καλά το άκουσες, δεν είναι συνδεμένος στο internet. Είναι συνδεμένος μόνον ο ρούτερ σου. Και με διάφορες ταρζανίες μοιάζει να είσαι συνδεμένος και εσύ. Κάποιοι λίγοι τυχεροί σε πανεπιστήμια και εταιρίες ίσως να είναι συνδεμένοι.
Αυτή η εικόνα καταρρέει όταν ένα πρόγραμμα θέλει να γίνει server και όχι να είναι απλά πελάτης. Ίσως να έχεις ανοίξει πόρτες στο ρούτερ και να έχεις κάνει port-forwarding. Μόνο που αυτό αφορά μια στατική κατάσταση, και όχι το UPnP δεν επαρκεί σε αυτή την περίπτωση.
Αυτό συμβαίνει γιατί έχουμε ακόμα IPv4 και έχουν τελειώσει οι διευθύνσεις του. Εδώ και χρόνια βέβαια ΘΑ έρχονταν το IPv6 με «άπειρες» διευθύνσεις και θα λύνονταν το πρόβλημα (και θα είχαμε προβλήματα επιτήρησης).
Έχουν αναπτυχθεί κάποιες λύσεις τα τελευταία χρόνια αρκετά πολύπλοκες για να περιγραφούν που παρακάμπτουν το πρόβλημα (STUN/TURN/ICE/Tor) αλλά θέλουν πάλι ένα τρίτο υπολογιστή να κλείσει το ραντεβού. Και δεν είναι αυτή την στιγμή εύκολες τεχνολογίες ούτε δουλεύουν με κάθε ρούτερ. Το magic-wormhole δεν έχει καταφέρει να τα χρησιμοποιήσει ακόμα.
Σε ευχαριστω για την πολυ κατατοπιστική απαντησή σου. Νομιζα οτι ηταν πιο απλο το θεμα, αλλά αν ηταν θα ειχε ηδη επιλυθει.
Λογικα με το IPv6 θα ηταν και πιο ανεβασμενες οι ταχυτητες. Περαν της επιτηρησης που ειναι ενα πολυ πιο σοβαρο θεμα.
Ευχαριστούμε πάρα πολύ για το άρθρο! Πολύ ενδιαφέρον και χρήσιμο!
Ευχαριστώ πάρα πολύ και για τις απαντήσεις σας, αλλά αν και είναι πολύ ενδιαφέρουσες με μπερδεύουν ( και ας τις κατανοώ μέχρι ένα σημείο ).
Γιατί το magic wormhole δε τα καταφέρνει εν τέλει ;
Δηλαδή δε λειτουργεί ;
Τι εννοείς δεν λειτουργεί ; Σου βγάζει κάποιο σφάλμα ;
Όχι, αναφέρομαι στο σχόλιο του @Διόνυσος Ασφοδελάκης :
«Και δεν είναι αυτή την στιγμή εύκολες τεχνολογίες ούτε δουλεύουν με κάθε ρούτερ. Το magic-wormhole δεν έχει καταφέρει να τα χρησιμοποιήσει ακόμα.»