Skip to content

Instantly share code, notes, and snippets.

Avatar

Rodrigo Fernandes rtfpessoa

View GitHub Profile
@rtfpessoa
rtfpessoa / covid-vaccine-scheduling-check.sh
Last active Jul 5, 2021
Verificação de disponibilidade para agendamento de vacina contra covid-19 (Portugal)
View covid-vaccine-scheduling-check.sh
#!/usr/bin/env bash
while true
do
RESP="$(curl -fsS 'https://covid19.min-saude.pt/pedido-de-agendamento' \
-H 'Connection: keep-alive' \
-H 'Cache-Control: max-age=0' \
-H 'sec-ch-ua: " Not;A Brand";v="99", "Google Chrome";v="91", "Chromium";v="91"' \
-H 'sec-ch-ua-mobile: ?0' \
-H 'Origin: https://covid19.min-saude.pt' \
@rtfpessoa
rtfpessoa / block.js
Last active Aug 13, 2022
nextdns.io Block Youtube Ads
View block.js
const configID = "<CONFIG-ID>";
const ignoreDomainsSet = new Set([
"clients.l.google.com",
"clients1.google.com",
"clients2.google.com",
"clients3.google.com",
"clients4.google.com",
"clients5.google.com",
"clients6.google.com",
@rtfpessoa
rtfpessoa / estimate-costs.sh
Last active Dec 8, 2020
Estimate Terraform Costs
View estimate-costs.sh
#!/usr/bin/env bash
# Runs https://github.com/antonbabenko/terraform-cost-estimation with sanitization
#
# Depends on:
# - terraform cli >= 0.12
# - curl
# - jq >= 1.6
set -eo pipefail
@rtfpessoa
rtfpessoa / Dockerfile
Created Sep 24, 2020
GraalVM CE 20.2.0-java11 with musl-gcc
View Dockerfile
FROM oracle/graalvm-ce:20.2.0-java11
# Sourced from: https://docs.oracle.com/en/graalvm/enterprise/20/docs/reference-manual/native-image/StaticImages/
RUN \
# musl
curl -fsSL -o musl-1.2.1.tar.gz https://musl.libc.org/releases/musl-1.2.1.tar.gz && \
tar -xvf musl-1.2.1.tar.gz && \
cd musl-1.2.1 && \
./configure --disable-shared --prefix=/usr && \
@rtfpessoa
rtfpessoa / fix-grub-encrypted.sh
Last active Aug 18, 2020
Fix grub in encrypted Ubuntu (~18.04)
View fix-grub-encrypted.sh
#!/usr/bin/env bash
#
# Sources:
# - https://askubuntu.com/questions/844132/how-to-repair-boot-on-luks-encrypted-harddrive
# - https://gist.github.com/samuelcolvin/43c5ed2807e7db004b1058d0c9bfb068
# - https://unix.stackexchange.com/questions/178666/sbin-cryptsetup-not-found-on-boot
#
View CryptoAESGCM.scala
import java.security.SecureRandom
import cats.Monad
import cats.effect.IO
import tsec.cipher.symmetric.jca._
import tsec.cipher.symmetric.{AAD, _}
import tsec.common._
import scala.util.Random
@rtfpessoa
rtfpessoa / tvi-player-downloader.sh
Last active Jan 10, 2022
TVI Player Downloader
View tvi-player-downloader.sh
#!/usr/bin/env bash
set -eux
for SEASON_NUMBER in 1 2; do
for EPISODE_NUMBER in 1 2; do
EPISODE_URL="http://tviplayer.iol.pt/programa/pesadelo-na-cozinha/58bd77b50cf26a3bdcfca690/episodio/t${SEASON_NUMBER}e${EPISODE_NUMBER}"
PLAYLISTS_BY_QUALITY_URLS=$(curl -L $EPISODE_URL 2>/dev/null | grep 'vod/_definst_' | awk -F, '{print $3}' | sed -E 's/"videoUrl":"(.*)"/\1/')
youtube-dl -f best --audio-quality 0 -o pesadelo-na-cozinha-S01E0${EPISODE_NUMBER}.ts --prefer-ffmpeg $PLAYLISTS_BY_QUALITY_URLS &
@rtfpessoa
rtfpessoa / docker-api-v2-example.sh
Last active Mar 10, 2017
Simple Docker Registry API v2 Wrapper
View docker-api-v2-example.sh
#!/usr/bin/env bash
#
# Simple Docker Registry API v2 Wrapper
#
REPOSITORY="doplicated/client"
get_from_dh() {
URL="$1"
@rtfpessoa
rtfpessoa / getopts_long.sh
Created Jan 21, 2017
getopts_long -- POSIX shell getopts with GNU-style long option support
View getopts_long.sh
#!/usr/bin/env bash
#
# getopts_long -- POSIX shell getopts with GNU-style long option support
#
# Copyright 2005-2009 Stephane Chazelas <stephane_chazelas@yahoo.fr>
#
# Permission to use, copy, modify, distribute, and sell this software and
# its documentation for any purpose is hereby granted without fee, provided
# that the above copyright notice appear in all copies and that both that
@rtfpessoa
rtfpessoa / brew-cask-upgrade.sh
Created Sep 24, 2016 — forked from c00kiemon5ter/brew-cask-upgrade.sh
a portable shell script to upgrade cask packages
View brew-cask-upgrade.sh
#!/bin/sh
help=0
latest=0
verbose=0
status=0
usage() {
cat <<-EOF
${0##*/} [options]