Previously, pushing both shift keys would switch the layout between colemak and qwerty. However, I never use qwerty now so have changed it so that double shift now toggles capslock. The capslock key remains bound to backspace as is default in colemak
326 lines
10 KiB
Bash
326 lines
10 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
##########################
|
|
# Add flags by default #
|
|
##########################
|
|
|
|
#Always make all directories necesary
|
|
alias mkdir='mkdir -p'
|
|
|
|
# Make qmv open on 1 column mode
|
|
alias qmv='qmv -f do'
|
|
|
|
#An alias for my standard less configuration I don't set it to lessc because
|
|
#sometimes I don't use this config and I always forget how to ignore an alias
|
|
#alias myless='lessc --clean-css
|
|
#--source-map-basepath=/home/jonathan/Sites/charts/public_html --source-map
|
|
#--autoprefix="last 3 versions, ie >= 9" styles.less styles.min.css'
|
|
alias myless='lessc --clean-css --source-map --autoprefix="last 3 versions, ie >= 11" styles.less styles.min.css'
|
|
|
|
# Always make grep ouput color
|
|
alias grep="grep --color=auto"
|
|
|
|
#Make the cal command default to start on Sunday
|
|
alias cal='cal -s'
|
|
|
|
# Use the config files I want
|
|
alias mbsync="mbsync -c \"$XDG_CONFIG_HOME/isync/mbsyncrc.secret\""
|
|
alias imapfilter="imapfilter -c \"$XDG_CONFIG_HOME/imapfilter/config.lua\""
|
|
|
|
# Makes rem output color by default
|
|
alias rem="rem -@ -gaadd"
|
|
|
|
# Make df show human readable format
|
|
alias df="df -h"
|
|
|
|
####################
|
|
# Path Shortcuts #
|
|
####################
|
|
|
|
# Shortcuts to sites folder
|
|
alias sites="cd ~/Sites"
|
|
alias s="cd ~/Sites"
|
|
|
|
# Shortcuts to documents folder
|
|
alias documents="cd ~/Documents/"
|
|
alias d="cd ~/Documents/"
|
|
|
|
# Shortcuts to hack the box folder
|
|
alias htb="cd ~/Documents/htb/"
|
|
|
|
# Shortcuts to documents folder
|
|
alias db="cd ~/Dropbox/"
|
|
|
|
# Shortcuts to home folder
|
|
alias home="cd ~/"
|
|
alias ~="cd ~/"
|
|
|
|
# Go to my .vim folder
|
|
alias .v='cd ~/.vim/'
|
|
|
|
# Got to my dotfiles folder
|
|
alias .f='cd ~/.dotfiles'
|
|
|
|
# Edit my vimrc
|
|
alias vrc='$EDITOR ~/.dotfiles/vim/.vim/vimrc'
|
|
|
|
|
|
|
|
####################
|
|
# Radio Stations #
|
|
####################
|
|
|
|
#Radio Stations
|
|
AUDIO="mpv --input-ipc-server=/tmp/mpvsocket"
|
|
alias radio2="$AUDIO http://a.files.bbci.co.uk/media/live/manifesto/audio/simulcast/hls/uk/sbr_med/llnw/bbc_radio_two.m3u8"
|
|
alias radio4="$AUDIO http://a.files.bbci.co.uk/media/live/manifesto/audio/simulcast/hls/uk/sbr_med/llnw/bbc_radio_fourfm.m3u8"
|
|
alias classic="$AUDIO http://icy-e-bab-04-cr.sharp-stream.com/absoluteradio.mp3"
|
|
alias absolute="$AUDIO 'http://network.absoluteradio.co.uk/core/audio/mp3/live.pls?service=vrbb'"
|
|
alias magic="$AUDIO 'http://www.radiofeeds.co.uk/bauer.pls?station=magicnational.mp3.m3u'"
|
|
|
|
##########
|
|
# sudo #
|
|
##########
|
|
#
|
|
# Not sure why and how but this makes sudo work with my aliases
|
|
alias sudo='sudo '
|
|
|
|
# Being in the docker group is essentually being root so use sudo instead
|
|
# https://github.com/moby/moby/issues/9976
|
|
alias docker="sudo docker"
|
|
alias docker-compose="sudo docker-compose"
|
|
|
|
###################
|
|
# Upgrade tools #
|
|
###################
|
|
# This section is for tools that replace common tools
|
|
# I only do this if the flag syntax is the same of very similar
|
|
|
|
# If exa is available, alias ls to exa, otherwise alias to ls with colour and
|
|
# indicators
|
|
type -p exa > /dev/null && alias ls="exa -F" || alias ls='ls -F --color=auto'
|
|
type -p exa > /dev/null && alias l="exa -lahg --git --grid" || alias l="ls -lah"
|
|
|
|
# Make tree add indicators and color
|
|
# If exa is available, use it instead
|
|
type -p exa > /dev/null && alias tree="exa -FT" || alias tree='tree -F -C'
|
|
|
|
# Alias cat to bat if it's available
|
|
#type -p bat > /dev/null && alias cat="bat"
|
|
# This has been moved into a function
|
|
|
|
# If nvim is available, alias vim to neovim
|
|
type -p nvim > /dev/null && alias vim="nvim"
|
|
type -p nvim > /dev/null && alias vimdiff="nvim -d"
|
|
|
|
# Trash instead of rm
|
|
type -p rmtrash > /dev/null && alias rm="rmtrash"
|
|
type -p rmdirtrash > /dev/null && alias rmdir="rmdirtrash"
|
|
|
|
# Use sc-im instead of sc
|
|
type -p sc-im > /dev/null && alias sc="sc-im"
|
|
|
|
# These don't have the same syntax but I want to be reminded of the better
|
|
# versions
|
|
type -p mycli > /dev/null && alias mysql="echo \"You might want to use mycli instead\"; /usr/bin/mysql"
|
|
type -p pgcli > /dev/null && alias postgres="echo \"You might want to use pgcli instead\"; /usr/bin/postgres"
|
|
type -p ncdu > /dev/null && alias du="echo \"You might want to use ncdu instead\"; /usr/bin/du"
|
|
|
|
# These are the gnu coreutils mv and cp with a progress bar patched in
|
|
type -p mvg > /dev/null && alias mv="mvg -g"
|
|
type -p cpg > /dev/null && alias cp="cpg --progress-bar"
|
|
|
|
# If enum4linux-ng is available, use that instead
|
|
type -p enum4linux-ng > /dev/null && alias enum4linux="enum4linux-ng"
|
|
|
|
###################
|
|
# Git Shortcuts #
|
|
###################
|
|
|
|
alias status='git status '
|
|
alias st='git status'
|
|
alias checkout='git checkout'
|
|
alias ch='git checkout'
|
|
alias push='git push '
|
|
alias pull='git pull '
|
|
alias bb='git open'
|
|
alias merge='git merge'
|
|
alias mg='git merge'
|
|
alias switch='git switch'
|
|
alias sw='git switch'
|
|
|
|
#######################
|
|
# typos / shortcuts #
|
|
#######################
|
|
|
|
alias vim="nvim"
|
|
alias cim="nvim"
|
|
alias vom="nvim"
|
|
alias vin="nvim"
|
|
alias vi="nvim"
|
|
alias v="nvim"
|
|
|
|
alias cls="clear"
|
|
#Clear terminal and try to get moon phase. If it takes longer than .5 seconds then it will show neofetch
|
|
#alias cls='clear; timeout 0.5s weather moon || neofetch'
|
|
|
|
# Quit the terminal using :q (The same as Vi/Vim)
|
|
alias :q='exit;'
|
|
alias q='exit;'
|
|
|
|
alias rnc="resize-netcat-listener -r $HOME/go/src/resize-nc-listener/examples/stty-resize-copy"
|
|
|
|
alias wingcc='x86_64-w64-mingw32-gcc'
|
|
|
|
alias r="fzf-remind"
|
|
|
|
################
|
|
# Pentesting #
|
|
################
|
|
|
|
# Start postgres for msfconsole
|
|
# In time, use docker instead
|
|
alias msfconsole="( systemctl status --no-pager postgresql.service > /dev/null || (echo \"Statring postgres\"; sudo systemctl start postgresql.service) ); ( pass show system/metasploit/database.yaml > database.yaml; sudo msfconsole -y database.yaml; rm database.yaml )"
|
|
|
|
alias ss="tail -n +2 /usr/share/exploitdb/files_exploits.csv | awk -F ',' '{print \$2 \"\t\" \$3 \"\t(\" \$1 \")\"}' | fzf --preview-window=up --preview='echo {} | cut -d\" \" -f1 | xargs echo \"/usr/share/exploitdb/\" | tr -d \" \" | xargs bat --color=always' | cut -d' ' -f3 | tr -d \"()\" | xargs searchsploit -m"
|
|
|
|
ARMORY="$HOME/GitRepos/armoury"
|
|
alias surecheckImport="$JAVA_HOME/bin/java -jar $ARMORY/host_build_reviews/windows/SurecheckImport/SurecheckImport_v0.2.jar "
|
|
|
|
alias rot13="tr 'A-Za-z' 'N-ZA-Mn-za-m'"
|
|
|
|
# These aliases are related to projects
|
|
# Make sqlmap put output in the current project folder
|
|
alias sqlmap="[ -L ~/Projects/current ] && sqlmap --output-dir=\"~/Projects/current/sqlmap\""
|
|
# Cd into the current project
|
|
alias pp="[ -L ~/Projects/current ] && cd \"\$(readlink ~/Projects/current)\" || cd ~/Projects"
|
|
# Automatically switch project based on current location
|
|
alias pa="project switch --auto"
|
|
# Change project using fzf
|
|
alias pc="project switch --fzf"
|
|
# Create a new project
|
|
alias pn="project new"
|
|
|
|
alias snmp-check="/usr/bin/snmpcheck-nothink"
|
|
|
|
#alias irmgpg="gpg --no-default-keyring --keyring=irm.gpg"
|
|
alias irmgpg="gpg --options ~/.gnupg/irmgpg.conf --keyring=irm.gpg"
|
|
|
|
if [ -f "$HOME/GitRepos/openssl-weak/openssl-1.0.2-chacha/apps/openssl" ]; then
|
|
alias weakopenssl="$HOME/GitRepos/openssl-weak/openssl-1.0.2-chacha/apps/openssl"
|
|
alias testssl="testssl --openssl=\"$HOME/GitRepos/openssl-weak/openssl-1.0.2-chacha/apps/openssl\""
|
|
alias verifySSL="verifySSL --openssl \"$HOME/GitRepos/openssl-weak/openssl-1.0.2-chacha/apps/openssl\""
|
|
else
|
|
alias testssl="docker run --rm -ti -v \$PWD:/data drwetter/testssl.sh"
|
|
fi
|
|
|
|
|
|
|
|
##############
|
|
# Keyboard #
|
|
##############
|
|
|
|
# Keyboard - reset
|
|
# Sometimes, if I turn the screens off, the keyboard resets itself to defaults. Not sure why but this will put my keyboard back to how I like it
|
|
#alias kb="xmodmap ~/.Xmodmap; xset r rate 200 70; xcape"
|
|
alias keys="setxkbmap -layout gb -variant colemak -option shift:both_capslock -option compose:ralt; xset r rate 200 70; xinput --list | grep -Ei 'ErgoDox EZ\s+id' | grep -oE 'id=[0-9]+' | cut -d'=' -f2 | xargs -r setxkbmap -layout gb -device"
|
|
|
|
alias colemak="setxkbmap -layout gb,gb -variant \"colemak,\" -option grp:shifts_toggle"
|
|
alias qwerty="setxkbmap -layout gb"
|
|
|
|
#################
|
|
# Web Searches #
|
|
#################
|
|
|
|
alias ws="websearch"
|
|
alias aw="websearch aw"
|
|
alias wiki="websearch wiki"
|
|
alias aur="websearch aur"
|
|
alias ddg="BROWSER=\"w3m\" ddgr"
|
|
#
|
|
#############
|
|
# Web Dev #
|
|
#############
|
|
|
|
# These alow me to easily set the file and folder permissions for a wordpress instilation.
|
|
alias folder-perms='find . -type d -not -path "./.git/*" -not -path "./.git" -not -path "./node_modules/*" -not -path "./node_modules" -not -perm 775 -exec chmod 775 {} \;'
|
|
alias file-perms='find . -type f -not -path "./.git/*" -not -path "./.git" -not -path "./node_modules/*" -not -path "./node_modules" -not -perm 664 -exec chmod 664 {} \;'
|
|
alias wp-perms='folder-perms; file-perms'
|
|
|
|
# Same for Magento
|
|
alias magentoPerms='cd ${PWD%/public_html*}/public_html;sudo chown -R jonathan:http .; folder-perms; file-perms; chmod +x bin/*; cd -'
|
|
alias magentoUpgr='magento setup:upgrade && magento setup:di:compile && magentoPerms'
|
|
|
|
# Shortcut for rewriting wp permalinks
|
|
alias perms='wp rewrite flush'
|
|
|
|
#Goes up to the public_html folder
|
|
alias ph='cd ${${PWD%/public_html*}%/wiki*}/public_html'
|
|
alias wiki='cd ${${PWD%/public_html*}%/wiki*}/wiki'
|
|
|
|
#Edit wp-config.php using $EDITOR
|
|
alias wpconf='$EDITOR ${PWD%/public_html*}/public_html/wp-config.php'
|
|
|
|
##########
|
|
# Misc #
|
|
##########
|
|
|
|
#Start cups
|
|
alias cups='sudo systemctl start org.cups.cupsd.service'
|
|
|
|
# moon phase
|
|
alias moonphase='weather moon'
|
|
|
|
#audiable to mp3
|
|
alias aa2mp3='ffmpeg -f concat -safe 0 -i <(for f in *.aa; do echo "file '"'"'$(pwd)/$f'"'"'";done) output.mp3'
|
|
|
|
# Updates time using ntp
|
|
alias updateTime="sudo ntpd -qg"
|
|
|
|
alias globalip="drill myip.opendns.com @resolver1.opendns.com | sed -n '/ANSWER SECTION/,/AUTHORITY SECTION/ p' | sed -n '2 p' | awk '{print \$5}'"
|
|
|
|
alias chrome-curl="node $HOME/GitRepos/chrome-curl/index.js"
|
|
|
|
# Plays a youtube video or playlist - audio only
|
|
alias ytaudio='mpv --ytdl-format="bestaudio"'
|
|
|
|
alias asciicast2gif='docker run --rm -v $PWD:/data asciinema/asciicast2gif'
|
|
|
|
alias anboxPrepare='sudo modprobe -a binder && sudo mkdir /dev/binderfs && sudo chmod 755 /dev/binderfs && sudo mount -t binder none /dev/binderfs && mount | grep binderfs && sudo systemctl start systemd-networkd anbox-container-manager'
|
|
|
|
if type grc > /dev/null 2>&1; then
|
|
for cmd in "nmap" "ping" "traceroute" "mount" "netstat" "ps" "dig" "du" "df" "ip" "iptables" "lsblk" "id" "free" "tcpdump" "uptime" "showmount" "whois" ; do
|
|
alias "$cmd"="grc $(whence $cmd)"
|
|
alias "${cmd}c"="grc --colour=on $(whence $cmd)"
|
|
done
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|