ID.nl logo
Review LEGO Pac-Man: bouw je eigen arcadekast-klassieker!
Gezond leven

Review LEGO Pac-Man: bouw je eigen arcadekast-klassieker!

Het iconische speelgoedmerk LEGO heeft een eigen versie van de arcade-klassieker Pac-Man uitgebracht. Iedereen met heimwee naar deze game-klassieker of Lego-fans die op zoek zijn naar een paar uur verrassend veel bouwplezier heeft er een prachtige koop aan.

Wie is er niet mee opgegroeid? LEGO-steentjes? Nee, Pac-Man! Dit videospel behoort tot de absolute top in de geschiedenis van de arcadespellen en staat in hetzelfde rijtje als Pong, Space Invaders en Donkey Kong. Ondanks dat het aanvankelijk alleen op geldverslindende spelautomaten in donkere speelhallen en hoekjes van cafés en snackbars gespeeld kon worden, werd het al vroeg razend populair. Pac-Man was dan ook een van de eerste spellen die uitkwamen voor spelcomputers als de Commodore 64, de Sega, Nintendo en natuurlijk ook de pc. Op al die plaatsen en inmiddels natuurlijk ook online wordt het tot op de dag van vandaag gespeeld. Met 54 jaar is het spel ook maar even jonger dan LEGO, een ander iconisch merk en product. De laatste brengt nu een erg mooie bouwset uit met verrassende elementen waarmee Pac-Man op een (half hoge) speelhalautomaat helemaal tot leven komt.

Voor alle afbeeldingen geldt: klik erop voor een grotere weergave.

Arcade-klassieker

Pac-Man is een doolhofspel waarbij het hoofdkarakter alle punten in het parkoers moet opeten zonder door de oprukkende spoken te worden vermorzeld. Het speelveld is tweedimensionaal en ook verder ontbreekt het aan elke vorm van aansprekende animaties. Het is juist die subtiele eenvoud die Pac-Man zo intens maakt om te spelen. Stoppen is eigenlijk niet mogelijk, net zoals het na een Game-Over ook niet mogelijk is om níet direct opnieuw te beginnen. De figuren uit het spel - de driekwart pizza Pac-Man en ook de vier spoken Blinky, Pinky, Inky en Clyde - zijn iconen geworden die vaak ook buiten het spel worden gebruikt in reclames en films.

LEGO kent zijn klassiekers

Pac-Man is niet de eerste game-klassieker die LEGO uitbrengt. Eerder waren er de Atari 2600 en het Nintendo Entertainment System, de laatste compleet met jaren tachtig retro-tv én een werkende Super Mario Bros. En nu dus een zeer fraaie LEGO-versie van een Pac-Man speelhalkast compleet met subtiele extra’s of, in computergame-termen, een easter-egg.

Hoewel aangemerkt als 18+ is er eigenlijk geen bezwaar de set ook door jongere kinderen te laten bouwen. Heel moeilijk wordt het niet, al zijn er zeker wel enkele momenten waarop geconcentreerd bouwen vereist is. Toch zal de set zeker vooral AFOLS aanspreken, de Adult Fans of LEGO. Zij zijn de belangrijkste doelgroep van dit soort sets, die vooral bedoeld zijn om eenmalig te bouwen en dan een mooie plek te geven, in plaats van ze na de eerste opbouw weer af te breken en de steentjes gebruiken om er iets anders mee te bouwen. Dat LEGO hiermee verder van de oorspronkelijke visie op spelen en leren staat is duidelijk, maar het succes van deze 18+-producten doet alle kritiek verstommen. Om deze reden is de serie waarin deze display-modellen nu uitkomen ook veranderd van Creator Expert naar LEGO Icons.

Bouwtekening 

De Pac-Man-set van LEGO bestaat uit 2651 bouwstenen. Een deel daarvan is onvermijdelijk erg klein en minder geschikt voor alternatieve bouwsels. Gegeven de adviesprijs van LEGO komt dat tot een prijs van 10,18 cent per steen, een prijs die LEGO-fans doorgaans nog net acceptabel achten. Om de set volledig op te bouwen kost het je, afhankelijk van je ervaring met het bouwen van LEGO, tussen de vijf en zeven uur. De handleiding is in print beschikbaar, maar ook online als pdf. De laatste is handiger: wanneer je de pdf namelijk bekijkt op een tablet of laptop, kun je inzoomen als iets eens net even minder duidelijk te zien is. In totaal zitten er 459 stappen in het bouwproces; enkele daarvan zijn nog opgedeeld in kleinere stapjes. Opvallend (en iets wat niet vaak voorkomt bij LEGO) is dat bij stap 57 ook weer stenen losgemaakt moeten worden omdat ze alleen nodig blijken te zijn geweest om drie losse delen te fixeren. Later worden al deze stenen ook nog weer gewoon gebruikt.  

Printplaat

Het meest uitdagende is de bouw van de eigenlijke game. De bouw van dit deel lijkt heel toepasselijk op het solderen van componenten op een printplaat. Het begint met twee zwarte Technic-baseplates vol gaten die aan elkaar gekoppeld worden en daarna gat voor gat gevuld met ofwel een van de vele puntjes op het parkoers ofwel juist een routedeel. Hier komt ook bij uitstek het vakmanschap van de LEGO-designers naar voren: zij weten niet alleen op ongekend verrassende wijze een Pac-Man-doolhof te herscheppen, maar brengen daarbinnen ook nog eens een reeks elkaar najagende en bewegende Pac-Man-figuren tot leven. Dit is echt een prachtig onderdeel om te bouwen. Opvallend is dat wanneer het echt complex wordt, LEGO in de handleiding een techniek toepast die tot dusverre vooral alleen door concurrerende merken bouwsteentjes gebruikt werd, namelijk het uit-grijzen van alles wat al in de voorgaande stappen is gebouwd. Is het een voorbode dat dit vaker gaat gebeuren? Een aanpassen aan de oudere LEGO-bouwer? Of misschien juist wel om het weer ontdekken van LEGO voor de oudere fans gemakkelijker te maken? Hoe dan ook, handig is het zeker.

Bewegende figuurtjes

De beweging van de Pac-Man-figureren in het doolhof komt niet van een motor, maar wordt met een kleine zwengel aan de rechterkant van de arcade-kast aangestuurd. Hiervoor worden als 'de printplaat' bijna klaar is aan de achterzijde een klein aantal tandwielen en assen geplaatst. Het werkt probleemloos. Dat er op de doos van de LEGO-set Batteries included staat komt dus niet omdat er hubs of motoren in de set zitten, maar doordat er een Electric Light-brick wordt gebruikt. Dit is een met een kleine LED uitgeruste transparante steen. Deze zit aan de rechtervoorzijde achter het venster bij de sleuf waar je op de originele kast 25 dollarcent moest inwerpen voor de volgende game.  Hier niet nodig, maar wel mooi dat ook dit detail het in het LEGO-ontwerp heeft gehaald. Onbekend is hoe lang de LED meegaat en hoe je die ooit moet vervangen. Maar omdat de LED alleen aanspringt wanneer er op een grote knop wordt gedrukt, zal dit wel niet heel snel nodig zijn. 

Liefde voor details

De waardering voor deze LEGO-set komt ook door de liefde waarmee het product is ontworpen. Dit laatste is namelijk geen garantie bij de Deense speelgoedfabrikant, maar gelukkig wel bij dit jaren tachtig-icoon. Dit blijkt uit de geprinte bouwhandleiding waarin behalve goede uitleg over de bouw ook informatie over het ontwerpproces én de geschiedenis van het spel wordt gegeven. Hoewel zeker geen koffietafelboek, is het mooi dat LEGO de moeite neemt ook jongere bouwers die misschien Pac-Man wel helemaal niet kennen, mee te nemen in die geschiedenis. Subtiel is ook de kleine Pac-Man die onderaan de pagina laat zien hoe ver je bent in de totale bouw.

Easter-egg

Maar het blijkt ook uit de bouw zelf. Want naast de prachtige printplaat en uiteindelijk de hele speelhalkast zitten er nog twee extra onderdelen in de set. Eén daarvan is een grote Pac-Man met twee spoken (10 x 15 centimeter groot). Een bescheiden aantal raderen onder de figuren zorgt ervoor dat, wanneer je een knop aan de achterzijde indrukt, de drie figuren 180 graden omdraaien. Pac-Man wordt van gejaagde de jager én, net als in de game, het uiterlijk van de spoken verandert. Van gekleurde jagers zijn zij ineens de blauwe gejaagden op de vlucht voor Pac-Man. Dit simpele omkeereffect is briljant in al zijn eenvoud. 

Dat geldt iets minder voor de easter-egg die in de kast zelf zit. Wie de achterzijde van de gamehalkast opent, ziet daar een miniatuurweergave van dezelfde gamehalkast mét Pac-Man op het scherm, een lamp, barkruk, prullenbak en een LEGO-minifiguur.   

Stickers

Een punt waar de liefde iets minder lijkt, is bij de stickers. 18 telt deze set er en enkele daarvan zeer groot én prominent aanwezig. LEGO-stenen die een opdruk behoeven kunnen of zelf door LEGO-fabriek bedrukt worden, of bouwers moeten ze zelf voorzien van een sticker. LEGO-fans zijn geen liefhebbers van de stickers. Een steen met een sticker wordt na jaren altijd vies rondom de sticker en bovendien lukt het LEGO maar matig de kleur van een sticker volledig gelijk te krijgen aan die van de stenen. Stickers vallen dus op en dan niet in positieve zin. Gelukkig zijn de drie platen die bovenin de naam Pac-Man vormen wel bedrukt, evenals de 113 blauw-zwarte elementen die het parkoers van Pac-Man markeren. Stickers horen niet op een iconisch showmodel.

Al met al: een aanrader

LEGO 10323 Pac-Man is een geslaagde LEGO-set. Het is een plezier om te bouwen en het resultaat is aansprekend. De slimme manier waarop in de set Pac-Man en de spoken tot leven komen is echt heel mooi gemaakt én een genot om zelf te maken. Samen met de easter-egg en de grote Pac-Man met omkeereffect is het een heel leuke set geworden die voldoende aanspreekt en veel herinneringen oproept. Gezien de doelgroep van het product en de prijs zou je dan wel mogen verwachten niet nog eens met stickers bezig te moeten zijn voor de laatste aankleding. Op dit punt kan LEGO nog verbeteren. Verstandige AFOLS laten de stickers achterwege; ook zonder verdient LEGO Pac-Man het ergens in huis of mancave een mooie plek te krijgen.

Adviesprijs LEGO 10323 Pac-Man Arcade: 269,99 euro Kleuren: zwart,geel,blauw,rood,oranje Formaat: 32 x 25 x 17 cm Handleiding: 352 paginas (gedrukt en pdf) Bouwstappen: 459 Website: www.lego.com

Uitstekend
Conclusie

Een plezier om te bouwen en een aansprekend resultaat: LEGO 10323 Pac-Man is een aanrader. De slimme manier waarop Pac-Man en de spoken tot leven komen is echt heel mooi gemaakt én een genot om zelf te maken. Samen met de easter-egg en de grote Pac-Man met omkeereffect is het een heel leuke set geworden die voldoende aanspreekt en veel herinneringen oproept. Gezien de doelgroep van het product en de prijs zou je dan wel mogen verwachten niet nog eens met stickers bezig te moeten zijn voor de laatste aankleding. Op dit punt kan LEGO nog verbeteren. Verstandige AFOLS laten de stickers achterwege; ook zonder verdient LEGO Pac-Man het ergens in huis of mancave een mooie plek te krijgen.

Plus- en minpunten
  • Pac-Man beleving
  • Ontwerp
  • Gimmicks
  • Duidelijke handleiding
  • Bouwplezier
  • Stickers in plaats van geprinte stenen
  • Prijs
  • Veel plastic verpakkingsmateriaal (LEGO is bezig op papier over te stappen)

🎮 P.S. Echt helemaal fan van Pac-Man? Dan is dit peper-en-zoutstel vast iets voor jou!

🎮 P.S. 2: Lees ook: Terug naar toen met een ‘mini’ of tv-game

▼ Volgende artikel
Pushnotificaties vanaf je thuisserver: zo werkt ntfy
© ID.nl
Huis

Pushnotificaties vanaf je thuisserver: zo werkt ntfy

Als je services op je eigen thuisserver draait, wil je daar ook eenvoudig meldingen van kunnen ontvangen. Ntfy stelt je in staat om eenvoudig pushnotificaties naar je telefoon of computer te sturen. Bovendien kun je ntfy op je eigen thuisserver draaien, zodat je alles in eigen handen hebt. In dit artikel gaan we ermee aan de slag.

Dit gaan we doen

In dit artikel zetten we een ntfy-server op die je zelf beheert. We regelen eerst de randvoorwaarden: hoe je server van buitenaf bereikbaar wordt (bijvoorbeeld via vpn of portforwarding) en hoe je https netjes afhandelt met een reverse proxy en een certificaat van Let's Encrypt. Daarna bouwen we de basis: configuratiebestand, opslagmappen en een draaiende container met Docker.

Vervolgens maken we gebruikers en rechten aan, zodat niet iedereen zomaar kan publiceren of meelezen. Je test met de webinterface en met de mobiele app, zodat je zeker weet dat meldingen ook echt binnenkomen. Tot slot koppel je ntfy aan je eigen tools: eerst met een simpele curl-oproep vanuit een shellscript, daarna met extra's zoals titel, prioriteit en tags. Als je wilt, breid je dat uit naar meldingen met bijlagen, acties (doorklikken naar een url) en integratie vanuit Python. 

Lees ook: Je oude Windows-pc als thuisserver: zo zet je Jellyfin en Syncthing op

Netwerkmonitoringsoftware, een programma dat je Docker-containers bijwerkt, een smarthomecontroller, back-upsoftware, ze hebben allemaal één ding gemeen: ze moeten je meldingen kunnen sturen als er iets gebeurt. Dat kan op verschillende manieren: via e-mail, instant messaging of pushnotificaties naar je telefoon. Dat laatste verloopt doorgaans via een gecentraliseerde dienst zoals Firebase Cloud Messaging (voorheen Google Cloud Messaging) of Apple Push Notification service.

Pushnotificaties zijn handig omdat ze bijna onmiddellijk aankomen en omdat zowel Android als iOS toestaan om in te stellen hoe je ervan op de hoogte wordt gebracht. Wil je pushnotificaties kunnen ontvangen zonder een server onder controle van een partij zoals Google of Apple, dan moet je ook hiervoor je eigen service installeren. Een opensource-project dat dit implementeert, is ntfy.

Werking van ntfy

Je ntfy-server ontvangt meldingen van je programma's via http over een REST-API en zet deze om in pushnotificaties voor de bijbehorende Android- of iOS-app of voor een webpagina op je computer. De API is in de documentatie van het project beschreven, zodat je ook je eigen software met ntfy kunt laten praten. Het project heeft ook een command-line-interface, zodat je bijvoorbeeld shellscripts op je Linux-server eenvoudig pushnotificaties kunt laten verzenden.

Ntfy gebruikt het bekende publish/subscribe-patroon. Een zender publiceert notificaties op een specifiek onderwerp door data te sturen naar een url via een http POST- of PUT-aanvraag. Het onderwerp wordt gedefinieerd door een segment van de url dat volgt op de domeinnaam. Een ontvanger kan zich dan abonneren op dit onderwerp. Elke keer dat de zender daarna een notificatie op dit onderwerp publiceert, stuurt ntfy de data naar alle ontvangers die zich op dit onderwerp hebben geabonneerd. Door ntfy op je eigen server te installeren, heb je de volledige controle over deze notificaties.

Met ntfy kun je services pushnotificaties laten verzenden naar je telefoon of computer.

Serververeisten

De mobiele app van ntfy moet met je server kunnen communiceren om te vragen of er notificaties zijn. Als je ntfy op een server in je lokale netwerk installeert, moet die dus van buitenaf bereikbaar zijn. Dat kun je met portforwarding in je modem regelen of door je telefoon buitenshuis automatisch met een VPN-server op je lokale netwerk te laten verbinden. Heeft je internetaansluiting thuis geen vast ip-adres, dan moet je ook een DynDNS-updater te draaien.

Een andere optie is om ntfy op een VPS (Virtual Private Server) te installeren. Hierop draai je dan ook een reverse proxy voor https-toegang, die een TLS-certificaat van Let's Encrypt opvraagt. Je hebt dan een domein nodig, waarvoor je een DNS A-record naar het ip-adres van je server laat verwijzen. In de rest van dit artikel gaan we uit van een installatie van ntfy op een lokale server met Debian 13 ("trixie") met behulp van Docker Compose.

Basisconfiguratie

Creëer eerst enkele directory's voor ntfy:

$ mkdir -p containers/ntfy/{cache,etc,lib}

Creëer dan het bestand containers/ntfy/etc/server.yml met de volgende configuratie voor ntfy:

base-url: "https://ntfy.example.com"

cache-file: "/var/cache/ntfy/cache.db"

attachment-cache-dir: "/var/cache/ntfy/attachments"

auth-file: "/var/lib/ntfy/user.db"

auth-default-access: "deny-all"

Vervang het domein achter base-url door het domein waarop je ntfy-server draait. Als je gebruikmaakt van een reverse proxy, dan moet dit de url zijn die door de proxy naar ntfy wordt doorgestuurd. Bovendien moet je dan ook een regel behind-proxy: true toevoegen. In de documentatie van ntfy staan voorbeeldconfiguraties voor nginx, Apache2 en Caddy.

Met auth-default-access: "deny-all" tot slot heeft standaard niemand toegang tot onderwerpen. Elke toegang moet dus expliciet worden toegestaan.

Account bij ntfy.sh

De ontwikkelaar van ntfy draait een publiek beschikbare ntfy-server op ntfy.sh. De webinterface daarvan is bereikbaar op https://ntfy.sh/app. Die kun je gratis gebruiken, bijvoorbeeld om ntfy uit te proberen, maar dat komt met beperkingen. Zo kun je geen onderwerpen reserveren en is er een maximum van 250 notificaties per dag en 2 MB per bijlage. Verder is er geen enkele vorm van authenticatie. De enige manier van beveiliging ligt dus in het geheimhouden van je onderwerpen. Die beperkingen heb je niet als je ntfy zelf installeert. Maar als je liever niet zelf een installatie onderhoudt, kun je een betaald plan nemen. Daarmee ondersteun je ook de ontwikkeling van het opensource-project. Dat begint met een Supporter-plan van 5 dollar per maand (circa 5 euro), waarmee je drie onderwerpen kunt reserveren en 2.500 notificaties mag sturen met maximum 25 MB per bijlage.

Betaal voor gebruik van de publieke ntfy-server en ondersteuning van het opensource-project.

Docker Compose

Definieer nu de container in het bestand docker-compose.yaml:

services:

  ntfy:

    image: binwiederhier/ntfy

    container_name: ntfy

    command: serve

    restart: always

    environment:

      - TZ=Europe/Amsterdam

    volumes:

      - ./containers/ntfy/cache:/var/cache/ntfy

      - ./containers/ntfy/etc:/etc/ntfy

      - ./containers/ntfy/lib:/var/lib/ntfy

    ports:

      - 80:80

Ga je voor de aanpak met een reverse proxy, dan definieer je in ditzelfde bestand ook een container voor die reverse proxy.

Start daarna de container met:

$ docker-compose up -d

Als alles goed gaat, is de webinterface van ntfy daarna bereikbaar op het ingestelde domein of ip-adres. Bovenaan links zie je een melding Notifications are disabled. Klik op Grant now om notificaties in je webbrowser toe te staan, en bevestig dit daarna in het dialoogvenster dat je webbrowser toont.

Sta notificaties in je webbrowser toe.

Lees ook: Docker op je NAS: zo draai je Plex, Home Assistant en meer

Notificaties testen

Omdat je ntfy zo geconfigureerd hebt dat alle toegang standaard wordt geblokkeerd, kun je nog niets doen in de webinterface. Je dient dus eerst gebruikers aan te maken en die de toelating te geven om op specifieke onderwerpen te publiceren of zich te abonneren. Open daarvoor een shell in de container van ntfy met de opdracht docker exec -ti ntfy /bin/sh. Als je daarna ntfy user list intypt, krijg je te zien dat anonieme, niet geauthenticeerde gebruikers geen enkele permissies hebben. Met de opdracht ntfy user add --role=admin admin voeg je dan een admin-gebruiker met de naam admin toe. Gebruikers met de rol admin kunnen op alle onderwerpen publiceren en zich erop abonneren. Geef de gebruiker een wachtwoord en bevestig.

Klik nu in de webinterface van ntfy links op Settings en dan onder Manage users op Add user. Vul de url van je ntfy-server in, de gebruikersnaam admin en het wachtwoord dat je zojuist hebt ingesteld. Klik dan links op Subscribe to topic. Kies een naam of klik op Generate name om ntfy een willekeurige naam te laten kiezen en abonneer je dan op het onderwerp met Subscribe. Klik dan op Publish notification en vul hetzelfde onderwerp in. Voer ook een titel en een bericht voor je notificatie in en klik op Send. Als alles goed gaat, verschijnt je testbericht nu in een 'conversatie' met de naam van het onderwerp, en wijst je webbrowser je op een notificatie.

Publiceer notificaties in je webbrowser.

Gebruikersrechten

De webapplicatie is leuk voor een test, maar een mobiele app is vaak handiger. De app van Ntfy voor Android en iOS stelt je in staat om op je telefoon je te abonneren op onderwerpen (publiceren is niet mogelijk) en daarvoor notificaties te ontvangen. Als je de Android-app via F-Droid installeert, is dat zonder ondersteuning voor Firebase; de versie op Google Play gebruikt wél de servers van Google. Je maakt voor je app bij voorkeur een gebruiker aan die alle onderwerpen alleen kan lezen. Dat doe je weer in de shell van de container van ntfy met ntfy user add android om de gebruiker android aan te maken (voer een wachtwoord in) en dan ntfy access android "*" read-only voor de leesrechten.

Open daarna de Android-app en tik op de drie stippen rechtsboven. Kies Settings en stel dan Default server in op het domein van je ntfy-server. Tik daarna op Manage users en Add new user en vul de url van je ntfy-server in, de gebruikersnaam android en het bijbehorende wachtwoord. Tik dan op Add user. Keer dan terug naar het hoofdscherm van de app en klik op het plusicoontje rechtsonder. Voer het onderwerp in dat je tijdens de test in stap 5 hebt gebruikt en tik op Subscribe om je erop te abonneren. Vanaf nu zal de app voor elk ontvangen bericht op dit onderwerp een notificatie tonen. Je krijgt zelfs de al verzonden berichten te zien. Overigens toont de app twee waarschuwingen. Voor betrouwbare notificaties volg je de suggesties om batterijoptimalisaties uit te schakelen en naar WebSockets over te schakelen in plaats van een http-stream.

De Android-app ontvangt een notificatie voor elk bericht dat op een geabonneerd onderwerp wordt verstuurd.

Shellscripts

Nu je hebt getest dat je ntfy-server werkt, is het tijd om je eigen services notificaties te laten uitsturen. Hoe je dat precies configureert, hangt van de service af. Maar je zult altijd eerst een gebruiker met schrijfpermissies voor een specifiek onderwerp moeten aanmaken. Voor een back-upproces dat je op de hoogte moet houden van de status van je back-ups, maak je bijvoorbeeld een gebruiker aan met de opdracht ntfy user add backup in de container van ntfy. Geef die dan schrijfrechten op het onderwerp backup met ntfy access backup backup write-only.

Het publiceren van een bericht op een specifiek onderwerp behelst niet meer dan het sturen van een http POST-aanvraag naar de webserver. Dat kan bijvoorbeeld in een shellscript op je Linux-server met de opdracht curl:

curl -u backup:password -d "Backup successful" ntfy.example.com/backup

Als je in de ntfy-app op je telefoon je op dit onderwerp abonneert, ontvang je deze notificatie nadat het back-upscript is uitgevoerd. Op deze manier is het heel eenvoudig om je eigen shellscripts notificaties te laten verzenden.

Berichten met extra's

Ntfy ondersteunt talloze extra functies om je berichten te laten opvallen of om hun gedrag aan te passen. Je gebruikt deze allemaal door een http-header aan je aanvraag toe te voegen. Zo kun je aan de notificaties van je back-upscript een titel, prioriteit en tags toevoegen. De tags worden als pictogrammen getoond door de mobiele app. Een voorbeeld:

curl -u backup:password -H "Title: Backup failure" -H "Priority: urgent" -H "Tags: warning,skull" -d "Backup unsuccessful" ntfy.example.com/backup

Als de Android-app een bericht met standaardprioriteit ontvangt, doet ze je telefoon kort vibreren en speelt ze een kort geluidje af. Door de prioriteit op urgent te zetten, wordt het standaardnotificatiegeluidje vergezeld van een langer getril van je telefoon, waardoor je onmiddellijk merkt dat dit dringend je aandacht vereist.

Een ntfy-bericht met een titel, prioriteit en pictogrammen.

Plaatjes en lay-out

Ntfy kan ook plaatjes sturen, bijvoorbeeld een foto van een ip-camera die beweging detecteert, maar niet in combinatie met een tekstbericht. Om een bestand naar ntfy te uploaden met curl in een http PUT-aanvraag gebruik je de optie -T en de bestandsnaam. Met de header Filename voeg je de bestandsnaam toe die de ntfy-app je moet tonen. Dat ziet er dan als volgt uit:

curl -u admin:password -T foto.jpg -H "Filename: beweging.jpg" -H "Title: Beweging voordeur" -H "Tags: boom" ntfy.example.com/beweging

Als je een tekstbericht als Markdown opmaakt, kun je wel plaatjes in een tekst opnemen, maar dan moet je naar het bestand linken. Alleen ntfy's webinterface ondersteunt dit; de mobiele app toont gewoon de Markdown-brontekst. Een Markdown-bericht stuur je door de header Markdown: yes of Content-Type: text/markdown aan je http POST-aanvraag toe te voegen. Ntfy ondersteunt overigens alleen beperkte Markdown-functies, zoals vette en schuine tekst, lijsten, links en afbeeldingen.

Je services kunnen ook plaatjes naar ntfy sturen.

Acties

Je ontvangt de notificaties van ntfy in de app in een 'conversatie' per onderwerp. Wanneer je op een notificatie tikt, kopieert dit standaard gewoon de tekst van het bericht naar het klembord. Als je de header Click: URL toevoegt, opent de app die url wanneer je op de notificatie tikt. Zo kun je in een notificatie van je back-upscript bijvoorbeeld een link naar de webinterface van je back-upserver opnemen om het gemelde probleem snel te onderzoeken.

Je kunt ook tot drie 'actieknoppen' definiëren, die dan onderaan een notificatie verschijnen. Door op een van die knoppen te tikken, open je een website of app, activeer je een Android broadcast intent waarop andere apps dan weer kunnen reageren, of zend je een http POST-, PUT- of GET-aanvraag. De manier om dit alles te definiëren is wat omslachtig, maar wordt volledig in de documentatie van ntfy uitgelegd.

Klik op een van de knoppen van het bericht in ntfy om een actie uit te voeren.

Python-code

Curl is natuurlijk niet de enige tool waarmee je notificaties naar je ntfy-server kunt sturen. Sommige tools bieden rechtstreeks ondersteuning voor notificaties via ntfy. Dan hoef je alleen maar het domein van je server, het onderwerp, de gebruikersnaam en het bijbehorende wachtwoord in te vullen. Maar ook in je eigen Python-scripts kun je eenvoudig ondersteuning voor ntfy inbouwen. Dat gaat via het pakket Requests, waarmee je http POST-aanvragen naar de server stuurt. Een eenvoudig voorbeeld ziet er als volgt uit:

import requests

requests.post("http://ntfy.example.com/backup",

    data="Backup unsuccessful",

    headers={

        "Authorization": "Basic Z2VicnVpa2Vyc25hYW06d2FjaHR3b29yZA==",

        "Title": "Backup failure",

        "Priority": "urgent",

        "Tags": "warning,skull"

    })

Met de header Authorization stel je http Basic-authenticatie in. De tekenreeks die na Basic komt, is een Base64-codering van de gebruikersnaam en het wachtwoord met een dubbele punt ertussen. Je creëert die codering op je Linux-systeem met de opdracht echo "Basic $(echo -n 'gebruikersnaam:wachtwoord' | base64)".

Sssssssssschattig

Speciaal voor de kleinste Python-fans

En verder

Ntfy biedt een betrouwbare manier om notificaties van allerlei services te centraliseren, terwijl je zelf de volledige controle behoudt. Het programma blinkt uit in flexibiliteit om het overal in te integreren. Als een service bijvoorbeeld geen http POST-aanvragen ondersteunt, kun je ook http GET-aanvragen doen. En als een service je niet de mogelijkheid geeft om de headers aan te passen, laat ntfy je toe om de berichten inclusief headers in JSON-formaat door te sturen. En als een service webhooks ondersteunt maar daarvoor zijn eigen JSON-formaat gebruikt, kan ntfy die met berichtsjablonen omzetten naar leesbare berichten.

Ook via e-mail is ntfy te integreren. Je kunt bijvoorbeeld berichten die op je ntfy-server aankomen automatisch laten doorsturen naar een SMTP-server om ze ook als e-mail te ontvangen. Maar ook de andere richting is voorzien: ntfy kan dan zelf een ingebouwde SMTP-server draaien, handig voor services die alleen maar notificaties via e-mail ondersteunen. Elk onderwerp op de ntfy-server heeft dan een bijbehorend e-mailadres op je domein. De service hoeft dan alleen maar een e-mail naar dat adres te sturen om berichten op dat onderwerp te publiceren op je ntfy-server. Deze en andere geavanceerde functies zijn uitgebreid gedocumenteerd op de website van ntfy.

De documentatie van ntfy is uitgebreid en praktisch. 

▼ Volgende artikel
Nieuwe FromSoftware-game The Duskbloods komt echt alleen naar Switch 2
Huis

Nieuwe FromSoftware-game The Duskbloods komt echt alleen naar Switch 2

The Duskbloods, de nieuwe game van Elden Ring- en Dark Souls-ontwikkelaar FromSoftware, zal echt alleen op Nintendo Switch 2 uitkomen.

Dat heeft de ontwikkelaar benadrukt bij het bekendmaken van zijn kwartaalcijfers (via VGC). Daarbij werd ook nog eens benadrukt dat The Duskbloods nog altijd gepland staat om ergens dit jaar uit te komen, net zoals de Switch 2-versie van Elden Ring.

Over de exclusieve Switch 2-release van The Duskbloods: "Het wordt verkocht via een samenwerking met Nintendo, met verkoopverantwoordelijkheden verdeeld per regio. De game komt alleen voor Nintendo Switch 2 beschikbaar." Daarmee is dus duidelijk gemaakt dat Nintendo een nauwe samenwerking met FromSoftware is aangegaan voor de game en dat het spel niet zomaar op andere platforms uit zal komen.

Over The Duskbloods

The Duskbloods werd begin vorig jaar aangekondigd in een speciale Nintendo Direct waarin de eerste Switch 2-games werden getoond, maar sindsdien zijn er geen nieuwe beelden van het spel uitgebracht. Zoals gezegd is de game ontwikkeld door FromSoftware, het Japanse bedrijf dat naam voor zichzelf heeft gemaakt met enorm uitdagende spellen, waaronder de Dark Souls-serie en Bloodborne. Met de openwereldgame Elden Ring scoorde de ontwikkelaar enkele jaren geleden nog een megahit.

Watch on YouTube

The Duskbloods wordt een PvPvE-game, waarbij spelers het dus tegen elkaar en tegen computergestuurde vijanden opnemen. Maximaal acht spelers doen aan potjes mee. Na het kiezen van een personage in een hub-gebied wordt men naar een gebied getransporteerd waar er met andere spelers en vijanden gevochten wordt, al kan men soms ook samenwerken om vijanden te verslaan.

Spelers besturen een 'Bloodsworn', wezens die dankzij een speciaal bloed dat in hun lichaam zit meer krachten tot hun beschikking hebben dan reguliere mensen. Ondertussen is het einde van de mensheid nabij, en bestaat de wereld uit verschillende tijdperken, wat voor een mengelmoes van stijlen zorgt.