WebRTC with Pion

For a project I’ve been using Pion WebRTC which is a Golang implementation of the WebRTC API. It is easy to set up and provides great performance. Some tips when using Pion WebRTC, or WebRTC in general: Streaming with Pion WebRTC Once you’ve done all the peer/ICE handling, you can send video/audio. Below is the… Continue reading WebRTC with Pion

macOS Virtualization.Framework

The macOS Virtualization.Framework allows you to run up to 2 macOS VMs (Virtual Machines) on Apple hardware. The limit of 2 VMs per machine is due to Apple’s EULA, explicitly setting a maximum of 2 copies of macOS per Apple machine. The framework, which runs on Apple Silicon, comes with paravirtualized graphics which means using… Continue reading macOS Virtualization.Framework

Using ditto on macOS

Recently I was investigating why this command returned a not authorised response: Turns out because I zipped the .app file like this: This causes spctl to no longer find the correct notarized details. Using ditto is a better solution: Oh and by the way, do not use jar xf to unzip the file, instead use… Continue reading Using ditto on macOS

TCP MSS clamping with iptables for IPSec tunnel

When routing traffic through a (IPSec) tunnel, an endpoint might need to do mss clamping if you are experiencing MTU issues. For example, you are using a site-to-site VPN network, with a specific gateway as endpoint. When browsing websites through the tunnel, some websites might not load properly. An example, using iptables to fix this… Continue reading TCP MSS clamping with iptables for IPSec tunnel

Multiple default gateways on Linux

Suppose you have a Linux machine doing IP forwarding (net.ipv4.ip_forward=1). Depending on the incoming traffic, you might want to forward the packets to different gateways. With just one gateway, you can simply add (or replace) the default gateway:ip route add default via x.x.x.x If you want to set a default gateway for a specific (incoming)… Continue reading Multiple default gateways on Linux

VMWare Fusion – modify DHCP

If you are running VMWare Fusion, chances are you might have created your own custom network adapter. In case you’re running an (authoritative) DHCP server in this subnet, you might see interference with VMWare Fusion’s own DHCP server. You can easily disable the Fusion DHCP server by following these steps (no Fusion restart required): set… Continue reading VMWare Fusion – modify DHCP

Automated Browser Testing with Puppeteer

If you are interested in browser automation, you probably have heard of Puppeteer. Puppeteer is a NodeJS library, which connects with Chromium browsers through the DevTools protocol. Puppeteer will send the same messages back and forth just like the Chrome DevTools do. By doing that, it allows Puppeteer to control and interact with the Chrome… Continue reading Automated Browser Testing with Puppeteer