Skip to content

Instantly share code, notes, and snippets.

View Elektordi's full-sized avatar

Guillaume "Elektordi" Genty Elektordi

View GitHub Profile
@Elektordi
Elektordi / docker-compose.yml
Created November 1, 2025 21:00
Maintenance error page
services:
error-pages:
image: ghcr.io/tarampampam/error-pages:3.7
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.routers.error-pages.rule=Host(`example.com`) && !ClientIP(`192.0.2.1`)"
- "traefik.http.routers.error-pages.priority=9000"
- "traefik.http.routers.error-pages.entrypoints=websecure"
- "traefik.http.routers.error-pages.tls=true"
@Elektordi
Elektordi / gtk.css
Created July 29, 2025 17:17
Greybird-like css for Gtk4
/* Put custom css here: ~/.config/gtk-4.0/gtk.css */
window.background { color: #3c3c3c; background-color: #cecece; }
window.background:backdrop { color: #858585; background-color: #cecece; text-shadow: none; -gtk-icon-shadow: none; }
.top-bar { color: #3c3c3c; background-color: #cecece; }
@Elektordi
Elektordi / keycloak-scripts.json
Last active July 2, 2025 14:26
Keycloak login using IDP only
{
"authenticators": [
{
"name": "Identity Provider Selector",
"fileName": "login-idp.js",
"description": "(Guillaume Genty, 2025)"
}
]
}
@Elektordi
Elektordi / ios_pppoe_debug_packets_to_pcap.py
Created June 24, 2025 11:14
Convert cisco debug pppoe packets to pcap
#!/usr/bin/env python3
import sys
from scapy.all import *
import re
in_file = open(sys.argv[1], "rt")
out_file = open(sys.argv[2], "wb")
buffer = b""
@Elektordi
Elektordi / push-ftpback.sh
Created April 9, 2025 21:55
Backup proxmox on ovh ftp backup
#!/bin/bash
tar -cPzf /var/backups/etc.tgz /etc
lftp -c "
open ftpback-rbxX-X.mybackup.ovh.net
user nsXXXXX.ip-X-X-X.eu XXXXXXXXXX
mirror --reverse --only-newer --delete /var/backups var-backups
mirror --reverse --only-newer --delete /var/lib/vz/dump vz-dump
quit
@Elektordi
Elektordi / gist:ea60d575a690853badc46fc59b9489e4
Last active March 21, 2025 23:24
Uninstall all stock apps from new android device
Uninstall all stock apps from new android device:
```
adb shell pm list packages -f | grep /preloadapp/ | cut -d= -f2 | xargs -I% adb uninstall %
adb shell rm /sdcard/test.mp4
```
@Elektordi
Elektordi / sqlite.py
Last active January 3, 2025 16:05
Ansible callback plugin to store results in SQLite
DOCUMENTATION = '''
name: sqlite
callback_type: store
author: Guillaume "Elektordi" Genty <[email protected]>
requirements:
- enable in configuration
- install sqlite3
short_description: Store playbook results in sqlite
version_added: "1.0" # for collections, use the collection version, not the Ansible version
description:
@Elektordi
Elektordi / !!! WX02 keyboard codes
Last active November 27, 2024 01:18
Bluetooth WX02 keyboard on linux
https://www.aliexpress.com/item/1005007861441274.html
(with connector on right, like on manual)
Short video mode
UP press: BTN_TOUCH/BTN_TOOL_PEN/ABS_Y
UP hold: KEY_VOLUMEDOWN
UP double: BTN_TOUCH/BTN_TOOL_PEN/ABS_X
MID press: BTN_TOUCH/BTN_TOOL_PEN/ABS_Y/ABS_Y
MID hold: KEY_POWER
@Elektordi
Elektordi / try_renew_kube.sh
Created June 10, 2024 12:33
Renew kube certificates if expiring
#!/bin/bash
kubeadm certs check-expiration | grep -B999 "CERTIFICATE AUTHORITY" | grep -E "no +$" | grep -E "( [0-9]d |invalid)"
if [[ $? == 0 ]]; then
echo "Certificates to renew!"
kubeadm certs renew all
crictl ps --label io.kubernetes.pod.namespace=kube-system -q | xargs crictl stop
echo "OK"
else
GET http://localhost:5500/api/internal/rundown/?rundownId=default.rundown.json
POST http://localhost:5500/api/internal/playGroup/?rundownId=default.rundown.json&groupId=aa1LYW7C
POST http://localhost:5500/api/internal/stopGroup/?rundownId=default.rundown.json&groupId=aa1LYW7C
POST http://localhost:5500/api/internal/playPart/?rundownId=default.rundown.json&groupId=aa1LYW7C&partId=sPtWQfd9
To find args: https://github.com/SuperFlyTV/SuperConductor/blob/3b49349a3492615d801d49c65136eff8126c3b5a/apps/app/src/ipc/IPCAPI.ts#L99