~rumpelsepp

Braindump

I use the gammastep utility for enabling a redshifty nightlight on my desktop. Since gammastep supports wayland and sway supports the wayland protocols in play it is works for me. Now to the annoying part of it: Geolocation. Geolocation is needed that gammastep knows on which time it needs to enable the nightlight.

Read more...

Using the tee utility is often a nice method to save and view the output of a certain command at the same time. I use tee for creating logfiles of long running commands. The problem with this approach is that these files might grow to a gigantic size. Since logfiles are usually just plain text they often compress very well.

The naive approch to accomplish compressed files with tee is something like this:

$ command | tee logfile.log
$ zstd logfile.log
Read more...

Neovim is awesome. By this time it supports being configured using the Lua programming language. I am pretty happy with this, since I never got into vimscript

I use neovim for everything that has to to with text. It can be programming, taking notes, configuring services, sorting data, or just reformatting files with macros. The fact that neovim runs in a terminal enables using it on a remote server via SSH. Since I use it for these tasks I often have to use my system clipboard (which is provided by wayland in my case).

Read more...

SSH is an awesome protocol and it can do a lot of things. I found out that OpenSSH has native TUN device support. Unfortunately I was not able to set this up properly. On my Linux boxes this failed with interesting errors. I ended up using strace to find out that there is some permission idiosyncracy.

As I love using pipes in my terminal, I had an idea. What about using socat and piping IP traffic through the SSH tunnel? tldr; it works.

$ sudo socat TUN:192.168.255.1/24,up EXEC:'ssh -l root HOST "socat TUN:192.168.255.2/24,up"'

Let's break this monster down.

Read more...

Have you ever been in a restricted corporate network where the only way to reach the internet is a dumb HTTP Proxy? It sucks. That's why i wrote webcat. Webcat aims to be the swiss army knife for websocket connections as netcat is for plain TCP. It does not aim to provide a shitload of features as websocat does.

Read more...

Motivated by the current trend towards a more complex and less understandable[^1] [^2] [^3] [^4] [^5] [^6] software world, I tried to formulate my personal software philosophy. I came up with these four headlines.

Read more...

A wanted to do RISC-V experiments on bare metal for a long time. I always failed due to the lack of tooling, “how to start” documentation, and my own laziness. First some pointer what's RISC-V? RISC-V is a free (as in free speech) instruction set architecture (ISA) which defines an assembly language and a lot more other stuff. Any vendor can pick up the relevant documents to design and produce CPUs. Since there is a working C compiler and all the tooling available, a RISC-V CPU can nowadays run a complete Linux distribution out of the box. I hope it will replace the mess we are currently in with x86 and ARM…

Read more...

Due to the COVID-19 madness in Germany I was forced to perform all my penetration testing remotely. This is quite challenging when you have to make sure that devices can be powercycled reliably. Additionally, the power consumption is often an indicator for a crash. Having on overview of the current consumption of my setup makes perfect sense.

Read more...

Hi. This is just a short post; but I am still alive! :) I have recently cleaned up my neovim config, and I had the requirement for a script which cleans trailing whitespace. I have come up with some cool sed stuff. Here is my short script:

Read more...

Today I had issues with establishing a connection to a Git server through SSH. I found out, that it is possible to trick Git to use a SOCKS proxy for SSH traffic. All you need to to is, setting an environment variable:

$ export GIT_SSH_COMMAND='ssh -o ProxyCommand="netcat -X 5 -x SERVER:PORT %h %p"'

On debian the package openbsd-netcat is required, since the traditional netcat does not support SOCKS.