Δευτέρα 18 Απριλίου 2011

Android Cisco IPSec VPN

Μια και χάλασε το iPhone 4 που έχω και θα το έστελνα για service εντώς εγγύησης αποφάσισα να αγοράσω ένα οικονομικό κινητό Android μέχρι να έρθει το iPhone 4 πίσω. Αυτό θα μου παρείχε τη δυνατότητα να μπορώ να συνδέομαι ανά πάσα στιγμή στα συστήματα που διαχειρίζομαι (POS/Servers/Routers/Switches) όπως έκανα και με το iPhone (κάτι που λόγω δουλειάς είναι αναγκαίο μια και είμαι on call όλη τη μέρα, κάθε μέρα)

Οι ανάγκες μου είναι σχετικά απλές, να συνδέομαι μέσω IPSec VPN στο γραφείο και μετά με να μπορώ να χρησιμοποιώ VNC/SSH/RDP clients.

Εκ πρώτης όψεως δεν ήταν και κάτι τραγικό και το Android θα υποστήριζε εγγενώς το IPSec VPN ενώ τα clients υπήρχαν άλλα προς αγορά και άλλα δωρεάν στο Android Market. Έτσι τελικά κατέληξα στη συσκευή Samsung Galaxy Mini S5570.

Αφού συγρόνισα τις επαφές κι έκανα τις αρχικές ρυθμίσεις στο κινητό προσπάθησα να αγοράσω το RealVNC Viewer και το iTap RDP τα οποία έχω και στο iPhone, μάταια. Έμαθα ότι τελικά η Google ΔΕΝ έχει προς πώληση εφαρμογές στην Ελλάδα και στην Κύπρο και για να αγοράσει κανείς πρέπει να χρησιμοποιήσει το πρόγραμμα Market Enabler με το οποίο στην ουσία κάνεις spoof τον carrier σε κάποιον από χώρα όπου δραστηριοποιείται το Android Market διαφορετικά περιορίζεσαι μόνο στις δωρεάν εφαρμογές.

Για να τρέξει το Market Enabler πρέπει να έχεις κάνει root το κινητό σου κάτι για το S5570 μπορεί να γίνει με το πρόγραμμα Superoneclick το οποίο, αφού κάνει root το κινητό, εγκαθιστά το πρόγραμμα Superuser το οποίο στη συνέχεια καλείται από όποιο πρόγραμμα χρειάζεται πρόσβαση super user (το γνωστό su για τους φίλους του Unix/Linux).

Έτσι, με το Market Enabler, κατάφερα να αποκτήσω το RealVNC που χρειαζόμουν. To iTap RDP δεν ήταν δυστοιχώς διαθέσιμο στο ιταλικό Android Market, και όπως παρατήρησα μετά δεν μου επέτρεπε να αλλάξω εκ νέου σε Android Market άλλης χώρας.

Στη συνέχεια δοκίμασα να ρυθμίσω το VPN όμως διαπίστωσα ότι εργοστασιακά το Android ΔΕΝ είναι συμβατό με IPSec VPN συμβατό με Cisco. Υποστηρίζει PPTP το οποίο όμως είναι μη ασφαλές και εκτός αυτού το μπλοκάρει και MTN Κύπρου με αποτέλεσμα να μην είναι εφικτό με αυτό να συνδεθείς μέσω 3G ή EDGE. Επίσης υποστηρίζει L2TP VPN, ένα ασφαλές πρωτόκολο VPN το οποίο όμως δεν είναι υλοποιημένο στο δίκτυό μου και δεν άξιζε τον κόπο για 2 - 3 εβδομάδες που θα έχω το Android να ασχοληθώ με αυτό.

Ευτυχώς, όντας το Android μια ανοιχτή πλατφόρμα, υπάρχουν χρήστες που έχουν δημιουργήσει οι ίδιοι μια εφαρμογή με όνομα VPN Connections η οποία επιτρέπει τη δημιουργία IPSec στο Android η οποία όμως για να λειτουργήσει χρειάζεται ένα tunneling module (tun.ko) το οποίο δεν είναι παρόν στην υλοποίηση Android στο Samsung Galaxy Mini S5570 (και σε αρκετά άλλα κινητά Android όπως διαπίστωσα).

Κατά συνέπεια, και αφού δεν βρήκα το tun.ko αναγκάστηκα να κατεβάσω το Android SDK, το source code για τον πυρήνα του Linux για το S5570 από τη Samsung, να τραβήξω ένα config file από το κινητό, να τροποποιήσω το .config και Makefile για να κάνω enable το αντίστοιχο module και να δηλώσω που βρήσκεται ο compiler κλπ κλπ και να κάνω compile τα modules.
(Για τους χρήστες Mac όπως εγώ πρέπει να γίνουν εγκατάσταση και οι βιβλιοθήκες libelf μέσω του port install)

Μετά έκανα mount το /system στη συσκευή μου με read-write access, δημιούργησα στο /system/lib το φάκελο modules που δεν υπήρχε και ανέβασα το tun.ko σε αυτόν. Από console έτρεξα το insmod /system/lib/modules/tun.ko και αφού δεν ανέφερε σφάλμα δοκίμασα το VPN Connections το οποίο και δούλεψε τελικά.

Κατά τη γνώμη μου είναι μεγάλη παράβλεψη που το Android δεν υποστηρίζει εγγενώς το IPSec της Cisco και η διαδικασία παράκαμψης αυτής της έλλειψης είναι μια αρκετά μεγάλη πρόκληση ακόμα και για έμπειρους χρήστες. Έχοντας εμπειρία σε Linux από το 1999 περίπου κι έχοντας περάσει από αρκετά Kernel compilations για να ενεργοποιήσω κάρτες δικτύου ή κάρτες ήχου ξόδεψα περίπου 20 ώρες για να βρώ τις απαραίτητες πληροφορίες, να κατεβάσω τα απαραίτητα προγράμματα και τον πηγαίο κώδικα για να προσθέσω αυτή τη δυνατότητα στο κινητό μου. Πλέον όντας επαγγελματίας κι όχι φοιτητής είμαι της λογικής ότι τα πράγματα πρέπει να είναι απλά και να δουλεύουν. Δεν θέλω να χάνω άλλο το χρόνο μου προσπαθώντας να τα κάνω να δουλέψουν αλλά αξιοποιώντας τις λειτουργίες τους κι εκεί είναι που η Apple με κερδίζει...

Επειδή ίσως να φανεί χρήσιμο και σε κάποιον άλλο:
Πατήστε εδώ για λήψη του tun.ko για Samsung Galaxy Mini S5570
Πατήστε εδώ για οδηγίες για compiling του module tun.ko σε HTC Hero τις οποίες χρησιμοποίησα ως βάση για να κάνω την αντίστοιχη διαδικασία για το S5570
Πατήστε εδώ για το Site της Samsung όπου δημοσιεύει τον Open Source Κώδικα για όλες τις συσκεύες της και φιλτράρετε το μοντέλο σας.

Τετάρτη 23 Σεπτεμβρίου 2009

Over promise, under deliver... Το κλασσικό φαινόμενο Microsoft επιστρέφει στην πιο γοητευτική του μορφή...

Εδώ κι αρκετό καιρό κυκλοφορούν έντονα φήμες ότι η Apple ετοιμάζεται να παρουσιάσει ένα Tablet Mac. Οι φήμες αυτές, στην πλειοψηφία τους, θέλουν την Apple να το εμπορεύεται το πρώτο τρίμηνο του 2010 και να γνωρίζει την επιτυχία του iPhone.

Η Microsoft, μια και έχει αρχίσει να χάνει σε κάθε μέτωπο, όπως π.χ. στα κινητά τηλέφωνα (από το iPhone αλλά και το Android της Google), στην αναζήτηση στο internet (από το Google), στους Web Browsers (από το Firefox της Mozilla) κλπ. επαναλαμβάνει την πάγια τακτική της να ανακοινώνει ότι ετοιμάζει, εργάζεται πάνω σε ένα project που θα φτιάξει το τέλειο tablet και μάλιστα παρουσίασε κι ένα μη λειτουργικό μοντέλο (mock up) καθώς κι ένα βίντεο προθέσεων του προϊόντος με την κωδική ονομασία Courier. To Tablet τόσο στις φωτογραφίες όσο και στο βίντεο που το συνοδεύει φαίνεται εντυπωσιακό. Τόσο ως προς την εμφάνιση όσο κι ως προς τη λειτουργία του. Μάλιστα είμαι βέβαιος ότι αν αυτό το προϊόν υπήρχε στο εμπόριο θα έκανε θραύση ενώ σίγουρα θα αγόραζα κι εγώ ένα. Κάπου εδώ υπάρχει ένα "αλά". Το προϊόν αυτό μέχρι στιγμής υπάρχει μόνο ως προϊόν μάρκετινγκ της Microsoft κι όχι ουσιαστικά.

Αν κάτι μας έχει δείξει η ιστορία της Microsoft είναι ότι τα τρία δυνατά χαρτιά που έπαιξε από την ίδρυσή της ως σήμερα είναι η Αντιγραφή, η εξαγορά άλλων προϊόντων/τεχνολογιών και η διαρροή φημών ότι ετοιμάζει κάτι καλύτερο ώστε να παγώνει την αγορά που περιμένει το δικό της προϊόν το οποίο συνήθως είναι υποδεέστερο και παραδίδεται στην αγορά με μεγάλυ καθυστέρηση.

Χαρακτηριστικό παράδειγμα τα Windows Longhorn (γνωστά και ως LongWait) τα οποία αναμενόταν τον Οκτώβρη του 2003 και τελικά ενσαρκώθηκαν υπό τη μορφή των Windows Vista το 2006.

Σε αυτό το σποτάκι από τη Μicrosoft επιδεικνύει τα χαρακτηριστικά των Longhorn

Όπως είναι εμφανές σε όποιον έχει χρησιμοποιήσει τα Vista, το λειτουργικό που παρουσιάστηκε το 2003 δεν έχει καμμία απολύτως σχέση με τα Vista.

Το ίδιο προβλέπω να γίνεται και με το Courier. Η Microsoft, ως πυροτέχνημα, εμφανίζει τις "ερευνητικές" της προσπάθειες με το Courier δημιουργώντας μια αναμονή στην αγορά η οποία όμως θα διαψευσθεί στην πορεία έχοντας όμως αφήσει το όποιο ανταγωνιστικό προϊόν να συγκρίνεται με μια ιδέα.

Αν είναι όμως να μιλάμε για mock ups και ιδέες νομίζω πως έχει αργήσει κατά μια εικοσαετία μιας και το 1987 η Apple είχε παρουσιάσει αυτή την ιδέα


Παρασκευή 11 Σεπτεμβρίου 2009

Η ζωή με το iPhone...

Μετά από ένα χρόνο και δύο μήνες που αγόρασα το MacBook Pro και χρησιμοποιώ πλέον αποκλειστικά το Mac OS (στο οποίο ελπίζω να αναφερθώ εκτενέστερα στο άμεσο μέλλον), αγόρασα ένα μεταχειρισμένο iPhone πρώτης γεννιάς.

Μετά από αρκετά χρόνια χρήσης διαφόρων κινητών από τις Ericsson, Sony Ericsson, Nokia, Philips, Siemens, Motorola, Imate ομολογώ ότι έχω εντυπωσιαστεί. Ιδίως συγκρίνωντάς το με τα Windows Mobile (επίσης Pocket PC και CE) που είχα κυρίως δοκιμάσει στο Imate KJam (που στην ουσία είναι HTC Wizard re-branded), σε Symbol MC9090, σε Symbol MC3000 καθώς και το Pocket PC της HP iPAQ 5450.

Για μία ακόμη φορά η Apple είναι πιστή στη φιλοσοφία της. Όταν κάνει κάτι το κάνει σωστά. Στα 2 χρόνια που πέρασαν από το 1997 που εμφανίστηκε το πρώτο iPhone, η Apple με incremental updates τόσο στο software όσο και στο hardware έχει καταφέρει να εκτοπίσει όλες τις εταιρίες που παράγουν smartphones, οι οποίες εκ των υστέρων τρέχουν να την προλάβουν. Δεν είναι τυχαίο ότι όλα τα smartphones που βγήκανε μετά το iPhone διεκδικούν τον τίτλο του "iPhone killer".

Το ποιό απίστευτο ίσως είναι ότι το iPhone δεν κάνει ίσως τόσα πολλά πράγματα όπως τα Windows Mobile π.χ. (άλλωστε μέχρι πρόσφατα δεν υποστήριζε ούτε MMS, ούτε Copy & Paste) όμως αυτά που κάνει τα κάνει με ένα απίστευτα διαισθητικό τρόπο.

Η οθόνη αφής εκτός από πανέμορφη είναι καταπληκτική στη χρήση της, τα gestures, ο Safari που μπορώ να πω αποτελεί το φως στη χώρα τον τυφλών όσον αφορά τους mobile web browsers και φυσικά το App Store που για μένα είναι η φιλοσοφική λίθος του iPhone.

Το iPhone δημιούργησε ένα απίστευτο και πρωτοφανές οικοσύστημα εφαρμογών που μπορεί κανείς να αποκτήσει με τον πιο εύκολο και πρακτικό τρόπο είτε είναι δωρεάν είτε επί πληρωμή. Το μοίρασμα των κερδών 70-30 υπέρ των προγραμματιστών μαζί με ένα δυνατό SDK, και φυσικά το ανάλογο hardware, έδωσε κίνητρο να δημιουργηθού οι πιο ευφάνταστες εφαρμογές. Δεν είναι τυχαίο ότι σύντομα ξεπέρασαν τις 65000 οι διαθέσιμες από το App Store εφαρμογές.

Μετά από αυτή την επιτυχία της Apple οι ανταγωνιστές έσπευσαν να ανακοινώσουν τα δικά τους App Stores αναγνωρίζοντας εκ των υστέρων την ουσιαστική ανάγκη των χρηστών να βρίσκουν σε ένα μέρος, one stop shop, όλες τις εφαρμογές που είναι διαθέσιμες για το κινητό τους.

Ας ελπίσουμε ότι η Apple θα συνεχίσει να πρωτοπορεί και να οδηγεί ανταγωνιστικά την αγορά μπροστά...


Πέμπτη 2 Ιουλίου 2009

Τα Windows ποτέ δεν σταματούν να με εκπλήσσουν...

Από τον καιρό του MS-DOS τα Windows υποστήριζαν ένα μοτίβο ονομασίας των αρχείο της μορφής "όνομα τελεία επέκταση" (π.χ. somefile.txt).


Στην αρχή το MS-DOS επέτρεπε την ονομασία αρχείων με 8 χαρακτήρες για το όνομα και 3 χαρακτήρες για την επέκταση και φυσικά μόνο μια τελεία. Με την έλευση των Windows 95 προστέθηκε η δυνατότητα για μεγάλα ονόματα αρχείων (long file names) που δεν περιορίζονταν σε 8.3 όπως πριν. Εκτός από την αύξηση των χαρακτήρων, δώθηκε και η δυνατότητα να χρησιμοποιούνται περισσότερες από μία τελείες. Π.χ. το this.file.has.more.dots.txt είναι πλέον αποδεκτό ενώ το μέγιστο μέγεθος μιας διαδρομής (path) ή συνδιασμού διαρομής και ονομάτων αρχείων είναι 256 χαρακτήρες.


Συνεπώς δεν μπορούμε να δημιουργήσουμε αρχεία τα οποία μαζί με τη διαδρομή τους (π.χ. "c:\some directory\some other directory") να ξεπερνάνε τους 256 χαρακτήρες.


Τι γίνεται όμως αν σε ένα υπολογιστή με το όνομα PC1 έχουμε έναν κοινόχρηστο φάκελο, έστω τον "c:\Documents and settings\Username\My Documents\Shared" με το όνομα Shared και μέσω της διαδρομής δικτύου δημιουργήσουμε ένα αρχείο κειμένου σε αυτόν;


Στην περίπτωση αυτή η διαδρομή δικτύου θα ήταν \\PC1\Shared, κατά πολύ μικρότερη από την πραγματική θέση του ("c:\Documents and settings\Username\My Documents\Shared") οπότε τα Windows XP θα μας επέτρεπαν να δημιουργήσουμε το αρχείο λαμβάνοντας υπόψιν μόνο το μέγεθος της διαδρομής δικτύου κι όχι της πραγματικής θέσης. Έτσι αν εξαντλήσουμε τον αριθμό χαρακτήρων που τα Windows μας επιτρέπουν το αρχείο αυτό δεν θα είναι προσβάσημο από την πραγματική του διαδρομή αλλά μόνο από τη διαδρομή δικτύου! Έτσι δεν θα μπορεί κανείς να το ανοίξει, διαγράψει, μετονομάσει ή μεταφέρει σε άλλο φάκελο παρά μόνο μέσω της διαδρομής δικτύου. Καταπληκτικό;


Σε αυτό βέβαια υπάρχει κι ένα μικρό παραθυράκι... Αν στην κανονική διαδρομή για το αρχείο (π.χ. "c:\path\to\file\file.txt") προσθέσουμε χρησιμοποιήσουμε το \\?\ (οπότε θα έχουμε πλέον "\\?\c:\path\to\file\file.txt") το οποίο υποδεικνύει στα windows να ΜΗΝ ελέγξουν το path και το όνομα αρχείου για επιτρεπτούς χαρακτήρες και αριθμό χαρακτήρων πριν να εκτελέσουν την εντολή.

Έτσι μπορούμε από τη γραμμή εντολών να διαγράψουμε ή να μετονομάσουμε το αρχείο με τις γνωστές εντολές του MS-DOS ren, del ή και move για μεταφορά σε άλλο φάκελο. Αυτό το "κόλπο" μπορεί να χρησιμοποιηθεί και την περίπτωση που έχουν δημιουργηθεί μη κανονικά ονομαζόμενα αρχεία όπως π.χ. κάποιο αρχείο που τελειώνει σε τελεία.


Τώρα τι είχαν στο μυαλό τους στη Microsoft ένας Θεός ξέρει...

Τρίτη 7 Οκτωβρίου 2008

Μεταφορά αρχείων από ξένο iPod

main.png 500×340 pixels.jpgΌπως γνωρίζουν οι περισσότεροι χρήστες iPod, δεν είναι δυνατόν να μεταφέρεις τα τραγούδια (και γενικά το περιεχόμενο) ενός iPod άλλου χρήστη στη βιβλιοθήκη iTunes σου. Καθώς πρόσφατα αγόρασα ένα μεταχειρισμένο iPod και ήθελα να κρατήσω κάποια βίντεο που είχε μέσα, έψαξα για το κατάλληλο πρόγραμμα για OS X και βρήκα το Senuti.<

Το Senuti είναι πολύ απλό στη χρήση και επιτρέπει τη μεταφορά τραγουδιών, video είτε απ'ευθείας στο iTunes (συμπεριλαμβανομένων των Playlist), είτε σε φάκελο που επιλέγουμε διατηρώντας τη δομή Καλιτέχνη/Άλμπουμ.

Παρασκευή 27 Ιουνίου 2008

Προβλήματα με τον προεπιλεγμένο browser


Όπως και πολλοί άλλοι, εγκατέστησα κι εγώ τον firefox 3. Σαφώς ταχύτερος από τον προκάτοχό του, και στο αρχικό φόρτωμα και στο άνοιγμα των σελίδων. Όμως την καρδία μου έχει κλέψει ο Safari της Apple τον οποίο άρχισα να χρησιμοποιώ δειλά δειλά τον Αύγουστο από τις πρώτες beta εκδόσεις του για Windows μέχρι και σήμερα που είναι ο κύριος browser που χρησιμοποιώ.

Το μόνο που πραγματικά μου λείπει σε αυτόν είναι το Piclens extension το οποίο υποστηρίζει το browser αυτόν αλλά μόνο σε OS X. 

Εγκαθιστώντας τον Firefox 3, παρατήρησα ότι ο Safari δεν ήταν πλέον προεπιλεγμένος στα Windows. Δοκίμασα τα πάντα, μέσα από τον ίδιο το Safari, από το Set Program Access and Defaults αλλά μάταια... Μπορούσα να ορίσω τον Internet Explorer ως προεπιλεγμένο, το Firefox, αλλά ο Safari δεν... 

Το καλό το παλικάρι ξέρει κι άλλο...Google όμως... Έτσι, έκανα αναζήτηση για "Windows XP default browser utility" η οποία με οδήγησε στο Utility Default Browser με το οποίο και έλυσα το πρόβλημά μου...

Τρίτη 4 Μαρτίου 2008

Windows 98 και TCP/IP προβλήματα

Ναι, τα Vista(ή Σβήστα, όπως το πάρει κανείς) έχουν βγεί αρκετό καιρό τώρα, τα XP περισσότερο, και τα Windows 2000 άστο καλύτερα... Όμως υπάρχει ακόμα κόσμος που
για διάφορους λόγους χρησιμοποιεί ακόμα τα Windows 98.

Μια από τις "κουφές" ζημιές που παθαίνουν αρκετά σπάνια είναι η βλάβη στο WinSock. Το αποτέλεσμα αυτής της ζημιάς είναι ότι τα Windows 98 ενώ βλέπουν κανονικά το δίκτυο, κάνουν και γίνονται Ping από άλλους υπολογιστές του δικτύου, κάνουν Ping το Gateway και το DNS Server, οι εφαρμογές που χρησιμοποιούν το Winsock (Web browsers, email clients etc.) δεν συνδέονται πουθενά (π.χ. οι web browsers δεν μπορούν να ανοίξουν σελίδες στο Internet).

Ένα πολύ πρακτικό utility για επιδιόρθωση του Winsock είναι το Winsock2 Fix το οποίο παρέχεται από το κέντρο υποστήριξης PCSC του Πανεπιστημίου της Βοστόνης