Skip to content

Instantly share code, notes, and snippets.

import json
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("socket.cryptohack.org", 13372))
s.recv(64)
s.sendall(b'{"option": "encrypt_data", "input_data": "0000000000000000000000000000000000000000000000000000000000000000"}')
data = json.loads(s.recv(64))
key = bytes.fromhex(data['encrypted_data'])
@kopiro
kopiro / switch-groups-hue.sh
Created March 15, 2021 19:12
Switch a Philips Hue group on/off
#!/bin/bash
key=''
url="http://Philips-Hue.local/api/$key/groups/3"
/usr/bin/curl "$url/action" -X PUT -d "{\"on\":$(/usr/bin/curl "$url" | /usr/local/bin/jq "if (.state.all_on) then false else true end")}"
import base64
import json
import socket
import math
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("socket.cryptohack.org", 13370))
data = s.recv(9)
mappina = []
@kopiro
kopiro / nef-to-jpg.sh
Created February 3, 2021 16:03
NEF to JPG converter
mkdir -p ./JPG
find . -name "*.NEF" -print0 | xargs -0 -P "$(sysctl -n hw.ncpu)" -I file sips -s format jpeg file --out ./JPG/file.jpg
@kopiro
kopiro / README.md
Last active April 10, 2022 20:57
RATV - RetroPie Apple TV
@kopiro
kopiro / git-oncommits.sh
Last active February 3, 2021 16:00
GIT notifications
#!/bin/bash
# For Windows, install https://github.com/Windos/BurntToast first
# Setup
PROJECT_DIR=~/Desktop/test-git
BRANCH_NAME="main"
CHECK_SEC=30
# End setup
@kopiro
kopiro / atv-emulator.sh
Last active December 19, 2020 15:51
Apple TV on Raspberry PI emulator
#!/bin/bash
pkill -f rpiplay
pkill -f simple-atv-aerial
rpiplay -n Mela -a hdmi -b auto -I &
simple-atv-aerial &
connected=0
/**
* Return a table string representation of the matrix
* @param {Array} matrix The matrix
* @param {String} prop The property to print
*/
function stringifyMatrix(matrix, prop = "originalValue") {
return matrix
.map((e) => e.map((e) => (prop === "" ? String(e) : e[prop])))
.join("\n")
.replace(/\,/g, " ");
@kopiro
kopiro / permutations.js
Last active February 25, 2021 14:48
UNIQUE Permutations ES6 Generators
const permutations = function*(elements, map = new Map()) {
if (elements.length === 1) {
yield elements;
} else {
const [first, ...rest] = elements;
for (const perm of permutations(rest, map)) {
for (let i = 0; i < elements.length; i++) {
const start = perm.slice(0, i);
const rest = perm.slice(i);
const val = [...start, first, ...rest];
@kopiro
kopiro / sync-code-projects.sh
Created October 7, 2020 17:50
Sync your ~/Projects directories with VSCode Project Manager extension
sync-code-projects() {
CODE_PROJECTS_FILE="$HOME/Library/Application Support/Code/User/projects.json" && \
echo "[" > "$CODE_PROJECTS_FILE" && \
find ~/Projects \
-maxdepth 1 \
-type d \
-execdir echo "{ \"name\": \"{}\", \"rootPath\": \"$HOME/Projects/{}\", \"enabled\": true }," >> "$CODE_PROJECTS_FILE" \; &&
echo "{}]" >> "$CODE_PROJECTS_FILE"
}