iTunnel


Original: http://www.cs.toronto.edu/~jingsu/itunnel/

status

2010 Wrzesień 27 –
Artykuł z Anton Borisov z powodzeniem w użyciu iTunnel podłączyć iPod Touch na netbooku MIPS.
http://linuxgazette.net/177/borisov.html

2010 Wrzesień 23 –
Amanda Lyn uprzejmie dostarczył białoruski tłumaczenie tej strony iTunnel, związane tutaj: http://www.fatcow.com/edu/itunnel-be/

2009 Listopad 01 –
WAŻNE! Dla osób, które nadal używa iTunnel, należy rozważyć przejście do usbmuxd projektu, który obecnie zawiera funkcjonalność, która zastępuje iTunnel. Poniżej fragment z listu Martin S. Mnie posłał.

Po prostu chciałem, aby przyjąć do wiadomości, że składniki oprogramowania w
libiphone mają dość ewoluował i funkcjonalność iTunnel został włączony
od.

Nasza usbmuxd realizacja demon [1], z odpowiednikami w systemie Linux i Mac
OS X, pakiet narzędzi o nazwie “iproxy”, który umożliwia tunelowanie jak TCP
iTunnel jednak jest bardziej zaawansowany protokół mądry.

To pozwala na wiele połączeń, wiele urządzeń w tym samym czasie, jest
dostępne dla wielu dystrybucji [2] i działa (jeśli kompilowane) na
Win / Mac / Linux wydzielone z bandą a inne nowe funkcje (wsparcie dla nowych
usbmux protokół itp.).

[1]
http://marcansoft.com/blog/iphonelinux/usbmuxd/
[2]
http://matt.colyer.name/projects/iphone-linux/index.php?title=Main_Page

Mam nadzieję, że wszyscy z was są w stanie przenieść się do nowego programu iproxy i doświadczyć jeszcze lepiej i szybciej modemu! :)

2009 Październik 11 – rozwój zatrzymał się na chwilę
Witam wszystkich. Po pierwsze, chcę podziękować wszystkim ludziom, którzy znaleźli to małe narzędzie, aby być użyteczne. I pierwotnie napisał to tylko dla własnego użytku, a to niesamowicie cudowne, że inni są stwierdzenia, że ​​przydatne.

Ostatnio, mój wierny Thinkpad zmarł w męczarniach, w wyniku czego byłem zmuszony kupić nową maszynę. Po dwóch tygodniach torturous self-debata, postanowiłem wziąć nurkowania i kupić komputer Mac. Zamierzam podwójnego rozruchu maszyny, przy użyciu zarówno OSX oraz Linux na nim. Jednak, jak byłem zajęty szkołą niedawno, prawdopodobnie nie będzie się poruszać do utworzenia podwójnego rozruchu aż do Bożego Narodzenia. Tak więc, na razie, działa na iTunnel zostanie zatrzymany na chwilę, ponieważ nie działa pod OSX. Mam nadzieję, że się dostać mój garść wkrótce przy świątecznym.

2009 Wrzesień 1 – problem z połączeniem iTunnel
iTunnel nadal cierpi na problemy z drop połączeń podczas przesyłania dużych ilości danych przez łącze USB. Nie miałem czasu, aby zbadać to, ale to jest na mojej liście zadań rzeczy wypracować.

aktualizacja 2009 Septmber 1 – 3GS wsparcia dodania. Moje najszczersze przeprosiny za to, że tak reaguje na wielu z was, którzy maila mnie z info o uzyskanie wsparcia na 3GS. Grad szkoła została kopać mój tyłek, i będzie nadal to robić w ciągu najbliższych kilku miesięcy. Nowa poprawiona wersja została wydana, które powinny wspierać 3GS. Wielkie podziękowania dla: Jan Chaloupecky, Andrew Kwasik, Wong powiesić, Andre Kuhn i Riccardo Varotto.

aktualizacja, lipiec 2009 9 – mam zaktualizowany mój telefon do pracy (iPhone 3G) do firmware 3.0. iTunnel wydaje się pracować. Tutaj jest proces, w którym zrobiłem upgrade:
uaktualnienie firmware 3.0 za pomocą przywracania apple-podane IPSW
używane PwnageTool spakować niestandardowy IPSW
używane iTunes do przywrócenia za pomocą niestandardowych ipsw
restart telefonu po jego ponownej aktywacji
ostatniej kopii zapasowej, przywracania
użyj Cydia ponownie zainstalować OpenSSH
ponownie uruchomić telefon ponownie
usuń ~ / .ssh / labphone_known_hosts (w zależności od konfiguracji) pliku, w przeciwnym razie możesz się paskudny błąd identyfikacji hosta.
w terminalu przyjmującego uruchomić itunnel
w innym terminalu przyjmującego, uruchom ssh
po 3 minuty opóźnienia na telefonie do obliczenia nowego klucza hosta, SSH prawidłowo podłączony.
regularnej interakcji SSH w linii poleceń pojawi się działać dobrze. Jednak pliki SCP’ing wydaje się być problematyczne. Zobacz poniżej.

2009 lipiec 9 – Problem scp
Czy po uaktualnieniu iPhone 1st Gen i 3G z firmware 3.0 i iTunnel wydaje się pracować w ograniczonej pojemności. SCP’ing plików z iPhone do komputera wydaje się działać dobrze, ale SCP’ing z komputera do iPhone to daje ogromne błędy długość pakietu. Badam to w tej chwili.
Opis

iTunnel prosty Linux programem wiersza poleceń, który zapewnia SSH tunelowania przez kabel USB do jailbroken iPhone. Napisałem ten mały narzędzie bo mam zmęczony po SSH do mojego iPhone na WiFi Link. SSH proxy, ssh i scp wszystko działa świetnie.

Prądu i najnowsza wersja iTunnel obsługuje tylko jeden klient ssh na raz. To sprawia, że ​​kod znacznie prostsze w użyciu. Jednak nadal można mieć wiele SSH sesje je z iPhone za pomocą SSH za kanały do ​​multipleksu na jedno połączenie.

Wiele iPhone kodu połączenia dla tego projektu jest z iFuse projektu. I nie uczynił ten link program dynamicznie do libiphone biblioteki bo potrzebowałem kilka zmian i nie chcą F’-up, co pracuje.

Kod tutaj nie jest ani ładna, ani skuteczne. :. (Ale to rodzaj prac Aktualizacje przyjść jak naprawić rzeczy lub dokonać ulepszenia własnego gustu Zapraszam do mnie e-mail na błędy i propozycje Przepraszam z wyprzedzeniem na nie odpowiedzi od razu (lub w ogóle) jingsu… w cs Toronto.
Pobierz
iTunnel jest LGPL.

wersja 0.0.9, źródło + binary – zmiany:

Jest to niewielka aktualizacja która obsługuje 3GS.

wersja 0.0.5, źródło + binary – zmiany:

Jest to niewielka aktualizacja gdzie dodałem opcję NIE zresetować połączenie USB po każdym kolejnym SSH podłączyć / zamknąć. Teraz możesz dać-noreset opcji wiersza polecenia, aby wyciszyć reset. W przeciwnym razie, wszystko inne jest takie samo.

wersja 0.0.4, źródło + binary – zmiany:

Dzięki Lance Kajdan Mam pozbawione iTunnel dół być jedno-client server, który pomaga znacznie uprościć kod. Nadal można zrobić wiele połączeń SSH poprzez kanał tunelowanie SSH opisane w sekcji ustawień.
Poprawiono kod tak, aby serwer resetuje połączenie USB po każdym zakończeniu połączenia głównego. Mam nadzieję, że to rozwiązuje problem, gdzie po pierwszych zamyka połączenia, kolejne połączenia nie powiedzie się połączyć.
TODO: to nadal wykorzystuje kod zaczerpnięty z libiphone projektu, a nie tylko z linkami do libiphone. Mam nadzieję, że będę miał to wszystko posprzątać szybko.

Lance Kajdan mod, źródło + binary tgz

Kajdan Lance Poprawiono stabilność z 0.0.2 wersji, jak również znacznie upraszcza kod itunnel. Ta zmodyfikowana wersja opiera się na gałęzi rozwojowej git z libiphone i obsługuje tylko jedno połączenie SSH. Nie miałem szansy, aby połączyć się z wersji Lance’a tutaj więc dać to szansę, jeśli masz problemy z aktualnej wersji używam.

wersja 0.0.2, źródło + binary tgz

korzystać z tej wersji, jeśli naprawdę potrzebujesz itunnel do obsługi wielu połączeń SSH.

Ustawienie
uruchomiony tunel
Binarny jest bardzo prosty:
itunnel [port]

W zależności od ustawień systemu, możesz uruchomić itunnel jako użytkownik root. Parametr port jest opcjonalny i domyślnie 3023.

Aby zatrzymać tunelu, zamknąć wszystkie połączenia klientów i naciśnij “Ctrl + C”. Tunel powinien oczyścić i zamknąć.
Połączenie SSH SOCKS proxy

Najpierw uruchom tunel. Następnie otwórz połączenia SSH poprzez wywołanie ssh na localhost w porcie serwera itunnel. Możesz (powinien) uruchomić to jako zwykłe konto użytkownika. Podajemy również flagę SOCKS proxy i określić port skarpetki.

ssh-D 9000-p 3023 127.0.0.1

9000 reprezentuje port skarpety, i można to zmienić na co chcesz. 3023 jest domyślny port nasłuchiwania dla iTunnel, i można to zmienić na co chcesz, jak również, tak długo, jak również zmienić go jako argument wiersza polecenia po uruchomieniu itunnel.

Edytuj swoje preferencje firefox połączeń sieciowych z:
SOCKS proxy: 127.0.0.1 Port: 9000
pamiętać, aby zostawić wszystkie inne opcje proxy PUSTY.

Wreszcie, trzeba dokonać Firefox wysyłać zapytania DNS przez pełnomocnika.
W about: config, ustaw: network.proxy.socks_remote_dns = true.

gotowe!
konfiguracji SSH dla wygody
Dla wygody, można skonfigurować domyślne ustawienia w pliku ~ / .ssh / config pliku. Ponieważ jestem naprawdę źle z opisywania rzeczy, pokażę na przykładzie zamiast. Oto przykładowy wpis z mojej konfiguracji:

MyPhone Host
HostName 127.0.0.1
Port 3023
Użytkownik mobilny
Auto ControlMaster
ControlPath / tmp/master-% r @% h:% s.
ServerAliveInterval 300
UserKnownHostsFile ~ / .ssh / myphone_known_hosts
RemoteForward 2202 localhost: 22

Labphone Host
HostName 127.0.0.1
Port 3023
Użytkownik mobilny
Auto ControlMaster
ControlPath / tmp/master-% r @% h:% s.
ServerAliveInterval 300
UserKnownHostsFile ~ / .ssh / labphone_known_hosts

Tutaj mam dwa wpisy dla dwóch iPhone’ów, że pracują. Jednym z nich jest mój osobisty telefon (myphone), a drugi jest mój telefon do pracy, które robię jakiś rozwój i eksperymenty na (labphone). Ponieważ oboje polecić SSH podłączyć do localhost na porcie 3023, SSH może dać ostrzeżenia o różnych kluczy hostów. UserKnownHostsFile instruuje SSH, aby zapisać znane klucze hosta do innego pliku dla tych dwóch nazw, tak, że nie rozumiem tego błędu. Tak długo, jak pamiętam, aby wywołać odpowiednią nazwę w zależności od urządzenia i podłączyć.

Powyżej config ilustruje również jak skonfigurować kanał tunelowanie za umożliwienie wielu połączeń (dzięki Lance Kajdan za wskazanie na to do mnie). Z tego włączona możesz zadzwonić jak wiele połączeń SSH, jak chcesz, i będziesz wszystko automatycznie multiplex na jedno połączenie.

Wreszcie podano zdalnego naprzód w myphone konfiguracji, co jest pomocne w okazji, jeśli chcesz scp plik z komputera z poziomu telefonu.
Problemy i (potencjalnych) rozwiązania problemów

Po podstawowym połączenie SSH kończy, tunel nie całkowicie zamknąć i zresetować.
Jest to znany błąd i pracuję do śledzenia go. Jednakże, jeśli na wyjściu tunelu widać, że połączenie klienta jest zamknięte i wątek klienta zakończone, ale z jakiegoś powodu serwer nie resetuje, po prostu naciśnij Ctrl + C na tunelu i czekać na to, aby zakończyć. Ponownie uruchom terminal jeszcze raz i powinno działać.

Po naciśnięciu CTRL-C, tunel nie kończy
Jest to również znany błąd, który wydaje się pop-up raz na jakiś czas, a ja nie śledzone go jeszcze. Jeśli wyślesz tunelu piękny zabić, albo wysyłając mu sygnał KILL lub robi CZ, zabij% 1 w bash, należy odpowiednio oczyścić i zamknąć.

Po zamknięciu tunelu, przed odłączeniem kabla USB powoduje ponowne uruchomienie iPhone
Nie byłem w stanie odtworzyć tego błędu. W przypadku wystąpienia tego, proszę wysłać mi kilka szczegółów na temat systemu, jak każdym nietypowym wyjściu dmesg, wersja jądra, wersji libusb, a ja zobaczę, czy uda mi się go wyśledzić.

TODO:

oczyścić tę stronę internetową
dowiedzieć się, jak zatrzymać ładowanie USB, a na uwięzi przez USB

Comments are closed.