Skip to content

Instantly share code, notes, and snippets.

View dfsnow's full-sized avatar

Dan Snow dfsnow

View GitHub Profile
@henk23
henk23 / Caddyfile
Last active December 3, 2025 15:37
Caddy with json logs and fail2ban
# /etc/caddy/Caddyfile
{
log {
output file /var/log/caddy/caddy.log
format json
}
}
(logging) {
@nielsvanvelzen
nielsvanvelzen / jf-dev-auth.md
Last active November 27, 2025 14:12
Jellyfin API Authorization

Jellyfin API Authorization

To start using the Jellyfin API, authorization is probably the first thing you'll need to do. Jellyfin's authorization options can be a bit confusing because there are a lot of deprecated options.

Generally there are three ways to authenticate: no authorization, user authorization with an access token or authorization with an API key. The first way is easy, just do nothing. But most often you'll need to use either the access token or API key.

Sending authorization values

There are multiple methods for transmitting authorization values, however, some are outdated and scheduled to be removed. It's recommend to use the Authorization header. If header auth isn't an option, the token may be sent through the ApiKey query parameter. Sending secure data in a query parameter is unsafe as the changes of it leaking (via logs, copy-paste actions or by other means) are high. Only use this method as a last resort.

@dereckmezquita
dereckmezquita / Makevars
Last active April 8, 2023 17:52
Makevars and instructions for installing installing data.table on an M1 Mac; note config also works for installing slam/syuzhet.
# if you downloaded llvm manually above, replace with your chosen NEW_PATH/clang
LLVM_LOC = /opt/homebrew/opt/llvm
CC=$(LLVM_LOC)/bin/clang -fopenmp
CXX=$(LLVM_LOC)/bin/clang++ -fopenmp
# -O3 should be faster than -O2 (default) level optimisation ..
CFLAGS=-g -O3 -Wall -pedantic -std=gnu99 -mtune=native -pipe
CXXFLAGS=-g -O3 -Wall -pedantic -std=c++11 -mtune=native -pipe
LDFLAGS=-L/opt/homebrew/opt/gettext/lib -L$(LLVM_LOC)/lib -Wl,-rpath,$(LLVM_LOC)/lib
CPPFLAGS=-I/opt/homebrew/opt/gettext/include -I$(LLVM_LOC)/include
@machikoyasuda
machikoyasuda / diy-e-bike-conversion-readme.md
Last active September 15, 2025 17:26
diy-e-bike-conversion-readme.md

D.I.Y. E-bike conversion

image

Components

  1. Front G311 Kit - Front wheel pre-laced with geared hub motor - $300
  2. Motor controller, C4820-GR_Higo - $100
  3. Thumb throttle, attached to handlebars - $15
  4. G311 Torque Arm, attached to front dropouts - $20
@kepano
kepano / obsidian-web-clipper.js
Last active November 23, 2025 18:40
Obsidian Web Clipper Bookmarklet to save articles and pages from the web (for Safari, Chrome, Firefox, and mobile browsers)
javascript: Promise.all([import('https://unpkg.com/[email protected]?module'), import('https://unpkg.com/@tehshrike/[email protected]'), ]).then(async ([{
default: Turndown
}, {
default: Readability
}]) => {
/* Optional vault name */
const vault = "";
/* Optional folder name such as "Clippings/" */
@avoidik
avoidik / README.md
Created April 24, 2021 18:16
How to Limit CPU and Memory Usage With Cgroups on Debian/Ubuntu

How to Limit CPU and Memory Usage With Cgroups on Debian/Ubuntu

Cgroups is a flexible Linux kernel feature to limit, police and account resources usage. A cgroup is a set of tasks for a subsystems, that is typically a resource controller.

A file system of type cgroup is mounted and all operations are run over it.

Installation

The installation can be done using any of libcgroup, cgmanager or systemd.

@jackblk
jackblk / LogitechF310_Macbook.MD
Last active August 1, 2025 02:12
Getting Logitech F310 to work with Macbook USB-C port
@mcarlton00
mcarlton00 / Jellyfin-api-auth-example.py
Last active October 3, 2025 11:13
Example for authenticating to Jellyfin API from Python
import requests
# Define connection details
server_url = 'http://192.168.0.200:8096'
username = 'User'
password = 'Password'
# Build json payload with auth data
auth_data = {
'username': username,