Xiaoyi – Xiaomi Ants / Smart / Home – usunięcie blokady regionalnej!

Przypominacie sobie sporą dyskusję, która toczyliśmy w komentarzach pod recenzją kamery IP od ? Jeśli nie to tutaj możecie sobie przypomnieć: KOMENTARZE. Wielu z Was interesowało jak zdjąć blokadę regionalną z tej kamery. Oto rozwiązanie.

Square-Logo2-2-1024x1024

Wszystkie problemy świata zaczęły się gdy Xiaoyi/ zaczęło wypuszczać swoje międzynarodowe wersje sprzętu. Każdy z nas kupował je w chińskich wersjach bo były po prostu tańsze o co najmniej 20%. Jak do tej pory pomimo ciągłego nacisku i wielu aktualizacjach firmware i aplikacji nie udało się osiągnąć celu: czyli namówić wszystkich właścicieli chińskiego sprzętu poza Chinami do zakupu wersji międzynarodowych.

Wyjątkiem od reguły była kamera Xiaoyi Ants/Home/Smart. W której deweloperzy umieścili aplikację, która sprawdza w jakiej wersji jest kamera (CN czy INT) isprawdza w jakiej części świata jest używana. Jeśli w Chinach – OK. Jeśli poza Państwem Środka – dostajemy informację od mile brzmiącej pani, że kamera może być używana tylko na terenie Chin i kamera wyłącza się... Cykl się powtarza przy każdym włączeniu do sieci.

Odpowiednie ostrzeżenie umieściliśmy jako dodatkową aktualizację Recenzji,która możecie podejrzeć TUTAJ.

W felietonie o tym jak zainstalować dodatkowe usługi – RTSP, telnet, www czy ftp – opisaliśmy z których wersji firmware korzystać aby uniknąć zbanowania.

Wpis możecie podejrzeć TUTAJ.

Rozwiązanie problemu


Pewnie i tak nikt z Was nie przeczytał wstępu, tylko od razu polecieliście do tego akapitu żeby poznać rozwiązanie 🙂 A więc nie będę przedłużał.

W pierwszej kolejności potrzebujemy mieć dostęp do połączenia przez telnet, więc na kartę microSD sformatowaną w FAT32 musicie załadować folder test wraz z jego zawartością, cała procedura jest opisana w TYM artykule, więc nie będę jej tutaj opisywał ponownie.

Następnie zaktualizujcie sobie kamerę przez aplikację. Po zrestartowaniu odpalcie putty czy inny klient telnetowy, połączcie się (root/1234qwer) i teraz wystarczy uruchomić te 3 komendy, jedna po drugiej i zrestartować kamerę:

ps | grep /home/watch_process | grep -v "grep" | awk '{print $1}' | xargs kill -9
ps | grep /home/cloud | grep -v "grep" | awk '{print $1}' | xargs kill -9
sed -i 's|api.xiaoyi.com/v4/ipc/check_did|api.xiaoyi.cox/v4/ipc/check_did|g' /home/cloud
reboot

I to tyle! Kamera uruchomi się i będzie już działać na najnowszym firmware.

Moja chińska kamera z najbardziej aktualnym firmware:

Screenshot_2016-05-24-19-59-18

Dla ciekawych


Jak działa blokada regionalna?

Kamera komunikuje się z serwerami api.xiaoyi.com przez binarkę cloud podczas parowania oraz uruchamiania kamery po stracie napięcia. Wysyła Twoje ip do swoje serwera matki i dostaje odpowiedź:

[/home/cloud][4/29/22:51:48:52]: req_info=https://api.xiaoyi.com/v4/ipc/check_did?hmac=XXXXXXXXXXXXXXX%3D&seq=9
&uid=XXXXXXXXXXXXXX&timestamp=4294938554
{"allow":false,"code":"20000"}

allow:false oznacza że kamera zostanie zbanowana. Jest kilka sposobów aby to oszukać. Można postawić swój serwer DNS, który będzie przekierowywał zapytania do api.xiaoyi.com na jakikolwiek adres, najciekawsze jest to, że kamera nie oczekuje odpowiedzi allow:true, brak odpowiedzi jest równoznaczny z pozwoleniem na dalsze użytkowanie.

W ten sposób Xiaomi zabezpieczyło się na wypadek jakby serwer-matka miał chwilową awarię. Raczej nikt, kto kupił kamerę w wersji międzynarodowej nie chciałby usłyszeć że jego kamera jest zbanowana tylko dlatego że na kilka sekund serwer na którym stoi api.xiaoyi.com stracił połączenie ze światem.

Można się też pobawić i przekierować DNS na prawdziwą stronę – utworzoną przez siebie, która zawsze generowała by odpowiedź allow:true, ale w tej chwili nie ma takiej potrzeby 🙂

No i trzecim rozwiązaniem są te trzy komendy, które należy uruchomić.

  • Pierwsza z nich zabija watch_process, czyli aplikację która sprawdza inne procesy, czy działają niezakłócone, czy akurat zaliczyły crash i trzeba je resuscytować.
  • Druga – zabija aplikację cloud abyśmy mogli bezproblemowo ją edytować
  • Trzecia podmienia adres api.xiaoyi.com na api.xiaoyi.cox – aby dostać odpowiedź o niedostępności serwera.

Tyle i aż tyle.

Otwarte punkty, pytania


  • Czy w związku z tym będzie działać oficjalna aplikacja z Google Play?
  • Nie, nadal trzeba mieć zainstalowaną wersję chińską. Najnowszą wersję możecie ściągnąć z tej strony: http://app.mi.com/detail/75646
  • Jakie jest aktualnie najnowszy firmware i czy działa nań RTSP?
  • Najbardziej aktualny fw to 1.8.6.1B, nie działa RTSP. Serwer RTSP działa do wersji M włącznie. Firmware wraz ze skryptami możecie pobrać z tej strony: http://xiaoyi.querex.be/
  • Czy te zmiany są bezpieczne i kamera mi się nie „zepsuje” ?
  • Nikt nie daje gwarancji na tą zmianę, ale jest ona odwracalna w każdej chwili, wystarczy zainstalować inny/starszy firmware.

Podziękowania


Autorem tego opracowania jest blog: https://diy.2pmc.net/

Udostępnij na: