Skip to content

Instantly share code, notes, and snippets.

View Drowze's full-sized avatar

R Gibim Drowze

View GitHub Profile
@Drowze
Drowze / create_jwt.sh
Created March 4, 2024 19:19 — forked from shu-yusa/create_jwt.sh
Generate private and public keys, and create JWT and JWKs
#!/bin/sh
## Requires openssl, nodejs, jq
pack() {
# Remove line breaks and spaces
echo "$1" | sed -e "s/[\r\n]\+//g" | sed -e "s/ //g"
}
generate_keys_and_token() {
local prefix=$1
{
"keyMappings": "map gc closeOtherTabs\n\n\" option-f on a mac\nmap <a-ƒ> LinkHints.activateModeWithQueue\n\n\" option-p on a mac\nmap <a-π> togglePinTab\n\n\" \\-esc should pass esc (to close a modal on a site)\nmap \\ passNextKey",
"newTabUrl": "pages/blank.html",
"searchEngines": "w: https://www.wikipedia.org/w/index.php?title=Special:Search&search=%s Wikipedia\ng: https://www.google.com/search?q=%s Google\ny: https://www.youtube.com/results?search_query=%s Youtube\ngm: https://www.google.com/maps?q=%s Google maps\nd: https://duckduckgo.com/?q=%s DuckDuckGo\naz: https://www.amazon.co.uk/s/?field-keywords=%s Amazon\n\n# More examples.\n#\n# (Vimium supports search completion Wikipedia, as\n# above, and for these.)\n#\n# g: https://www.google.com/search?q=%s Google\n# l: https://www.google.com/search?q=%s&btnI I'm feeling lucky...\n# y: https://www.youtube.com/results?search_query=%s Youtube\n# gm: https://www.google.com/maps?q=%s Google maps\n# b: https://www.bing.com/search?q=%s Bing\n# d: https://d
@Drowze
Drowze / github_org_track_users.fish
Created September 22, 2023 20:38
Track removed/added users in a GitHub organization
function __github_org_current_users \
--argument-names org_name
set -l users '[]'
for i in (seq 1000)
set -l page_users (gh api "/orgs/$org_name/members?page=$i" | jq 'map(.login)')
test "$page_users" = '[]' && break
set users (jq -n --argjson users "$users" --argjson page_users "$page_users" '[$users, $page_users] | add')
sleep 0.1
end
@Drowze
Drowze / 41-setup-plex-plugins
Last active November 27, 2023 10:46
Setup plug-ins on plexinc/pms-docker docker image startup
#!/usr/bin/with-contenv bash
PMS_PATH="/config/Library/Application Support/Plex Media Server"
SUBZERO_RELEASE="2.6.5.3268"
# If the first run completed successfully, we are done
if [ -e /.pluginsInstalled ]; then
exit 0
fi
@Drowze
Drowze / rails-routes
Created November 22, 2022 14:53
bundle exec rails routes (with caching!)
#!/bin/sh
#
# bundle exec rails routes (with caching!) by Drowze
#
# Just make an executable out of this and move into your path
routes_sha=""
if [[ -f config/routes.rb ]]; then
routes_blob=$(cat config/routes.rb)
@Drowze
Drowze / datadog-mock.rb
Last active June 8, 2022 10:53
a datadog agent fake server to intercept ddtrace requests. NOT compatible with ddtrace v1
# frozen_string_literal: true
require 'roda'
require 'pry'
require 'msgpack'
require 'json'
require 'zlib'
require 'multipart_parser/reader'
require 'google/protobuf'
@Drowze
Drowze / kimsufi checker
Last active February 23, 2022 18:39
Kimsufi checker
#!/usr/bin/env bash
if ! command -v jq &>/dev/null; then
echo "missing jq!"
exit 1
fi
TMP_FILE=/tmp/kimsufi_availability
SECONDS_TO_CACHE=60
HARDWARES=$@
@Drowze
Drowze / docker-in-docker-issue.md
Last active May 17, 2021 11:02
docker in docker, issues with mounting a volume

Let's try to use volumes on a docker-in-docker setup!

  • First start docker in docker
$ docker pull docker
$ docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock --name docker-outer docker sh
  • Then start an inner container, create a file there and copy it to the outer container
require 'bundler/inline'
require 'minitest/autorun'
gemfile do
source 'https://rubygems.org'
gem 'http'
end
require 'http'
require 'cgi'
RSpec.describe 'Testing' do
it 'is flagged' do
x = []
expect { x.append(1) }.to change(x, :size)
end
end