Skip to content

Instantly share code, notes, and snippets.

View anthonyrussano's full-sized avatar
🌱

Anthony C Russano anthonyrussano

🌱
View GitHub Profile

Installing K3s on Raspberry Pi Cluster

Description

This article will document how to deploy K3s to a cluster of Raspberry Pis.

Requirements

I am using the following:

@anthonyrussano
anthonyrussano / gist:d86fd524e0bab8d0104ded16b2089683
Last active November 7, 2022 19:18
Clone Repo via SSH - GitHub Actions Workflow
steps:
- name: Clone repo
env:
SSH_KEY: ${{ secrets.SSH_KEY }}
run: |
echo "${{ secrets.SSH_KEY }}" > /tmp/ssh-key
chmod 0600 /tmp/ssh-key
eval `ssh-agent`
ssh-add /tmp/ssh-key
ssh -A -o StrictHostKeyChecking=no
@anthonyrussano
anthonyrussano / README.md
Created May 18, 2025 23:20
TCP P2P NAT Traversal

This is a self-contained example of both the rendezvous server (UDP brokering) and a fully-asyncio P2P client that:

  1. Uses STUN to detect your NAT type and public mapping (pystun3)
  2. Attempts a permanent UPnP port forward if available (miniupnpc)
  3. Registers with a public rendezvous server over UDP
  4. Performs a simultaneous TCP open (true TCP hole-punch) via asyncio
  5. Falls back to a simple TCP-relay on the rendezvous server if punching fails

You’ll need to install:

@anthonyrussano
anthonyrussano / README.md
Created May 19, 2025 05:54
Beginner-friendly Cybersecurity Roadmap

Below is a beginner-friendly roadmap you can follow from absolute zero to your first industry-recognized credential. Skim it all once, then work through it one phase at a time.


Phase 0 – Orient yourself

What Why it matters How to tackle it
Computer fundamentals (how files, memory, processes, permissions work) Security builds on IT basics. Any free “Introduction to IT” YouTube playlist or Google Career Certificate “Foundations of Cybersecurity” module 1. ([Coursera][1])
**Netw
-----BEGIN CERTIFICATE-----
MIIHKzCCBZOgAwIBAgIQClNlrwBehz1gXoEoS5ulXDANBgkqhkiG9w0BAQsFADBg
MQswCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTcwNQYDVQQD
Ey5TZWN0aWdvIFB1YmxpYyBTZXJ2ZXIgQXV0aGVudGljYXRpb24gQ0EgT1YgUjM2
MB4XDTI1MTAxMzAwMDAwMFoXDTI2MTExMjIzNTk1OVowbzELMAkGA1UEBhMCVVMx
DjAMBgNVBAgTBVRleGFzMS0wKwYDVQQKEyRFeHBlcmlhbiBJbmZvcm1hdGlvbiBT
b2x1dGlvbnMsIEluYy4xITAfBgNVBAMTGGVudGl0bGVtZW50LnNhYXMuZWRxLmNv
bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczOUGJlRmBMMwokA3Z
21Zl98jup551uunm7/VMT2342eDIqnbyD5EQL7EVabV7nRkA9SRVRG5pLJer1oAe
Zbnz7SXQxpdQUtPFE6a6TpYPtTQiBZ22qfPm7bsl8y7BOFMTAExt4XsLNCuU8pul
#!/bin/bash
# yt-nas - Download videos/audio with yt-dlp and upload to NAS
# Usage: yt-nas <url> [video|audio] [custom-filename]
set -e
# Configuration
NAS_USER="anthony"
NAS_HOST="naspi5"
@anthonyrussano
anthonyrussano / contribution-and-deploy-flow.svg
Created March 10, 2026 05:28
Shared content architecture and workflow diagrams
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
<div id="matrix-container" style="width: 100%; height: 100%; overflow: hidden; background: black; position: relative;">
<canvas id="matrix-canvas" style="width: 100%; height: 100%; display: block;"></canvas>
</div>
<script>
(() => {
const container = document.getElementById('matrix-container');
const canvas = document.getElementById('matrix-canvas');
const ctx = canvas.getContext('2d', { alpha: false });
@anthonyrussano
anthonyrussano / aws-observations.md
Created March 26, 2026 05:06
Posit Workbench investigation evidence - 2026-03-25

AWS Observations For Posit Workbench Session Load Investigation

Date generated:

  • UTC: 2026-03-26T05:04:20Z
  • Local: 2026-03-25 22:04:20 PDT

Environment:

  • AWS account: 815465416436
  • Caller identity ARN: arn:aws:iam::815465416436:user/chqadeploy
  • Region: us-east-1
@anthonyrussano
anthonyrussano / ft-sync-linux-README.md
Created April 5, 2026 05:30
ft sync on Linux (Debian/Ubuntu) — extract Chrome/Brave cookies via GNOME Keyring to sync X/Twitter bookmarks with fieldtheory CLI

ft sync on Linux (Debian/Ubuntu)

fieldtheory (ft) is a CLI tool that syncs your X/Twitter bookmarks locally. Its built-in ft sync command reads cookies directly from Chrome — but that feature is macOS-only. On Linux you'll see:

Couldn't connect to your Chrome session.

This script is a drop-in workaround. It extracts the cookies from Chrome or Brave on Linux using the GNOME Secret Service (keyring), then calls fieldtheory's internal sync function directly.