====== whois.at.hsp.sh ====== ^Zamieszany|[[user>not7cd]], [[user>mw]] | ^Rozpoczęto|2018-01-12 | ^Status|{{tag>projekty:skończony projekty:stoi}} Działa na [[https://whois.at.hsp.sh/] | ^Repo |https://github.com/hs3city/whois | ^Tagi |{{tag>projekt usługa serwis}}| Ogólnie fajnie by było wiedzieć czy ktoś jest w hs'ie. Aktualnie jest działający skrypt dla mikrotika, który wysyła co jakiś czas POST'a do bazy danych po stronie serwera. ==== Stack ==== - Mikrotik - Flask ===== Instrukcja ===== - Zarejestruj się będąc w spejsie - Najlepiej nick zgodny z wiki - Tak, hasła są hashowane - Zajmij urządzenia które są twoje - Jeżeli nic nie widać poczekaj maks 15 minut, mikrotik powinien je już wysłać - Uwaga, to samo urządzenie może mieć kilka interfejsów sieciowych - Ustaw flagi dla urządzenia (z ctrl wiele) - W profilu możesz ustawić flagi dla siebie i zmienić dane - Czasem wpadnij zaktualizować swoje urządzenia - Na slacku użyj komendy ''/ktohakuje'' - Nie panikuj kontener z botem wolno wstaje - Panikuj, [[spotty-kiwi]] nie żyje, napraw, po dostęp uderzaj do [[user>not7cd]] naprawiane - Wykorzystaj endpoint http://whois.at.hsp.sh/api/now w swoim projekcie ===== Opis ===== - Na wewnętrznym serwerze stoi aplikacja która nasłuchuje requestów z routera. - Router mikrotik wysyła listę leasów na adres serwera co 12 - Serwer zbiera informacje o urządzeniach i ich właścicielach - Serwer wystawia jeden JSON GET z aktywnością z ostatnich 30 minut - [[https://glitch.com/edit/#!/spotty-kiwi|Slack bot]] wysyła zapytanie na whois.at.hsp.sh gdy wywołany [[https://github.com/hspsh/whois/blob/master/helpers/mikrotik_script|Skrypt]] dla Mikrotik z RouterOS >= 6.39. FIXME Skrypt należy przepisać żeby uploadował surowe dane, a ich procesowanie trzeba przerzucić na aplikację w Pythonie. FIXME (Prawdopodobnie) przez konfigurację Mikrotika skrypt nie może połączyć się z whoisem używając publicznego adresu. Skrypt wysyła dane w parametrze data sformatowane do json: data=[{"mac":"11:22:33:44:55:66","name":"Dom","last":"50w6d16h1m10s","status":"waiting"},{"mac":"AA:BB:CC:DD:EE:FF","name":"HS","last":"4d1h58m8s","status":"bound"}] Testowa komenda: curl -X POST -H "User-Agent: Mikrotik/6.x Fetch" -d 'data=[{"mac":"11:22:33:44:55:66","name":"Dom","last":"50w6d16h1m10s","status":"waiting"},{"mac":"AA:BB:CC:DD:EE:FF","name":"HS","last":"4d1h58m8s","status":"bound"}]' https://whois.at.hsp.sh/api/last_seen ===== Uwagi ===== Proces aplikacji musi mieć uprawnienia do tworzenia plików w folderze z bazą danych (SQLite tworzy pliki tymczasowe). Do dzisiaj problem ten został napotkany podczas 2 migracji. ===== Log ===== Proof of Concept: skrypt na mikrotiku komunikujący się z aplikacją --- //2018/03/03 5:36// ---- Program uruchomiony na serwerze w HS --- //[[user>not7cd|not7cd]], [[user>mroz|mroz]] 2018/03/25 16:18// ---- Forwad i DNS na serwer + [[https://glitch.com/edit/#!/spotty-kiwi|Bot na slacku]] --- //[[user>not7cd|not7cd]] 2018/04/08 12:38// ---- Hairpin NAT((https://wiki.mikrotik.com/wiki/Hairpin_NAT)) dla at.hs3.pl Sensowny docker w testach --- //[[user>not7cd|not7cd]] 2018/04/15 13:54// ---- glitch.com coś zmienił z SQlite więc [[https://glitch.com/edit/#!/spotty-kiwi|spotty-kiwi]] nie działa --- //2018/04/22 15:17// ---- Prawilny deployment na [[squire|Serwer na laptopie]]. --- //[[user>allgreed|allgreed]] 2018/04/25 23 z hakiem// ---- Instalacja nginx + certbot (https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-16-04), konfiguracja nginx w trybie reverse proxy dla at.hs3.pl, przekierowanie portu na routerze. MAMY HTTPS! Do zrobienia zostało - całkowite ukrycie at.hs3.pl za reverse proxy (aktualnie port 80 jest serwowany bezpośrednio przez aplikację) --- //[[user>mroz]] 2018/07/01 16:40// --- //[[user>not7cd]] 2018/07/01 16:40// ---- kontener wywalony na 127.0.0.1:6000 dostęp tylko przez proxy ngnix'a --- //[[user>not7cd]] 2018/07/04 17:57// ---- Deployment na [[arthur]] -> [[https://whois.at.hsp.sh]]. --- //[[user>yasiu]] 2020/09/01 // ---- Skrypt na Mikrotiku został poprawiony i whois znowu działa w lokalu na Do Studzienki. --- //[[user>michal]] 2020/09/29 // ===== Podobne projekty ===== * http://wiki.hswro.org/projects/wlokalu.hswro.org * https://github.com/HackerspaceKRK/WHOis-HS * https://wiki.hackerspace.pl/projects:checkinator