Skip to content

Instantly share code, notes, and snippets.

View jcanfield's full-sized avatar
💭
If I don't reply quickly, please try me on Twitter/X at @creativeboulder

Joshua Canfield jcanfield

💭
If I don't reply quickly, please try me on Twitter/X at @creativeboulder
View GitHub Profile
@jcanfield
jcanfield / shell-setup.ps1
Created August 23, 2025 05:22 — forked from mikepruett3/shell-setup.ps1
Packages to install via scoop, winget, choco, and other tools...
<#
.SYNOPSIS
Script to Initialize my custom powershell setup.
.DESCRIPTION
Script uses scoop
.NOTES
**NOTE** Will configure the Execution Policy for the "CurrentUser" to Unrestricted.
Author: Mike Pruett
Date: October 18th, 2018
@jcanfield
jcanfield / rich-text-html-editors.md
Created June 2, 2025 03:59 — forked from manigandham/rich-text-html-editors.md
Rich text / HTML editors and frameworks

Strictly Frameworks

Abstracted Editors

These use separate document structures instead of HTML, some are more modular libraries than full editors

@jcanfield
jcanfield / fail2ban.md
Created May 22, 2025 19:20 — forked from pixelchrome/fail2ban.md
fail2ban - cheatsheet

fail2ban

Installation - Ubuntu / Debian

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install fail2ban
@jcanfield
jcanfield / system_update.sh
Created February 14, 2023 02:44 — forked from bmatthewshea/system_update.sh
Ubuntu-Debian APT upgrade script
#!/bin/bash
#
# Brady Shea - 18SEP2020 - conversion of system_update alias to bash script
# https://www.holylinux.net/
#
# Place this script in "/usr/local/sbin/system_update" or similar location under your $PATH
# It needs root permissions (SUDO) to execute.
#
# Change these settings to your liking:
#################################
@jcanfield
jcanfield / aria2c_webUI.md
Created January 31, 2022 10:38 — forked from GAS85/aria2c_webUI.md
Aria2 + Ubuntu 18.04 + Apache2 + Web UI
OS: Ubuntu 18.04 Apache/2.4.18 1.0.2g-1ubuntu4.10
Aim: to install Aria2 with WebUI and secure Token.
IP Addr of your Aria2 server is 192.168.0.111
Your local IP network is 192.168.0.0/24

Aria 2

1. Installation

Install aria2 package:

195.114.173.153 # ns1.internetia.pl - Netia
195.116.55.69 # ns2.internetia.pl - Netia
8.8.8.8 # google-public-dns-a.google.com - Google
8.8.4.4 # google-public-dns-b.google.com - Google
208.67.222.222 # resolver1.opendns.com - OpenDNS
208.67.220.220 # resolver2.opendns.com - OpenDNS
208.67.222.220 # resolver3.opendns.com - OpenDNS
208.67.220.222 # resolver4.opendns.com - OpenDNS
149.156.1.3 # nms.cyf-kr.edu.pl
149.156.4.11 # info.cyf-kr.edu.pl
@jcanfield
jcanfield / tmux-cheatsheet.markdown
Last active July 27, 2018 10:32 — forked from MohamedAlaa/tmux-cheatsheet.markdown
Cheatsheet for `tmux`

tmux shortcuts & cheatsheet

start new:

tmux

start new with session name:

tmux new -s myname
@jcanfield
jcanfield / dnsupdater.sh
Created July 15, 2018 04:38 — forked from fibergames/dnsupdater.sh
DigitalOcean dynamic DNS updater script for your subdomain
#!/bin/bash
# Created by fibergames.net // Loranth Moroz // v.0.5
# Required tools to run this script as is: curl (https://curl.haxx.se/) & jq (https://stedolan.github.io/jq/)
# This only works for Digitalocean - 10$ credit referral link: https://m.do.co/c/fed75101475f
# Edit token, domain, subdomain to fit your needs
# Substitute ipinfo.io with your own ip-checker e.g. ipecho.net/plain
# This is to be used with crontab -> example entry to run it every 3hours:
# 0 */3 * * * sh /path/to/script/dnsupdater.sh
# Don't forget to make it executable: chmod +x /path/to/script/dnsupdater.sh
@jcanfield
jcanfield / .bash_aliases
Created July 10, 2018 19:56 — forked from insane-dev/.bash_aliases
Commonly used bash aliases
#!/bin/bash
# Colors
RED='\033[0;31m'
BLACK='\033[0;30m'
DARK_GRAY='\033[1;30m'
LIGHT_RED='\033[1;31m'
GREEN='\033[0;32m'
LIGHT_GREEN='\033[1;32m'
BROWN_ORANGE='\033[0;33m'
@jcanfield
jcanfield / ask.sh
Created July 9, 2018 21:05
Bash General-Purpose Yes/No Prompt Function ("ask")
# This is a general-purpose function to ask Yes/No questions in Bash, either
# with or without a default answer. It keeps repeating the question until it
# gets a valid answer.
ask() {
# https://djm.me/ask
local prompt default reply
while true; do