Skip to content

Instantly share code, notes, and snippets.

View kyletimmermans's full-sized avatar

Kyle Timmermans kyletimmermans

View GitHub Profile
kyletimmermans /
Last active April 10, 2024 13:58
The Python code and math for finding the coordinates of a point on the edge of a circle where a line between two points intersects on the circle, the two points being: the center of the circle (A) and the point outside of the circle (B). This math can be used to draw a line cleanly from the edge of a circle without it overlapping the circle itself.
from math import sqrt
def circle_edge_point(x1, y1, x2, y2, r):
cx = x1 + (r * (x2 - x1) / sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2))
except ZeroDivisionError:
# Add 0.0001 if divisor is 0
cx = x1 + (r * (x2 - x1) / sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2) + 0.0001)
kyletimmermans /
Last active February 26, 2024 02:42
Collection of useful / helpful Bash aliases and functions I've found / edited / created
alias ..='cd ..' # Faster
alias cls='clear' # Faster
alias ll='ls -lhFA' # Better ls
alias vi='vim' # Use vim instead
alias neofetch='fastfetch' # Better neofetch
alias psa='ps aux | grep --color=auto' # View process(es) by name e.g. psa 'sudo find'
alias hs='history | grep --color=auto' # Search through command history e.g. 'git diff'
alias open='xdg-open' # Linux version of OSX open (Open directory in file explorer)
alias pbcopy='xclip -selection clipboard' # Linux version of OSX pbcopy (Copy text to clipboard)
alias pbpaste='xclip -selection clipboard -o' # Linux version of OSX pbpaste (Paste text from clipboard)
kyletimmermans / .zshrc
Created February 23, 2024 02:10
A collection of Zsh terminal prompts
# Kali Linux
PROMPT=$'%F{%(}┌──${debian_chroot:+($debian_chroot)─}${VIRTUAL_ENV:+($(basename $VIRTUAL_ENV))─}(%B%F{%(}%n%(#.💀.㉿)%m%b%F{%(})-[%B%F{reset}%(6~.%-1~/…/%4~.%5~)%b%F{%(}]\n└─%B%(#.%F{red}#.%F{blue}$)%b%F{reset} '
RPROMPT=$'%(?.. %? %F{red}%B⨯%b%F{reset})%(1j. %j %F{yellow}%B⚙%b%F{reset}.)'
# Parrot OS
kyletimmermans /
Last active February 22, 2024 13:21
Network and system info for *nix OS terminal (.bashrc / .zshrc)
# List network information
netinfo() {
if [[ $(uname -s) != *"Darwin"* ]]; then
sudo echo -n ""
echo -e "\n---------------- Network Information ----------------"
echo "Hostname: $(hostname)"
if [[ $(uname -s) == *"Darwin"* ]]; then
echo "Local IP: $(ipconfig getifaddr $(route -n get default | grep interface | awk '{print $2}'))"
echo "Network Interface: $(route -n get default | grep interface | awk '{print $2}')"
kyletimmermans / all_mitre_attack_techniques.csv
Created January 17, 2024 23:31
All MITRE ATT&CK v14.1 Enterprise Techniques
tactic_id tactic_name technique_id technique_name
TA0043 Reconnaissance T1595 Active Scanning
TA0043 Reconnaissance T1595.001 Scanning IP Blocks
TA0043 Reconnaissance T1595.002 Vulnerability Scanning
TA0043 Reconnaissance T1595.003 Wordlist Scanning
TA0043 Reconnaissance T1592 Gather Victim Host Information
TA0043 Reconnaissance T1592.001 Hardware
TA0043 Reconnaissance T1592.002 Software
TA0043 Reconnaissance T1592.003 Firmware
TA0043 Reconnaissance T1592.004 Client Configurations
kyletimmermans / MeetingExiter.js
Last active January 11, 2024 02:05
A script to automatically leave meetings / exit a webpage after a given amount of time
/* Run in your browser's JS console */
MeetingExiter = () => {
// Don't allow it to be running more than once
if (typeof meetingExiterMutex !== "undefined") {
if (meetingExiterMutex === true) {
console.error("Cant't run more than 1 exiter job at a time!");
} else {
meetingExiterMutex = true;
kyletimmermans /
Last active February 22, 2024 23:58
Pop!_OS Super Updater
#!/usr/bin/env bash
# Credits to Willi Mutschler @ for the update commands
echo -e "\nThis program requires that your machine is connected to"
echo "a power source and that you are connected to the internet."
read -p "Are you connected to a power source and the internet? (Y/n): " reply
kyletimmermans /
Last active April 24, 2024 13:08
GitHub Repo & Gist Backup Script
#!/usr/bin/env bash
# Change the shebang above^ if need be (zsh, etc...)
# Must have jq & gh (GitHub CLI tool) installed
# Get personal access token with access to "repos" and "gists" in developer settings
read -p "Enter Username: " username
read -p "Enter Access Token: " token
read -p "Download Repositories? (Y/n): " getrepos
read -p "Download Gists? (Y/n): " getgists
kyletimmermans /
Last active March 3, 2022 18:30


A stored Cross-site scripting (XSS) vulnerability in Blackboard Learn/CloudPeopleTool v9.1 Q2 2017 CU5

Discovered: February 12th, 2020

Feature discontinued as of April 15th, 2020

  • See Blackboard advisory here