5 Commits

Author SHA1 Message Date
David Tomaschik
e5fec4b75c Merge remote-tracking branch 'refs/remotes/origin/work' into work 2016-02-17 10:28:15 -08:00
David Tomaschik
7e7b615b0e Profile updates in work. 2016-02-17 10:27:32 -08:00
David Tomaschik
d9733ad84f Rebase. 2016-02-17 10:25:30 -08:00
David Tomaschik
1e93e6b89f Merge branch 'master' into work 2016-02-15 08:53:08 -08:00
David Tomaschik
32b129c434 Rebase. 2016-02-15 08:50:10 -08:00
97 changed files with 1339 additions and 12719 deletions

1
.gitignore vendored
View File

@@ -1,5 +1,4 @@
installed-prefs
.installed-prefs
*.swp
*~
*.bak

View File

@@ -31,9 +31,3 @@ INSTALL_PKGS: Install common packages, if on a Debian-like system.
(Defaults to opposite of $MINIMAL.)
SAVE: Save the install options to ${BASEDIR}/installed-prefs
```
### TODO ###
[ ] Re-do the installation of packages.
[ ] Make manual installation of sets easy/possible.
[ ] Make missing packages not cause a full set failure.
[X] Allow comments and blank lines.

View File

@@ -1,35 +0,0 @@
#!/bin/bash
set -o errexit
set -o nounset
if test -f /etc/apt/apt.conf.d/90-proxy ; then
echo "Looks already setup."
exit 0
fi
cat >/etc/apt/proxy-detect <<'EOF'
#!/bin/bash
PROXY=192.168.60.10:3142
if ! test -x /bin/nc ; then
echo DIRECT
exit 0
fi
if nc -w 2 -z ${PROXY/:/ } ; then
echo ${PROXY}
exit 0
fi
echo DIRECT
EOF
chmod 755 /etc/apt/proxy-detect
cat >/etc/apt/apt.conf.d/90-proxy <<'EOF'
Acquire::http::Proxy-Auto-Detect "/etc/apt/proxy-detect";
EOF
echo "Setup APT Proxying."

View File

@@ -1,5 +0,0 @@
#!/bin/bash
apt-get install -y \
i3 i3lock xss-lock rxvt-unicode-256color fonts-inconsolata scrot \
xautolock xbacklight i3status dex

View File

@@ -1,16 +0,0 @@
#!/usr/bin/python
"""
Launch desktop files from ~/.config/autostart
"""
import glob
import os.path
from gi.repository import Gio
dirname = os.path.expanduser('~/.config/autostart')
for desktop in glob.glob(os.path.join(dirname, '*.desktop')):
try:
fp = Gio.DesktopAppInfo.new_from_filename(desktop)
except TypeError:
continue
fp.launch_uris([], None)

View File

@@ -26,5 +26,5 @@ function verify_dest {
verify_dest "$DEST"
exec nice rsync -Hax --delete --exclude-from="$HOME/.rsync_ignore" \
rsync -Hax --delete --exclude-from="$HOME/.rsync_ignore" \
--delete-excluded "${HOME}/" "$DEST"

32
bin/burp Executable file
View File

@@ -0,0 +1,32 @@
#!/bin/zsh
_start_burp() {
setopt localoptions nullglob numeric_glob_sort
local NO_DOWNLOAD
local JAR
if (( ${+argv[(r)*no-download]} )) ; then
NO_DOWNLOAD=1
shift
else
NO_DOWNLOAD=0
fi
JAR=(${HOME}/bin/burpsuite*jar(On[1])) 2>/dev/null
if [ -z $JAR ] ; then
if (( $NO_DOWNLOAD )) ; then
echo "Not downloading, --no-download specified" >&2
return 1
fi
echo "Burp JAR not found in ${HOME}/bin. Attempting to download free edition." >&2
wget -q --content-disposition --no-server-response -P ${HOME}/bin \
https://portswigger.net/DownloadUpdate.ashx\?Product\=Free
if [ $? -ne 0 ] ; then
echo "Download failed." >&2
return 1
fi
burp --no-download "$@"
return $?
else
java -jar ${JAR} "$@"
fi
}
_start_burp

View File

@@ -1,11 +0,0 @@
#!/bin/bash
set -u
CHEF_FILE=${HOME}/tools/cyberchef/cyberchef.html
if [ ! -f ${CHEF_FILE} ] ; then
${HOME}/bin/install_tool cyberchef
fi
exec xdg-open ${CHEF_FILE}

View File

@@ -1,3 +0,0 @@
#!/bin/bash
# Launch chrome for burp
exec /usr/bin/google-chrome-beta --ignore-certificate-errors --user-data-dir=${HOME}/.config/chrome-pentest --proxy-server=127.0.0.1:8080

View File

@@ -1,9 +0,0 @@
#!/bin/sh
LOCKER="i3lock -c 000000"
/usr/bin/xss-lock -- "${LOCKER}" &
exec /usr/bin/xautolock \
-time 5 \
-detectsleep \
-locker "${LOCKER}" \
-notify 30 \
-notifier "notify-send -u critical -t 10000 -- 'LOCKING SCREEN IN 30 SECONDS'"

View File

@@ -1,217 +0,0 @@
#!/bin/bash
set -ue
REINSTALL=0
PACKAGES=1
while getopts -- "-:" a ; do
case "${a}" in
-)
case "${OPTARG}" in
reinstall)
REINSTALL=1
;;
no-packages)
PACKAGES=0
;;
*)
echo "Unknown long option ${OPTARG}" >/dev/stderr
exit 1
;;
esac
esac
done
shift $(($OPTIND-1))
if [ $# -ne 1 ] ; then
echo "Usage: ${0} <tool>" >/dev/stderr
exit 1
fi
TOOL=${1}
function die {
echo $* >/dev/stderr
return 1
}
function install_pkgs {
if [ ${PACKAGES} -eq 0 ] ; then
return 0
fi
# TODO: check if packages are already installed
if [ `id -u` -ne "0" ] ; then
sudo apt-get -y install $* || (
echo -n "Unable to install packages, please ensure these " >/dev/stderr
echo "are installed, then run with --no-packages." >/dev/stderr
echo $*
false )
return 0
fi
apt-get -y install $*
}
function download {
SRC=${1}
DST=${2}
echo -n "Downloading ${SRC} to ${DST}..." >&2
# TODO: consider curl instead?
wget --no-server-response -q -O ${DST} --content-disposition ${SRC}
echo " done." >&2
}
function check_sudo {
sudo -l >/dev/null
}
function add_bin_symlink {
local TARGET NAME BINDIR
TARGET=${1}
NAME=${2:-$(basename ${1})}
BINDIR=${HOME}/bin/tools/
mkdir -p -- ${BINDIR}
ln -sf ${DESTDIR}/${TARGET} ${BINDIR}/${NAME}
}
DESTDIR="${HOME}/tools/${TOOL}"
if [ -d ${DESTDIR} ] ; then
if [ ${REINSTALL} -eq 1 ] ; then
rm -ri ${DESTDIR}
else
echo "${DESTDIR} exists but not reinstalling." >/dev/stderr
exit 1
fi
fi
case ${TOOL} in
john)
install_pkgs libssl-dev git build-essential yasm libgmp-dev libpcap-dev \
pkg-config libbz2-dev libopenmpi-dev openmpi-bin libnss3-dev \
libkrb5-dev libgmp-dev
jtemp=`mktemp -d`
git clone https://github.com/magnumripper/JohnTheRipper.git ${jtemp}/john
cd ${jtemp}/john/src
./configure && make -sj2
mkdir -p ${DESTDIR}
cp -r ${jtemp}/john/run/* ${DESTDIR}
rm -rf ${jtemp}
# Persistent files
mkdir -p ${HOME}/.john
touch ${HOME}/.john/john.pot
ln -sf ${HOME}/.john/* ${DESTDIR}
;;
wordlists)
mkdir -p ${DESTDIR}
download \
http://downloads.skullsecurity.org/passwords/rockyou.txt.bz2 \
${DESTDIR}/rockyou.txt.bz2
bunzip2 ${DESTDIR}/rockyou.txt.bz2
download \
http://downloads.skullsecurity.org/passwords/phpbb.txt.bz2 \
${DESTDIR}/phpbb.txt.bz2
bunzip2 ${DESTDIR}/phpbb.txt.bz2
download \
http://downloads.skullsecurity.org/passwords/hak5.txt.bz2 \
${DESTDIR}/hak5.txt.bz2
bunzip2 ${DESTDIR}/hak5.txt.bz2
;;
gcloud)
mkdir -p ${DESTDIR}
gtemp=`mktemp -d`
gbase="https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/"
# TODO: find a way to make this version independent
gsdk="google-cloud-sdk-209.0.0-linux-x86_64.tar.gz"
download "${gbase}${gsdk}" /tmp/gcloud.tar.gz
tar zxf /tmp/gcloud.tar.gz --strip-components=1 -C ${DESTDIR}
rm /tmp/gcloud.tar.gz
add_bin_symlink bin/gcloud
;;
android-sdk)
# TODO: find a way to make this version independent
asdk="https://dl.google.com/android/repository/tools_r25.2.3-linux.zip"
download ${asdk} /tmp/android-tools.zip
unzip -d ${DESTDIR} /tmp/android-tools.zip
rm /tmp/android-tools.zip
# Install components
${DESTDIR}/tools/bin/sdkmanager "emulator" "platform-tools"
;;
burp)
# Install latest burp free
mkdir -p ${DESTDIR}
download \
https://portswigger.net/DownloadUpdate.ashx\?Product\=Free \
${DESTDIR}/burp-free.jar
if [ $? -ne 0 ] ; then
echo "Download failed." >&2
exit 1
fi
if [ -x /usr/bin/jarwrapper ] ; then
# We have binfmt support for jar, so add to bin
chmod +x ${DESTDIR}/*.jar
ln -sf ${DESTDIR}/*.jar ${HOME}/bin/burp
fi
;;
mitmproxy)
ver=$(python -c 'import urllib2; import json; print(json.load(urllib2.urlopen("https://api.github.com/repos/mitmproxy/mitmproxy/releases/latest"))["name"].replace("v",""))')
download https://snapshots.mitmproxy.org/${ver}/mitmproxy-${ver}-linux.tar.gz /tmp/mitmproxy.tar.gz
mkdir -p ${DESTDIR}
tar zx -C ${DESTDIR} -f /tmp/mitmproxy.tar.gz
rm /tmp/mitmproxy.tar.gz
add_bin_symlink mitmproxy
add_bin_symlink mitmweb
;;
esp)
src="https://dl.espressif.com/dl/xtensa-esp32-elf-linux64-1.22.0-61-gab8375a-5.2.0.tar.gz"
download ${src} /tmp/esp32.tar.gz
mkdir -p ${DESTDIR}
tar zx -C ${DESTDIR} -f /tmp/esp32.tar.gz
rm /tmp/esp32.tar.gz
git clone --recursive https://github.com/espressif/esp-idf.git ${DESTDIR}/esp-idf
;;
dex2jar)
src="https://github.com/pxb1988/dex2jar/releases/download/2.0/dex-tools-2.0.zip"
download ${src} /tmp/dex2jar.zip
tmpd=`mktemp -d`
unzip -d ${tmpd} /tmp/dex2jar.zip
mv ${tmpd}/* ${DESTDIR}
rm /tmp/dex2jar.zip
rm -rf ${tmpd}
rm ${DESTDIR}/*.bat
chmod +x ${DESTDIR}/*.sh
;;
proxmark3)
install_pkgs p7zip git build-essential libreadline5 libreadline-dev \
libusb-0.1-4 libusb-dev libqt4-dev perl pkg-config wget libncurses5-dev \
gcc-arm-none-eabi libstdc++-arm-none-eabi-newlib
src="https://github.com/Proxmark/proxmark3.git"
git clone ${src} ${DESTDIR}
cd ${DESTDIR}
make -sj2
check_sudo && sudo /bin/sh -c \
"cp -rf driver/78-mm-usb-device-blacklist.rules \
/etc/udev/rules.d/77-mm-usb-device-blacklist.rules &&
udevadm control --reload-rules"
;;
cyberchef)
mkdir -p ${DESTDIR}
src=$(python -c 'import urllib2; import json; print(filter(lambda x: x["name"]=="cyberchef.htm", json.load(urllib2.urlopen("https://api.github.com/repos/gchq/CyberChef/releases/latest"))["assets"])[0]["browser_download_url"])')
download ${src} ${DESTDIR}/cyberchef.html
;;
apktool)
mkdir -p ${DESTDIR}
download \
https://raw.githubusercontent.com/iBotPeaches/Apktool/master/scripts/linux/apktool \
${DESTDIR}/apktool
download \
https://bitbucket.org/iBotPeaches/apktool/downloads/apktool_2.3.3.jar \
${DESTDIR}/apktool.jar
chmod +x ${DESTDIR}/apktool
add_bin_symlink apktool
;;
*)
echo "Unknown tool: ${TOOL}" >/dev/stderr
exit 1
;;
esac

View File

@@ -4,9 +4,7 @@ export NAME=$(basename "$0")
export BASE="/opt/metasploit" # TODO: search this path
# Autogen'd
if [ -f "${BASE}/scripts/setenv.sh" ] ; then
. ${BASE}/scripts/setenv.sh
fi
# Use Pro's bundled gems instead of the gemcache
export MSF_BUNDLE_GEMS=0
@@ -27,11 +25,4 @@ if [ -f "${BASE}/apps/pro/msf3/tools/exploit/${NAME}.rb" ]; then
exec ${BASE}/apps/pro/msf3/tools/exploit/${NAME}.rb "$@"
fi
export BASE="/opt/metasploit-framework"
if [ -f "${BASE}/embedded/framework/tools/exploit/${NAME}.rb" ]; then
exec ${BASE}/embedded/bin/ruby \
"${BASE}/embedded/framework/tools/exploit/${NAME}.rb" "$@"
fi
echo "Couldn't find script." >&2
exit 1
exec ${NAME} "$@"

View File

@@ -1,28 +0,0 @@
#!/bin/bash
if [ $# -lt 1 ] ; then
echo "Usage: $0 <kvm|vbox>" >&2
exit 1
fi
if [ `whoami` != "root" ] ; then
if which sudo >/dev/null 2>&1 ; then
sudo $0 $*
exit
fi
echo "Sorry, this requires root." >&2
exit 1
fi
if [ "$1" == "kvm" ] ; then
/etc/init.d/virtualbox stop
modprobe kvm
modprobe kvm_intel
elif [ "$1" == "vbox" ] ; then
rmmod kvm_intel
rmmod kvm
/etc/init.d/virtualbox start
else
echo 'WTF?' >&2
exit 1
fi

View File

@@ -1,24 +0,0 @@
[media-keys]
screensaver=['<Primary><Alt>l', 'XF86ScreenSaver']
[wm]
move-to-workspace-1=['<Shift><Super>exclam']
move-to-workspace-2=['<Shift><Super>at']
move-to-workspace-3=['<Shift><Super>numbersign']
move-to-workspace-4=['<Shift><Super>dollar']
move-to-workspace-5=['<Shift><Super>percent']
move-to-workspace-6=['<Shift><Super>asciicircum']
move-to-workspace-7=['<Shift><Super>ampersand']
move-to-workspace-8=['<Shift><Super>asterisk']
move-to-workspace-9=['<Shift><Super>parenleft']
switch-to-workspace-4=['<Super>4']
switch-to-workspace-1=['<Super>1']
switch-to-workspace-10=['<Super>0']
switch-to-workspace-3=['<Super>3']
switch-to-workspace-8=['<Super>8']
switch-to-workspace-5=['<Super>5']
move-to-workspace-10=['<Shift><Super>parenright']
switch-to-workspace-2=['<Super>2']
switch-to-workspace-9=['<Super>9']
switch-to-workspace-6=['<Super>6']
switch-to-workspace-7=['<Super>7']

View File

@@ -6,10 +6,6 @@ if [ `whoami` != "root" ] ; then
fi
BASEDIR=`dirname $0`
if ! test -f ${BASEDIR}/keys/gpg/kali-repo.key ; then
echo "Couldn't find key, are you in the right place?" >&2
exit 1
fi
cat >/etc/apt/sources.list.d/kali.list <<KALI_EOF
deb http://http.kali.org/kali kali-rolling main contrib non-free

View File

@@ -1,91 +0,0 @@
Xcursor.size: 16
!!!
! Xft for fonts
!!!
!Xft.dpi: 144
Xft.antialias: false
Xft.lcdfilter: lcddefault
Xft.rgba: rgb
Xft.hinting: true
Xft.hintstyle: hintslight
Xft.autohint: 0
!!!
! Solarized urxvt
!!!
URxvt.depth: 32
URxvt.geometry: 90x30
URxvt.transparent: false
URxvt.fading: 0
URxvt.urgentOnBell: true
URxvt.visualBell: false
URxvt.loginShell: true
URxvt.saveLines: 50000
URxvt.internalBorder: 2
URxvt.lineSpace: 0
URxvt.iso14755: false
! Fonts
URxvt*font: xft:inconsolata:pixelsize=16
! Fix font space
URxvt*letterSpace: -1
! Scrollbar
URxvt.scrollStyle: rxvt
URxvt.scrollBar: false
! Perl extensions
URxvt.perl-ext-common: default,matcher,resize-font
URxvt.matcher.button: 1
URxvt.urlLauncher: /usr/bin/xdg-open
URxvt.resize-font.smaller: C-Down
URxvt.resize-font.bigger: C-Up
! Cursor
URxvt.cursorBlink: true
URxvt.cursorUnderline: false
! Pointer
URxvt.pointerBlank: true
! Solarized colors begin
URxvt.background: #002b36
URxvt.foreground: #657b83
URxvt.fadeColor: #002b36
URxvt.cursorColor: #93a1a1
URxvt.pointerColorBackground: #586e75
URxvt.pointerColorForeground: #93a1a1
!! black dark/light
URxvt.color0: #073642
URxvt.color8: #002b36
!! red dark/light
URxvt.color1: #dc322f
URxvt.color9: #cb4b16
!! green dark/light
URxvt.color2: #859900
URxvt.color10: #586e75
!! yellow dark/light
URxvt.color3: #b58900
URxvt.color11: #657b83
!! blue dark/light
URxvt.color4: #268bd2
URxvt.color12: #839496
!! magenta dark/light
URxvt.color5: #d33682
URxvt.color13: #6c71c4
!! cyan dark/light
URxvt.color6: #2aa198
URxvt.color14: #93a1a1
!! white dark/light
URxvt.color7: #eee8d5
URxvt.color15: #fdf6e3

13
dotfiles/aliases Executable file → Normal file
View File

@@ -5,16 +5,13 @@
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
# Cryptsetup alias
alias luksFormat='cryptsetup luksFormat -s 512 -c aes-xts-plain64 -h sha256 -i 15000'
alias luksFormat='sudo cryptsetup luksFormat -s 512 -c aes-xts-plain --use-random -h sha256 -i 5000'
# Colors
if [ `uname` != 'Darwin' -a `uname` != 'NetBSD' ] ; then
# Should have a better way to check for GNU versions
alias ls='ls --color=auto'
alias grep='grep --color=auto'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
fi
# Easy upgrade
alias dist-upgrade="sudo sh -c 'apt-get update && apt-get -y dist-upgrade'"
@@ -28,8 +25,8 @@ alias mdcode="sed 's/^/ /'"
# Intel format plz
alias objdump="command objdump -M intel"
# Useful directory utilities
alias dircount="for d in * ; do find \$d -type d | wc -l | tr -d '\n' ; echo ' ' \$d ; done | sort -n"
# ACK
alias ack="ack-grep"
# Drop caches for swap issues
alias drop_caches="echo 3 | sudo /usr/bin/tee /proc/sys/vm/drop_caches"
# Launch chrome for burp
alias chrome-for-burp="/usr/bin/google-chrome --ignore-certificate-errors --user-data-dir=${HOME}/.chrome-for-burp --proxy-server=127.0.0.1:8080 >/dev/null 2>&1 &"

2
dotfiles/bashrc Executable file → Normal file
View File

@@ -13,7 +13,7 @@ HISTFILESIZE=0
shopt -s checkwinsize
# Fancier outputs
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe 2>/dev/null)"
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

View File

@@ -1,197 +0,0 @@
# i3 config file (v4)
#
# Please see http://i3wm.org/docs/userguide.html for a complete reference!
set $mod Mod4
set $alt Mod1
# This font is widely installed, provides lots of unicode glyphs, right-to-left
# text rendering and scalability on retina/hidpi displays (thanks to pango).
font pango:DejaVu Sans Mono 8
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# start a terminal
bindsym $mod+Return exec i3-sensible-terminal
# kill focused window
bindsym $mod+Shift+q kill
# start dmenu (a program launcher)
bindsym $mod+d exec dmenu_run
# There also is the (new) i3-dmenu-desktop which only displays applications
# shipping a .desktop file. It is a wrapper around dmenu, so you need that
# installed.
bindsym $mod+Shift+d exec --no-startup-id i3-dmenu-desktop
# move focus
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# move windows
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# split in horizontal orientation
bindsym $mod+h split h
# split in vertical orientation
bindsym $mod+v split v
# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle
# change container layout (stacked, tabbed, toggle split)
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle
# focus the parent container
bindsym $mod+a focus parent
# focus the child container
#bindsym $mod+d focus child
# switch to workspace
bindsym $mod+1 workspace 1
bindsym $mod+2 workspace 2
bindsym $mod+3 workspace 3
bindsym $mod+4 workspace 4
bindsym $mod+5 workspace 5
bindsym $mod+6 workspace 6
bindsym $mod+7 workspace 7
bindsym $mod+8 workspace 8
bindsym $mod+9 workspace 9
bindsym $mod+0 workspace 10
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace 1
bindsym $mod+Shift+2 move container to workspace 2
bindsym $mod+Shift+3 move container to workspace 3
bindsym $mod+Shift+4 move container to workspace 4
bindsym $mod+Shift+5 move container to workspace 5
bindsym $mod+Shift+6 move container to workspace 6
bindsym $mod+Shift+7 move container to workspace 7
bindsym $mod+Shift+8 move container to workspace 8
bindsym $mod+Shift+9 move container to workspace 9
bindsym $mod+Shift+0 move container to workspace 10
# Move workspaces between monitors
bindsym $mod+Shift+greater move workspace to output right
bindsym $mod+Shift+less move workspace to output left
# reload the configuration file
bindsym $mod+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart
# exit i3 (logs you out of your X session)
bindsym $mod+Shift+e exec \
"i3-nagbar -t warning -m \
'You pressed the exit shortcut. Do you really want to exit i3? \
This will end your X session.' \
-b 'Yes, exit i3' 'i3-msg exit'"
# resize window (you can also use the mouse for that)
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
bindsym Left resize shrink width 10 px or 10 ppt
bindsym Down resize grow height 10 px or 10 ppt
bindsym Up resize shrink height 10 px or 10 ppt
bindsym Right resize grow width 10 px or 10 ppt
# back to normal: Enter or Escape or mod+r to toggle
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym $mod+r mode "default"
}
bindsym $mod+r mode "resize"
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
bar {
status_command bash -c "i3status -c <(~/.config/i3status/build_config.sh)"
}
# Cycle through workspaces like cinnamon
bindsym $alt+Control+Right workspace next
bindsym $alt+Control+Left workspace prev
# i3 lock
exec --no-startup-id ~/bin/i3lock.sh &
bindsym $mod+l exec \
bash -c "i3lock -c 000000 -d && (sleep 2 && xset dpms force off) &"
bindsym $alt+Control+l exec \
bash -c "i3lock -c 000000 -d && (sleep 2 && xset dpms force off) &"
# things to start quickly
bindsym $mod+g exec /usr/bin/google-chrome-beta --password-store=gnome
# kill a window with middle click + mod
bindsym --whole-window $mod+button2 kill
# float a window with right click + mod
bindsym --whole-window $mod+button3 floating toggle
# media keys
# Pulse Audio controls
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5%
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5%
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle
# Screen brightness controls
bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight -inc 10
bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -dec 10
# screenshots
set $scrotformat %F-%T.png
set $screendir ~/Pictures/Screenshots
# whole screen
bindsym --release Print exec --no-startup-id \
mkdir -p $screendir && \
/usr/bin/scrot $screendir/$scrotformat
# current window
bindsym --release Shift+Print exec --no-startup-id \
mkdir -p $screendir && \
/usr/bin/scrot -u $screendir/$scrotformat
# selection
bindsym --release $alt+Sys_Req exec --no-startup-id \
mkdir -p $screendir && \
/usr/bin/scrot -s $screendir/$scrotformat
# useful utilities
exec --no-startup-id \
(which xss-lock >/dev/null || /usr/bin/cinnamon-settings-daemon) &
exec --no-startup-id gnome-keyring-daemon --start --components=pkcs11,secrets
# Make GTK fonts look great again
exec --no-startup-id gnome-settings-daemon
exec --no-startup-id (sleep 2; nm-applet) &
exec --no-startup-id xset r rate 200 20
exec --no-startup-id ~/bin/autostart.py
exec --no-startup-id dex --autostart --environment x-cinnamon
# customize windows
for_window [window_role="pop-up"] floating enable
for_window [window_role="bubble"] floating enable
for_window [window_role="task_dialog"] floating enable
for_window [window_role="Preferences"] floating enable
for_window [window_type="dialog"] floating enable
for_window [window_type="menu"] floating enable
for_window [class="^google-chrome$"] border pixel
for_window [class="^Google-chrome-beta$"] border pixel
for_window [class="^burp-StartBurp$" title="^(?!Burp Suite)"] floating enable
# no need for borders on the edge of the screen
hide_edge_borders both
# vim:filetype=i3

View File

@@ -1,132 +0,0 @@
#!/bin/bash
function general {
cat <<-EOF
general {
colors = true
interval = 5
}
EOF
}
function disks {
local DISKS=(/ /home)
local d
local used
for d in ${DISKS[@]} ; do
local dev=`df $d | tail -1 | awk '{print $1}'`
if [[ $used == *$dev* ]] ; then
continue
fi
local size=`df $d | tail -1 | awk '{print $2}'`
if [ $size -eq 0 ] ; then
continue
fi
used="${used} ${dev}"
cat <<-EOF
disk "${d}" {
format = "${d} %avail"
}
order += "disk ${d}"
EOF
done
}
function wireless {
which iwconfig >/dev/null || return
iwconfig 2>&1 | grep . | grep -vq 'no wireless extensions' || return
cat <<-EOF
wireless _first_ {
format_up = "W: (%quality %essid) %ip"
format_down = "W: down"
}
order += "wireless _first_"
EOF
}
function wired {
cat <<-EOF
ethernet _first_ {
format_up = "E: %ip"
format_down = "E: down"
}
order += "ethernet _first_"
EOF
}
function ipv6 {
echo "order += \"ipv6\""
}
function load {
cat <<-EOF
load {
format = "%1min %5min"
}
order += "load"
EOF
}
function now {
cat <<-EOF
tztime local {
format = "%Y-%m-%d %H:%M"
}
order += "tztime local"
EOF
}
function battery {
local bat
shopt -s nullglob
for bat in /sys/class/power_supply/BAT* ; do
local bid=${bat##*BAT}
cat <<-EOF
battery ${bid} {
low_threshold = 15
threshold_type = time
status_chr = "↑ CHR"
status_bat = "↓ BAT"
EOF
if [ $(bc <<< "$(i3status --version | awk '{print $2}') < 2.11") -eq 0 ] ;
then
cat <<-EOF
status_unk = "? UNK"
EOF
fi
cat <<-EOF
status_full = "FULL"
format = "%status %percentage"
path = "/sys/class/power_supply/BAT${bid}/uevent"
hide_seconds = true
last_full_capacity = true
}
order += "battery ${bid}"
EOF
done
}
function audio {
cat <<-EOF
volume master {
format = "♪: %volume"
format_muted = "♪: MUTE"
device = "default"
mixer = "Master"
mixer_idx = 0
}
order += "volume master"
EOF
}
general
disks
wireless
wired
ipv6
load
battery
audio
now
# vim: noexpandtab

View File

@@ -1,52 +0,0 @@
# i3status configuration file.
# see "man i3status" for documentation.
# It is important that this file is edited as UTF-8.
# The following line should contain a sharp s:
# ß
# If the above line is not correctly displayed, fix your editor first!
general {
colors = true
interval = 5
}
order += "ipv6"
order += "disk /"
order += "disk /home"
order += "wireless _first_"
order += "ethernet _first_"
order += "battery all"
order += "load"
order += "tztime local"
wireless _first_ {
format_up = "W: (%quality at %essid) %ip"
format_down = "W: down"
}
ethernet _first_ {
# if you use %speed, i3status requires root privileges
format_up = "E: %ip (%speed)"
format_down = "E: down"
}
battery all {
format = "%status %percentage %remaining"
}
tztime local {
format = "%Y-%m-%d %H:%M:%S"
}
load {
format = "%1min"
}
disk "/" {
format = "%avail"
}
disk "/home" {
format = "%avail"
}

View File

@@ -1,11 +0,0 @@
[redshift]
temp-day=5700
temp-night=4750
transition=1
brightness-day=1.0
brightness-night=0.9
adjustment-method=randr
[manual]
lat=37.3
lon=-121.9

View File

@@ -1,3 +1,4 @@
tlsv1
user-agent = "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0 Safari/537.36"
create-dirs
referer = ";auto"

52
dotfiles/env Executable file → Normal file
View File

@@ -4,59 +4,21 @@ umask 027
ulimit -c unlimited
# Paths and preferences
export PATH="$HOME/bin:/sbin:/usr/sbin:$PATH"
export PYTHONPATH="$HOME/.python:$PYTHONPATH"
export GOPATH="$HOME/Projects/Go"
export PATH="$HOME/bin:/sbin:/usr/sbin:$PATH:$GOPATH/bin"
export GOPATH="$HOME/.go"
export VISUAL=vim
export EDITOR=vim
export DEBEMAIL="david@systemoverlord.com"
export DEBFULLNAME="David Tomaschik"
export LESS="-MR"
export QUOTING_STYLE="literal" # Coreutils quotes
# Unconditional because /bin/sh sucks
export PATH="$PATH:$HOME/.gce/google-cloud-sdk/bin:$HOME/bin/genymotion:$HOME/bin/genymotion/tools:$HOME/bin/google_appengine:$HOME/bin/go_appengine"
# Fix gnome-terminal
if [ "$TERM" = "xterm" -a "$COLORTERM" = "gnome-terminal" ] ; then
if [[ $TERM == "xterm" && $COLORTERM == "gnome-terminal" ]] ; then
export TERM="xterm-256color"
fi
# For virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'
# GPG full key id
export GPG_ID=7FD58D9A196DCEEEAD671F94F4D7A7915DEA789B
# Setup locale
if test -x /usr/bin/locale ; then
for l in en_US.UTF-8 C.UTF-8 C ; do
if /usr/bin/locale -a | grep -q "${l}" ; then
export LC_CTYPE=${l}
export LC_NUMERIC=${l}
export LC_TIME=${l}
export LC_MONETARY=${l}
export LC_MESSAGES=${l}
export LC_PAPER=${l}
export LC_NAME=${l}
export LC_ADDRESS=${l}
export LC_TELEPHONE=${l}
export LC_MEASUREMENT=${l}
export LC_IDENTIFICATION=${l}
break
fi
done
else
export LC_CTYPE=C
export LC_NUMERIC=C
export LC_TIME=C
export LC_MONETARY=C
export LC_MESSAGES=C
export LC_PAPER=C
export LC_NAME=C
export LC_ADDRESS=C
export LC_TELEPHONE=C
export LC_MEASUREMENT=C
export LC_IDENTIFICATION=C
fi
export LC_COLLATE=C
if [ -e $HOME/.localenv ] ; then source $HOME/.localenv ; fi
if [[ -e $HOME/.localenv ]] ; then source $HOME/.localenv ; fi

View File

@@ -22,19 +22,5 @@ define reg
info registers
end
# Fancy sourcing of modules
python
import sys
import os.path
pwndbg = os.path.expanduser('~/.pwndbg/gdbinit.py')
peda = os.path.expanduser('~/.peda/peda.py')
if os.path.isfile(pwndbg):
sys.path.insert(0, os.path.expanduser('~/.pwndbg/vendor'))
gdb.execute('source {}'.format(pwndbg))
elif os.path.isfile(peda):
gdb.execute('source {}'.format(peda))
local_init = os.path.expanduser('~/.gdbinit.local')
if os.path.isfile(local_init):
gdb.execute('source {}'.format(local_init))
end
source ~/.peda/peda.py
source ~/.gdbinit.local

View File

@@ -39,13 +39,11 @@
user = matir
# Site specific config
[url "https://github.com./"]
insteadOf = "github:"
insteadOf = "github://"
[url "https://github.com/"]
insteadOf = github://
[url "ssh://git@github.com/"]
pushInsteadOf = "github:"
pushInsteadOf = "github://"
pushInsteadOf = github://
[url "git://gist.github.com/"]
insteadOf = "gist:"
@@ -53,8 +51,5 @@
[url "git@gist.github.com:"]
pushInsteadOf = "gist:"
pushInsteadOf = "git://gist.github.com/"
[credential]
helper = cache --timeout=36000
[receive]
denyCurrentBranch = updateInstead

View File

@@ -17,6 +17,3 @@ Thumbs.db
# Try to avoid accidentally checking in private keys
id_rsa
id_ecdsa
# Kicad backup files
*.kicad_pcb-bak

View File

@@ -1,2 +0,0 @@
keyserver hkps://hkps.pool.sks-keyservers.net
hkp-cacert ~/.gnupg/sks-keyservers.pem

View File

@@ -1,5 +1,5 @@
use-standard-socket
default-cache-ttl 7200
default-cache-ttl-ssh 7200
max-cache-ttl 86400
max-cache-ttl-ssh 86400
enable-ssh-support

View File

@@ -1,10 +1,10 @@
use-agent
# HKPS requires gnupg-curl for gpg1
keyserver hkps://hkps.pool.sks-keyservers.net
keyserver-options auto-key-retrieve no-honor-keyserver-url
# Unfortunately, the path must be fully-qualified
keyserver-options auto-key-retrieve ca-cert-file=/home/david/.gnupg/sks-keyservers.pem
auto-key-locate keyserver
personal-digest-preferences SHA256
cert-digest-algo SHA256
default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed
cipher-algo AES256
default-key 7FD58D9A196DCEEEAD671F94F4D7A7915DEA789B

View File

@@ -1,4 +0,0 @@
set editing-mode vi
set keymap vi
set convert-meta on

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +0,0 @@
settings set prompt "(lisa)"
settings set target.x86-disassembly-flavor intel
command script import ~/lisa.py
command script import lldb
command script add -f lisa.alias lisa
lisa

26
dotfiles/profile Executable file → Normal file
View File

@@ -1,8 +1,18 @@
# Always load ENV
test -f "$HOME/.env" && . "$HOME/.env"
# Setup GREP_COLORS
export GREP_COLOR='01;31'
export GREP_COLORS='mt=01;31:mc=01;31:ms=01;31'
test -f "${HOME}/.profile.local" && . "${HOME}/.profile.local"
# Setup GPG Agent
GPG_AGENT_INFO_PATH=$HOME/.gnupg/gpg-agent-info-`hostname`
if test -f $GPG_AGENT_INFO_PATH && kill -0 `cut -d: -f 2 $GPG_AGENT_INFO_PATH` 2>/dev/null ; then
. $GPG_AGENT_INFO_PATH
export GPG_AGENT_INFO SSH_AUTH_SOCK SSH_AGENT_PID
else
if which gpg-agent >/dev/null 2>&1 ; then
if [ -z "$SSH_AUTH_SOCK" ] ; then
gpg-agent -q 2>/dev/null || eval `gpg-agent --daemon --enable-ssh-support --write-env-file $GPG_AGENT_INFO_PATH` 2>/dev/null
else
gpg-agent -q 2>/dev/null || eval `gpg-agent --daemon --write-env-file $GPG_AGENT_INFO_PATH` 2>/dev/null
fi
export GPG_AGENT_INFO SSH_AUTH_SOCK SSH_AGENT_PID
fi
fi
unset GPG_AGENT_INFO_PATH
export GPG_TTY=`tty`
# End GPG

View File

@@ -5,9 +5,3 @@ Downloads
.wine
.thumbnails
.histfile
.zcompdump
.zcompdump*
.sqlite_history
VirtualBox VMs
Audits
SpiderOak Hive

View File

@@ -1,21 +1,12 @@
# Universal Settings
# Universal Settings (can't override)
# Never fall back to protocol 1: it's broken
Protocol 2
# Permit Local Overrides
Include ~/.ssh/config.d/*
# Enable canonicalization, unless overridden
CanonicalizeHostname yes
CanonicalizeFallbackLocal yes
CanonicalDomains systemoverlord.com
CanonicalizeMaxDots 0
Host scoreboard
Hostname 104.131.136.220
# Defaults (May be Overridden)
Host *.*
CheckHostIP yes
Match canonical all
CheckHostIP no
Host *
ControlMaster auto
ControlPath ~/.ssh/master/%r@%h:%p
ControlPersist yes
@@ -23,6 +14,4 @@ Match canonical all
ForwardX11 no
ForwardX11Trusted no
ServerAliveInterval 120
UpdateHostKeys yes
User david
VerifyHostKeyDNS yes
CheckHostIP no

View File

@@ -14,6 +14,10 @@ set -g history-limit 10000
set -g base-index 1
set -g pane-base-index 1
# Let us use utf-8 drawing characters to make tab-like window formats
setw -g utf8 on
set -g status-utf8 on
# Terminal emulator window title
set -g set-titles on
set -g set-titles-string '#h:#S:#I.#P #W'
@@ -57,7 +61,3 @@ bind M \
set -g mouse-select-pane off \;\
set -g mouse-select-window off \;\
display 'Mouse: OFF'
# tmux X clipboard integration
bind C-c run "tmux show-buffer | xsel -i -b"
bind C-v run "tmux set-buffer -- \"$(xsel -o -b)\"; tmux paste-buffer"

View File

@@ -7,20 +7,16 @@ if filereadable(glob("~/.vim/bundle/Vundle.vim/README.md"))
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'gmarik/Vundle.vim'
Plugin 'nvie/vim-flake8'
Plugin 'tell-k/vim-autopep8'
Plugin 'eistaa/vim-flake8'
Plugin 'tpope/vim-fugitive'
Plugin 'mileszs/ack.vim'
Plugin 'tpope/vim-unimpaired'
Plugin 'scrooloose/syntastic'
Plugin 'mattn/webapi-vim'
Plugin 'mattn/gist-vim'
Plugin 'fatih/vim-go'
Plugin 'altercation/vim-colors-solarized'
Plugin 'vimoutliner/vimoutliner'
Plugin 'PotatoesMaster/i3-vim-syntax'
Plugin 'Matt-Deacalion/vim-systemd-syntax'
Plugin 'fatih/vim-go'
Plugin 'vhda/verilog_systemverilog.vim'
call vundle#end()
endif
@@ -51,6 +47,7 @@ imap <S-Tab> <Esc><<A
" Line numbering, ruler
set number
set ruler
set cursorline
" File options
set encoding=utf-8
@@ -61,13 +58,10 @@ if has('gui_running')
set guifont=Inconsolata\ Medium\ 12
else
let g:solarized_termcolors=256
let g:solarized_termtrans=1
endif
silent! colorscheme solarized
" Enable filetype support
filetype plugin indent on
" Default ASM syntax for ft support
let asmsyntax="nasm"
" Allow file modelines
set modeline
" Automatically re-read changed files
@@ -135,8 +129,6 @@ endfunction
" Options for syntastic
let g:syntastic_enable_signs = 1
let g:syntastic_auto_loc_list = 2
let g:syntastic_go_checkers = ['govet', 'errcheck', 'go']
" Have F5 run the tests and display errors
nnoremap <silent> <F5> :SyntasticCheck<CR> :Errors<CR>
@@ -147,17 +139,3 @@ endif
" Options for vimoutliner
autocmd Filetype votl setlocal sts=4
" Highlight whitespace at end of file
highlight ExtraWhitespace ctermbg=red guibg=red
autocmd Syntax * syn match ExtraWhitespace /\s\+$\| \+\ze\t/ containedin=ALL
" Color column at end of lines
set colorcolumn=+1
highlight ColorColumn ctermbg=black guibg=lightgrey
" Remove smart quotes
command Unsmartquote %s/“\|”/"/g
" Markdown options
autocmd Filetype markdown set expandtab shiftwidth=4

View File

@@ -1,41 +0,0 @@
#
# weechat -- alias.conf
#
[cmd]
AAWAY = "allserv /away"
AME = "allchan /me"
AMSG = "allchan /msg *"
ANICK = "allserv /nick"
BEEP = "print -beep"
BYE = "quit"
C = "buffer clear"
CHAT = "dcc chat"
CL = "buffer clear"
CLOSE = "buffer close"
EXIT = "quit"
IG = "ignore"
J = "join"
K = "kick"
KB = "kickban"
LEAVE = "part"
M = "msg"
MSGBUF = "command -buffer $1 * /input send $2-"
MUB = "unban *"
N = "names"
Q = "query"
REDRAW = "window refresh"
SAY = "msg *"
SIGNOFF = "quit"
T = "topic"
UB = "unban"
UMODE = "mode $nick"
V = "command core version"
W = "who"
WC = "window merge"
WI = "whois"
WII = "whois $1 $1"
WW = "whowas"
[completion]
MSGBUF = "%(buffers_plugins_names)"

View File

@@ -1,20 +0,0 @@
#
# weechat -- aspell.conf
#
[color]
misspelled = lightred
suggestions = default
[check]
commands = "ame,amsg,away,command,cycle,kick,kickban,me,msg,notice,part,query,quit,topic"
default_dict = ""
during_search = off
enabled = off
real_time = off
suggestions = -1
word_min_length = 2
[dict]
[option]

View File

@@ -1,11 +0,0 @@
#
# weechat -- charset.conf
#
[default]
decode = "iso-8859-1"
encode = ""
[decode]
[encode]

View File

@@ -1,11 +0,0 @@
#
# weechat -- exec.conf
#
[command]
default_options = ""
purge_delay = 0
[color]
flag_finished = lightred
flag_running = lightgreen

View File

@@ -1,377 +0,0 @@
#
# weechat -- irc.conf
#
[look]
buffer_open_before_autojoin = on
buffer_open_before_join = off
buffer_switch_autojoin = on
buffer_switch_join = on
color_nicks_in_names = off
color_nicks_in_nicklist = off
color_nicks_in_server_messages = on
color_pv_nick_like_channel = on
ctcp_time_format = "%a, %d %b %Y %T %z"
display_away = local
display_ctcp_blocked = on
display_ctcp_reply = on
display_ctcp_unknown = on
display_host_join = on
display_host_join_local = on
display_host_quit = on
display_join_message = "329,332,333,366"
display_old_topic = on
display_pv_away_once = on
display_pv_back = on
highlight_channel = "$nick"
highlight_pv = "$nick"
highlight_server = "$nick"
highlight_tags_restrict = "irc_privmsg,irc_notice"
item_channel_modes_hide_args = "k"
item_display_server = buffer_plugin
item_nick_modes = on
item_nick_prefix = on
join_auto_add_chantype = off
msgbuffer_fallback = current
new_channel_position = none
new_pv_position = none
nick_completion_smart = speakers
nick_mode = prefix
nick_mode_empty = off
nicks_hide_password = "nickserv"
notice_as_pv = auto
notice_welcome_redirect = on
notice_welcome_tags = ""
notify_tags_ison = "notify_message"
notify_tags_whois = "notify_message"
part_closes_buffer = on
pv_buffer = independent
pv_tags = "notify_private"
raw_messages = 256
server_buffer = merge_with_core
smart_filter = on
smart_filter_delay = 5
smart_filter_join = on
smart_filter_join_unmask = 30
smart_filter_mode = "+"
smart_filter_nick = on
smart_filter_quit = on
temporary_servers = off
topic_strip_colors = off
[color]
input_nick = lightcyan
item_channel_modes = default
item_lag_counting = default
item_lag_finished = yellow
item_nick_modes = default
message_join = green
message_quit = red
mirc_remap = "1,-1:darkgray"
nick_prefixes = "q:lightred;a:lightcyan;o:lightgreen;h:lightmagenta;v:yellow;*:lightblue"
notice = green
reason_quit = default
topic_current = default
topic_new = white
topic_old = default
[network]
autoreconnect_delay_growing = 2
autoreconnect_delay_max = 600
ban_mask_default = "*!$ident@$host"
channel_encode = off
colors_receive = on
colors_send = on
lag_check = 60
lag_max = 1800
lag_min_show = 500
lag_reconnect = 0
lag_refresh_interval = 1
notify_check_ison = 1
notify_check_whois = 5
sasl_fail_unavailable = on
send_unknown_commands = off
whois_double_nick = off
[msgbuffer]
[ctcp]
[ignore]
[server_default]
addresses = ""
anti_flood_prio_high = 2
anti_flood_prio_low = 2
autoconnect = off
autojoin = ""
autoreconnect = on
autoreconnect_delay = 10
autorejoin = off
autorejoin_delay = 30
away_check = 0
away_check_max_nicks = 25
capabilities = ""
command = ""
command_delay = 0
connection_timeout = 60
ipv6 = on
local_hostname = ""
msg_kick = ""
msg_part = "WeeChat ${info:version}"
msg_quit = "WeeChat ${info:version}"
nicks = "Matir,Matir~,Matir[]"
nicks_alternate = on
notify = ""
password = ""
proxy = ""
realname = ""
sasl_fail = continue
sasl_key = ""
sasl_mechanism = plain
sasl_password = ""
sasl_timeout = 15
sasl_username = ""
ssl = off
ssl_cert = ""
ssl_dhkey_size = 2048
ssl_fingerprint = ""
ssl_priorities = "NORMAL"
ssl_verify = on
username = "matir"
[server]
freenode.addresses = "chat.freenode.net/7000"
freenode.proxy
freenode.ipv6
freenode.ssl = on
freenode.ssl_cert = "%h/certs/freenode-matir.pem"
freenode.ssl_priorities
freenode.ssl_dhkey_size
freenode.ssl_fingerprint
freenode.ssl_verify = on
freenode.password
freenode.capabilities
freenode.sasl_mechanism
freenode.sasl_username
freenode.sasl_password
freenode.sasl_key
freenode.sasl_timeout
freenode.sasl_fail
freenode.autoconnect = on
freenode.autoreconnect
freenode.autoreconnect_delay
freenode.nicks = "Matir,Matir~"
freenode.nicks_alternate
freenode.username
freenode.realname
freenode.local_hostname
freenode.command
freenode.command_delay
freenode.autojoin = "#kali-linux,#openvpn,#radare,#vulnhub,#offsec,#offtopicsec,##ctfcompetition,#dc404,#droidsec"
freenode.autorejoin
freenode.autorejoin_delay
freenode.connection_timeout
freenode.anti_flood_prio_high
freenode.anti_flood_prio_low
freenode.away_check
freenode.away_check_max_nicks
freenode.msg_kick
freenode.msg_part
freenode.msg_quit
freenode.notify
hak5.addresses = "irc.hak5.org/6697"
hak5.proxy
hak5.ipv6
hak5.ssl = on
hak5.ssl_cert = "%h/certs/freenode-matir.pem"
hak5.ssl_priorities
hak5.ssl_dhkey_size
hak5.ssl_fingerprint
hak5.ssl_verify = off
hak5.password
hak5.capabilities
hak5.sasl_mechanism
hak5.sasl_username
hak5.sasl_password
hak5.sasl_key
hak5.sasl_timeout
hak5.sasl_fail
hak5.autoconnect = on
hak5.autoreconnect
hak5.autoreconnect_delay
hak5.nicks
hak5.nicks_alternate
hak5.username
hak5.realname
hak5.local_hostname
hak5.command
hak5.command_delay
hak5.autojoin = "#hak5,#pineapple,#ducky,#SDR,#lanturtle,#bashbunny"
hak5.autorejoin
hak5.autorejoin_delay
hak5.connection_timeout
hak5.anti_flood_prio_high
hak5.anti_flood_prio_low
hak5.away_check
hak5.away_check_max_nicks
hak5.msg_kick
hak5.msg_part
hak5.msg_quit
hak5.notify
rpisec.addresses = "irc.rpis.ec/6697"
rpisec.proxy
rpisec.ipv6
rpisec.ssl = on
rpisec.ssl_cert
rpisec.ssl_priorities
rpisec.ssl_dhkey_size
rpisec.ssl_fingerprint
rpisec.ssl_verify = on
rpisec.password
rpisec.capabilities
rpisec.sasl_mechanism
rpisec.sasl_username
rpisec.sasl_password
rpisec.sasl_key
rpisec.sasl_timeout
rpisec.sasl_fail
rpisec.autoconnect = on
rpisec.autoreconnect
rpisec.autoreconnect_delay
rpisec.nicks
rpisec.nicks_alternate
rpisec.username
rpisec.realname
rpisec.local_hostname
rpisec.command
rpisec.command_delay
rpisec.autojoin = "#rpisec"
rpisec.autorejoin
rpisec.autorejoin_delay
rpisec.connection_timeout
rpisec.anti_flood_prio_high
rpisec.anti_flood_prio_low
rpisec.away_check
rpisec.away_check_max_nicks
rpisec.msg_kick
rpisec.msg_part
rpisec.msg_quit
rpisec.notify
overthewire.addresses = "ircs.overthewire.org/6697"
overthewire.proxy
overthewire.ipv6
overthewire.ssl = on
overthewire.ssl_cert = "%h/certs/freenode-matir.pem"
overthewire.ssl_priorities
overthewire.ssl_dhkey_size
overthewire.ssl_fingerprint
overthewire.ssl_verify = on
overthewire.password
overthewire.capabilities
overthewire.sasl_mechanism
overthewire.sasl_username
overthewire.sasl_password
overthewire.sasl_key
overthewire.sasl_timeout
overthewire.sasl_fail
overthewire.autoconnect = on
overthewire.autoreconnect
overthewire.autoreconnect_delay
overthewire.nicks
overthewire.nicks_alternate
overthewire.username
overthewire.realname
overthewire.local_hostname
overthewire.command
overthewire.command_delay
overthewire.autojoin = "#wargames,#social,#amateria,#io"
overthewire.autorejoin
overthewire.autorejoin_delay
overthewire.connection_timeout
overthewire.anti_flood_prio_high
overthewire.anti_flood_prio_low
overthewire.away_check
overthewire.away_check_max_nicks
overthewire.msg_kick
overthewire.msg_part
overthewire.msg_quit
overthewire.notify
hackint.addresses = "irc.hackint.org/9999"
hackint.proxy
hackint.ipv6
hackint.ssl = on
hackint.ssl_cert
hackint.ssl_priorities
hackint.ssl_dhkey_size
hackint.ssl_fingerprint
hackint.ssl_verify = on
hackint.password
hackint.capabilities
hackint.sasl_mechanism
hackint.sasl_username
hackint.sasl_password
hackint.sasl_key
hackint.sasl_timeout
hackint.sasl_fail
hackint.autoconnect = on
hackint.autoreconnect
hackint.autoreconnect_delay
hackint.nicks
hackint.nicks_alternate
hackint.username
hackint.realname
hackint.local_hostname
hackint.command
hackint.command_delay
hackint.autojoin
hackint.autorejoin
hackint.autorejoin_delay
hackint.connection_timeout
hackint.anti_flood_prio_high
hackint.anti_flood_prio_low
hackint.away_check
hackint.away_check_max_nicks
hackint.msg_kick
hackint.msg_part
hackint.msg_quit
hackint.notify
afternet.addresses = "irc.afternet.org/6697"
afternet.proxy
afternet.ipv6
afternet.ssl = on
afternet.ssl_cert
afternet.ssl_priorities
afternet.ssl_dhkey_size
afternet.ssl_fingerprint
afternet.ssl_verify = on
afternet.password
afternet.capabilities
afternet.sasl_mechanism
afternet.sasl_username
afternet.sasl_password
afternet.sasl_key
afternet.sasl_timeout
afternet.sasl_fail
afternet.autoconnect = on
afternet.autoreconnect
afternet.autoreconnect_delay
afternet.nicks
afternet.nicks_alternate
afternet.username
afternet.realname
afternet.local_hostname
afternet.command
afternet.command_delay
afternet.autojoin = "#eevblog"
afternet.autorejoin
afternet.autorejoin_delay
afternet.connection_timeout
afternet.anti_flood_prio_high
afternet.anti_flood_prio_low
afternet.away_check
afternet.away_check_max_nicks
afternet.msg_kick
afternet.msg_part
afternet.msg_quit
afternet.notify

View File

@@ -1,14 +0,0 @@
#!/bin/bash
# Update the weechat SSL key. Should be called from cron via sudo.
eval WEEDIR="$(printf "~%q/.weechat/" "${SUDO_USER}")"
LIVEKEY="${WEEDIR}/ssl/relay.pem"
certbot renew -q
cat /etc/letsencrypt/live/$(hostname -f)/{privkey,fullchain}.pem > \
${LIVEKEY}
chown ${SUDO_USER}:$(id -gn ${SUDO_USER}) ${LIVEKEY}
for fifo in ${WEEDIR}/weechat_fifo* ; do
echo '*/relay sslcertkey' > ${fifo}
done

View File

@@ -1,26 +0,0 @@
#
# weechat -- logger.conf
#
[look]
backlog = 20
[color]
backlog_end = default
backlog_line = default
[file]
auto_log = on
flush_delay = 120
info_lines = off
mask = "$plugin.$name.weechatlog"
name_lower_case = on
nick_prefix = ""
nick_suffix = ""
path = "%h/logs/"
replacement_char = "_"
time_format = "%Y-%m-%d %H:%M:%S"
[level]
[mask]

View File

@@ -1,15 +0,0 @@
#
# weechat -- plugins.conf
#
[var]
fifo.fifo = "on"
guile.check_license = "off"
javascript.check_license = "off"
lua.check_license = "off"
perl.check_license = "off"
python.check_license = "off"
ruby.check_license = "off"
tcl.check_license = "off"
[desc]

View File

@@ -1,42 +0,0 @@
#
# weechat -- relay.conf
#
[look]
auto_open_buffer = on
raw_messages = 256
[color]
client = cyan
status_active = lightblue
status_auth_failed = lightred
status_connecting = yellow
status_disconnected = lightred
status_waiting_auth = brown
text = default
text_bg = default
text_selected = white
[network]
allow_empty_password = off
allowed_ips = ""
bind_address = ""
clients_purge_delay = 0
compression_level = 6
ipv6 = on
max_clients = 5
password = "${sec.data.relay_password}"
ssl_cert_key = "%h/ssl/relay.pem"
ssl_priorities = "NORMAL:-VERS-SSL3.0"
websocket_allowed_origins = ""
[irc]
backlog_max_minutes = 1440
backlog_max_number = 256
backlog_since_last_disconnect = on
backlog_since_last_message = off
backlog_tags = "irc_privmsg"
backlog_time_format = "[%H:%M] "
[port]
ssl.weechat = 9001

View File

@@ -1,50 +0,0 @@
#
# weechat -- script.conf
#
[look]
columns = "%s %n %V %v %u | %d | %t"
diff_color = on
diff_command = "auto"
display_source = on
quiet_actions = on
sort = "p,n"
translate_description = on
use_keys = on
[color]
status_autoloaded = cyan
status_held = white
status_installed = lightcyan
status_obsolete = lightmagenta
status_popular = yellow
status_running = lightgreen
status_unknown = lightred
text = default
text_bg = default
text_bg_selected = red
text_date = default
text_date_selected = white
text_delimiters = default
text_description = default
text_description_selected = white
text_extension = default
text_extension_selected = white
text_name = cyan
text_name_selected = lightcyan
text_selected = white
text_tags = brown
text_tags_selected = yellow
text_version = magenta
text_version_loaded = default
text_version_loaded_selected = white
text_version_selected = lightmagenta
[scripts]
autoload = on
cache_expire = 1440
download_timeout = 30
hold = ""
path = "%h/script"
url = "http://weechat.org/files/plugins.xml.gz"
url_force_https = on

View File

@@ -1,13 +0,0 @@
#
# weechat -- sec.conf
#
[crypt]
cipher = aes256
hash_algo = sha256
passphrase_file = "~/.weechat-passphrase"
salt = on
[data]
__passphrase__ = on
relay_password = "D1FD30C08951B1A5BCBBB7EE6AAFB6AF9B86017B353182A1CA8826D5A98EB88E7E723591C544FC41A6913EA67E8764E50BDD8A5AD3D0A0"

View File

@@ -1,52 +0,0 @@
#
# weechat -- trigger.conf
#
[look]
enabled = on
monitor_strip_colors = off
[color]
flag_command = lightgreen
flag_conditions = yellow
flag_post_action = lightblue
flag_regex = lightcyan
flag_return_code = lightmagenta
regex = white
replace = cyan
trigger = green
trigger_disabled = red
[trigger]
beep.arguments = ""
beep.command = "/print -beep"
beep.conditions = "${tg_highlight} || ${tg_msg_pv}"
beep.enabled = on
beep.hook = print
beep.post_action = none
beep.regex = ""
beep.return_code = ok
cmd_pass.arguments = "5000|input_text_display;5000|history_add;5000|irc_command_auth"
cmd_pass.command = ""
cmd_pass.conditions = ""
cmd_pass.enabled = on
cmd_pass.hook = modifier
cmd_pass.post_action = none
cmd_pass.regex = "==^((/(msg|quote) +nickserv +(id|identify|register|ghost +[^ ]+|release +[^ ]+|regain +[^ ]+) +)|/oper +[^ ]+ +|/quote +pass +|/set +[^ ]*password[^ ]* +|/secure +(passphrase|decrypt|set +[^ ]+) +)(.*)==$1$.*+"
cmd_pass.return_code = ok
msg_auth.arguments = "5000|irc_message_auth"
msg_auth.command = ""
msg_auth.conditions = ""
msg_auth.enabled = on
msg_auth.hook = modifier
msg_auth.post_action = none
msg_auth.regex = "==^(.*(id|identify|register|ghost +[^ ]+|release +[^ ]+) +)(.*)==$1$.*+"
msg_auth.return_code = ok
server_pass.arguments = "5000|input_text_display;5000|history_add"
server_pass.command = ""
server_pass.conditions = ""
server_pass.enabled = on
server_pass.hook = modifier
server_pass.post_action = none
server_pass.regex = "==^(/(server|connect) .*-(sasl_)?password=)([^ ]+)(.*)==$1$.*4$5"
server_pass.return_code = ok

View File

@@ -1,595 +0,0 @@
#
# weechat -- weechat.conf
#
[debug]
[startup]
command_after_plugins = ""
command_before_plugins = ""
display_logo = on
display_version = on
sys_rlimit = ""
[look]
align_end_of_lines = message
bar_more_down = "++"
bar_more_left = "<<"
bar_more_right = ">>"
bar_more_up = "--"
bare_display_exit_on_input = on
bare_display_time_format = "%H:%M"
buffer_auto_renumber = on
buffer_notify_default = all
buffer_position = end
buffer_search_case_sensitive = off
buffer_search_force_default = off
buffer_search_regex = off
buffer_search_where = prefix_message
buffer_time_format = "%H:%M:%S"
color_basic_force_bold = off
color_inactive_buffer = on
color_inactive_message = on
color_inactive_prefix = on
color_inactive_prefix_buffer = on
color_inactive_time = off
color_inactive_window = on
color_nick_offline = off
color_pairs_auto_reset = 5
color_real_white = off
command_chars = ""
command_incomplete = off
confirm_quit = off
confirm_upgrade = off
day_change = on
day_change_message_1date = "-- %a, %d %b %Y --"
day_change_message_2dates = "-- %%a, %%d %%b %%Y (%a, %d %b %Y) --"
eat_newline_glitch = off
emphasized_attributes = ""
highlight = ""
highlight_regex = ""
highlight_tags = ""
hotlist_add_conditions = "${buffer.num_displayed} == 0 && ${priority} >= 1"
hotlist_buffer_separator = ", "
hotlist_count_max = 0
hotlist_count_min_msg = 2
hotlist_names_count = 10000
hotlist_names_length = 0
hotlist_names_level = 14
hotlist_names_merged_buffers = off
hotlist_prefix = "Act: "
hotlist_remove = merged
hotlist_short_names = on
hotlist_sort = group_time_asc
hotlist_suffix = ""
hotlist_unique_numbers = on
input_cursor_scroll = 20
input_share = none
input_share_overwrite = off
input_undo_max = 32
item_away_message = on
item_buffer_filter = "*"
item_buffer_zoom = "!"
item_mouse_status = "M"
item_time_format = "%H:%M"
jump_current_to_previous_buffer = on
jump_previous_buffer_when_closing = on
jump_smart_back_to_buffer = on
key_bind_safe = on
key_grab_delay = 800
mouse = off
mouse_timer_delay = 100
nick_color_force = ""
nick_color_hash = djb2
nick_color_stop_chars = "_|["
nick_prefix = ""
nick_suffix = ""
paste_auto_add_newline = on
paste_bracketed = on
paste_bracketed_timer_delay = 10
paste_max_lines = 1
prefix_action = " *"
prefix_align = right
prefix_align_max = 15
prefix_align_min = 0
prefix_align_more = "+"
prefix_align_more_after = on
prefix_buffer_align = right
prefix_buffer_align_max = 0
prefix_buffer_align_more = "+"
prefix_buffer_align_more_after = on
prefix_error = "=!="
prefix_join = "-->"
prefix_network = "--"
prefix_quit = "<--"
prefix_same_nick = ""
prefix_suffix = "|"
quote_nick_prefix = "<"
quote_nick_suffix = ">"
quote_time_format = "%H:%M:%S"
read_marker = line
read_marker_always_show = off
read_marker_string = "- "
save_config_on_exit = on
save_layout_on_exit = none
scroll_amount = 3
scroll_bottom_after_switch = off
scroll_page_percent = 100
search_text_not_found_alert = on
separator_horizontal = "-"
separator_vertical = ""
tab_width = 1
time_format = "%a, %d %b %Y %T"
window_auto_zoom = off
window_separator_horizontal = on
window_separator_vertical = on
window_title = "irc"
word_chars_highlight = "!\u00A0,-,_,|,alnum"
word_chars_input = "!\u00A0,-,_,|,alnum"
[palette]
[color]
bar_more = lightmagenta
chat = default
chat_bg = default
chat_buffer = white
chat_channel = white
chat_day_change = cyan
chat_delimiters = green
chat_highlight = yellow
chat_highlight_bg = magenta
chat_host = cyan
chat_inactive_buffer = default
chat_inactive_window = default
chat_nick = lightcyan
chat_nick_colors = "cyan,magenta,green,brown,lightblue,default,lightcyan,lightmagenta,lightgreen,blue"
chat_nick_offline = default
chat_nick_offline_highlight = default
chat_nick_offline_highlight_bg = blue
chat_nick_other = cyan
chat_nick_prefix = green
chat_nick_self = white
chat_nick_suffix = green
chat_prefix_action = white
chat_prefix_buffer = brown
chat_prefix_buffer_inactive_buffer = default
chat_prefix_error = yellow
chat_prefix_join = lightgreen
chat_prefix_more = lightmagenta
chat_prefix_network = magenta
chat_prefix_quit = lightred
chat_prefix_suffix = green
chat_read_marker = magenta
chat_read_marker_bg = default
chat_server = brown
chat_tags = red
chat_text_found = yellow
chat_text_found_bg = lightmagenta
chat_time = default
chat_time_delimiters = brown
chat_value = cyan
chat_value_null = blue
emphasized = yellow
emphasized_bg = magenta
input_actions = lightgreen
input_text_not_found = red
item_away = yellow
nicklist_away = cyan
nicklist_group = green
separator = blue
status_count_highlight = magenta
status_count_msg = brown
status_count_other = default
status_count_private = green
status_data_highlight = lightmagenta
status_data_msg = yellow
status_data_other = default
status_data_private = lightgreen
status_filter = green
status_more = yellow
status_mouse = green
status_name = white
status_name_ssl = lightgreen
status_nicklist_count = default
status_number = yellow
status_time = default
[completion]
base_word_until_cursor = on
command_inline = on
default_template = "%(nicks)|%(irc_channels)"
nick_add_space = on
nick_completer = ":"
nick_first_only = off
nick_ignore_chars = "[]`_-^"
partial_completion_alert = on
partial_completion_command = off
partial_completion_command_arg = off
partial_completion_count = on
partial_completion_other = off
[history]
display_default = 5
max_buffer_lines_minutes = 0
max_buffer_lines_number = 4096
max_commands = 100
max_visited_buffers = 50
[proxy]
[network]
connection_timeout = 60
gnutls_ca_file = "~/.weechat/certs/ca-certificates.crt"
gnutls_handshake_timeout = 30
proxy_curl = ""
[plugin]
autoload = "*"
debug = off
extension = ".so,.dll"
path = "%h/plugins"
save_config_on_unload = on
[bar]
input.color_bg = default
input.color_delim = cyan
input.color_fg = default
input.conditions = ""
input.filling_left_right = vertical
input.filling_top_bottom = horizontal
input.hidden = off
input.items = "[input_prompt]+(away),[input_search],[input_paste],input_text"
input.position = bottom
input.priority = 1000
input.separator = off
input.size = 1
input.size_max = 0
input.type = window
nicklist.color_bg = default
nicklist.color_delim = cyan
nicklist.color_fg = default
nicklist.conditions = "${nicklist}"
nicklist.filling_left_right = vertical
nicklist.filling_top_bottom = columns_vertical
nicklist.hidden = on
nicklist.items = "buffer_nicklist"
nicklist.position = right
nicklist.priority = 200
nicklist.separator = on
nicklist.size = 0
nicklist.size_max = 0
nicklist.type = window
status.color_bg = 0
status.color_delim = cyan
status.color_fg = default
status.conditions = ""
status.filling_left_right = vertical
status.filling_top_bottom = horizontal
status.hidden = off
status.items = "[time],[buffer_plugin],buffer_number+:+buffer_name+(buffer_modes)+{buffer_nicklist_count}+buffer_zoom+buffer_filter,[lag],[hotlist],completion,scroll"
status.position = bottom
status.priority = 500
status.separator = off
status.size = 2
status.size_max = 0
status.type = window
title.color_bg = 0
title.color_delim = cyan
title.color_fg = default
title.conditions = ""
title.filling_left_right = vertical
title.filling_top_bottom = horizontal
title.hidden = off
title.items = "buffer_title"
title.position = top
title.priority = 500
title.separator = off
title.size = 1
title.size_max = 0
title.type = window
[layout]
[notify]
[filter]
irc_smart = on;*;irc_smart_filter;*
[key]
ctrl-? = "/input delete_previous_char"
ctrl-A = "/input move_beginning_of_line"
ctrl-B = "/input move_previous_char"
ctrl-C_ = "/input insert \x1F"
ctrl-Cb = "/input insert \x02"
ctrl-Cc = "/input insert \x03"
ctrl-Ci = "/input insert \x1D"
ctrl-Co = "/input insert \x0F"
ctrl-Cv = "/input insert \x16"
ctrl-D = "/input delete_next_char"
ctrl-E = "/input move_end_of_line"
ctrl-F = "/input move_next_char"
ctrl-H = "/input delete_previous_char"
ctrl-I = "/input complete_next"
ctrl-J = "/input return"
ctrl-K = "/input delete_end_of_line"
ctrl-L = "/window refresh"
ctrl-M = "/input return"
ctrl-N = "/buffer +1"
ctrl-P = "/buffer -1"
ctrl-R = "/input search_text"
ctrl-Sctrl-U = "/input set_unread"
ctrl-T = "/input transpose_chars"
ctrl-U = "/input delete_beginning_of_line"
ctrl-W = "/input delete_previous_word"
ctrl-X = "/input switch_active_buffer"
ctrl-Y = "/input clipboard_paste"
meta-meta2-1~ = "/window scroll_top"
meta-meta2-23~ = "/bar scroll nicklist * b"
meta-meta2-24~ = "/bar scroll nicklist * e"
meta-meta2-4~ = "/window scroll_bottom"
meta-meta2-5~ = "/window scroll_up"
meta-meta2-6~ = "/window scroll_down"
meta-meta2-7~ = "/window scroll_top"
meta-meta2-8~ = "/window scroll_bottom"
meta-meta2-A = "/buffer -1"
meta-meta2-B = "/buffer +1"
meta-meta2-C = "/buffer +1"
meta-meta2-D = "/buffer -1"
meta-- = "/filter toggle @"
meta-/ = "/input jump_last_buffer_displayed"
meta-0 = "/buffer *10"
meta-1 = "/buffer *1"
meta-2 = "/buffer *2"
meta-3 = "/buffer *3"
meta-4 = "/buffer *4"
meta-5 = "/buffer *5"
meta-6 = "/buffer *6"
meta-7 = "/buffer *7"
meta-8 = "/buffer *8"
meta-9 = "/buffer *9"
meta-< = "/input jump_previously_visited_buffer"
meta-= = "/filter toggle"
meta-> = "/input jump_next_visited_buffer"
meta-OA = "/input history_global_previous"
meta-OB = "/input history_global_next"
meta-OC = "/input move_next_word"
meta-OD = "/input move_previous_word"
meta-OF = "/input move_end_of_line"
meta-OH = "/input move_beginning_of_line"
meta-Oa = "/input history_global_previous"
meta-Ob = "/input history_global_next"
meta-Oc = "/input move_next_word"
meta-Od = "/input move_previous_word"
meta2-15~ = "/buffer -1"
meta2-17~ = "/buffer +1"
meta2-18~ = "/window -1"
meta2-19~ = "/window +1"
meta2-1;3A = "/buffer -1"
meta2-1;3B = "/buffer +1"
meta2-1;3C = "/buffer +1"
meta2-1;3D = "/buffer -1"
meta2-1;3F = "/window scroll_bottom"
meta2-1;3H = "/window scroll_top"
meta2-1;5A = "/input history_global_previous"
meta2-1;5B = "/input history_global_next"
meta2-1;5C = "/input move_next_word"
meta2-1;5D = "/input move_previous_word"
meta2-1~ = "/input move_beginning_of_line"
meta2-200~ = "/input paste_start"
meta2-201~ = "/input paste_stop"
meta2-20~ = "/bar scroll title * -30%"
meta2-21~ = "/bar scroll title * +30%"
meta2-23;3~ = "/bar scroll nicklist * b"
meta2-23~ = "/bar scroll nicklist * -100%"
meta2-24;3~ = "/bar scroll nicklist * e"
meta2-24~ = "/bar scroll nicklist * +100%"
meta2-3~ = "/input delete_next_char"
meta2-4~ = "/input move_end_of_line"
meta2-5;3~ = "/window scroll_up"
meta2-5~ = "/window page_up"
meta2-6;3~ = "/window scroll_down"
meta2-6~ = "/window page_down"
meta2-7~ = "/input move_beginning_of_line"
meta2-8~ = "/input move_end_of_line"
meta2-A = "/input history_previous"
meta2-B = "/input history_next"
meta2-C = "/input move_next_char"
meta2-D = "/input move_previous_char"
meta2-F = "/input move_end_of_line"
meta2-G = "/window page_down"
meta2-H = "/input move_beginning_of_line"
meta2-I = "/window page_up"
meta2-Z = "/input complete_previous"
meta2-[E = "/buffer -1"
meta-_ = "/input redo"
meta-a = "/input jump_smart"
meta-b = "/input move_previous_word"
meta-d = "/input delete_next_word"
meta-f = "/input move_next_word"
meta-h = "/input hotlist_clear"
meta-jmeta-f = "/buffer -"
meta-jmeta-l = "/buffer +"
meta-jmeta-r = "/server raw"
meta-jmeta-s = "/server jump"
meta-j01 = "/buffer 1"
meta-j02 = "/buffer 2"
meta-j03 = "/buffer 3"
meta-j04 = "/buffer 4"
meta-j05 = "/buffer 5"
meta-j06 = "/buffer 6"
meta-j07 = "/buffer 7"
meta-j08 = "/buffer 8"
meta-j09 = "/buffer 9"
meta-j10 = "/buffer 10"
meta-j11 = "/buffer 11"
meta-j12 = "/buffer 12"
meta-j13 = "/buffer 13"
meta-j14 = "/buffer 14"
meta-j15 = "/buffer 15"
meta-j16 = "/buffer 16"
meta-j17 = "/buffer 17"
meta-j18 = "/buffer 18"
meta-j19 = "/buffer 19"
meta-j20 = "/buffer 20"
meta-j21 = "/buffer 21"
meta-j22 = "/buffer 22"
meta-j23 = "/buffer 23"
meta-j24 = "/buffer 24"
meta-j25 = "/buffer 25"
meta-j26 = "/buffer 26"
meta-j27 = "/buffer 27"
meta-j28 = "/buffer 28"
meta-j29 = "/buffer 29"
meta-j30 = "/buffer 30"
meta-j31 = "/buffer 31"
meta-j32 = "/buffer 32"
meta-j33 = "/buffer 33"
meta-j34 = "/buffer 34"
meta-j35 = "/buffer 35"
meta-j36 = "/buffer 36"
meta-j37 = "/buffer 37"
meta-j38 = "/buffer 38"
meta-j39 = "/buffer 39"
meta-j40 = "/buffer 40"
meta-j41 = "/buffer 41"
meta-j42 = "/buffer 42"
meta-j43 = "/buffer 43"
meta-j44 = "/buffer 44"
meta-j45 = "/buffer 45"
meta-j46 = "/buffer 46"
meta-j47 = "/buffer 47"
meta-j48 = "/buffer 48"
meta-j49 = "/buffer 49"
meta-j50 = "/buffer 50"
meta-j51 = "/buffer 51"
meta-j52 = "/buffer 52"
meta-j53 = "/buffer 53"
meta-j54 = "/buffer 54"
meta-j55 = "/buffer 55"
meta-j56 = "/buffer 56"
meta-j57 = "/buffer 57"
meta-j58 = "/buffer 58"
meta-j59 = "/buffer 59"
meta-j60 = "/buffer 60"
meta-j61 = "/buffer 61"
meta-j62 = "/buffer 62"
meta-j63 = "/buffer 63"
meta-j64 = "/buffer 64"
meta-j65 = "/buffer 65"
meta-j66 = "/buffer 66"
meta-j67 = "/buffer 67"
meta-j68 = "/buffer 68"
meta-j69 = "/buffer 69"
meta-j70 = "/buffer 70"
meta-j71 = "/buffer 71"
meta-j72 = "/buffer 72"
meta-j73 = "/buffer 73"
meta-j74 = "/buffer 74"
meta-j75 = "/buffer 75"
meta-j76 = "/buffer 76"
meta-j77 = "/buffer 77"
meta-j78 = "/buffer 78"
meta-j79 = "/buffer 79"
meta-j80 = "/buffer 80"
meta-j81 = "/buffer 81"
meta-j82 = "/buffer 82"
meta-j83 = "/buffer 83"
meta-j84 = "/buffer 84"
meta-j85 = "/buffer 85"
meta-j86 = "/buffer 86"
meta-j87 = "/buffer 87"
meta-j88 = "/buffer 88"
meta-j89 = "/buffer 89"
meta-j90 = "/buffer 90"
meta-j91 = "/buffer 91"
meta-j92 = "/buffer 92"
meta-j93 = "/buffer 93"
meta-j94 = "/buffer 94"
meta-j95 = "/buffer 95"
meta-j96 = "/buffer 96"
meta-j97 = "/buffer 97"
meta-j98 = "/buffer 98"
meta-j99 = "/buffer 99"
meta-k = "/input grab_key_command"
meta-l = "/window bare"
meta-m = "/mute mouse toggle"
meta-n = "/window scroll_next_highlight"
meta-p = "/window scroll_previous_highlight"
meta-r = "/input delete_line"
meta-s = "/mute aspell toggle"
meta-u = "/window scroll_unread"
meta-wmeta-meta2-A = "/window up"
meta-wmeta-meta2-B = "/window down"
meta-wmeta-meta2-C = "/window right"
meta-wmeta-meta2-D = "/window left"
meta-wmeta2-1;3A = "/window up"
meta-wmeta2-1;3B = "/window down"
meta-wmeta2-1;3C = "/window right"
meta-wmeta2-1;3D = "/window left"
meta-wmeta-b = "/window balance"
meta-wmeta-s = "/window swap"
meta-x = "/input zoom_merged_buffer"
meta-z = "/window zoom"
ctrl-_ = "/input undo"
[key_search]
ctrl-I = "/input search_switch_where"
ctrl-J = "/input search_stop"
ctrl-M = "/input search_stop"
ctrl-R = "/input search_switch_regex"
meta2-A = "/input search_previous"
meta2-B = "/input search_next"
meta-c = "/input search_switch_case"
[key_cursor]
ctrl-J = "/cursor stop"
ctrl-M = "/cursor stop"
meta-meta2-A = "/cursor move area_up"
meta-meta2-B = "/cursor move area_down"
meta-meta2-C = "/cursor move area_right"
meta-meta2-D = "/cursor move area_left"
meta2-1;3A = "/cursor move area_up"
meta2-1;3B = "/cursor move area_down"
meta2-1;3C = "/cursor move area_right"
meta2-1;3D = "/cursor move area_left"
meta2-A = "/cursor move up"
meta2-B = "/cursor move down"
meta2-C = "/cursor move right"
meta2-D = "/cursor move left"
@item(buffer_nicklist):K = "/window ${_window_number};/kickban ${nick}"
@item(buffer_nicklist):b = "/window ${_window_number};/ban ${nick}"
@item(buffer_nicklist):k = "/window ${_window_number};/kick ${nick}"
@item(buffer_nicklist):q = "/window ${_window_number};/query ${nick};/cursor stop"
@item(buffer_nicklist):w = "/window ${_window_number};/whois ${nick}"
@chat:Q = "hsignal:chat_quote_time_prefix_message;/cursor stop"
@chat:m = "hsignal:chat_quote_message;/cursor stop"
@chat:q = "hsignal:chat_quote_prefix_message;/cursor stop"
[key_mouse]
@bar(input):button2 = "/input grab_mouse_area"
@bar(nicklist):button1-gesture-down = "/bar scroll nicklist ${_window_number} +100%"
@bar(nicklist):button1-gesture-down-long = "/bar scroll nicklist ${_window_number} e"
@bar(nicklist):button1-gesture-up = "/bar scroll nicklist ${_window_number} -100%"
@bar(nicklist):button1-gesture-up-long = "/bar scroll nicklist ${_window_number} b"
@chat(script.scripts):button1 = "/window ${_window_number};/script go ${_chat_line_y}"
@chat(script.scripts):button2 = "/window ${_window_number};/script go ${_chat_line_y};/script installremove -q ${script_name_with_extension}"
@chat(script.scripts):wheeldown = "/script down 5"
@chat(script.scripts):wheelup = "/script up 5"
@item(buffer_nicklist):button1 = "/window ${_window_number};/query ${nick}"
@item(buffer_nicklist):button1-gesture-left = "/window ${_window_number};/kick ${nick}"
@item(buffer_nicklist):button1-gesture-left-long = "/window ${_window_number};/kickban ${nick}"
@item(buffer_nicklist):button2 = "/window ${_window_number};/whois ${nick}"
@item(buffer_nicklist):button2-gesture-left = "/window ${_window_number};/ban ${nick}"
@bar:wheeldown = "/bar scroll ${_bar_name} ${_window_number} +20%"
@bar:wheelup = "/bar scroll ${_bar_name} ${_window_number} -20%"
@chat:button1 = "/window ${_window_number}"
@chat:button1-gesture-left = "/window ${_window_number};/buffer -1"
@chat:button1-gesture-left-long = "/window ${_window_number};/buffer 1"
@chat:button1-gesture-right = "/window ${_window_number};/buffer +1"
@chat:button1-gesture-right-long = "/window ${_window_number};/input jump_last_buffer"
@chat:ctrl-wheeldown = "/window scroll_horiz -window ${_window_number} +10%"
@chat:ctrl-wheelup = "/window scroll_horiz -window ${_window_number} -10%"
@chat:wheeldown = "/window scroll_down -window ${_window_number}"
@chat:wheelup = "/window scroll_up -window ${_window_number}"
@*:button3 = "/cursor go ${_x},${_y}"

View File

@@ -1,39 +0,0 @@
#
# weechat -- xfer.conf
#
[look]
auto_open_buffer = on
progress_bar_size = 20
pv_tags = "notify_private"
[color]
status_aborted = lightred
status_active = lightblue
status_connecting = yellow
status_done = lightgreen
status_failed = lightred
status_waiting = lightcyan
text = default
text_bg = default
text_selected = white
[network]
blocksize = 65536
fast_send = on
own_ip = ""
port_range = ""
speed_limit = 0
timeout = 300
[file]
auto_accept_chats = off
auto_accept_files = off
auto_accept_nicks = ""
auto_check_crc32 = off
auto_rename = on
auto_resume = on
convert_spaces = on
download_path = "%h/xfer"
upload_path = "~"
use_nick_in_filename = on

View File

@@ -1,4 +1,2 @@
setxkbmap -option ctrl:nocaps -option compose:ralt
test -x /usr/bin/xsettingsd && /usr/bin/xsettingsd &
test -f "$HOME/.env" && "$HOME/.env"
setxkbmap -option ctrl:nocaps
test -f "$HOME/.profile" && . "$HOME/.profile"

View File

@@ -1,45 +0,0 @@
Gdk/UnscaledDPI 98304
Gdk/WindowScalingFactor 1
Gtk/AutoMnemonics 1
Gtk/ButtonImages 0
Gtk/CanChangeAccels 0
Gtk/ColorPalette "black:white:gray50:red:purple:blue:light blue:green:yellow:orange:lavender:brown:goldenrod4:dodger blue:pink:light green:gray10:gray30:gray75:gray90"
Gtk/ColorScheme ""
Gtk/CursorBlinkTimeout 10
Gtk/CursorThemeName "Adwaita"
Gtk/CursorThemeSize 24
Gtk/DecorationLayout "menu:minimize,maximize,close"
Gtk/EnableAnimations 1
Gtk/FontName "Sans 9"
Gtk/IMModule ""
Gtk/IMPreeditStyle "callback"
Gtk/IMStatusStyle "callback"
Gtk/KeyThemeName "Default"
Gtk/MenuBarAccel "F10"
Gtk/MenuImages 0
Gtk/Modules ""
Gtk/RecentFilesEnabled 0
Gtk/RecentFilesMaxAge -1
Gtk/ShellShowsAppMenu 0
Gtk/ShellShowsMenubar 0
Gtk/ShowInputMethodMenu 1
Gtk/ShowUnicodeMenu 1
Gtk/TimeoutInitial 200
Gtk/TimeoutRepeat 20
Gtk/ToolbarIconSize "large"
Gtk/ToolbarStyle "both-horiz"
Net/CursorBlink 1
Net/CursorBlinkTime 1200
Net/DndDragThreshold 8
Net/DoubleClickTime 400
Net/EnableEventSounds 0
Net/EnableInputFeedbackSounds 0
Net/FallbackIconTheme "gnome"
Net/IconThemeName "Humanity"
Net/SoundThemeName "freedesktop"
Net/ThemeName "Ambiance"
Xft/Antialias 1
Xft/DPI 98304
Xft/Hinting 1
Xft/HintStyle "hintslight"
Xft/RGBA "rgb"

View File

@@ -1,8 +0,0 @@
# Execute code that does not affect the current session in the background.
{
# Compile the completion dump to increase startup speed.
zcompdump="${ZDOTDIR:-$HOME}/.zcompdump"
if [[ -s "$zcompdump" && (! -s "${zcompdump}.zwc" || "$zcompdump" -nt "${zcompdump}.zwc") ]]; then
zcompile "$zcompdump"
fi
} &!

View File

@@ -1,52 +0,0 @@
#compdef jekyll
_jekyll() {
local curcontext="${curcontext}" state line file
typeset -A opt_args
local -a _subcommands
_subcommands=('docs:list documentation'
'import:import posts'
'serve:run server'
'help:get help'
'doctor:deprecation warnings'
'build:compile site'
'new:create new site'
'clean:clean output'
'draft:create new draft'
'post:create new post'
'publish:publish draft'
'edit:edit post')
_arguments -C \
"(source)"{-s,--source}"[source]:source dir:_files -/" \
"(dest)"{-d,--destination}"[dest]:dest dir:_files -/" \
"--safe[safe mode]" \
"(plugins)"{-p,--plugins}"[plugins]:plugins dir:_files -/" \
"--layouts[layouts]:layouts dir:_files -/" \
"--profile[generate liquid profile]" \
"(help)"{-h,--help}"[help]" \
"(version)"{-v,--version}"[version]" \
"(trace)"{-t,--trace}"[trace]" \
"1:command:->command" \
"*: :->args"
case $state in
command)
_describe -t commands "jekyll subcommand" _subcommands
;;
args)
case "$line[1]" in
edit)
# TODO: Fix to get --source argument
local -a postpaths
postpaths=("${JEKYLL_DIR}/_posts" "${JEKYLL_DIR}/_drafts")
_files -W postpaths
;;
publish)
# TODO: Fix to get --source argument
_files -W ${JEKYLL_DIR}/_drafts
esac
;;
esac
}

View File

@@ -1,150 +0,0 @@
function _jekyll_locate_dir {
if [[ -n "${JEKYLL_DIR}" && -f "${JEKYLL_DIR}" ]] ; then
echo ${JEKYLL_DIR}
elif test -f `pwd`/_config.yml ; then
pwd
elif test -f ${HOME}/Projects/blog/_config.yml ; then
echo ${HOME}/Projects/blog
else
echo "Jekyll instance not found!" >&2
fi
}
function _jekyll_set_date {
local FILENAME
local DATE
FILENAME=${1}
DATE=${2}
sed -i "2,/---/{s/^date:.*$/date: ${DATE}/;s/---/date: ${DATE}\n---/}" ${FILENAME}
}
function _jekyll_find_post {
local files
local fname
local jekyll_dir
jekyll_dir="${3}"
if [ -f "${1}" ] ; then
printf -- "${1}"
return 0
fi
if [ -f "${jekyll_dir}/_posts/${1}" ] ; then
printf -- "${jekyll_dir}/_posts/${1}"
return 0
fi
if [ -f "${jekyll_dir}/_drafts/${1}" ] ; then
printf -- "${jekyll_dir}/_drafts/${1}"
return 0
fi
fname=${2:-${1}}
files=(${jekyll_dir}/_posts/*${fname}* ${jekyll_dir}/_drafts/*${fname}*)
if [ ${#files} -eq "0" ] ; then
echo "No post found for ${fname}" >&2
return 1
fi
if [ ${#files} -gt "1" ] ; then
echo "Ambiguous results: ${files}" >&2
return 1
fi
printf -- ${files}
return 0
}
function jekyll {
setopt localoptions nullglob
local JTEMPLATE
local TITLE
local SLUG
local FILENAME
local DATE
local NEWNAME
local JEKYLL_DIR
local EDITOR=${EDITOR:-vim}
JEKYLL_DIR=`_jekyll_locate_dir`
if [ -z "${JEKYLL_DIR}" ] ; then
return 1
fi
JTEMPLATE="---\n"
JTEMPLATE+="layout: post\n"
JTEMPLATE+="title: \"%s\"\n"
JTEMPLATE+="category: Blog\n"
JTEMPLATE+="---\n\n"
TITLE=${@[2,-1]}
SLUG=$(echo -n ${TITLE} |
tr A-Z a-z | # Everything in lower case
tr -d "'" | # Remove single quotes entirely
tr -c -s -- a-z0-9 - | # Replace non-alphanums with dashes
sed 's/^-*\([^-].*[^-]\)-*$/\1/' # Remove leading and trailing slashes
)
DATE=`date +%Y-%m-%d`
case "${1:-help}" in
help|--help)
command jekyll help
echo "Added by zsh plugin:"
echo " draft Create a new draft post."
echo " post Create a new post to publish immediately."
echo " publish Publish a draft post by name."
echo " edit Edit a post."
echo " dev Run local server with drafts and incremental."
;;
draft)
if [ -z "${SLUG}" ] ; then
echo "slug is required."
return 1
fi
mkdir -p "${JEKYLL_DIR}/_drafts"
FILENAME="${JEKYLL_DIR}/_drafts/${SLUG}.md"
printf -- "${JTEMPLATE}" "${TITLE}" > "${FILENAME}"
${EDITOR} "${FILENAME}" '+$' '+startinsert'
;;
post)
if [ -z "${SLUG}" ] ; then
echo "slug is required."
return 1
fi
FILENAME="${JEKYLL_DIR}/_posts/${DATE}-${SLUG}.md"
printf -- "${JTEMPLATE}" "${TITLE}" > "${FILENAME}"
_jekyll_set_date "${FILENAME}" "${DATE}"
${EDITOR} "${FILENAME}" '+$' '+startinsert'
;;
publish)
if [ -z "${SLUG}" ] ; then
echo "slug is required."
return 1
fi
FILENAME=$(_jekyll_find_post "${TITLE}" "${SLUG}" "${JEKYLL_DIR}")
if [ $? -ne 0 ] ; then
return 1
fi
if ! [[ "${FILENAME}" =~ '/_drafts/' ]] ; then
echo "${FILENAME} is not a draft." >&2
return 1
fi
NEWNAME=$(echo "${FILENAME}" | sed "s/_drafts\//_posts\/${DATE}-/")
mv "${FILENAME}" "${NEWNAME}"
_jekyll_set_date "${NEWNAME}" "${DATE}"
;;
edit)
if [ -z "${SLUG}" ] ; then
echo "slug is required."
return 1
fi
FILENAME=$(_jekyll_find_post "${TITLE}" "${SLUG}" "${JEKYLL_DIR}")
if [ $? -ne 0 ] ; then
return
fi
${EDITOR} "${FILENAME}"
;;
dev)
command jekyll serve -D -I "$@"
;;
*)
command jekyll "$@"
;;
esac
}

View File

@@ -1,69 +0,0 @@
# vim: syntax=zsh
function prompt_matir_setup {
autoload -Uz add-zsh-hook
autoload -Uz vcs_info
autoload -Uz colors
prompt_opts=(sp subst cr percent)
colors
add-zsh-hook precmd prompt_matir_precmd
# Git related styles
zstyle ':vcs_info:*' enable git
zstyle ':vcs_info:*' check-for-changes true
zstyle ':vcs_info:*' formats ' (%b%u%c)'
zstyle ':vcs_info:*' stagedstr '*'
zstyle ':vcs_info:*' unstagedstr '*'
zstyle ':vcs_info:git*+set-message:*' hooks git-untracked
# Virtualenv formatting
zstyle ':prezto:module:python:info:virtualenv' format ' (py:%v)'
PROMPT='%{$fg[black]%}[%{$fg[yellow]%}%h%{$fg[black]%}] ' # History #
PROMPT+='%{%(!.$fg[red].$fg[green])%}%8>..>%n%>>%{$fg[white]%}@' # username@
PROMPT+='%{$fg[blue]%}%12>..>%m%>>%{$fg[white]%}:' # hostname
PROMPT+='%{$fg[green]%}%32<...<%~%<<' # path
PROMPT+='%{$fg[magenta]%}${python_info[virtualenv]}' # virtualenv
PROMPT+='%{$fg[blue]%}${vcs_info_msg_0_}' # VCS info
PROMPT+='%{$fg[white]%}%#%{$reset_color%} ' # prompt symbol
# Editor options
zstyle ':prezto:module:editor:info:keymap:primary' format ''
zstyle ':prezto:module:editor:info:keymap:primary:insert' format 'I'
zstyle ':prezto:module:editor:info:keymap:primary:overwrite' format 'O'
zstyle ':prezto:module:editor:info:keymap:alternate' format ' [VICMD]'
zstyle ':prezto:module:editor:info:completing' format '...'
# Rprompt setup
local show_return="✘ "
# Default is to show the return value
if zstyle -T ':prezto:module:prompt' show-return-val; then
show_return+='%? '
fi
RPROMPT='%(?:: %{$fg[red]%}'
RPROMPT+=${show_return}
RPROMPT+='%{$reset_color%})'
RPROMPT+='${editor_info[keymap]}'
}
function prompt_matir_precmd {
vcs_info
if (( $+functions[python-info] )); then
python-info
fi
}
### git: Show marker (*) if there are untracked files in repository
# Make sure you have added staged to your 'formats': %c
+vi-git-untracked(){
if [[ $(git rev-parse --is-inside-work-tree 2> /dev/null) == 'true' ]] && \
git status --porcelain | grep '??' &> /dev/null ; then
hook_com[staged]+='*'
fi
}
prompt_matir_setup "$@"

File diff suppressed because it is too large Load Diff

View File

@@ -1,58 +0,0 @@
#compdef msfconsole
# ------------------------------------------------------------------------------
# Copyright (c) 2014 Spencer McIntyre
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of the project nor the
# names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# ------------------------------------------------------------------------------
# Description
# -----------
#
# Completion script for the Metasploit Framework's msfconsole command
# (http://www.metasploit.com/).
#
# ------------------------------------------------------------------------------
# Authors
# -------
#
# * Spencer McIntyre
#
# ------------------------------------------------------------------------------
_arguments \
{-a,--ask}"[Ask before exiting Metasploit or accept 'exit -y']" \
"-c[Load the specified configuration file]:configuration file:_files" \
{-d,--defanged}"[Execute the console as defanged]" \
{-E,--environment}"[Specify the database environment to load from the configuration]:environment:(production development)" \
{-h,--help}"[Show help text]" \
{-L,--real-readline}"[Use the system Readline library instead of RbReadline]" \
{-M,--migration-path}"[Specify a directory containing additional DB migrations]:directory:_files -/" \
{-m,--module-path}"[Specifies an additional module search path]:search path:_files -/" \
{-n,--no-database}"[Disable database support]" \
{-o,--output}"[Output to the specified file]:output file" \
{-p,--plugin}"[Load a plugin on startup]:plugin file:_files" \
{-q,--quiet}"[Do not print the banner on start up]" \
{-r,--resource}"[Execute the specified resource file]:resource file:_files" \
{-v,--version}"[Show version]" \
{-x,--execute-command}"[Execute the specified string as console commands]:commands" \
{-y,--yaml}"[Specify a YAML file containing database settings]:yaml file:_files"

View File

@@ -1,100 +0,0 @@
#compdef msfvenom
# ------------------------------------------------------------------------------
# Copyright (c) 2014 Spencer McIntyre
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of the project nor the
# names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# ------------------------------------------------------------------------------
# Description
# -----------
#
# Completion script for the Metasploit Framework's msfvenom command
# (http://www.metasploit.com/).
#
# ------------------------------------------------------------------------------
# Authors
# -------
#
# * Spencer McIntyre
#
# ------------------------------------------------------------------------------
_msfvenom_encoders_list=(
'cmd/generic_sh'
'cmd/ifs'
'cmd/powershell_base64'
'cmd/printf_php_mq'
'generic/eicar'
'generic/none'
'mipsbe/byte_xori'
'mipsbe/longxor'
'mipsle/byte_xori'
'mipsle/longxor'
'php/base64'
'ppc/longxor'
'ppc/longxor_tag'
'sparc/longxor_tag'
'x64/xor'
'x86/add_sub'
'x86/alpha_mixed'
'x86/alpha_upper'
'x86/avoid_underscore_tolower'
'x86/avoid_utf8_tolower'
'x86/bloxor'
'x86/call4_dword_xor'
'x86/context_cpuid'
'x86/context_stat'
'x86/context_time'
'x86/countdown'
'x86/fnstenv_mov'
'x86/jmp_call_additive'
'x86/nonalpha'
'x86/nonupper'
'x86/opt_sub'
'x86/shikata_ga_nai'
'x86/single_static_bit'
'x86/unicode_mixed'
'x86/unicode_upper'
)
_msfvenom_encoder() {
_describe -t encoders 'available encoders' _msfvenom_encoders_list || compadd "$@"
}
_arguments \
{-a,--arch}"[The architecture to encode as]:architecture:(cmd generic mipsbe mipsle php ppc sparc x64 x86)" \
{-b,--bad-chars}"[The list of characters to avoid, example: '\x00\xff']:bad characters" \
{-c,--add-code}"[Specify an additional win32 shellcode file to include]:shellcode file:_files" \
{-e,--encoder}"[The encoder to use]:encoder:_msfvenom_encoder" \
{-f,--format}"[Output format]:output format:(bash c csharp dw dword java js_be js_le num perl pl powershell ps1 py python raw rb ruby sh vbapplication vbscript asp aspx aspx-exe dll elf exe exe-only exe-service exe-small loop-vbs macho msi msi-nouac osx-app psh psh-net psh-reflection vba vba-exe vbs war)" \
"--help-formats[List available formats]" \
{-h,--help}"[Help banner]" \
{-i,--iterations}"[The number of times to encode the payload]:iterations" \
{-k,--keep}"[Preserve the template behavior and inject the payload as a new thread]" \
{-l,--list}"[List a module type]:module type:(all encoders nops payloads)" \
{-n,--nopsled}"[Prepend a nopsled of length size on to the payload]:nopsled length" \
{-o,--options}"[List the payload's standard options]" \
"--platform[The platform to encode for]:target platform:(android bsd bsdi java linux netware nodejs osx php python ruby solaris unix win)" \
{-p,--payload}"[Payload to use. Specify a '-' or stdin to use custom payloads]:payload" \
{-s,--space}"[The maximum size of the resulting payload]:length" \
{-x,--template}"[Specify an alternate executable template]:template file:_files"

View File

@@ -1,231 +0,0 @@
#
# Sets Prezto options.
#
# Authors:
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
#
# General
#
# Set case-sensitivity for completion, history lookup, etc.
# zstyle ':prezto:*:*' case-sensitive 'yes'
# Color output (auto set to 'no' on dumb terminals).
zstyle ':prezto:*:*' color 'yes'
# Add additional directories to load prezto modules from
zstyle ':prezto:load' pmodule-dirs $HOME/.zprezto_custom
# Set the Zsh modules to load (man zshmodules).
# zstyle ':prezto:load' zmodule 'attr' 'stat'
# Set the Zsh functions to load (man zshcontrib).
# zstyle ':prezto:load' zfunction 'zargs' 'zmv'
# Set the Prezto modules to load (browse modules).
# The order matters.
zstyle ':prezto:load' pmodule \
'environment' \
'terminal' \
'editor' \
'history' \
'directory' \
'spectrum' \
'utility' \
'completion' \
'matir' \
'tmux' \
'git' \
'gpg' \
'python' \
'ruby' \
'syntax-highlighting' \
'history-substring-search' \
'jekyll' \
'prompt' \
'xtra_completions'
#
# Autosuggestions
#
# Set the query found color.
# zstyle ':prezto:module:autosuggestions:color' found ''
#
# Completions
#
# No groups of completions.
zstyle ':completion:*' format ''
# Set the entries to ignore in static */etc/hosts* for host completion.
# zstyle ':prezto:module:completion:*:hosts' etc-host-ignores \
# '0.0.0.0' '127.0.0.1'
#
# Editor
#
# Set the key mapping style to 'emacs' or 'vi'.
zstyle ':prezto:module:editor' key-bindings 'vi'
# Auto convert .... to ../..
# zstyle ':prezto:module:editor' dot-expansion 'yes'
#
# Git
#
# Ignore submodules when they are 'dirty', 'untracked', 'all', or 'none'.
# zstyle ':prezto:module:git:status:ignore' submodules 'all'
#
# GNU Utility
#
# Set the command prefix on non-GNU systems.
zstyle ':prezto:module:gnu-utility' prefix 'g'
#
# History Substring Search
#
# Set the query found color.
# zstyle ':prezto:module:history-substring-search:color' found ''
# Set the query not found color.
# zstyle ':prezto:module:history-substring-search:color' not-found ''
# Set the search globbing flags.
# zstyle ':prezto:module:history-substring-search' globbing-flags ''
#
# OS X
#
# Set the keyword used by `mand` to open man pages in Dash.app
# zstyle ':prezto:module:osx:man' dash-keyword 'manpages'
#
# Pacman
#
# Set the Pacman frontend.
# zstyle ':prezto:module:pacman' frontend 'yaourt'
#
# Prompt
#
# Set the prompt theme to load.
# Setting it to 'random' loads a random theme.
# Auto set to 'off' on dumb terminals.
zstyle ':prezto:module:prompt' theme 'matir'
# Set the working directory prompt display length.
# By default, it is set to 'short'. Set it to 'long' (without '~' expansion)
# for longer or 'full' (with '~' expansion) for even longer prompt display.
# zstyle ':prezto:module:prompt' pwd-length 'short'
# Set the prompt to display the return code along with an indicator for non-zero
# return codes. This is not supported by all prompts.
# zstyle ':prezto:module:prompt' show-return-val 'yes'
#
# Ruby
#
# Auto switch the Ruby version on directory change.
# zstyle ':prezto:module:ruby:chruby' auto-switch 'yes'
#
# Python
#
# Auto switch the Python virtualenv on directory change.
# zstyle ':prezto:module:python:virtualenv' auto-switch 'yes'
# Automatically initialize virtualenvwrapper if pre-requisites are met.
zstyle ':prezto:module:python:virtualenv' initialize 'yes'
#
# Screen
#
# Auto start a session when Zsh is launched in a local terminal.
# zstyle ':prezto:module:screen:auto-start' local 'yes'
# Auto start a session when Zsh is launched in a SSH connection.
# zstyle ':prezto:module:screen:auto-start' remote 'yes'
#
# SSH
#
# Set the SSH identities to load into the agent.
# zstyle ':prezto:module:ssh:load' identities 'id_rsa' 'id_rsa2' 'id_github'
#
# Syntax Highlighting
#
# Set syntax highlighters.
# By default, only the main highlighter is enabled.
zstyle ':prezto:module:syntax-highlighting' highlighters \
'main' \
'brackets' \
'pattern' \
'line'
# Set syntax highlighting styles.
# zstyle ':prezto:module:syntax-highlighting' styles \
# 'builtin' 'bg=blue' \
# 'command' 'bg=blue' \
# 'function' 'bg=blue'
#
# Set syntax pattern styles.
# zstyle ':prezto:module:syntax-highlighting' pattern \
# 'rm*-rf*' 'fg=white,bold,bg=red'
#
# Terminal
#
# Auto set the tab and window titles.
zstyle ':prezto:module:terminal' auto-title 'yes'
# Set the window title format.
zstyle ':prezto:module:terminal:window-title' format '%n@%m: %s'
# Set the tab title format.
zstyle ':prezto:module:terminal:tab-title' format '%m: %s'
# Set the terminal multiplexer title format.
zstyle ':prezto:module:terminal:multiplexer-title' format '%s'
#
# Tmux
#
# Auto start a session when Zsh is launched in a local terminal.
zstyle ':prezto:module:tmux:auto-start' local 'no'
# Auto start a session when Zsh is launched in a SSH connection.
zstyle ':prezto:module:tmux:auto-start' remote 'no'
# Integrate with iTerm2.
# zstyle ':prezto:module:tmux:iterm' integrate 'yes'
# Set the default session name:
# zstyle ':prezto:module:tmux:session' name 'YOUR DEFAULT SESSION NAME'
#
# Utility
#
# Enabled safe options. This aliases cp, ln, mv and rm so that they prompt
# before deleting or overwriting files. Set to 'no' to disable this safer
# behavior.
zstyle ':prezto:module:utility' safe-ops 'no'

View File

@@ -0,0 +1,3 @@
PROMPT='%{$fg[black]%}[%{$fg[yellow]%}%h%{$fg[black]%}] %{%(!.$fg[red].$fg[green])%}%8>..>%n%>>%{$fg[white]%}@%{$fg[blue]%}%12>..>%m%>>%{$fg[white]%}:%{$fg[green]%}%32<...<%~%<<%{$fg[blue]%}$(git_prompt_info)%{$fg[white]%}%#%{$reset_color%} '
ZSH_THEME_GIT_PROMPT_PREFIX=" ("
ZSH_THEME_GIT_PROMPT_SUFFIX=")"

0
dotfiles/zshenv Executable file → Normal file
View File

67
dotfiles/zshrc Executable file → Normal file
View File

@@ -1,13 +1,13 @@
# For interactive shells
HISTFILE=~/.zhistory
HISTSIZE=10000
SAVEHIST=10000
HISTFILE=~/.histfile
HISTSIZE=1000
SAVEHIST=1000
setopt appendhistory autocd autopushd extendedglob nohup nomatch histignorespace histlexwords histverify cbases
unsetopt beep histbeep listbeep flowcontrol
bindkey -v
bindkey -e
# Completion
zstyle :compinstall filename "${HOME}/.zshrc"
zstyle :compinstall filename '/home/david/.zshrc'
autoload -Uz compinit && compinit
DIRSTACKSIZE=16
@@ -18,47 +18,33 @@ case $TERM in
esac
autoload -U colors && colors
PS1="%{$fg[black]%}[%{$fg[yellow]%}%h%{$fg[black]%}] %{%(!.$fg[red].$fg[green])%}%8>..>%n%>>%{$fg[white]%}@%{$fg[blue]%}%12>..>%m%>>%{$fg[white]%}:%{$fg[green]%}%32<...<%~%<<%{$fg[white]%}%#%{$reset_color%} "
if [ `uname` != 'Darwin' ] ; then
# ls Colors
alias ls='ls --color'
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
else
alias ls='ls -G'
fi
# Load prezto
if [[ -s "${ZDOTDIR:-$HOME}/.zprezto/init.zsh" ]]; then
source "${ZDOTDIR:-$HOME}/.zprezto/init.zsh"
fi
# noglob scp is so annoying
unalias scp
# Overrides to prezto
unsetopt cdablevars
PS1="%{%(!.$fg[red].$fg[green])%}%n%{$fg[white]%}@%{$fg[cyan]%}%m%{$fg[white]%}:%{$fg[green]%}%32<...<%~%<<%{$fg[white]%}%#%{$reset_color%} "
# .profile is universal
# but after zprezto to use/override anything setup there
. ~/.profile
# Deduplicate the path
typeset -U path
# LS Colors
alias ls='ls --color'
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
# Load oh-my-zsh
if [ -d $HOME/.oh-my-zsh ] ; then
ZSH=$HOME/.oh-my-zsh
ZSH_THEME="matir"
ZSH_CUSTOM="$HOME/.zsh_custom"
plugins=(git encode64 gpg-agent pep8 pip python tmux urltools extract sudo virsh virtualenv command-not-found)
source $ZSH/oh-my-zsh.sh
unset ZSH_THEME
unset ZSH_CUSTOM
fi
# Keybindings
bindkey '^[[A' history-search-backward
bindkey '^[[B' history-search-forward
# ctrl-arrow keys
bindkey '^[[1;5C' forward-word
bindkey '^[[1;5D' backward-word
bindkey '^P' up-history
bindkey '^N' down-history
bindkey '^?' backward-delete-char
bindkey '^h' backward-delete-char
# ok, a few convenience bindings
bindkey '^w' backward-kill-word
bindkey '^r' history-incremental-search-backward
# Source extras and aliases if interactive
if [[ $- == *i* ]] ; then
@@ -66,18 +52,5 @@ if [[ $- == *i* ]] ; then
for file in $HOME/.zshrc.d/* ; do source "$file" ; done
fi
# In case ack is named ack-grep
if [ -x /usr/bin/ack-grep ] ; then
alias ack='/usr/bin/ack-grep'
fi
# Setup PATH for tools
PATH=${PATH}:${HOME}/bin/tools
# Most is nice, if we have it
if command -v most >/dev/null 2>&1; then
export PAGER="most"
fi
# Load any local settings
if [ -e $HOME/.zshrc.local ] ; then source $HOME/.zshrc.local ; fi

View File

@@ -1,4 +1,4 @@
if [ -f "`command which nasm 2>/dev/null`" -a -f "`command which objdump 2>/dev/null`" ] ; then
if [ -f "`command which nasm`" -a -f "`command which objdump`" ] ; then
assemble_shellcode() {
if [ -z "$1" ] ; then echo "Usage: $0 <assembly file>" >&2 ; return 1 ; fi
local NASM=`command which nasm`

View File

@@ -1,17 +0,0 @@
#!/bin/zsh
GCL=${HOME}/tools/gcloud
if [ ! -d ${GCL} ] ; then
return
fi
# Add bin to path
export PATH="${PATH}:${GCL}/bin"
# Load completion
source ${GCL}/completion.zsh.inc
which kubectl 2>/dev/null >&2 && \
source <(kubectl completion zsh) || \
true

View File

@@ -1,57 +1,31 @@
#!/usr/bin/env bash
#!/bin/bash
set -o nounset
set -o errexit
set nounset
set errexit
case $(uname) in
Linux)
FINDTYPE="-xtype"
;;
Darwin|*BSD)
FINDTYPE="-type"
;;
*)
echo "Unknown OS: $(uname), guessing no GNU utils."
FINDTYPE="-type"
;;
esac
is_comment() {
if [ $(echo "${1}" | cut -c1-1) = '#' ] ; then
true
else
false
fi
}
prerequisites() {
if which zsh > /dev/null 2>&1 ; then
case $- in
*i*)
case `getent passwd $USER | cut -d: -f7` in
*/zsh)
;;
*)
if [ `id` -ne 0 ] ; then
function prerequisites {
if which zsh > /dev/null ; then
if [[ $- == *i* ]] ; then
if [[ `getent passwd $USER | cut -d: -f7` != */zsh ]] ; then
echo 'Enter password to change shell.' >&2
fi
chsh -s `which zsh`
;;
esac
;;
esac
install_git --recursive https://github.com/sorin-ionescu/prezto.git $HOME/.zprezto
fi
fi
install_git https://github.com/robbyrussell/oh-my-zsh.git $HOME/.oh-my-zsh
else
echo "ZSH not found!" >&2
fi
if which vim > /dev/null 2>&1 ; then
if which vim > /dev/null ; then
mkdir -p $HOME/.vim/bundle
install_git https://github.com/VundleVim/Vundle.vim.git \
$HOME/.vim/bundle/Vundle.vim
fi
if which gdb > /dev/null ; then
install_git https://github.com/longld/peda.git $HOME/.peda
fi
}
install_dotfile_dir() {
function install_dotfile_dir {
local SRCDIR="${1}"
local dotfile
find "${SRCDIR}" \( -name .git -o \
@@ -59,7 +33,7 @@ install_dotfile_dir() {
-name install.sh -o \
-name README.md -o \
-name .gitignore \) \
-prune -o ${FINDTYPE} f -print | \
-prune -o -xtype f -print | \
while read dotfile ; do
local TARGET="${HOME}/.${dotfile#${SRCDIR}/}"
mkdir -p `dirname "${TARGET}"`
@@ -67,11 +41,11 @@ install_dotfile_dir() {
done
}
install_basic_dir() {
function install_basic_dir {
local SRCDIR="${1}"
local DESTDIR="${2}"
local file
find "${SRCDIR}" ${FINDTYPE} f -print | \
find "${SRCDIR}" -xtype f -print | \
while read file ; do
local TARGET="${2}/${file#${SRCDIR}/}"
mkdir -p `dirname "${TARGET}"`
@@ -79,98 +53,79 @@ install_basic_dir() {
done
}
install_git() {
function install_git {
# Install or update a git repository
if ! which git > /dev/null ; then
return 1
fi
local REPO="${*: -2:1}"
local DESTDIR="${*: -1:1}"
set -- ${@:1:$(($#-2))}
if [ -d ${DESTDIR}/.git ] ; then
local REPO="${1}"
local DESTDIR="${2}"
if [[ -d ${DESTDIR}/.git ]] ; then
( cd ${DESTDIR} ; git pull -q )
else
if [ ${MINIMAL} -eq 1 ] ; then
git clone --depth 1 $* ${REPO} ${DESTDIR}
else
git clone $* ${REPO} ${DESTDIR}
fi
git clone ${REPO} ${DESTDIR}
fi
}
add_bin_symlink() {
function add_bin_symlink {
local LINKNAME=${HOME}/bin/${2:-`basename $1`}
if [ -e ${LINKNAME} -a ! -h ${LINKNAME} ] ; then
if [[ -e ${LINKNAME} && ! -h ${LINKNAME} ]] ; then
echo "Refusing to overwrite ${LINKNAME}" >&2
return 1
fi
ln -sf ${1} ${LINKNAME}
}
# Custom version of pwndbg's installer
install_pwndbg() {
if ! which gdb > /dev/null 2>&1 ; then
return 1
fi
install_git -b stable https://github.com/pwndbg/pwndbg.git $HOME/.pwndbg
mkdir -p $HOME/.pwndbg/vendor
local PYVER=$(gdb -batch -q --nx -ex 'pi import platform; print(".".join(platform.python_version_tuple()[:2]))')
local PYTHON=$(gdb -batch -q --nx -ex 'pi import sys; print(sys.executable)')
PYTHON="${PYTHON}${PYVER}"
local PY_PACKAGES=$HOME/.pwndbg/vendor
${PYTHON} -m pip install --target ${PY_PACKAGES} -Ur $HOME/.pwndbg/requirements.txt
${PYTHON} -m pip install --target ${PY_PACKAGES} -U capstone unicorn
# capstone package is broken
cp ${PY_PACKAGES}/usr/lib/*/dist-packages/capstone/libcapstone.so ${PY_PACKAGES}/capstone
}
postinstall() {
function postinstall {
# Install Vundle plugins
if [ -d $HOME/.vim/bundle/Vundle.vim ] ; then
if [[ -d $HOME/.vim/bundle/Vundle.vim ]] ; then
vim +VundleInstall +qall
fi
# Install other useful tools
install_git https://github.com/trustedsec/ptf.git ${HOME}/bin/ptframework && \
add_bin_symlink ${HOME}/bin/ptframework/ptf
# Refresh all gpg keys
if test -x "`which gpg2`" ; then
gpg2 --refresh-keys
else
gpg --refresh-keys
fi
}
ssh_key_already_installed() {
function ssh_key_already_installed {
# Return 1 if the key isn't already installed, 0 if it is
local AK="${HOME}/.ssh/authorized_keys"
if [ ! -f $AK ] ; then
if [[ ! -f $AK ]] ; then
return 1
fi
local KEYFP=`ssh-keygen -l -f $1 2>/dev/null | awk '{print $2}'`
local TMPF=`mktemp`
local key
while read key ; do
if is_comment "${key}" ; then
continue
fi
echo "$key" > $TMPF
local EFP=`ssh-keygen -l -f ${TMPF} 2>/dev/null | awk '{print $2}'`
if [ "$EFP" = "$KEYFP" ] ; then
if [[ "$EFP" == "$KEYFP" ]] ; then
rm $TMPF 2>/dev/null
return 0
fi
done < ${AK}
done < <(grep -v '^#' ${AK})
rm $TMPF 2>/dev/null
return 1
}
install_ssh_keys() {
function install_ssh_keys {
# Install SSH keys
verbose 'Installing SSH keys...'
local AK="${HOME}/.ssh/authorized_keys"
local key
local keydir
if test ${TRUST_ALL_KEYS} = 1 ; then
if (( ${TRUST_ALL_KEYS} )) ; then
keydir=${BASEDIR}/keys/ssh
else
keydir=${BASEDIR}/keys/ssh/trusted
fi
for key in ${keydir}/* ; do
if [ ! -f "${key}" ] ; then
if [[ ! -f ${key} ]] ; then
continue
fi
if ssh_key_already_installed "${key}" ; then
@@ -182,22 +137,20 @@ install_ssh_keys() {
done
}
install_gpg_keys() {
which gpg >/dev/null 2>&1 || \
return 0
function install_gpg_keys {
local key
for key in ${BASEDIR}/keys/gpg/* ; do
gpg --import < ${key} >/dev/null
done
}
install_known_hosts() {
function install_known_hosts {
verbose 'Installing known hosts...' >&2
if [ ! -f "${BASEDIR}/keys/known_hosts" ] ; then
if [[ ! -f ${BASEDIR}/keys/known_hosts ]] ; then
return 0
fi
mkdir -p ${HOME}/.ssh
if [ -f "${HOME}/.ssh/known_hosts" ] ; then
if [[ -f ${HOME}/.ssh/known_hosts ]] ; then
local tmpf=`mktemp`
cat ${BASEDIR}/keys/known_hosts ${HOME}/.ssh/known_hosts | sort | uniq > $tmpf
mv $tmpf ${HOME}/.ssh/known_hosts
@@ -206,22 +159,22 @@ install_known_hosts() {
fi
}
install_keys() {
function install_keys {
install_ssh_keys
install_gpg_keys
install_known_hosts
}
is_deb_system() {
function is_deb_system {
test -f /usr/bin/apt-get
}
run_as_root() {
function run_as_root {
# Attempt to run as root
if [ ${USER} = "root" ] ; then
if [[ ${USER} == "root" ]] ; then
"$@"
return $?
elif test -x $(which sudo 2>/dev/null) ; then
elif groups | grep -q '\bsudo\b' ; then
verbose "Using sudo to run ${1}..."
sudo "$@"
return $?
@@ -229,47 +182,24 @@ run_as_root() {
return 1
}
install_pkg_set() {
function install_pkg_set {
local pkg_file=${BASEDIR}/${1}
local pkg_list=""
if [ ! -f "${pkg_file}" ] ; then
echo "Package set $(basename ${pkg_file}) does not exist." 1>&2
return 1
fi
while read line ; do
if is_comment "${line}" ; then
continue
fi
if [ -z "${line}" ] ; then
continue
fi
if apt-cache show ${line} >/dev/null 2>&1 ; then
pkg_list="${pkg_list} ${line}"
else
echo "Warning: package ${line} not found." >&2
fi
done < ${pkg_file}
if [ -n "${pkg_list}" ] ; then
verbose "Installing ${pkg_list}"
run_as_root apt-get install -qqy ${pkg_list}
fi
if [[ ! -f ${pkg_file} ]] ; then return 0 ; fi
run_as_root apt-get install -qqy `cat ${pkg_file}`
}
install_apt_pkgs() {
function install_apt_pkgs {
run_as_root apt-get update -qq || \
( echo "Can't run apt-get commands" >&2 && \
return 1 )
install_pkg_set packages.minimal
if test $MINIMAL = 1 ; then
return 0
fi
test $HAVE_X = 1 && install_pkg_set packages.X
test $IS_KALI = 1 && install_pkg_set packages.kali
install_pkg_set packages
(( $HAVE_X )) && install_pkg_set packages.X
(( $IS_KALI )) && install_pkg_set packages.kali
install_pkg_set packages.${ARCH}
test $HAVE_X = 1 && install_chrome
(( $HAVE_X )) && install_chrome
}
install_chrome() {
function install_chrome {
local TMPD=`mktemp -d`
local CHROME_ARCH=`echo ${ARCH} | sed 's/x86_64/amd64/'`
dpkg-query -l 'google-chrome*' >/dev/null 2>&1 && return 0
@@ -281,23 +211,18 @@ install_chrome() {
rm -rf ${TMPD}
}
read_saved_prefs() {
function read_saved_prefs {
# Can't use basedir here as we don't have it yet
local old_pref_file=`dirname $0`/installed-prefs
local pref_file=`dirname $0`/.installed-prefs
if [ -f ${old_pref_file} -a ! -f ${pref_file} ] ; then
mv ${old_pref_file} ${pref_file}
fi
local pref_file=`dirname $0`/installed-prefs
if [ -f ${pref_file} ] ; then
verbose "Loading saved skel preferences from ${pref_file}"
# source is a bashism
. ${pref_file}
source ${pref_file}
fi
}
save_prefs() {
test $SAVE = 1 || return 0
local pref_file=${BASEDIR}/.installed-prefs
function save_prefs {
(( $SAVE )) || return 0
local pref_file=${BASEDIR}/installed-prefs
(echo_pref BASEDIR
echo_pref MINIMAL
echo_pref INSTALL_KEYS
@@ -306,16 +231,12 @@ save_prefs() {
echo_pref VERBOSE) > $pref_file
}
echo_pref() {
eval "local val=\${$1}"
echo "$1=\${$1:-${val}}"
function echo_pref {
echo "$1=\${$1:-${!1}}"
}
cleanup() {
function cleanup {
# Needs zsh
if ! test -x /usr/bin/zsh ; then
return 0
fi
/usr/bin/zsh >/dev/null 2>&1 <<EOF
source ${BASEDIR}/dotfiles/zshrc.d/prune-broken-symlinks.zsh
prune-broken-symlinks -y ${HOME}/.zshrc.d
@@ -323,46 +244,14 @@ cleanup() {
EOF
}
verbose() {
test ${VERBOSE:-0} = 1 && echo "$@" >&2 || return 0
}
# Operations
install_dotfiles() {
install_dotfile_dir "${BASEDIR}/dotfiles"
test -d "${BASEDIR}/private_dotfiles" && \
test -d "${BASEDIR}/.git/git-crypt" && \
install_dotfile_dir "${BASEDIR}/private_dotfiles" || \
true
test -d "${BASEDIR}/local_dotfiles" && \
install_dotfile_dir "${BASEDIR}/local_dotfiles" || \
true
}
install_main() {
test $MINIMAL = 1 || prerequisites
test $INSTALL_PKGS = 1 && is_deb_system && install_apt_pkgs
install_dotfiles
install_basic_dir "${BASEDIR}/bin" "${HOME}/bin"
test $MINIMAL = 1 || postinstall
test $INSTALL_KEYS = 1 && install_keys
save_prefs
cleanup
}
install_dconf() {
which dconf >/dev/null 2>&1 || return 1
find "${BASEDIR}/dconf" -type f -printf '/%P\n' | while read dcpath ; do
dconf load ${dcpath}/ < "${BASEDIR}/dconf/${dcpath}"
done
function verbose {
(( ${VERBOSE:-0} )) && echo "$@" >&2
}
# Setup variables
read_saved_prefs
# Defaults if not passed in or saved.
# TODO: use flags instead of environment variables.
# Defaults if not passed in or saved
BASEDIR=${BASEDIR:-$HOME/.skel}
MINIMAL=${MINIMAL:-0}
INSTALL_KEYS=${INSTALL_KEYS:-1}
@@ -372,48 +261,31 @@ VERBOSE=${VERBOSE:-0}
SAVE=${SAVE:-1}
# Check prerequisites
if [ ! -d $BASEDIR ] ; then
if [[ ! -d $BASEDIR ]] ; then
echo "Please install to $BASEDIR!" 1>&2
exit 1
fi
if which dpkg-query > /dev/null 2>&1 ; then
HAVE_X=$(dpkg-query -s xserver-xorg 2>/dev/null | \
grep -c 'Status.*installed' \
|| true)
if which dpkg-query > /dev/null ; then
HAVE_X=`dpkg-query -s xserver-xorg 2>/dev/null | grep -c 'Status.*installed'`
else
HAVE_X=0
fi
IS_KALI=$(grep -ci kali /etc/os-release 2>/dev/null || true)
ARCH=$(uname -m)
IS_KALI=`grep -ci kali /etc/os-release 2>/dev/null`
ARCH=`uname -m`
OPERATION=${1:-install}
case $OPERATION in
install)
install_main
;;
dotfiles)
install_dotfiles
;;
package*)
PKG_SET=${2:-minimal}
install_pkg_set packages.${PKG_SET}
;;
pwndbg)
install_pwndbg
;;
test)
# Do nothing, just sourcing
set +o errexit
;;
dconf)
# Load dconf
install_dconf
;;
*)
echo "Unknown operation $OPERATION." >/dev/stderr
exit 1
;;
esac
(( $MINIMAL )) || prerequisites
(( $INSTALL_PKGS )) && is_deb_system && install_apt_pkgs
install_dotfile_dir "${BASEDIR}/dotfiles"
test -d "${BASEDIR}/private_dotfiles" && \
test -d "${BASEDIR}/.git/git-crypt" && \
install_dotfile_dir "${BASEDIR}/private_dotfiles"
test -d "${BASEDIR}/local_dotfiles" && \
install_dotfile_dir "${BASEDIR}/local_dotfiles"
install_basic_dir "${BASEDIR}/bin" "${HOME}/bin"
(( $MINIMAL )) || postinstall
(( $INSTALL_KEYS )) && install_keys
save_prefs
cleanup

View File

@@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDYQOAB5bJ9DjMXyY67GEI99kK1LG8XF+cWJ4md52rPnOeJd0da7l26bn9NtXCma6DP5gZQArfxHsPh7I4SbYJRYxTCCCE/Jsd8mLB22DcoeY+MqPA2g71j3KrYsvuJC++9GHK2Xc7ZRmhAugEmC/NAdtORBVhtBSAUgyCmUczKHoCAqHmq8j54En8kRYjbvlHPpDsNoRuhcH5uDGBIVkbV7UtBl2oUlRNVw7grs6XS7cPU2zCQSxcrRRuAfV4hmGG2eKaPpieNg0MAAbR0G5ssWW3IuYwd1ys5wA0YQuWUhxadUuYc46/cqyyoVIFlfjxCVTX+2w3900SDPOF/YrOwctAb23+78WN6GPnAmmS3zcmXTGsJiw/mmyBlqYI/JdSgrgI+COlcP0rlF/uklzEywfD91m1lno1u2IApdAumZWHR8aFnpHQXfI6rWc1o/V+RBpz5Xe6D2h9CPT3AE303BV09HGmidb0t6bCKoabTDwvE+KojIcbKBji6g8V6KTM=

View File

@@ -1 +0,0 @@
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBIsFYLEsalNh/l6PtMZhi0f/eZ22uoMw/xYpgPy6vBU6OlpN2FjW7R0pwX29fZjjVQoF0eEG0K/9/CcYcnxtspw= chronos@localhost

View File

@@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHPlKI3Mt2Hm4YZ0WNOET7SEoXmAABR+eEZ3hnJnA9AJ davidtomaschik@davidtomaschik-glaptop3

View File

@@ -1 +1 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClvMvarQvGaFYhUazA+GN0C2XaU4vHmsvD3G99PJqmd9SGrzSvWw2ZuJwYWQCag4Ft5Zy/A3NZ0/a4ohPbWFF4iX9LnAqSKgMDPv3R3VokW04bFm5uDhXF0lJDOWb8aJuFl56SP2lnbWyP8P8d+3MaFCcuw3F23CS/0ZO5w7CsPsHkvWkmykCB6z/Ju/kqvXK5qYKjAVkZ80LMDNppjN5zZhFZs721zuuMmpFevcfG5c43KujcR/yDfB+t3yfWmaWi21KDapdHXk5lQoxsg6OZe6Wuj7jQq+Zol+ElxD+gn7z2LWXq8a3wyyvGSoKyBfHBjrwzEuUEFbvn5iatPJVX davidtomaschik@davidtomaschik-glaptop2
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8vQiJn9J2KjNIwX427Zq0gpvD1XdR0j+3gY1DTG1yGU808a001YCw0UTQzaSfRZ0ixWyOiFiZ0UcyZnJlN/dQeIKvxWeIW6T3kjpkjzLiBJbloHT0CvqJoz/VAPuBKH9sVKabZlmufqM3B43XDCDS8UGcxUmHxSFSh4hsqurP+ywI8QsoLz1epiFeUQCqsLG5LZIpthAYDOXtxp6cVoKgosi+zJm7sHG/pIof//WMW1xFCArEQfiWXa3Mv3Ir+geKej3lmWPMZNyGpGVtH9w0VHmzPX6OY02CelUoqe/yQDqZ0SjVKm0WZOHStAep0sxVR7/zHvS36Wk0eSptuenR davidtomaschik@glaptop

View File

@@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDi2AoHzzSd/xidvRKS1OE7Pe+aGgyEY1WmWJGJ3POHuaQSbGrp4g1En4QurhXwonPiLBtQ0w6Nbbi/3vrXxSnAkJJKd9LXQtjyXVN68285lRr3DWuWnyokhO3B5aGOb5/4b6Dn8YDRrTRefezjbVavgrTFarZ19PmPmJxH9h+ZPV/hNQ6rZjBjrvGerxpmB6CjgXbIxRdsUcnao3+gyPueBOkyHbfiy7QjQT+SgPjIqT/rza4Q0OqFBTk4D7Y96biE5yY31eNs8H7uvR3PfX0NN5zvP/EqJECPYr/B3vOzAr7B8BsqYbA5UFexrp6gYn+LDzr6jAILhEUp8SsC8UFn davidtomaschik@davidtomaschik-glaptop3

View File

@@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDXvqt73qAqS8C597u1wjz0Cvfo1IpiQFE4OKxTBR0mUhhi9UsGXkjZd/EYnqfWQRLcKaQSqN9QcXW7zHrfXtdmcjr3dDZrwXGgCiJnvLTeLecLqYwgaIMMNTmgaTQ3OFB74VCeD496pMbnhmlsN2+WaxNjIxoX+Qadsq/iHtBBt+tSOm5E1x0/ynEGmvO1W0L+8FyV/xnZWQIbBHTrJ931Gt8RDKtt7Y24XYMm5REye40adbxeS4kBwexvp2nTKwkr8sC26dmOz/RgJG3Km1194r0RXsH7iCYYlUBT23f4KOcmVxUlxkSu5d0u2viEID++cN6LT/4rHPdgqMZaVhaB root@uber

View File

@@ -1 +1 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDZ5FLvZsfIfNV8NcUK6+wJ8pDapgu8QAZMX5zuz+fYxsf3KeHlDS0nPojmDLCXaAdd4TUO7KlRyo8BhpsWP8yUwpxUeRgvtYjjWfDgSxXCsGpQzbmTABu8eIaSya00Fao/WeIV1k+2p6S80knmllrBVideGW9ws4zrVQnhOcgKVXskuFBEs3IOQczNPMfI+OnO+qca0rjUh1Z6k3tD6tN6pxh//5CZBgqYf4G1DLnCLIep7tDkTuYjgqH237r6v4WHH87sLRy21yFRzfMWUGPesJvuc8X4Ol822BuQWTCDYy+QYZ9qGDWPcLOLCg7MLP9IVKzIJOrAdOYyp6p2brzj davidtomaschik@uber.g
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDXvqt73qAqS8C597u1wjz0Cvfo1IpiQFE4OKxTBR0mUhhi9UsGXkjZd/EYnqfWQRLcKaQSqN9QcXW7zHrfXtdmcjr3dDZrwXGgCiJnvLTeLecLqYwgaIMMNTmgaTQ3OFB74VCeD496pMbnhmlsN2+WaxNjIxoX+Qadsq/iHtBBt+tSOm5E1x0/ynEGmvO1W0L+8FyV/xnZWQIbBHTrJ931Gt8RDKtt7Y24XYMm5REye40adbxeS4kBwexvp2nTKwkr8sC26dmOz/RgJG3Km1194r0RXsH7iCYYlUBT23f4KOcmVxUlxkSu5d0u2viEID++cN6LT/4rHPdgqMZaVhaB root@uber

View File

@@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3CLK0KLup0y8nb1l5X9LTVsvJG1scc7qbLJZIdGC0TlFeAbzUwXmxxJUY/dl/2JKGj9Ai3h393WzxH//tMY4jYLhMLqV487YvteVF+2yVS+q0YtO4RgM6TVOvdp1b4Fgj4EB5hTaO0hB51PxTqnVAK0ZMAuUxQRygpARnB+xwhLU2l0K07RHgpMirWODzzlgD3Y9I+3WIpmAwzubaoS1/R0Frf81ZWQmgvwac6PKsPwvGLygS1ounOwD2PJScP+sE/t2MEYjtqmmAytqsp5kLVkb82fJSkdj1DuHblgZr4aX9r04bVV1ju19CN57VyhbZtf+fBqQQW1lnjMYm9Kjn matir_pvj

View File

@@ -1 +0,0 @@
../5dea789b_subkey.pub

View File

@@ -1,38 +1,48 @@
ack-grep
build-essential
cryptsetup
curl
dnsutils
dsniff
ecryptfs-utils
gdb
git
git-crypt
gnupg2
gnupg-agent
gnupg-curl
iftop
iptraf
ipython
ipython3
jq
kpartx
ldap-utils
ltrace
lvm2
msitools
most
nasm
mosh
ngrep
nmap
opensc
openvpn
p7zip-full
psmisc
python3
python3-pip
python3-virtualenv
python-crypto
python-dev
python-hachoir-urwid
python-html5lib
python-nwdiag
python-imaging
python-pip
python-scapy
python-virtualenv
python-pypdf
python-yara
radare2
scapy
scdaemon
socat
sqlite3
strace
tcpdump
tmux
traceroute
tshark
ufw
unzip
vim
whois
zsh

View File

@@ -1,350 +0,0 @@
# Kali packages
kali-linux-sdr
kali-linux-rfid
# Hardware tools
# Electronic schematic and PCB design software
kicad
# Logic analyzer and protocol decoder software suite
sigrok
# GNU C compiler (cross compiler for avr)
gcc-avr
# GNU Debugger for avr
gdb-avr
# software for programming Atmel AVR microcontrollers
avrdude
# tool for searching binary images for embedded files and executable code
binwalk
# free and advanced command line hexadecimal editor
radare2
# Open on-chip JTAG debug solution for ARM and MIPS systems
openocd
# AVR development board IDE and built-in libraries
arduino
# Program your Arduino from the command line
arduino-mk
# Atmel SAM ARM microcontroller flash programming utility
bossa-cli
# Cypress EZ-USB FX2 (LP) programmer
cycfx2prog
# device firmware update (DFU) based USB programmer for Atmel chips
dfu-programmer
# Device firmware update (DFU) USB programmer
dfu-util
# tool for documenting hardware designs through timing diagrams
drawtiming
# A graphical frontend to the Spice simulator
easyspice
# Emulator and simulator for 8051 microcontrollers
emu8051
# create and flash firmware files to ESP8266 or ESP32 chips
esptool
# utility to configure SRAM based ALTERA devices
flexloader
# VHDL simulator for Linux
freehdl
# graphical logic circuit simulator
glogic
# GNU Circuit Analysis package
gnucap
# Graphical Intel 8085 simulator, assembler and debugger
gnusim8085
# Simulator for Microchip's PIC microcontrollers
gpsim
# GNU PIC utilities
gputils
# Graphical user interface for gnucap and ngspice
gspiceui
# VCD (Value Change Dump) file waveform viewer
gtkwave
# waveform viewer eg for spice simulators
gwave
# switch-level simulator
irsim
# interface to NXP LPC Microcontrollers ISP serial interface
lpctools
# debugging tool for MSP430 microcontrollers
mspdebug
# Spice circuit simulator
ngspice
# Microchip PIC serial programmer software
picprog
# tool to decode RFID tag data
rfdump
# In-System Programmer for 8051 MCUs using usbtiny
s51dude
# OBD-II vehicle diagnostic scanner
scantool
# Small Device C Compiler
sdcc
# Micro-controller simulator for SDCC
sdcc-ucsim
# Atmel AVR simulator
simulavr
# MIPS R2000/R3000 emulator
spim
# STM32 chip flashing utility using a serial bootloader
stm32flash
# fast processor emulator
qemu
# JTAG programmer for various flash parts and boards
urjtag
# Firmware programming tool for the USBprog hardware
usbprog
# Icarus verilog compiler
iverilog
# Misc tools
# fast, scalable, distributed revision control system
git
# Document (PostScript, PDF) viewer
evince
# terminal multiplexer
tmux
# minimal dumb-terminal emulation program
picocom
# GTK+ base UVC Viewer
guvcview
# Other potential useful tools:
# c2tool - C2 programming/debugging interface
# libswd - SWD programming/debugging interface
# jrev/FTjrev - Software functionality similar to that of JTAGulator
# Add some offline'd websites?
# buspirate, etc.?
# SDR tools:
# gnuradio chirp hackrf kalibrate-rtl rtlsdr-scanner gqrx-sdr multimon-ng uhd-host uhd-images libgnuradio-baz gr-osmosdr gr-iqbal
# Other tools in the "Electronics" section that might be useful
# VLSI CAD Tools
alliance
# Altus Metrum firmware and utilities
altos
# Place and route tool for iCE40 family FPGAs
arachne-pnr
# Chip db files for arachne-pnr
arachne-pnr-chipdb
# Platform files for Arduino to run on ATmega1284P
arduino-mighty-1284p
# Arbitrary Transmission Line Calculator
atlc
# Examples for Arbitrary Transmission Line Calculator
atlc-examples
# use GDB with Atmel AVR debuggers
avarice
# assembler for Atmel AVR microcontrollers
avra
# Programmer for Atmel AVR microcontrollers
avrp
# ABC - A System for Sequential Synthesis and Verification
berkeley-abc
# Atmel SAM ARM microcontroller flash programming GUI
bossa
# Utility to control X10 Firecracker devices for home automation
bottlerocket
# Electronic Design Automation software focused on easy of use and portability
caneda
# Handle CAN (Controller Area Network) descriptions - cmdline utilities
canmatrix-utils
# C Compiler for TI/Chipcon 8051-based RF SOCs
# cc1111 Conflicts with sdcc
# Verilog code coverage analysis tool
covered
# Digital Filter Coefficients Generator (DFCGen) GTK+
dfcgen-gtk
# read temperature sensors in a 1-Wire net
digitemp
# electrical CAD system
electric
# Identify, read, write, erase, and verify BIOS/ROM/flash chips
flashrom
# Tools to handle the bitstream format of Lattice iCE40 FPGAs
fpga-icestorm
# Chip database files for fpga-icestorm
fpga-icestorm-chipdb
# Easy-to-use electronic design software
fritzing
# Easy-to-use electronic design software (data files)
fritzing-data
# Easy-to-use electronic design software (parts files)
fritzing-parts
# GPL EDA -- Electronics design software (metapackage)
geda
# GPL EDA -- Electronics design software (example designs)
geda-examples
# GPL EDA -- Electronics design software (attribute editor)
geda-gattrib
# GPL EDA -- Electronics design software (netlister)
geda-gnetlist
# GPL EDA -- Electronics design software (schematic editor)
geda-gschem
# GPL EDA -- Electronics design software (symbol checker)
geda-gsymcheck
# GPL EDA -- Electronics design software (symbols library)
geda-symbols
# GPL EDA -- Electronics design software (utilities)
geda-utils
# GPL EDA -- Electronics design software -- gschem -> PCB workflow GUI
geda-xgsch2pcb
# Gerber file viewer for PCB design
gerbv
# Placement for digital VLSI design
graywolf
# Electronic schematic and PCB design software
kicad
# Common files used by kicad
kicad-common
# Kicad help files (German)
kicad-doc-de
# Kicad help files (English)
kicad-doc-en
# Kicad help files (Spanish)
kicad-doc-es
# Kicad help files (French)
kicad-doc-fr
# Kicad help files (Japanese)
kicad-doc-ja
# Kicad help files (Dutch)
kicad-doc-nl
# Control programs for the Per Vices Noctar IQ demodulator board
langford-utils
# GPL EDA -- Electronics design software (data files)
libgeda-common
# GPL EDA -- Electronics design software (library files)
libgeda42
# utility library for talking to the LEGO Mindstorms NXT brick
libnxt
# tool to generate Smith Charts
linsmith
# Flash programmer for Renesas M16C and R8C microcontrollers
m16c-flash
# VLSI layout tool
magic
# Graphical Integrated Development Environment for 8051
mcu8051ide
# C compiler for LEGO Mindstorms NXT bricks
nbc
# simulator for the Microchip PIC16C84 microcontroller
nitpic
# Improved firmware for LEGO Mindstorms NXT bricks
nxt-firmware
# Open Lighting Architecture
ola
# shell utilities to talk to an 1-Wire owserver
ow-shell
# tools to monitor or inspect a ow-server link
ow-tools
# Dallas 1-wire support
owfs
# common files used by any of the OWFS programs
owfs-common
# 1-Wire filesystem
owfs-fuse
# FTP daemon providing access to 1-Wire networks
owftpd
# HTTP daemon providing access to 1-Wire networks
owhttpd
# Backend server for 1-Wire control
owserver
# printed circuit board (pcb) design program - meta-package
pcb
# printed circuit board (pcb) design program - common files
pcb-common
# printed circuit board (pcb) design program - GTK+ interface
pcb-gtk
# printed circuit board (pcb) design program - LessTif interface
pcb-lesstif
# printed circuit board (pcb) design program
pcb-rnd
# command-line tool for engraving PCBs using CNCs
pcb2gcode
# interfacing with the Arduino from within Pure Data (Pd)
pd-pduino
# interfacing with your XBee from within Pure Data (Pd)
pd-xbee
# Transitional dummy package for python-pyvisa
pyvisa
# Electric schematic editor
qelectrotech
# symbols needed for qelectrotech
qelectrotech-data
# examples files for qelectrotech
qelectrotech-examples
# Open-Source Digital Synthesis Flow
qflow
# Technology files needed for qflow for osu018
qflow-tech-osu018
# Technology files needed for qflow for osu035
qflow-tech-osu035
# Technology files needed for qflow for osu050
qflow-tech-osu050
# Multi-level, over-the-cell maze router
qrouter
# symbolic analyzer and solver of linear analog circuits
qsapecng
# simulator for Microchip PIC16F84 microcontroller
simulpic
# Utilities for using the Wi-Spy USB spectrum analyzer hardware
spectools
# Simple command-line tool for LEGO Mindstorms NXT
t2n
# Tcl/Tk based digital circuit editor and simulator
tkgate
# Tcl/Tk based digital circuit editor and simulator - data files
tkgate-data
# Micro In-System Programmer for Atmel's AVR MCUs
uisp
# USB HID relay driver
usbrelay
# fast free Verilog simulator
verilator
# tool for engraving PCBs using CNCs
visolate
# Data logger for 1-Wire weather sensors
w1retap
# Data logger for 1-Wire weather sensors (MongoDB plugin)
w1retap-mongo
# Data logger for 1-Wire weather sensors (MySQL plugin)
w1retap-mysql
# Data logger for 1-Wire weather sensors (ODBC plugin)
w1retap-odbc
# Data logger for 1-Wire weather sensors (PostgreSQL plugin)
w1retap-pgsql
# Data logger for 1-Wire weather sensors (SQLite plugin)
w1retap-sqlite
# Draw circuit schematics or almost anything
xcircuit
# Framework for Verilog RTL synthesis
yosys
# Framework for Verilog RTL synthesis (development files)
yosys-dev
# Other tools in the "Embedded" section that might be useful
# Firmware for USB JTAG programmers
ixo-usb-jtag
# Common include files for the open wince project
# openwince-include Conflicts with urjtag
# allows programming jtag capable devices such as CPUs or FPGAs
# openwince-jtag Conflicts with urjtag
# Tools for flashing Rockchip devices
rkflashtool
# GUI firmware programming tool for the USBprog hardware
usbprog-gui
# Other cross compilers
gcc-aarch64-linux-gnu
gcc-alpha-linux-gnu
gcc-arm-linux-gnueabi
gcc-arm-linux-gnueabihf
gcc-arm-none-eabi
gcc-h8300-hms
gcc-hppa-linux-gnu
gcc-hppa64-linux-gnu
gcc-m68hc1x
gcc-m68k-linux-gnu
gcc-mips-linux-gnu
gcc-mips64-linux-gnuabi64
gcc-mips64el-linux-gnuabi64
gcc-mipsel-linux-gnu

View File

@@ -7,4 +7,3 @@ network-manager-openvpn-gnome
vim-gtk
wireshark
wkhtmltopdf
zeal

View File

@@ -1,2 +1 @@
volatility
bettercap

View File

@@ -1,22 +0,0 @@
ack-grep
curl
dnsutils
gdb
git
git-crypt
gnupg2
gnupg-agent
ltrace
mosh
ngrep
nmap
strace
tcpdump
tmux
traceroute
tshark
unzip
vim
virtualenvwrapper
whois
zsh

BIN
private_dotfiles/ssh/config Normal file

Binary file not shown.

Binary file not shown.

View File

@@ -1,2 +0,0 @@
# Pickit 3
ATTR{idVendor}=="04d8", ATTR{idProduct}=="900a", MODE="0666", GROUP="plugdev"

View File

@@ -1,38 +0,0 @@
# UDEV Rules for Teensy boards, http://www.pjrc.com/teensy/
#
# The latest version of this file may be found at:
# http://www.pjrc.com/teensy/49-teensy.rules
#
# This file must be placed at:
#
# /etc/udev/rules.d/49-teensy.rules (preferred location)
# or
# /lib/udev/rules.d/49-teensy.rules (req'd on some broken systems)
#
# To install, type this command in a terminal:
# sudo cp 49-teensy.rules /etc/udev/rules.d/49-teensy.rules
#
# Or use the alternate way (from this forum message) to download and install:
# https://forum.pjrc.com/threads/45595?p=150445&viewfull=1#post150445
#
# After this file is installed, physically unplug and reconnect Teensy.
#
ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", ENV{ID_MM_DEVICE_IGNORE}="1"
ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789A]?", ENV{MTP_NO_PROBE}="1"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789ABCD]?", MODE:="0666"
KERNEL=="ttyACM*", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", MODE:="0666"
#
# If you share your linux system with other users, or just don't like the
# idea of write permission for everybody, you can replace MODE:="0666" with
# OWNER:="yourusername" to create the device owned by you, or with
# GROUP:="somegroupname" and mange access using standard unix groups.
#
#
# If using USB Serial you get a new device each time (Ubuntu 9.10)
# eg: /dev/ttyACM0, ttyACM1, ttyACM2, ttyACM3, ttyACM4, etc
# apt-get remove --purge modemmanager (reboot may be necessary)
#
# Older modem proding (eg, Ubuntu 9.04) caused very slow serial device detection.
# To fix, add this near top of /lib/udev/rules.d/77-nm-probe-modem-capabilities.rules
# SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789]?", GOTO="nm_modem_probe_end"
#

View File

@@ -1,6 +0,0 @@
# this udev file should be used with udev 188 and newer
ACTION!="add|change", GOTO="u2f_end"
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0113|0114|0115|0116|0120|0402|0403|0406|0407|0410", TAG+="uaccess"
LABEL="u2f_end"

View File

@@ -1,8 +0,0 @@
# Nuand bladeRF
ATTR{idVendor}=="2cf0", ATTR{idProduct}=="5246", MODE="660", GROUP="plugdev"
# Nuand bladeRF, legacy VID/PID
ATTR{idVendor}=="1d50", ATTR{idProduct}=="6066", MODE="660", GROUP="plugdev"
# Cypress Bootloader
ATTR{idVendor}=="04b4", ATTR{idProduct}=="00f3", MODE="660", GROUP="plugdev"

View File

@@ -1,4 +0,0 @@
SUBSYSTEM=="usb", ATTRS{idVendor}=="1f3a", ATTRS{idProduct}=="efe8", GROUP="plugdev", MODE="0660" SYMLINK+="usb-chip"
SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="1010", GROUP="plugdev", MODE="0660" SYMLINK+="usb-chip-fastboot"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1f3a", ATTRS{idProduct}=="1010", GROUP="plugdev", MODE="0660" SYMLINK+="usb-chip-fastboot"
SUBSYSTEM=="usb", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", GROUP="plugdev", MODE="0660" SYMLINK+="usb-serial-adapter"

View File

@@ -1 +0,0 @@
BUS=="usb", SYSFS{idVendor}=="0403", SYSFS{idProduct}=="6014", GROUP="plugdev"

View File

@@ -1,4 +0,0 @@
ATTRS{idVendor}=="2a03", ENV{ID_MM_DEVICE_IGNORE}="1"
ATTRS{idVendor}=="239a", ENV{ID_MM_DEVICE_IGNORE}="1"
ATTRS{idVendor}=="1b4f", ENV{ID_MM_DEVICE_IGNORE}="1"
ATTRS{idVendor}=="03eb", ENV{ID_MM_DEVICE_IGNORE}="1"

View File

@@ -1,2 +0,0 @@
ATTRS{idProduct}=="d058", ATTRS{idVendor}=="2b04", MODE="664", GROUP="plugdev"
ATTRS{idVendor}=="2b04", ENV{ID_MM_DEVICE_IGNORE}="1"

View File

@@ -1,14 +0,0 @@
# Rules for the Saleae Logic analyzer to allow to run the programs a normal user
# being part of the plugdev group. Simply copy the file to /etc/udev/rules.d/
# and plug the device
BUS!="usb", ACTION!="add", SUBSYSTEM!=="usb_device", GOTO="saleae_logic_rules_end"
# Saleae Logic analyzer (USB Based)
# Bus 006 Device 006: ID 0925:3881 Lakeview Research
# Bus 001 Device 009: ID 21a9:1004 Product: Logic S/16, Manufacturer: Saleae LLC
ATTR{idVendor}=="0925", ATTR{idProduct}=="3881", MODE="664", GROUP="plugdev"
ATTR{idVendor}=="21a9", ATTR{idProduct}=="1004", MODE="664", GROUP="plugdev"
LABEL="saleae_logic_rules_end"