Installing Vagrant with KVM on Ubuntu 18.04

Start by installing necessary packages:

apt-get install nfs-kernel-server qemu-kvm libvirt-daemon libvirt-daemon-system virtinst bridge-utils vagrant-libvirt

Create an ordinary user and add it to the sudo and the libvirt group:

adduser mike
usermod -G libvirt,sudo mike

Now you should be able to switch into this user and give Vagrant a spin:

su - mike
mkdir testmachine
cd testmachine
vagrant init debian/stretch64
vagrant up

 

Udgivet i KVM, Links, Programmering, Vagrant | Skriv en kommentar

Inotify, Run (Python) script once it changes

This is sadly Linux Only, start by installing inotify-tools:

# apt-get install inotify-tools

and create the following script:

#!/bin/sh
clear
echo Waiting for filechange ...
inotifywait -q -m -e close_write,moved_to --format %e/%f . |
while IFS=/ read -r events file; do
    if [ "$file" = "script.py" ]; then
        clear
        python ./script.py
    fi
done

this actually watches the directory, because Vim writes files by writing your alterations to a temporary file and moving it in place of the old one, however this aproach also works with normal write.

Udgivet i Linux, Vim | Skriv en kommentar

Ubuntu 18.04 LTS Default video player totem wont play mp4 files

Took me a while to figure out, but for some reason the gstreamer1.0-vaapi needs to be uninstalled.

Udgivet i Workstation | Skriv en kommentar

Apple-style screenshoting with autoupload

Install xclip and scrot:

apt-get install scrot xclip

Download a shutter wave, i found one here: https://www.soundjay.com/camera-sound-effect.html

Actually this one: https://www.soundjay.com/mechanical/camera-shutter-click-03.wav

Add the following lines to your i3 config (~/.config/i3/config):

bindsym --release Shift+Print exec --no-startup-id scrot -s -e 'scp $f root@example.com:/var/www/screenshots && echo https://example.com/screenshots/$f|xclip && aplay ~/.config/screenshot.wav'

bindsym --release $mod+Shift+4 exec --no-startup-id scrot -s -e 'scp $f root@example.com:/var/www/screenshots && echo https://example.com/screenshots/$f|xclip && aplay ~/.config/screenshot.wav'

Note i added two keybindings, you may choose any combination you wish.

You also need to install password-less ssh keys for the example.com server for this to work.

Udgivet i I3WM, Knowledge Base, Linux, Workstation | Skriv en kommentar

Thinkpad T430s Keybindings i I3

~/.config/i3/config

bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5% 
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5%
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle 
bindcode 156 exec ~/.config/toggletouchpad.sh

~/.config/toogletouchpad.sh

#!/bin/bash
if synclient -l | grep "TouchpadOff .*=.*0" ; then
    echo off
    synclient TouchpadOff=1 ;
else
    echo on
    synclient TouchpadOff=0 ;
fi

 

Udgivet i I3WM, Knowledge Base, Workstation | Skriv en kommentar

Using v4l2loopback to create custom v4l2 interfaces

Duplicate a stream:

modprobe v4l2loopback devices=2 card_label="Mike er en hest","Det er brian oxo"

ffmpeg -f video4linux2 -s 800x600 -i /dev/video0 -codec copy -f v4l2 /dev/video2 -codec copy -f v4l2 /dev/video3

 

Udgivet i Knowledge Base, Videostreaming | Skriv en kommentar

Wiping a harddrive secureley

shred -vfz -n 10 /dev/md0 –random-source=/dev/urandom

Udgivet i Knowledge Base | Skriv en kommentar

VNC til en aktiv session

mike@reliant:~$ apt-get install tigervnc-scraping-server

mike@reliant:~$ vncpasswd
Password:
Verify:
Would you like to enter a view-only password (y/n)? n

mike@reliant:~$ x0vncserver -display :0 –PasswordFile=.vnc/passwd

Udgivet i Knowledge Base, VNC, Workstation | Skriv en kommentar

Nu med WordPress

Efter et hurtigt bestyrrelsesmøde på IRC tidligere idag blev vi enige om at føre Uni-fix ind i det 21. Århundrede, droppe den gamle Perl-kode og sætte et WordPress site op. Så vi kan fokusere på indhold istedet for teknologi.

Vi vil med tiden få ført alt indhold over, men det er ikke noget vi kan gøre automatisk så det er en manuel process, primært fordi de enkelte indlæg skal kategoriseres. Så giv os lige et par uger eller 10, så burde vi være i luften på den nye platform.

Vi forventer at holde det gamle site i luften på adressen base.unifix.org som faktisk er den oprindelige URL, men der vil nok blive lukket for tilføjelse af nyt indhold.

Udgivet i Uncategorized | Skriv en kommentar

Ratelimiting på Linux

Linie 2 matcher kun 10 pakker i sekundet, med en burst på 20 (forklaret længere nede) og disse jumpes til accept. Resten fortsætter i tabellen, hvor man så kan gøre andet med den – f.eks. logge den.

iptables -N RateLimit
iptables -A RateLimit –match hashlimit –hashlimit-mode srcip –hashlimit-upto 10/sec –hashlimit-burst 20 –hashlimit-name conn_rate_limit –jump ACCEPT
iptables -A RateLimit –jump DROP

iptables -A INPUT –match conntrack –ctstate NEW –jump RateLimit

Burst er grænsen for hvor mange forbindelser der kan være bagud. Hvis f.eks. du ikke har haft trafik i flere timer kan du kortvarigt have flere tusind requests uden at komme over 10req/s hvis man ser på det over f.eks. en hel dag. Derfor fungerer det på den måde at hver ip adresse har en konto, og på denne bliver der sat 10 tokkens ind per sekund, og hvergang en forbindelse smutter igennem fjernes en tokken. Denne konto har i vores eksempel et max på 20 tokkens. Det betyder at når den grænse er nået sættes der ikke flere tokkens ind.

Test:
https://www.petefreitag.com/item/689.cfm

# ab -n 100 -c 10 http://renesejling.mikjaer.com/ 2>1 | grep “Requests per second”
Requests per second: 12.43 [#/sec] (mean)

Noter:
https://making.pusher.com/per-ip-rate-limiting-with-iptables/

Udgivet i Knowledge Base, Linux, Networking | Skriv en kommentar