Skip to content

Instantly share code, notes, and snippets.

@rkok
rkok / toggle-screen-dimmer.sh
Last active April 16, 2024 04:29
X screen dimmer toggler - Uses xrandr to toggle between dimming/brightening connected displays
#!/usr/bin/env bash
#####################
# toggle-screen-dimmer.sh - X screen dimmer toggler
# Uses xrandr to toggle between dimming/brightening connected displays
# See --help for usage
# Recommended: create a launcher for this script on the task bar!
#####################
list_displays() {
xrandr --verbose --current | awk '/ connected/ {print $1}'
@rkok
rkok / btheadset_toggle.sh
Last active April 16, 2024 03:51
PulseAudio headset mode toggler
#!/usr/bin/env bash
#######################
# btheadset_toggle.sh
#
# Toggles bluetooth headset mode between
# A2DP (high quality, no microphone)
# and headset (low quality + microphone).
#
# Usage: ./btheadset_toggle.sh
#
@rkok
rkok / iwp-cleanup-db.sh
Last active October 10, 2023 06:40
Cleanup InfiniteWP history tables
#!/usr/bin/env bash
#################################################
# For each site in InfiniteWP,
# removes all but the latest history records.
#
# This speeds up InfiniteWP and
# reduces the size of its tables,
# particularly iwp_history_raw_details.
#
# Indended to be run as a daily cronjob.
@rkok
rkok / MultiHttps.ts
Created August 14, 2023 04:31
Rate-limit-aware, multi-interface wrapper for Axios (HTTPS requests only)
/*
* Disclaimer: this was slung together as the result of some trial and error and can definitely be improved.
*
* Pass environment variable DEBUG=1 for lots of debug logging.
*
* Usage example:
*
* const rateLimits: RateLimitDef[] = [
* {
* urlRegex: 'carriages/[^/]+/horses',
@rkok
rkok / plesk_global_auto_prepend.sh
Last active June 15, 2023 06:04
Plesk auto_prepend_file installer
#!/usr/bin/env bash
############################################################
# For every domain on a Plesk server:
#
# - Sets a desired PHP auto_prepend_file
# - Patches open_basedir (if necessary)
# - Strips any Wordfence WAF open_basedir override (make sure your custom prepend file re-includes it!)
#
# Only tested on RedHat-like servers with Plesk Obsidian 18.0.52
# Use at your own risk
@rkok
rkok / ssh-tunnel.sh
Created March 23, 2022 07:27
Persistent SSH tunnel helper
#!/usr/bin/env bash
# Quit on error
set -e
# Functions
msg() {
echo -e "\x1B[1m$1\x1B[0m"
}
@rkok
rkok / mkem3u.sh
Created July 26, 2019 04:44
Extended m3u generator
#!/bin/bash
#################################################################
# mkem3u.sh - Extended m3u generator
# Usage:
# ./mkm3u.sh
# Setup:
# 1. Install dependencies:
# mp3info - http://ibiblio.org/mp3info/
# id3tool - http://nekohako.xware.cx/id3tool/
# 2. Supply INPATHS. Paths which are relative to
@rkok
rkok / mkm3u.sh
Created July 19, 2019 07:35
Bare-bones m3u generator
#!/bin/bash
#################################################################
# mkm3u.sh - Bare-bones m3u generator
# Usage:
# ./mkm3u.sh
# Setup:
# 1. Supply INPATHS. Paths which are relative
# to this script will result in relative paths in the m3u
# 2. (Optional) Edit file extensions "mp3|flac|xm|s3m|mod|it"
#################################################################
@rkok
rkok / flac2mp3.sh
Last active July 19, 2019 07:40
Recursive flac to mp3 converter, with CPU and file count limiter
#!/bin/bash
#
# flac2mp3
#
# Recursively converts flac files to mp3s.
# Doesn't delete flacs after conversion but skips them on next iteration.
#
# Bits stolen from https://wiki.archlinux.org/index.php/Convert_Flac_to_Mp3#Without_FFmpeg
# Requires packages: lame, flac, cpulimit
@rkok
rkok / syno-vpn-reconnect.sh
Last active November 13, 2023 14:30
Restart Synology VPN connection
#!/bin/bash
#######################
# Setup:
# 1. Setup a VPN in the Synology web interface
# 2. Log in via SSH
# 3. Take a look at /usr/syno/etc/synovpnclient/openvpn/ovpnclient.conf
# 4. Find your VPN entry and fill in the variables below.
# ID = the CLIENT ID, shown between square brackets, e.g. "[o123456789]"
# CONFNAME = value of "conf_name"
#