Skip to content

Instantly share code, notes, and snippets.

View dcampos's full-sized avatar

dcampos dcampos

  • Brazil
  • 13:34 (UTC -03:00)
View GitHub Profile
@GamerKingFaiz
GamerKingFaiz / plex-cgnat-vpn-guide.md
Last active February 22, 2026 21:12
Bypass CGNAT for Plex via your own Wireguard VPN on a VPS

Bypass CGNAT for Plex via your own Wireguard VPN on a VPS

Intro

I just recently switched to an ISP that uses CGNAT. I needed a way to access my Plex server remotely now that I didn't have a public IPv4 address. Thankfully for most of my other web hosted projects, I was able to use Cloudflare tunnels. But it's ambigous if Cloudflare is okay with you using Tunnels for Plex traffic.

Instead people suggested buying a VPS and hosting a VPN (like Wireguard) to route your traffic through. I couldn't find a complete guide to do this. I struggled for a couple days with trial and error until I finally found a configuration that worked. I wanted to document this for anyone else in the same situation (and future me).

Prerequisites

For my reference in the future I will record here the steps that I had to follow in order to install Openwrt on the tp-link router EX220. This was done using a Windows 11 machine.

Disclaimer: Use this tutorial at your own risk. We are not responsible for any damage/harms done to your device using the information from this tutorial.

Steps to install OpenWRT on EX220 router

OEM installation using the serial + TFTP method

These are the steps provided at the official https://openwrt.org/toh/tp-link/ex220_v1 page:

@symm
symm / proxmox-mikrotik-template.sh
Last active September 22, 2025 21:30
Installing Mikrotik RouterOS on Proxmox VE easily
#!/bin/bash
# Adapted from https://www.apalrd.net/posts/2023/tip_routeros/
set -e
# Find latest CHR version at https://mikrotik.com/download
CHR_VERSION="7.19.2"
VM_ID=905
STORAGE=local-zfs
#STORAGE=local-lvm
@VPraharsha03
VPraharsha03 / kitty-in-wsl2.md
Last active February 8, 2026 18:55 — forked from Mluckydwyer/opengl-in-wsl.md
Install kitty on Ubuntu in WSL2

How to Install kitty in Ubuntu in WSL2

These seteps have been tested on Windows 10 with WSL2 running Kali Linux.

1. Dependencies

First install the dependencies:

Install OpenGL

apt install mesa-utils libglu1-mesa-dev freeglut3-dev mesa-common-dev
@raysan5
raysan5 / raylib_vs_sdl.md
Last active March 7, 2026 15:28
raylib vs SDL - A libraries comparison

raylib_vs_sdl

In the last years I've been asked multiple times about the comparison between raylib and SDL libraries. Unfortunately, my experience with SDL was quite limited so I couldn't provide a good comparison. In the last two years I've learned about SDL and used it to teach at University so I feel that now I can provide a good comparison between both.

Hope it helps future users to better understand this two libraries internals and functionality.

Table of Content

@numToStr
numToStr / au.lua
Last active August 20, 2023 05:15
Neovim autocmd in lua
--
-- Move this file to your neovim lua runtime path ie. ~/.config/nvim/lua/au.lua
--
local cmd = vim.api.nvim_command
local function autocmd(this, event, spec)
local is_table = type(spec) == 'table'
local pattern = is_table and spec[1] or '*'
local action = is_table and spec[2] or spec
if type(action) == 'function' then
@sampointer
sampointer / gist:b506369b926ad395123aa7f18275de92
Last active February 16, 2025 09:20
NixOS Packages From Unstable alongside Stable (Google Chrome)

If you'd like to keep up-to-date with Chrome from unstable but otherwise want to run a stable NixOS release you can do the following:

  • Create a file /etc/nixos/unstable.nix:
{ config, pkgs, ...}:
let
  baseconfig = { allowUnfree = true; };
  unstable = import <nixos-unstable> { config = baseconfig; };
in {
@YoEight
YoEight / improve_fonts.md
Created January 15, 2021 10:11 — forked from glats/improve_fonts.md
Improve fonts archlinux

Improve Fonts

Newest

Make your Arch fonts beautiful easily! This is what I do when I install Arch Linux to improve the fonts.

You may consider the following settings to improve your fonts for system-wide usage without installing a patched font library packages (eg. Infinality):

Install some fonts, for example:
sudo pacman -S ttf-dejavu ttf-liberation noto-fonts

@unixfox
unixfox / readme.md
Last active February 10, 2026 20:37
How to get IPv4 connectivity on an IPv6 only VPS

Some hosting providers like scaleway allows to remove the IPv4 from the VPS in order to save 1€/month but doing this will result in losing connectivity to the "IPv4 world".
Or you may have ordered a VPS that only has IPv6 connectivity and you want to access to a resource only accessible from the "IPv4 world".
Here is how to gain your access back to the "IPv4 world".

Change your name servers(s) to DNS64 name servers(s)

Note: You may deploy your own DNS64 & NAT64 server on a separate server by following this tutorial (untested): https://packetpushers.net/nat64-setup-using-tayga/.
Note²: You may find a explanation of what is NAT64 and DNS64 on Wikipedia.

  1. Choose a/multiple DNS64 public server(s) that has/have its own NAT64 public service from this list:
@wbthomason
wbthomason / help.vim
Last active January 29, 2025 08:43
Neovim: Open help in a floating window
scriptencoding utf-8
" This function originates from https://www.reddit.com/r/neovim/comments/eq1xpt/how_open_help_in_floating_windows/; it isn't mine
function! CreateCenteredFloatingWindow() abort
let width = min([&columns - 4, max([80, &columns - 20])])
let height = min([&lines - 4, max([20, &lines - 10])])
let top = ((&lines - height) / 2) - 1
let left = (&columns - width) / 2
let opts = {'relative': 'editor', 'row': top, 'col': left, 'width': width, 'height': height, 'style': 'minimal'}