SFTP, root access and sudo

Suppose you log into a server with your own SSH user, have password-less sudo access and want to access files as root over SFTP.

Your attempt would probably look like this:

# sftp user@remote
Connected to remote.
sftp> cd /root
sftp> ls
remote readdir("/root"): Permission denied
sftp> sudo ls
Invalid command.

Not possible, right?

Read more…

Transcoding a HDR video with tonemapping

Before HDR came into wider use, working with video was easier. You didn't have to care about colorspaces [1], it would display fine everywhere and working with it was painless. With HDR it's not so simple anymore: To display it a process called tonemapping needs to be applied and you even need a HDR-capable output device in order to see a meaningful difference compared to SDR (Standard Dynamic Range).

Here I will document how you can convert HDR video to SDR, e.g. to view it on an older device.

Read more…

Putting a systemd service behind a VPN

It recently occurred that I had the need to route all traffic by a certain application through a VPN. While premade solutions for this exist using Docker (especially in combination with BitTorrent clients), I preferred looking for something that really just isolates what is needed and leaves the rest alone.

Read more…

Installing UniFi Network on Raspberry Pi OS 11 (bullseye)

Installing an Unifi controller on a Raspberry Pi seems like a straightforward task until you notice the section with system requirements.

The software requires a MongoDB version before 4.0. The last version that satisfies this is 3.7.9 which is almost four years old at the time of writing. You may find old versions packaged on the MongoDB website or in other repositories but certainly not for ARM. The second problem is that MongoDB dropped 32-bit support in version 3.4 so the latest we can actually use is 3.2.22 (also 4 years old).

In the end I was unable to find a build of MongoDB 3.2 that could run on a Pi which leaves only the option of compiling from source. This is what I ended up doing, it required lots of trial and error [1] before it succeeded. To (hopefully) save someone else time I put up the final Debian package for download.

Read more…