Skip to content

Instantly share code, notes, and snippets.

View s-zeid's full-sized avatar

S. Zeid s-zeid

View GitHub Profile
#!/usr/bin/env python3
import argparse
import os
import re
import socket
import sys
import threading
from dataclasses import *
-- <https://gist.github.com/7ad39697af06220ccec2868a340fd162>
-- input.conf usage: <key> show-text "${user-data/bitrates}"
-- <key> show-text "${user-data/bitrate/<subkey>}"
-- <key> script-binding bitrate/show [subkey (default: all)]
-- <key> script-binding bitrate/osd-toggle [subkey (default: all)]
-- subkeys: all, va, v, a, s
-- example: k show-text "${user-data/bitrates}"
-- K script-binding bitrate/osd-toggle va
local function update()
@s-zeid
s-zeid / reset_tty.py
Last active October 7, 2024 00:29
Reset the terminal without clearing it.
#!/usr/bin/env python3
# vim: set fdm=marker:
# Copyright (c) 2024 S. Zeid.
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
@s-zeid
s-zeid / frk-status
Last active August 15, 2024 01:57
Gets information from Franklin Wireless cellular hotspots. Also allows rebooting the hotspot.
#!/usr/bin/env python3
r"""Gets information from Franklin Wireless cellular hotspots.
Also allows rebooting the hotspot (`-r`/`--reboot`).
Example script to store login information (`frk-status.local.py` in the same
directory as this script; `.py` may be omitted):
```python
@s-zeid
s-zeid / LICENSE.txt
Last active January 31, 2024 08:31
License for my Gists (unless otherwise specified or not eligible for copyright)
Copyright (c) S. Zeid. <https://s.zeid.me/>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
# <https://gist.github.com/b6f7106e553b8c31723dc50c5aa1f1c2>
include "%L"
# Uncategorized {{{1
<Multi_key> <equal> <equal> <equal> : "≡" U2261 # IDENTICAL TO
<Multi_key> <asterisk> <asterisk> : "∗" U2217 # ASTERISK OPERATOR
<Multi_key> <bracketleft> <o> <bar> : "⎄" U2384 # COMPOSITION SYMBOL
<Multi_key> <bracketleft> <O> <bar> : "⎄" U2384 # COMPOSITION SYMBOL
<Multi_key> <c> <m> <p> : "⎄" U2384 # COMPOSITION SYMBOL
@s-zeid
s-zeid / tst-separator.url
Last active September 7, 2022 07:09
Tree Style Tab separator data: URI (public domain / Creative Commons Zero)
data:text/html;charset=utf-8,<html id="separator" data-string="\u2013" data-length="35" data-background="GrayText" data-opacity="0.125"> <link rel="help" href="https://gist.github.com/f4c51606f99e990774133e9eb46905ee" /><script>addEventListener("load", () => { const html = document.documentElement; document.title = JSON.parse(`"${html.dataset.string.replace('"', '\\"')}"`).repeat(Number(html.dataset.length) || 1); const background = document.querySelector("[id='background']"); background.style.background = html.dataset.background || "unset"; background.style.opacity = html.dataset.opacity || "1"; });</script><style>body, [id="background"] { height: 100%; margin: 0; }</style><link rel="icon" type="image/png" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA
@s-zeid
s-zeid / bw-session.sh
Last active May 14, 2022 14:52
Shell function to automatically manage the BW_SESSION environment variable for the Bitwarden CLI. Public domain via CC0.
# Shell function to automatically manage the BW_SESSION environment variable
# for the Bitwarden CLI. Public domain via CC0.
# <https://gist.github.com/c0acd6bcafbc8af3dafefc90d1e0765d>
bw() {
local cmd="$1"
[ $# -ge 1 ] && shift || true
if [ x"$cmd" = x"unlock" ] && [ $# -eq 0 ]; then
local session="$(FORCE_COLOR=$(_bw_force_color) _bw_run "$cmd" --raw "$@")"
if [ x"$session" != x"" ]; then
@s-zeid
s-zeid / firewall.nat6
Last active April 12, 2022 10:35
OpenWRT NAT6 firewall script, patched to restart the IPv6 WAN interface(s) on first run after boot. (See <https://openwrt.org/docs/guide-user/network/ipv6/ipv6.nat6>.) GPLv3 per the GitHub repo in the original script.
#!/bin/sh
# NAT6 + masquerading firewall script
# https://github.com/akatrevorjay/openwrt-masq6
# trevorj <github@trevor.joynson.io>
#
# You can configure in /etc/config/firewall per zone:
# * IPv4 masquerading
# option masq 1
# * IPv6 masquerading
@s-zeid
s-zeid / 7zt
Last active January 28, 2022 05:44
(moved to https://gitlab.com/s-zeid/bin/) Use Vim to browse archives supported by p7zip
#!/usr/bin/env python3
"""A tar(1)-like interface for 7z(1)."""
import argparse
import os
import subprocess
import sys