Archive for 'linux'

IP-Based Service Multiplexing

Markus | Sunday, March 30th 2025, 09:40

-- How to host both a web server and VPN on port 80

Figure 1. Pictogram of a server responding differently on the same port depending on IP address

Recently, I had to configure one of my servers to handle requests coming from a specific IP differently from the rest of the Internet. Specifically, I wanted port 80 to usually return my website, but for one specific client (based on the IP address), I wanted it to instead forward to request to another server running SSH. (Yes, that's kind of stupid, but drastic firewalls require drastic measures.)

In the following, I will show how to configure iptables to change the backend service handling a connection based on the source IP address. I'll give a quick example using a simple HTTP server using Python and one socat TCP endpoint serving the current date and time over raw TCP. I am intentionally choosing two incompatible protocols here to show that this method allows this.

→ Click here to continue reading ←

Tags: linux networking software


Personal Projects Advent Calendar 2018

Markus | Thursday, December 27th 2018, 00:00

-- 27 Days of Projects

Figure 1. Thank you for 2018!
2018 is coming to an end, and so it's time to tend to things that didn't get done over the year. For me, I've been wanting to talk about many of my old projects for quite a while now, but never got around to it.

So this December (or tbh, many were shot during November), I pulled together and made videos for 25 of my projects. They date from very recent (November 2018) back to my school days (2007), so there's quite some variation to the style and type of project. I hope that you will enjoy (at least some of) them.

→ Click here to continue reading ←

Tags: avr fpga hardware linux software video


FlySky FS-i6 as PC Joystick

Markus | Updated Friday, October 18th 2019, 17:44

-- Let's pretend FlightGear is a model airplane simulator

Figure 1. FlightGear controlled using the FlySky FS-i6

In this post, I will explain how to use the FlySky FS-i6 RC remote control as a game controller / joystick on Linux. This post covers how to connect the FS-iA6B receiver to a computer and how to compile the driver and support software.

→ Click here to continue reading ←

Tags: linux rc software


Brother LW-35 Typewriter Modernization Vlog 1

Markus | Sunday, April 29th 2018, 17:11

-- Part 1: LCD

Embedded content has been disabled to protect your privacy.




or click here to allow them permanently,

or click here to watch the video on YouTube:
https://www.youtube.com/watch?v=jHHFV2MjRZk



Please note that, by enabling this video, data is transferred
to YouTube LLC, and is subject to their privacy policy.

In the first video of this series, I show how I got the LCD of the Brother LW-35 Typewriter working with an Orange Pi PC Linux SBC.

→ Click here to continue reading ←

Tags: fpga hardware linux lw35 software video


Building a Custom Mainline Linux Kernel System on the Orange Pi PC

Markus | Updated Sunday, August 6th 2017, 09:21

Figure 1. The Orange Pi PC single board computer
This post will explain how to build an Arch Linux system with the latest mainline Linux kernel for the Orange Pi PC by Xunlong from scratch. The target system is intended for server use only. Graphical features, while they may work, have not been tested and are not the focus of this post. The tutorial starts with a completely blank SD card, which means the following steps need to be accomplished in order to reach the goal:
  • Build the cross compiler
  • Build U-Boot
  • Partition the SD card and install U-Boot
  • Build the Linux kernel
  • Install it and the Arch Root FS onto the SD Card
  • Fun and profit :)

→ Click here to continue reading ←

Tags: linux orangepi software