Skip to content

Instantly share code, notes, and snippets.

@tarruda
tarruda / bulk-rename.py
Created December 23, 2023 09:59
Deluge torrent bulk renamer
#!/usr/bin/env python3
# This script does batch renaming of torrents served by deluge. Useful to
# quickly rename all episodes of a TV show to match the expected patterns of
# local streaming services such as Plex or Jellyfin while still seeding the
# torrent.
# For example, consider you have a TV show that has a strange name not
# recognized by jellyfin, just use a regex replace to capture the episode
# number and rename to a pattern understood by Jellyfin:
@tarruda
tarruda / setup-debian-mate-desktop-xspice.sh
Created July 29, 2022 01:38
Debian Mate Xspice desktop
#!/bin/bash
XSERVER_DISPLAY_NUMBER=15
set -eu -o pipefail
new_image_name=debian-mate-desktop-xspice
if lxc image info local:$new_image_name &> /dev/null; then
echo "Image already exists" >&2
@tarruda
tarruda / README.md
Last active April 8, 2024 23:13
LXD: Full Debian KDE desktop

Intro

This script will create a local LXD image that has a full KDE desktop environment with Xspice as the display server.

Instructions

./setup-debian-kde-desktop-xspice.sh    
lxc init debian-kde-desktop-xspice kde
lxc config device add kde xspicesocket proxy bind=host listen=unix:/tmp/kde.unix connect=unix:/run/xspice/spice.unix uid=1000 gid=1000

lxc start kde

@tarruda
tarruda / deploy.js
Created January 3, 2022 13:04 — forked from tuncatunc/deploy.js
Hardhat deploy script to deploy UniswapV2Factory, and create token pairs.
// We require the Hardhat Runtime Environment explicitly here. This is optional
// but useful for running the script in a standalone fashion through `node <script>`.
//
// When running the script with `hardhat run <script>` you'll find the Hardhat
// Runtime Environment's members available in the global scope.
const hre = require("hardhat");
async function main() {
// Hardhat always runs the compile task when running scripts with its command
// line interface.
@tarruda
tarruda / .gitignore
Created May 14, 2021 19:25
Electron 10+ crash on windows 32-bit
node_modules
downloads
crashes
@tarruda
tarruda / etc-libvirt-qemu.conf
Created December 8, 2020 09:04
gpu-passthrough-debian-10.xml
# Necessary to prevent random host freeze. For more details, see:
# https://bugs.launchpad.net/ubuntu/+source/qemu/+bug/1849720/comments/65
seccomp_sandbox = 0
@tarruda
tarruda / allow-url-patterns-intercept-protocol.diff
Created October 17, 2020 00:25
This patch modifies electron's intercept*Protocol APIs to allow passing an array of URL patterns as second argument (same format as webRequest)
commit 6defd383ae86a65a4cdcc8ec47f4aabf7aac69a6
Author: Thiago Padilha <thiagopadilha@cloud.upwork.com>
Date: Fri Oct 16 19:10:26 2020 -0300
OTA-10843: Implement URL patterns for intercept*Protocol
By passing an array of URL patterns (same syntax as webRequest), it is now
possible to filter which URLs are passed to intercept*Protocol handlers.
diff --git a/shell/browser/api/electron_api_protocol_ns.cc b/shell/browser/api/electron_api_protocol_ns.cc
@tarruda
tarruda / msgpack_rpc.py
Created August 27, 2018 17:11
msgpack-rpc implementation for python asyncio
import asyncio
import collections
import mpack
class ErrorResponse(BaseException):
pass
class MpackRpcSession(object):
def __init__(self, reader, writer, mpack_session=None):
@tarruda
tarruda / userns-with-vpn.xml
Last active December 23, 2023 10:05
Libvirt lxc configurations
<domain type='lxc'>
<name>vpntest</name>
<uuid>ffee008c-ec6b-48ab-af6d-4aba830847a1</uuid>
<memory unit='GiB'>8</memory> <!-- The container can use at most 8G of memory -->
<idmap>
<uid start='0' target='300000' count='65536'/>
<gid start='0' target='300000' count='65536'/>
</idmap>
<os>
<type arch='x86_64'>exe</type>
@tarruda
tarruda / index.html
Created June 2, 2017 13:14
electron sandbox webview test
<html>
<body>
<webview id="foo" allowpopups sandbox="true" preload="preload-webview.js" src="index.html" style="display:inline-flex; width:640px; height:480px"></webview>
<script type="text/javascript" charset="utf-8">
</script>
</body>
</html>