[-]
Szybkie szukanie


Baner sklepu jdtech.pl
Odpowiedz 
 
Ocena wątku:
  • 1 Głosów - 5 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
dekapeć - tylko dla programistów
03-04-2014, 13:57 (Ten post był ostatnio modyfikowany: 02-05-2014 14:02 przez szopen.)
Post: #1
Lightbulb dekapeć - tylko dla programistów
Zapraszamy do dyskusji na temat programu wspomagającego korzystanie z połączeń Aero2. Szczegóły w artykule dekapeć - oprogramowanie wspierające użytkowników Aero2 na blogu jdtech.pl.

Ten wątek jest przeznaczony tylko dla programistów i osób wspierających projekt od strony technicznej. Wszystkie posty niespełniające tego wymogu będą natychmiast usuwane.

Wszystkie inne uwagi - zapraszamy do wątku dyskusji ogólnej do programie dekapeć. Wszelkie uwagi, pomysły i komentarze są tam mile widziane.
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
[-] 1 użytkownik podziękował użytkownikowi jakubd za tę wiadomość:
K4r0lSz (2014-04-03)
03-04-2014, 14:33 (Ten post był ostatnio modyfikowany: 03-04-2014 15:27 przez nice1.)
Post: #2
RE: dekapeć - tylko dla programistów
Chciałbym poruszyć problem, który zaobserwowałem wczoraj (na urządzeniu mobilnym) podczas pierwszych przygód z captcha. Jest to moim zdaniem spory problem, którego aero2 nie przewidziało albo po prostu został olany. Mianowicie: załóżmy że na telefonie, bądź tablecie używamy aplikacji, które pingują jakiś adres z dużą częstotliwością. Przyjmijmy, że jest to gg, które co chwila łączy się z serwerem w celu sprawdzenia nowych wiadomości. Przepisaliśmy captche, zrestartowaliśmy połączenie, wszystko jest ok i gg działa jak należy. Ale po godzinie nasza sesja w aero2 wygasa, i wymagane jest ponowne przepisanie kapcia. My akurat jedziemy autem, bądź pływamy w basenie i nie możemy tego zrobić.

Co się dzieje - gg wysyłając request licząc na leciutką odpowiedź w postaci (na przykład) krótkiego JSONa z ewentualnymi wiadomościami dostaje w odpowiedzi ciężki response zawierający captche i coś tam jeszcze. I tak co chwilę.
W rezultacie zużycie baterii wzrasta niemiłosiernie, w moim przypadku jest to około 100% (!!!).

Jeśli aplikacja powstałaby na urządzenia mobilne musiałaby w jakiś sposób blokować cały traffic jeśli wykryje captche. Byłby to bardzo dobry feature, aczkolwiek inne aplikacje pewnie zacząłby krzyczeć o braku dostępu do sieci. Inny sposób to przechwycić wszystkie requesty i zwrócić puste responses - powstaje ryzyko niepoprawnego funkcjonowania aplikacji, w których taka odpowiedź nie została przewidziana.

Chętnie poznam Wasze oponie na temat zjawiska opisanego wyżej.
Posiadam doświadczenie w pisaniu aplikacji na Androida, i w zależności od dostępnego czasu możliwe, że się podejmę.
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
03-04-2014, 21:05
Post: #3
dekapeć - tylko dla programistów
Proponuję podzielić program na moduły.

Zupełnie inaczej dekoduje się wymaganie reakcji w przypadku modemu, zupełnie inaczej przez router. Okienko z kapciem może być trzecim modułem.

Szybciej pójdzie pisanie i testowanie. Także ewentualne zmiany będzie łatwiej wprowadzać.
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
03-04-2014, 21:19 (Ten post był ostatnio modyfikowany: 03-04-2014 21:54 przez konrad.zielinski.)
Post: #4
dekapeć - tylko dla programistów
Pingowanie czegokolwiek nie ma sensu, bo serwery DNS captive portala przekieruja nas do bdi.free.aero2.net.pl i będziemy pingować ten serwer. Tak samo HTTP GET gdziekolwiek zwróci 200 OK, z tegoż serwera. Są mi znane dwa popularne sposoby wykrywania captive portali:
1) stosowany w Androidzie i Chromie - GET jakiegoś adresu który zawsze zwraca HTTP 204 np. http://gstatic.com/generate_204, http://google.com/generate_204, http://clients3.google.com/generate_204, etc. jeśli dostaniemy coś innego, to jesteśmy w captive portalu;
2) starszy sposób - GET http://google.com/blank.html - musi zwrócić 200 o zerowej długości, w przeciwnym wypadku jesteśmy w captive portalu

Myślałem o podobnej aplikacji do zastosowania w Androidzie, ale rozszerzonej o automatyczne rozwiązywanie kapci Pakistańczykami (kosztuje jakieś 4 zł za 1000). Konkretnie o takim scenariuszu: urządzenie jest podłączone dwoma sieciami: Wi-Fi i komórkową, np. telefon z Androidem + Mi-Fi podłączone do Aero2, albo tablet w zasięgu Wi-Fi i modemem komórkowym. Appka stwierdza captive portal na jednym łączu ale drugie bangla*. No to bierzemy kapcia, sru do serwisu dekapciującego, submit, jest OK, restart łącza. Niestety, w przypadku Mi-Fi trzeba restart zrobić ręcznie, chyba, że da się jakimś callem zdalnie, ale to musiałoby być dla konkretnych modeli.

* Tu http://stackoverflow.com/questions/25137...30#4756630 jest opisane jak testować konkretne adresy przez łącze komórkowe, gdy jesteśmy podpięci do Wi-Fi (normalnie cell data się wyłącza, gdy Wi-Fi działa)

A! I jeszcze pomyślałem, że jak ktoś ma dostęp do dwóch modemów 3G to dałoby się chyba zrobić full-automat jak opisany wyżej na desktopa (dwa BDI dekapciujące się nawzajem co pół godziny :>), ale nie mam pojęcia jak poszczególne OSy się zachowują w przypadku obecności dwóch różnych łącz, jak je priorytezują, jak potraktują captive portale itp. To już jest tricky shit, trzeba zejść warstwę niżej i raczej dziergać per platforma. Extra bonus jak ktoś dorobi do tego trunking takich łącz (do oszołamiającego 1 Mb/s Tongue).
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
04-04-2014, 09:21 (Ten post był ostatnio modyfikowany: 04-04-2014 09:22 przez jakubd.)
Post: #5
dekapeć - tylko dla programistów
Konkretny przykład resetowania routera z komentarza kolegi diatryba - http://jdtech.pl/2014/04/aero2-i-captcha...t813764288
Cytat:Korzystam także z MR3420 i stworzyłem plik restart.bat, który wystarczy kliknąć, oto jego zawartość:
Kod:
@echo off
rem To pod linux
rem wget -qO- --user=mójlogin --password=mojehasło http://192.168.1.1/userRpm/SysRebootRpm.htm?Reboot=Reboot > /dev/null
rem To pod Windows XP
wget -qO- --user=mójlogin --password=mojehasło http://192.168.1.1/userRpm/SysRebootRpm.htm?Reboot=Reboot > /null

Sam plik wget.exe można m.in. wziąć stąd: http://users.ugent.be/~bpuype/wget/
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
04-04-2014, 09:42
Post: #6
dekapeć - tylko dla programistów
Kolejny pomysł dla HiLinków:
(04-04-2014 01:47)sauron76 napisał(a):  Dla tych, którzy mają Hi-Linka. Zróbcie sobie plik bat, który będzie resetować połączenie. Mi to na razie działa. Zmieniłem nazwę interfejsu na Aero2 (Panel sterowania -> Centrum sieci i udostępnienia -> Zmień ustawienia karty sieciowej dla WIN7). Wcześniej miałem tam polskie znaki i coś nie chciało działać. Teraz tylko pozostaje jakiś sposób, który uruchomi sam ten plik po wpisaniu kodu. Dałem opóźnienie jednej sekundy i nie ma problemu. Jak komuś nie zadziała to dajcie więcej. Bez tego opóźnienia nie wykonywało się drugie polecenie. Ten myk chyba jest uniwersalny dla wszystkich, którzy korzystają z bezpośrednio wpiętych modemów.

Cytat:netsh interface set interface "Aero2" disabled
timeout /t 1
netsh interface set interface "Aero2" enabled

Dodanie skrótu dla pliku bat do paska systemu Windows (nie jest to takie oczywiste jak się może wydawać)
1.Renaming your .cmd/.bat to to .exe
2.Right clicking on the *.exe and choose pin to taskbar
3.Renaming it back to .cmd/.bat
4.Shift+right clicking the taskbar icon (for the exe) and choose properties
5.Changing the reference from *.exe to .cmd/.bat and change icon as needed

Wystarczy po wpisaniu kodu kliknąć w podręczny skrót na pasku. W sumie jest to dużo wygodniejsze niż wchodzenie w ustawienia modemu.

Dla użytkowników routerów może wskazane będą zdalnie sterowane gniazda elektryczne. Znalazłem coś takiego. Urządzenie powinno się zresetować po chwilowym odcięciu od prądu za pomocą pilota. To tylko moja idea. Nie wiem jak to się sprawdzi w praktyce.
http://www.jula.pl/gniazda-elektryczne-z...szt-408062
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
04-04-2014, 10:15
Post: #7
dekapeć - tylko dla programistów
wget/curl to są też aliasy do Invoke-WebRequest w PowerShellu dostępnym od Visty wzwyż, nie trzeba wget.exe dodawać i klepać dosowskich batchówek, nie te czasy Wink
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
04-04-2014, 10:19 (Ten post był ostatnio modyfikowany: 04-04-2014 10:20 przez jakubd.)
Post: #8
dekapeć - tylko dla programistów
Czasem chodzi o quick and dirty solution - jak tutaj. Oczywiście to nie bezpośrednio zastosowanie do dekapcia jako projektu.
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
09-04-2014, 21:55
Post: #9
RE: dekapeć - tylko dla programistów
Widzę, że pomysł użytkownika konrad.zielinski dotyczący automatycznego rozwiązywania kodów przy pomocy innego łącza przeszedł bez echa. Może ktoś zorientowany wypowie się w tym temacie?
Można by skorzystać z serwisu Captcha Brotherhood.
Całkowite zautomatyzowanie procesu „autoryzacji” połączenia pokazałoby panu Zygmuntowi, że wprowadzenie kapcia okazało się nieskuteczne. Dodatkowo pewnie konkurencja trochę by zarobiła, zakładając że dodatkowe łącze byłoby usługą typu Orange Free na Kartę.
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
09-04-2014, 22:51
Post: #10
dekapeć - tylko dla programistów
Pomysł nie tyle upadł, co jest niepraktyczny - jak kogoś stać na dwa łącza... (można użyć HEYAH, albo OFnK właśnie, jednak... to nie w Windows, trudno tutaj napisać soft zarządzający dwoma łączami aktywnymi jednocześnie).
A Captcha Brotherhood to przecież ludzie przepisujący kody.
Atak algorytmiczny na reCAPTCHA jest dla nas niewykonalny. Czekamy na ew. uproszczenie kodów na żądanie UKE.
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
09-04-2014, 22:54
Post: #11
RE: dekapeć - tylko dla programistów
^Też o tym pisałem. Tylko to nie jest sposób na ominięcie kapcia. Jako wtyczka do Jdownloadera służy do tego, aby nie czekać na kolejkę do pobierania pliku. Ktoś musi te potrzebne kapcie najpierw porozwiązywać, taka wymiana to jest.
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
09-04-2014, 23:12 (Ten post był ostatnio modyfikowany: 09-04-2014 23:18 przez gbr.)
Post: #12
dekapeć - tylko dla programistów
Oczywiście to jest pomysł który można zrealizować raczej tylko na komputerze PC.
Ten wątek nie dotyczy przecież wyłącznie systemów mobilnych, chyba że czegoś nie doczytałem?
Uważam, że ekonomicznie ten pomysł ma sens, można mieć parę łącz - jedno wolne bez limitu danych, drugie za minimalne pieniądze.
Captcha Brotherhood to dokładnie system wymiany kodów captcha. Każdy uczestnik rozwiązuje kody wtedy kiedy ma na to czas zarabiając kredyty, w zamian za które inni rozwiązują jego kody.

lukkki, Captcha Brotherhood oprócz wtyczki do JDownloadera ma również API w postaci programu wykonywanego z wiersza poleceń. Wysyłamy obrazek otrzymując w zamian odczytany tekst. To jest właśnie sposób nie tyle na ominięcia kapcia, co na jego automatyczne rozwiązanie.
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
09-04-2014, 23:29 (Ten post był ostatnio modyfikowany: 09-04-2014 23:31 przez sauron76.)
Post: #13
RE: dekapeć - tylko dla programistów
(09-04-2014 23:12)gbr napisał(a):  To jest właśnie sposób nie tyle na ominięcia kapcia, co na jego automatyczne rozwiązanie.

A to nie to samo? Tylko w taki sposób można ominąć samodzielne rozwiązywanie kodów. Problemem jest niestety oprogramowanie, które połączy ruch z dwóch łączy w obszarze jednego PC. Takie programy są bardzo inwazyjne dla systemu i nastręczają poważnych utrudnień w samej konfiguracji. Zawsze można w sieci LAN postawić dodatkowy komputer podłączony do innego dostawcy internetowego ale moim zdaniem to gra niewarta świeczki.
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
09-04-2014, 23:42
Post: #14
RE: dekapeć - tylko dla programistów
(09-04-2014 23:29)sauron76 napisał(a):  
(09-04-2014 23:12)gbr napisał(a):  To jest właśnie sposób nie tyle na ominięcia kapcia, co na jego automatyczne rozwiązanie.

A to nie to samo?

To nie jest to samo, natomiast efekt jest taki sam Smile
Dwa łącza internetowe na Linuxie są chyba łatwe do ogarnięcia. Natomiast na przykład w Windows 7 można włączyć routing IP, co powinno pozwolić na rozwiązanie problemu.
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
10-04-2014, 07:08
Post: #15
dekapeć - tylko dla programistów
W przypadku wszystkich de-reCAPTCHA'erów musimy za rozwiązanie kodu zapłacić (choćby własną pracą), więc nie jest to sposób stricte darmowy. Drugie łącze też kosztuje.
Co do zarządzania ruchem - w ramach jednej aplikacji to jest trudne, w ramach dwóch - da się przypisywać połączenie do konkretnych aplikacji nawet w Win, ale jest to po prostu zawodne, jeżeli nie wgryziemy się głęboko w system, a wtedy jeszcze bardziej - bo dochodzimy do granic API.
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
10-04-2014, 09:10
Post: #16
dekapeć - tylko dla programistów
W każdym przypadku musimy "płacić" za rozwiązanie kodu, nawet gdy sami go rozwiązujemy przy "autoryzacji" BDI. Korzystanie z Captcha Brotherhood niczego tu nie zmienia. W tym drugim przypadku jest nawet lepiej bo rozwiązujemy kody na zapas, wtedy kiedy mamy czas.
Oczywiście, że drugie łącze kosztuje ale w takim układzie można zdecydować się na najtańsze.
Co do zarządzania, ruchem to wydaje się, że wystarczy w Windowsie dodać wpis do tabeli routingu aby ruch do serwera Captcha Brotherhood puścić przez inny interfejs sieciowy.
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
10-04-2014, 10:07
Post: #17
dekapeć - tylko dla programistów
gbr: To rozwiązanie odpada.
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
10-04-2014, 10:09
Post: #18
RE: dekapeć - tylko dla programistów
(10-04-2014 10:07)lukkki napisał(a):  gbr: To rozwiązanie odpada.

Dlaczego?
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
13-04-2014, 22:21 (Ten post był ostatnio modyfikowany: 14-04-2014 01:05 przez spag.)
Post: #19
RE: dekapeć - tylko dla programistów
(10-04-2014 07:08)jakubd napisał(a):  W przypadku wszystkich de-reCAPTCHA'erów musimy za rozwiązanie kodu zapłacić (choćby własną pracą), więc nie jest to sposób stricte darmowy. Drugie łącze też kosztuje.
Co do zarządzania ruchem - w ramach jednej aplikacji to jest trudne, w ramach dwóch - da się przypisywać połączenie do konkretnych aplikacji nawet w Win, ale jest to po prostu zawodne, jeżeli nie wgryziemy się głęboko w system, a wtedy jeszcze bardziej - bo dochodzimy do granic API.

http://www.youtube.com/watch?v=h1av6pw6tI8
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
30-04-2014, 10:33
Post: #20
RE: dekapeć - tylko dla programistów
Ciekawe rozpracowanie "kapcia":

http://studenci.fuw.edu.pl/~kmkulcz/aero2.html
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
Odpowiedz 


Podobne wątki
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
Brick Dekapec-mod by sauron76 [modem],[wini] sauron76 9 12 038 09-04-2016 06:22
Ostatni post: sauron76
Brick Dekapeć by gbr [modem + dodatkowe łącze],[win +CBHplugin] gbr 21 44 055 02-01-2015 21:19
Ostatni post: szopen
Brick Dekapeć OpenWrt by sciss [router OpenWRT +dodatk. łącze +konto shell mono],[dowolny] sciss 5 5 277 05-06-2014 02:49
Ostatni post: sciss
  dekapeć - dyskusja ogólna jakubd 53 46 529 03-05-2014 23:16
Ostatni post: jakubd