Skip to content

Instantly share code, notes, and snippets.

View gpchelkin's full-sized avatar
🐝
just a human beein'

George Pchelkin gpchelkin

🐝
just a human beein'
View GitHub Profile
@tashian
tashian / step-ca.json
Created January 26, 2021 22:00
Keycloak Client Settings for step-ca
{
"clientId": "step-ca",
"rootUrl": "http://127.0.0.1:10000",
"adminUrl": "http://127.0.0.1:10000",
"surrogateAuthRequired": false,
"enabled": true,
"alwaysDisplayInConsole": false,
"clientAuthenticatorType": "client-secret",
"redirectUris": [
"http://127.0.0.1:10000/*"
@m-radzikowski
m-radzikowski / script-template.sh
Last active October 9, 2025 00:41
Minimal safe Bash script template - see the article with full description: https://betterdev.blog/minimal-safe-bash-script-template/
#!/usr/bin/env bash
set -Eeuo pipefail
trap cleanup SIGINT SIGTERM ERR EXIT
script_dir=$(cd "$(dirname "${BASH_SOURCE[0]}")" &>/dev/null && pwd -P)
usage() {
cat <<EOF
Usage: $(basename "${BASH_SOURCE[0]}") [-h] [-v] [-f] -p param_value arg1 [arg2...]
@gpchelkin
gpchelkin / shadowsocks-rust-server.sh
Last active August 16, 2025 12:15
How to Setup shadowsocks-rust Server with xray-plugin (like v2ray-plugin) on Any Linux Host
#!/usr/bin/env bash
# https://github.com/shadowsocks/shadowsocks-rust/releases
export SSVERSION=v1.23.5
export SSPORT=443
export SSPASSWORD="CHANGEME"
export SSARCHIVE="shadowsocks-${SSVERSION}.x86_64-unknown-linux-gnu.tar.xz"
#export SSARCHIVE="shadowsocks-${SSVERSION}.aarch64-unknown-linux-gnu.tar.xz"
export PREFIX=/usr/local/bin
@probonopd
probonopd / Wayland.md
Last active October 30, 2025 14:06
Think twice about Wayland. It breaks everything!

Think twice before abandoning X11. Wayland breaks everything!

Wayland breaks everything! It is binary incompatible, provides no clear transition path with 1:1 replacements for everything in X11, and is even philosophically incompatible with X11. Hence, if you are interested in existing applications to "just work" without the need for adjustments, then you may be better off avoiding Wayland.

Wayland solves no issues I have but breaks almost everything I need. Even the most basic, most simple things (like xkill) - in this case with no obvious replacement. And usually it stays broken, because the Wayland folks mostly seem to care about Automotive, Gnome, maybe KDE - and alienating everyone else (e.g., people using just an X11 window manager or something like GNUstep) in the process.

Feature comparison

#!/bin/bash
###
### my-script — does one thing well
###
### Usage:
### my-script <input> <output>
###
### Options:
### <input> Input file to read.
### <output> Output file to write. Use '-' for stdout.
@f9n
f9n / unbound-cheat-sheet.md
Last active October 22, 2025 14:40
Unbound Cheat Sheet

Unbound Cheat Sheet

Installation

$ yum install -y unbound

Setup SSL keys for unbound-control

@kaichao
kaichao / log-http-headers.md
Last active April 29, 2025 03:26
nginx: Log complete request/response with all headers

1. switch nginx image to openresty/openresty

2. add the following to server/location (/etc/nginx/conf.d/default.conf)

   set $req_header "";
   set $resp_header "";
   header_filter_by_lua_block{ 
      local h = ngx.req.get_headers();
      for k, v in pairs(h) do
         ngx.var.req_header = ngx.var.req_header .. k.."="..v.." ";
@russjones
russjones / run.sh
Last active September 23, 2022 14:57
A script to demonstrate Teleport Enhanced Session Recording.
#!/bin/bash
set -euo pipefail
RELEASE="teleport-v4.2.3-linux-amd64-bin.tar.gz"
if [[ $EUID -ne 0 ]]; then
echo "--> Please run this script as root or sudo."
exit 1
fi
@susam
susam / sinkholed.md
Last active September 26, 2023 21:28

Sinkholed

This story has been moved to my blog here: .

@aleandroid
aleandroid / deez.revived.user.js
Last active February 11, 2025 07:05
Deezer Downloader Monkey Script
//---CONFIGURATION---//
const showMp3_128 = true; // Show MP3 @128k download (default: true)
const showMp3_320 = true; // Show MP3 @320k download (default: true)
const showFLAC = true; // Show FLAC download (default: true)
const showAzLyrics = true; // Show azLyrics checkbox (default: true)
const showListDownloader = true; // Show bulk download option (default: true)
const coverSize = 600; // JPEG cover size in px (default: 600)
const coverQuality = 80; // JPEG cover quality from 0 to 100 (default: 80)
//---DEBUG---//