Skip to content

Instantly share code, notes, and snippets.

View dantheman213's full-sized avatar
๐Ÿš€

Dan dantheman213

๐Ÿš€
View GitHub Profile
@dantheman213
dantheman213 / generate-ssh-key.sh
Created April 18, 2019 18:40 — forked from grenade/01-generate-ed25519-ssh-key.sh
Correct file permissions for ssh keys and config.
ssh-keygen -t rsa -b 4096 -N '' -C "[email protected]" -f ~/.ssh/id_rsa
ssh-keygen -t rsa -b 4096 -N '' -C "[email protected]" -f ~/.ssh/github_rsa
ssh-keygen -t rsa -b 4096 -N '' -C "[email protected]" -f ~/.ssh/mozilla_rsa
@dantheman213
dantheman213 / uninstall_docker.md
Created April 25, 2019 23:29
Uninstall Docker

To completely uninstall Docker:

Step 1

dpkg -l | grep -i docker To identify what installed package you have:

Step 2

sudo apt-get purge -y docker-engine docker docker.io docker-ce

@dantheman213
dantheman213 / reset.sh
Last active April 15, 2020 01:37
Reset home permissions
sudo chmod -R 777 ~/.ssh # start perms from scratch
chmod -v 700 ~/
chmod -v 700 ~/.ssh
find ~/.ssh -type f -name "*.pub" | xargs chmod -v 644
find ~/.ssh -type f -name "*.pem" | xargs chmod -v 400
find ~/.ssh -type f ! -name "*.*" | xargs chmod -v 400
find ~/.ssh -type d | xargs chmod -v 700
chmod -v 644 ~/.ssh/authorized_keys
chmod -v 600 ~/.ssh/config
@dantheman213
dantheman213 / aws-ssm-find-param
Last active August 19, 2019 17:56
Quickly find AWS SSM params by partial search, use custom AWS profiles, get an interactive result to query, and get a AWS URL to view and edit target
#!/usr/bin/env node
//
// Quickly find AWS SSM params by partial search, use custom AWS profiles, get an interactive
// result to query, and get a AWS URL to view and edit target.
//
// Requires AWS CLI, NodeJS v10+ and Python 2/3
//
// Before running for first time do:
// npm install inquirer
@dantheman213
dantheman213 / aws-ssm
Last active January 10, 2020 23:25
Find list of SSM params with a keyword or phrase
# Get all SSM keys and values as JSON object per SSM key:
aws ssm describe-parameters --profile ${TARGET_ENV} | jq '{NextToken,Parameters:[ .Parameters | map(.Name) [] ] }' | jq -r '.Parameters | join("\n")' | while read line; do aws ssm get-parameter --name $line --profile ${TARGET_ENV} | jq -c '{Name: .Parameter.Name, Value: .Parameter.Value}'; done
# Get Keys by themselves per line raw
aws ssm describe-parameters | jq '{NextToken,Parameters:[ .Parameters | map(.Name) [] ] }' | jq -r '.Parameters | join("\n")'
# Do something in a bash for loop
aws ssm describe-parameters --profile preprod | jq '{NextToken,Parameters:[ .Parameters | map(.Name) [] ] }' | jq -r '.Parameters | join("\n")' | while read line; do aws ssm get-parameter --profile preprod --name $line; done
package main
import "fmt"
func main() {
fmt.Println("Welcome to B-Tree test")
btree := makeBTree()
fmt.Println("In-order b-tree traversal")
traverse(&btree)
fmt.Println("Exit B-Tree test")
@dantheman213
dantheman213 / aws-cw-query-all-log-groups.md
Last active March 2, 2020 01:39
AWS CloudWatch Query Every Log Group Beyond AWS UI Maximum

Get all log groups

aws2 logs describe-log-groups --page-size 50 --max-items 1000 --profile preprod | jq -r '.logGroups[].logGroupName'

---

Query every log group in the last 30 mins

aws2 logs describe-log-groups --page-size 50 --max-items 1000 --profile preprod | jq -r '.logGroups[].logGroupName' | while read line; do echo $line; aws2 logs start-query --profile preprod --log-group-name $line --query-string 'filter @message like /(?i)(mongoerror|staging1)/| fields @timestamp, @message | sort @timestamp desc' --start-time $(expr 1578699670 - 1800) --end-time 1578699670 | jq -r '.queryId' >> queryIds.txt; echo $line >> link.txt; tail -1 queryIds.txt >> link.txt; done

Get results from every query ID generated in previous command

cat queryIds.txt | while read line; do echo $line; echo $line >> results.txt ; aws2 logs get-query-results --profile preprod --query-id $line >> results.txt; done

// https://www.reddit.com/r/golang/comments/1hvvnn/any_better_way_to_do_a_crossplatform_exec_and/
func GetCommandResult(cmd *exec.Cmd) ([]byte, int, error) {
output, err := cmd.CombinedOutput()
if err != nil {
if e2, ok := err.(*exec.ExitError); ok {
if status, ok := e2.Sys().(syscall.WaitStatus); ok && runtime.GOOS == "windows" {
s := reflect.ValueOf(&status).Elem()
for i := 0; i < s.NumField(); i++ {
if s.Type().Field(i).Name == "ExitCode" {
# hyper-v on/off in windows 10
bcdedit /set hypervisorlaunchtype off
bcdedit /set hypervisorlaunchtype on
dism.exe /Online /Disable-Feature:Microsoft-Hyper-V

Get Wifi Info

Commands needed to get similar information cross-platform.

Windows Command Prompt

netsh wlan show networks mode=bssid