Skip to content

Instantly share code, notes, and snippets.

@mikaeldui
mikaeldui / Proton VPN IPv6 Manual Setup.md
Last active March 7, 2026 15:01
Proton VPN IPv6 Manual Setup

Proton VPN IPv6 Manual Setup

Update 2026-03-07: Proton has added the IPv6 configurations mentioned below to the WireGuard config files that you can get through the web dashboard. The guide below is for historical purposes only.

Over 80% of the servers support IPv6 but only the Linux & Android apps and the browser extension support it **at the moment**.

The Linux app supports IPv6 over the VPN but still connects to the VPN server using IPv4.

It's possible to make changes to the WireGuard configs that you can get from https://account.protonvpn.com/downloads to enable IPv6.

@LilithWittmann
LilithWittmann / autobahn.md
Last active January 14, 2025 12:25
autobahn.md
@btm
btm / google_takeout_music_rename.rb
Created March 31, 2021 23:34
Script to rename Google Takeout Youtube music uploads
# terrible script for reading the music-uploads-metadata.csv file that Google Takeout includes when you download
# Youtube Music 'uploads' (which were Google Play Music songs/uploads).
#
# tries to identify the corresponding file and add artist/album/track to the mp3 tags
# use another tool like MediaMonkey afterward to rename the files, add cover art, etc.
#
# It's hard to separate tracks with the same name. Deal with them by hand.
#
# This worked for about 90% of my mp3s. Your mileage may vary. No promises or guarantees.
# This is hacked together. Works for me. Use at your own risk.
@paulkaplan
paulkaplan / STLFileSaver.js
Last active September 14, 2020 13:44
Create an ASCII STL file from a THREE.js mesh that can be saved save from browser and 3D printed
/*
Paul Kaplan, @ifitdidntwork
Create an ASCII STL file from a THREE.js mesh
that can be saved save from browser and 3D printed
--------------------------------------------------
See further explanation here:
http://buildaweso.me/project/2013/2/25/converting-threejs-objects-to-stl-files
--------------------------------------------------
Saving the file out of the browser is done using FileSaver.js
@badsyntax
badsyntax / find-unused-sass-variables.sh
Last active July 17, 2024 03:36 — forked from axelerator/Find unused variables in sass files
Find unused SCSS variables. Usage: `./find-unused-sass-variables.sh sassDir/`
#!/usr/bin/env bash
#
# Approach:
# 1. Find variable declaration in the form of "$my-var: anyvalue"
# 2. Loop through found variables and find occurrences of each variable in all sass files
# 3. Filter out vars that occurred only once
if [ -z "$1" ]; then
echo "Please specify a directory as the first argument."
exit 1
@jakimowicz
jakimowicz / redmine gitlab sync
Created November 15, 2012 16:22
simple (and dirty) sync between redmine issues and gitlab issues
#!/usr/bin/env ruby
require 'faraday'
require 'json'
require 'gitlab'
module Redmine
Host = nil
APIKey = nil
@pda
pda / http_patch_initializer.rb
Created August 1, 2012 03:00
Bits of HTTP PATCH support for Rails 3.2
# Support for HTTP PATCH.
# Should not be necessary as of Rails 4.
# See: actionpack/lib/action_dispatch/routing/mapper.rb
module ActionDispatch
module Routing
class Mapper
module HttpHelpers
# Define a route that only recognizes HTTP PATCH.
@tabouassaleh
tabouassaleh / layout.onrender.js
Created July 29, 2012 07:02
Adding Filtering to Backbone.Marionette.CollectionView
onRender: function() {
var filter = this.options.filter || this.filter;
var view= new ListView({collection: TitanFile.channelList, filter: filter});
var contentPromise = this.content.show(view);
return contentPromise;
}