Projects/Koekeloeren: Difference between revisions

From Hackerspace Amersfoort
Jump to navigation Jump to search
No edit summary
No edit summary
 
(13 intermediate revisions by the same user not shown)
Line 2: Line 2:
|name=Koekeloeren
|name=Koekeloeren
|start=2017/08/23
|start=2017/08/23
|contact=User:Polyfloyd,
|URL=https://koekeloeren.bitlair.nl/
|contact=Polyfloyd,
|info=De spacecam, maar dan openbaar
|info=De spacecam, maar dan openbaar
|status=Alpha
|status=Abandoned
|Picture=Cam.jpg
|Picture=Moffel_pier.jpg
}}
}}
'''Waar de spacecam openbaar voor wordt:'''
* Om de barriëre om langs te komen weg te nemen die potentiële bezoekers ervaren te verlagen.
'''Waar de spacecam NIET openbaar voor wordt:'''
* Om het bestuur, de deelnemers, en derden het mogelijk maken de aanwezigen in de space te bespioneren en volgen.
== Eisen ==
== Eisen ==
Privacy:
Privacy:
* De resolutie wordt aangepast naar 800x600
* De beeldkwaliteit moet zodanig worden aangepast zodat gezichten niet herkenbaar zijn
* Er wordt een waas toegepast met een radius van 2 pixels
* Het aantal beelden per seconde wordt verlaagd naar 2
* Geen geluid
* Geen geluid
* De stream moet worden geblokkeerd indien DJO open is
* De stream moet worden geblokkeerd indien DJO open is
Line 26: Line 19:


Sessies:
Sessies:
* Sessies worden per IP-adres bijgehouden
* De stream kan maximaal 42 seconden bekeken worden totdat deze wordt verbroken door de server
* De stream kan maximaal 42 seconden bekeken worden totdat deze wordt verbroken door de server
* Om er voor te zorgen dat bots geen werkende stream kunnen indexeren wordt er gebruik gemaakt van een soort van CSRF-token waarmee gedurende 30 seconden een sessie gestart kan worden
* Bescherming tegen webcam-zoekmachines
* IP-addressen van kijkers worden naar een log geschreven
* IP-addressen van kijkers worden naar een log geschreven


Line 35: Line 27:
De IP-camera in de hoofdruimte wordt middels een firewall volledig afgeschermd van het internet en zal alleen vanuit het lokale netwerk te bereiken is.
De IP-camera in de hoofdruimte wordt middels een firewall volledig afgeschermd van het internet en zal alleen vanuit het lokale netwerk te bereiken is.


Een daemon zal de brug vormen tussen de camera en het internet en zal de authenticatie en limieten waarborgen.
Een daemon vormt de brug tussen de camera en het internet en waarborgt de authenticatie en limieten.


FFmpeg wordt gebruikt om het camerabeeld te bewerken zodat mensen niet herkenbaar in beeld zijn:
* Het aantal beelden per seconde wordt verlaagd naar 2
* De resolutie wordt verlaagd naar 960x720
* Er wordt een waas toegepast met een radius van 2 pixels


Het licht in de space kleurt rood wanneer door een MQTT-bericht het aantal kijkers meer dan 0 is. Het systeem controlleert of het MQTT-bericht aankomt bij de MQTT-server. Indien de server niet bereikbaar is wordt het camerabeeld niet getoond.


Bescherming tegen zoekmachines gebeurt door een token te vereisen bij het afspelen van de video. Deze wordt meegestuurd met de HTML-pagina zodat de video kan worden afgespeeld.
Een token is de SHA512-hash van:
* De datum van vandaag
* Het IP-adres van de bezoeker
* 32 willekeurig gegenereerde bytes


Voor DJO wordt de stream uitgeschakeld wanneer hun spacestate in MQTT naar open veranderd.


IP-adressen van bezoekers worden bijgehouden door de HTTP-log van Nginx.


Omdat de camera fysiek magneten bevestigd is, kan deze eenvoudig omgedraaid worden indien gewenst.




TODO: Ik ben nog aan het schrijven aan deze pagina :)
== FAQ ==

Latest revision as of 14:03, 8 December 2018


Project Koekeloeren
Name Koekeloeren
Start 2017/08/23
End
Contact Polyfloyd
Website https://koekeloeren.bitlair.nl/
Information De spacecam, maar dan openbaar
Status Abandoned


Eisen

Privacy:

  • De beeldkwaliteit moet zodanig worden aangepast zodat gezichten niet herkenbaar zijn
  • Geen geluid
  • De stream moet worden geblokkeerd indien DJO open is
  • Aanwezigen moeten de mogelijkheid hebben om de camera uit te schakelen indien gewenst

Meldingen:

  • Het licht in de hoofdruimte moet rood kleuren wanneer er 1 of meer personen door de camera kijken

Sessies:

  • De stream kan maximaal 42 seconden bekeken worden totdat deze wordt verbroken door de server
  • Bescherming tegen webcam-zoekmachines
  • IP-addressen van kijkers worden naar een log geschreven


Implementatie

De IP-camera in de hoofdruimte wordt middels een firewall volledig afgeschermd van het internet en zal alleen vanuit het lokale netwerk te bereiken is.

Een daemon vormt de brug tussen de camera en het internet en waarborgt de authenticatie en limieten.

FFmpeg wordt gebruikt om het camerabeeld te bewerken zodat mensen niet herkenbaar in beeld zijn:

  • Het aantal beelden per seconde wordt verlaagd naar 2
  • De resolutie wordt verlaagd naar 960x720
  • Er wordt een waas toegepast met een radius van 2 pixels

Het licht in de space kleurt rood wanneer door een MQTT-bericht het aantal kijkers meer dan 0 is. Het systeem controlleert of het MQTT-bericht aankomt bij de MQTT-server. Indien de server niet bereikbaar is wordt het camerabeeld niet getoond.

Bescherming tegen zoekmachines gebeurt door een token te vereisen bij het afspelen van de video. Deze wordt meegestuurd met de HTML-pagina zodat de video kan worden afgespeeld. Een token is de SHA512-hash van:

  • De datum van vandaag
  • Het IP-adres van de bezoeker
  • 32 willekeurig gegenereerde bytes

Voor DJO wordt de stream uitgeschakeld wanneer hun spacestate in MQTT naar open veranderd.

IP-adressen van bezoekers worden bijgehouden door de HTTP-log van Nginx.

Omdat de camera fysiek magneten bevestigd is, kan deze eenvoudig omgedraaid worden indien gewenst.


FAQ