Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Nowa wersja
Poprzednia wersja
whois [2020/09/14 23:39]
yasiu utworzono
whois [2021/07/02 10:10] (aktualna)
zbyszk01 Poprawiony tytuł i URL do whois
Linia 1: Linia 1:
-====== whois at.hs3.pl ======+====== whois.at.hsp.sh ======
  
-^Zamieszany|[[user>​not7cd|not7cd]], [[user>mw|mw]]  |+^Zamieszany|[[user>​not7cd]],​ [[user>​mw]] ​ |
 ^Rozpoczęto|2018-01-12 ​ | ^Rozpoczęto|2018-01-12 ​ |
-^Status|{{tag>​projekty:​skończony projekty:​stoi}} Działa na [[http://at.hs3.pl/|at.hs3.pl]]  |+^Status|{{tag>​projekty:​skończony projekty:​stoi}} Działa na [[https://whois.at.hsp.sh/]  |
 ^Repo |https://​github.com/​hs3city/​whois | ^Repo |https://​github.com/​hs3city/​whois |
 ^Tagi |{{tag>​projekt usługa serwis}}| ^Tagi |{{tag>​projekt usługa serwis}}|
Linia 25: Linia 25:
     - <​del>​Nie panikuj kontener z botem wolno wstaje</​del>​     - <​del>​Nie panikuj kontener z botem wolno wstaje</​del>​
     - Panikuj, [[spotty-kiwi]] nie żyje, <​del>​napraw,​ po dostęp uderzaj do [[user>​not7cd]]</​del>​ naprawiane     - Panikuj, [[spotty-kiwi]] nie żyje, <​del>​napraw,​ po dostęp uderzaj do [[user>​not7cd]]</​del>​ naprawiane
-  - Wykorzystaj endpoint http://at.hs3.pl/api/now w swoim projekcie+  - Wykorzystaj endpoint http://whois.at.hsp.sh/api/now w swoim projekcie
  
 ===== Opis ===== ===== Opis =====
Linia 33: Linia 33:
   - Serwer zbiera informacje o urządzeniach i ich właścicielach   - Serwer zbiera informacje o urządzeniach i ich właścicielach
   - Serwer wystawia jeden JSON GET z aktywnością z ostatnich 30 minut   - Serwer wystawia jeden JSON GET z aktywnością z ostatnich 30 minut
-  - [[https://​glitch.com/​edit/#​!/​spotty-kiwi|Slack bot]] wysyła zapytanie na at.hs3.pl gdy wywołany+  - [[https://​glitch.com/​edit/#​!/​spotty-kiwi|Slack bot]] wysyła zapytanie na whois.at.hsp.sh gdy wywołany
  
-Skrypt dla Mikrotik z RouterOS >= 6.39 +[[https://​github.com/​hspsh/​whois/​blob/​master/​helpers/​mikrotik_script|Skrypt]] dla Mikrotik z RouterOS >= 6.39. 
-<​code>​ + 
-# Get DHCP leases records and send selected fields (MAC ADDRESSHOST NAME, LAST SEEN and STATUS) to webservice via POST+FIXME Skrypt należy przepisać żeby uploadował surowe dane, a ich procesowanie trzeba przerzucić na aplikację w Pythonie
-:put "Get DHCP leases";​ + 
-:local leases "";​ +FIXME (Prawdopodobnieprzez konfigurację Mikrotika skrypt nie może połączyć się z whoisem używając publicznego adresu.
-:foreach i in=[/ip dhcp-server lease find] do={  +
-  :local dhcp [/ip dhcp-server lease get $i]  +
-  :local client "​\"​mac\":​\"​$($dhcp->"​active-mac-address"​)\",​\"​name\":​\"​$($dhcp->"​host-name"​)\",​\"​last\":​\"​$($dhcp->"​last-seen"​)\",​\"​status\":​\"​$($dhcp->"​status"​)\"";​ +
-  :set $leases ($leases, $client); +
-+
-:local json "​[";​ +
-:local first true; +
-:foreach k,v in $leases do={ +
-  if ([:len $v] > 0) do={ +
-    if ($first = true) do={ +
-     :set $json ($json ​ "​{"​ . $v . "​}"​);​ +
-    } else={ +
-      :set $json ($json . ",​{"​ .  $v . "​}"​);​ +
-    }; +
-    :set $first false; +
-  } +
-+
-:set $json ($json."​]"​);​ +
-:local data ("​data="​ . $json); +
-:do { +
-  :put "Send DHCP leases";​ +
-  /tool fetch mode=http url="​http://​webservice"​ keep-result=yes dst-path="​sendleases.txt"​ http-method="​post"​ http-data=$data;​ +
-} on-error={ +
-  :put "Send DHCP leases failed!";​ +
-  log warning "Send DHCP leases failed!";​ +
-+
-</​code>​+
  
 Skrypt wysyła dane w parametrze data sformatowane do json: Skrypt wysyła dane w parametrze data sformatowane do json:
Linia 72: Linia 45:
 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"​}] 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"​}]
 </​code>​ </​code>​
 +
 +Testowa komenda:
 +<​code>​
 +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
 +</​code>​
 +
 +===== 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 ===== ===== Log =====
 Proof of Concept: skrypt na mikrotiku komunikujący się z aplikacją Proof of Concept: skrypt na mikrotiku komunikujący się z aplikacją
Linia 94: Linia 77:
  
 ---- ----
-Prawilny deployment na [[projekty:​serwer_na_laptopie|Serwer na laptopie]].+Prawilny deployment na [[squire|Serwer na laptopie]].
  --- //​[[user>​allgreed|allgreed]] 2018/04/25 23 z hakiem//  --- //​[[user>​allgreed|allgreed]] 2018/04/25 23 z hakiem//
  
Linia 107: Linia 90:
 dostęp tylko przez proxy ngnix'​a dostęp tylko przez proxy ngnix'​a
  --- //​[[user>​not7cd]] 2018/07/04 17:57//  --- //​[[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 ===== ===== Podobne projekty =====
   * http://​wiki.hswro.org/​projects/​wlokalu.hswro.org   * http://​wiki.hswro.org/​projects/​wlokalu.hswro.org
   * https://​github.com/​HackerspaceKRK/​WHOis-HS   * https://​github.com/​HackerspaceKRK/​WHOis-HS
   * https://​wiki.hackerspace.pl/​projects:​checkinator ​   * https://​wiki.hackerspace.pl/​projects:​checkinator ​
  • whois.1600119540.txt.gz
  • ostatnio zmienione: 2020/09/24 20:27
  • (edycja zewnętrzna)