94 Commits
kali ... work

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
a43c80639d Add an unmanaged local_dotfiles dir to override dotfiles. 2016-02-17 10:15:14 -08:00
David Tomaschik
bf6e7bd315 Refresh GPG keys on install. 2016-02-16 13:25:14 -08:00
David Tomaschik
1e93e6b89f Merge branch 'master' into work 2016-02-15 08:53:08 -08:00
David Tomaschik
089261264f Remove rvm auto-changes. 2016-02-15 08:53:00 -08:00
David Tomaschik
32b129c434 Rebase. 2016-02-15 08:50:10 -08:00
David Tomaschik
20581f766f Remove SSH hacks that break things. 2016-02-12 14:46:59 -08:00
David Tomaschik
dfc1021cba Really add RVM key. 2016-02-11 18:32:57 -08:00
David Tomaschik
424febea00 Add rvm install script and key. 2016-02-11 18:32:42 -08:00
David Tomaschik
7ccc6ec6c0 Add RVM. 2016-02-11 18:00:54 -08:00
David Tomaschik
ab6b1784bd Add function to re-source the gnupg environment. 2016-02-10 13:48:12 -08:00
David Tomaschik
7bdcfdf18a Update packages. 2016-02-09 13:13:30 -08:00
David Tomaschik
fe8e33eb92 Merge remote-tracking branch 'origin/master' 2016-02-08 10:38:57 -08:00
David Tomaschik
8786ca65b9 Update README.md. 2016-02-07 23:02:01 -08:00
David Tomaschik
4615724282 Make sure we have git-crypt setup before installing private_dotfiles. 2016-02-07 22:57:42 -08:00
David Tomaschik
aa41a0e1ee Add 1 git-crypt collaborator
New collaborators:

	5DEA789B David Tomaschik <david@systemoverlord.com>
2016-02-07 22:52:00 -08:00
David Tomaschik
552a3bdd1d Use git-crypt to store private_dotfiles. 2016-02-07 22:50:26 -08:00
David Tomaschik
97b5a694d3 Set CheckHostIP no. 2016-02-07 16:05:31 -08:00
David Tomaschik
d35dd23019 Only try to change shell on interactive sessions. 2016-02-07 16:05:21 -08:00
David Tomaschik
9a26c713d7 Fix problems with seahorse stealing ssh-agent. 2016-02-07 14:40:56 -08:00
David Tomaschik
dc64160e83 Move kali repo key into keys dir. 2016-02-07 13:07:53 -08:00
David Tomaschik
ec8b2379e5 Resurrect deb-to-kali.sh for Kali rolling. 2016-02-06 14:01:21 -08:00
David Tomaschik
baa267e4e7 Remove unmaintained deb-to-kali script. 2016-02-03 19:11:23 -08:00
David Tomaschik
31e19d6f90 Cleanup after Chrome install. 2016-02-03 19:10:37 -08:00
David Tomaschik
736e24468b Update AWL formatting. 2016-01-30 14:11:19 -08:00
David Tomaschik
727981e760 Fix freenode due to CA change. 2016-01-30 13:21:34 -08:00
David Tomaschik
ac2c605a5e Remove wallpapers to move to another repo. 2016-01-26 21:40:19 -08:00
David Tomaschik
7c2964b6d8 Chrome wrapper for kali use. 2016-01-25 21:53:00 -08:00
David Tomaschik
73873a9316 Merge branch 'master' of https://github.com/Matir/skel 2016-01-25 09:52:48 -08:00
David Tomaschik
452dfa1ec2 Add uber pubkey. 2016-01-21 18:39:20 -08:00
David Tomaschik
37099ff94d Add unzip to packages. 2016-01-21 18:38:59 -08:00
David Tomaschik
1df1d1f244 Remove wallpapers to be moved to another directory. 2016-01-14 06:52:00 -08:00
David Tomaschik
1ac4c6e0b1 Add wallpapers. 2016-01-01 01:37:01 -08:00
David Tomaschik
358c5d48a5 Mouse mode updates in tmux.conf. 2015-12-23 23:15:56 -08:00
David Tomaschik
b8c290965b Merge branch 'master' of https://github.com/Matir/skel 2015-12-16 12:33:10 -08:00
David Tomaschik
ecfbce96c0 Rename xprofile to xsessionrc. 2015-12-16 12:32:48 -08:00
David Tomaschik
c9a4277724 John rules including KoreLogic wordlist rules. 2015-12-12 08:48:03 -08:00
David Tomaschik
ec69fed5d2 Dotfile refactoring. 2015-12-10 19:37:53 -08:00
David Tomaschik
138f9ef3c3 Alternative solution for path for MSF tools. 2015-11-25 00:14:52 -08:00
David Tomaschik
1442824e64 Add nasm_shell to metasploit aliases. 2015-11-24 23:41:44 -08:00
David Tomaschik
934dfe32df Add MSF aliases. 2015-11-24 11:21:48 -08:00
David Tomaschik
79f96d0ed3 Update install script for verbosity. 2015-11-18 21:46:10 -08:00
David Tomaschik
b9cf6bae01 site2pdf support. 2015-11-18 01:23:20 -08:00
David Tomaschik
056f0087e7 Add Pentester Framework. 2015-11-18 00:23:21 -08:00
David Tomaschik
0ce708d0ec Add ptf. 2015-11-18 00:16:29 -08:00
David Tomaschik
fc3903003e Quieter apt-get update. 2015-11-17 23:56:10 -08:00
David Tomaschik
dd4beff725 Fix install_git/git_install mixup. 2015-11-17 23:53:33 -08:00
David Tomaschik
4858e33ff1 Wrap git install to also update. 2015-11-17 10:39:06 -08:00
David Tomaschik
9520a9b484 Merge branch 'master' of https://github.com/Matir/skel 2015-11-15 13:27:41 -08:00
David Tomaschik
54481260b8 Add vimoutliner. Closes #1. 2015-11-15 13:27:34 -08:00
David Tomaschik
59e5f5ad79 Fix up TERM for gnome-terminal. Ugly hack. 2015-11-12 16:15:12 -08:00
David Tomaschik
4c044264d8 Prune without prompting. 2015-11-12 16:06:22 -08:00
David Tomaschik
129e7088f3 Solarized dircolors. 2015-11-12 10:43:44 -08:00
David Tomaschik
5c57186807 Don't ask for confirmation if there are no results. 2015-11-12 10:35:10 -08:00
David Tomaschik
97d0f2f1d0 Prune broken symlinks now confirms. 2015-11-12 10:33:25 -08:00
David Tomaschik
742e2c10c3 Default install packages to off. 2015-11-11 18:59:12 -08:00
David Tomaschik
a0ce33ddb1 Switch from reverser gdbinit to PEDA. 2015-11-11 18:57:47 -08:00
David Tomaschik
6a0c55ac73 Install script gets zsh as needed. 2015-11-08 12:26:56 -08:00
David Tomaschik
dfdf1b8588 Basic skel update script. 2015-11-08 10:44:03 -08:00
David Tomaschik
7955b24be6 Cleanup broken symlinks at end of setup. 2015-11-07 14:07:57 -08:00
David Tomaschik
bfdd2f4d6a Add proper shebang to get zsh functionality. 2015-11-07 13:34:20 -08:00
David Tomaschik
a234f2934f Make burp work from alt-f2 and other non-function locations. 2015-11-07 13:15:35 -08:00
David Tomaschik
71df11db58 Merge branch 'master' of https://github.com/Matir/skel 2015-11-07 12:05:21 -08:00
David Tomaschik
a61efc0fb1 Avoid using features not present in /bin/sh. 2015-11-07 12:04:39 -08:00
David Tomaschik
850ab7090a Disable mouse mode in tmux, as it interferes with copy/paste. 2015-11-02 08:40:29 -08:00
David Tomaschik
90410ca322 New subkeys. 2015-10-29 21:47:06 -07:00
David Tomaschik
e42a8472f6 Merge branch 'master' of https://github.com/Matir/skel 2015-10-29 20:33:13 -07:00
David Tomaschik
81e25dc192 Update irssi. 2015-10-29 20:33:05 -07:00
David Tomaschik
6bc3a67fb0 Merge remote-tracking branch 'origin/master' 2015-10-27 09:14:16 -07:00
David Tomaschik
cb6ca10f6f Enable command-not-found. 2015-10-27 09:13:51 -07:00
David Tomaschik
ef887ed209 Cache credentials in git. 2015-10-27 09:13:15 -07:00
David Tomaschik
d9fcc5b1e6 Merge branch 'master' of https://github.com/Matir/skel 2015-10-22 21:25:59 -07:00
David Tomaschik
95f68cd822 Merge branch 'master' of https://github.com/Matir/skel 2015-10-22 13:33:46 -07:00
David Tomaschik
2291c85db5 Preserve PYTHONPATH. 2015-10-22 13:33:43 -07:00
David Tomaschik
a55243a867 Add mosh to packages. 2015-10-21 20:24:32 -07:00
David Tomaschik
c4154d8ca9 Add appengine. 2015-10-21 20:23:32 -07:00
David Tomaschik
c1350c83d2 Fix package relative paths. 2015-10-10 16:02:29 -07:00
David Tomaschik
f4232608f6 Add ipython. 2015-10-10 11:38:49 -07:00
David Tomaschik
4f64e41232 Suppress dpkg error message. 2015-10-10 01:48:23 -07:00
David Tomaschik
98455d4917 Remove spurious echos. 2015-10-09 00:32:12 -07:00
David Tomaschik
0da6ca2c47 Merge branch 'master' of https://github.com/Matir/skel 2015-10-08 16:27:48 -07:00
David Tomaschik
fc25cfd8d3 Support for saving skel preferences across runs. 2015-10-08 16:27:40 -07:00
David Tomaschik
4c1639535b Have a notion of fully trusted vs partially trusted keys. 2015-10-08 16:08:40 -07:00
David Tomaschik
4cd1306393 Add more useful git aliases. 2015-10-08 15:35:36 -07:00
David Tomaschik
a33d352cf9 Recognize multiple paths for zsh. 2015-10-08 15:28:14 -07:00
David Tomaschik
79b352d091 Use consistent test operator of modern bash builtin. 2015-10-08 10:14:53 -07:00
David Tomaschik
7b3750a768 Merge branch 'master' of https://github.com/Matir/skel 2015-10-07 16:15:48 -07:00
David Tomaschik
f7f8baad03 Silence gpg-agent warnings. 2015-10-07 16:15:37 -07:00
David Tomaschik
fc4ab371f5 Merge branch 'master' of https://github.com/Matir/skel 2015-10-07 00:04:40 -07:00
David Tomaschik
2546279b92 Make all install variables function-local. 2015-10-07 00:04:30 -07:00
David Tomaschik
b1de895300 Update deb-to-kali script to handle relative paths. 2015-10-06 09:43:36 -07:00
David Tomaschik
9846031492 Silence chrome installed query. 2015-10-05 08:14:57 -07:00
46 changed files with 2701 additions and 4145 deletions

3
.git-crypt/.gitattributes vendored Normal file
View File

@@ -0,0 +1,3 @@
# Do not edit this file. To specify the files to encrypt, create your own
# .gitattributes file in the directory where your files are.
* !filter !diff

1
.gitattributes vendored Normal file
View File

@@ -0,0 +1 @@
private_dotfiles/** filter=git-crypt diff=git-crypt

4
.gitignore vendored
View File

@@ -1,5 +1,5 @@
private_dotfiles installed-prefs
private_dotfiles/**
*.swp *.swp
*~ *~
*.bak *.bak
local_dotfiles

View File

@@ -9,6 +9,10 @@ packages I like installed, and an ever-growing setup script. There are various
options to install just parts of it, such as on a machine where I only have a options to install just parts of it, such as on a machine where I only have a
user account but no root. user account but no root.
This now uses [git-crypt](https://github.com/AGWA/git-crypt) to protect
`private_dotfiles` for things I don't want to splash all over the internet. :)
I still wouldn't check in anything terribly sensitive, like private keys.
### Usefulness ### ### Usefulness ###
Mostly I post this to github so I can quickly grab the things I want, but it Mostly I post this to github so I can quickly grab the things I want, but it
might also be useful to others. Feel free to raise an issue if you have any might also be useful to others. Feel free to raise an issue if you have any
@@ -22,6 +26,8 @@ MINIMAL: Don't do things that require git clones or installation of anything
not included in my .skel. (Defaults to 0, installs everything.) not included in my .skel. (Defaults to 0, installs everything.)
INSTALL_KEYS: Install GnuPG and SSH keys. SSH keys are placed in INSTALL_KEYS: Install GnuPG and SSH keys. SSH keys are placed in
authorized_keys. (Defaults to 1, installs keys.) authorized_keys. (Defaults to 1, installs keys.)
TRUST_ALL_KEYS: Allow all keys to be used for SSH login, versus a small subset.
INSTALL_PKGS: Install common packages, if on a Debian-like system. INSTALL_PKGS: Install common packages, if on a Debian-like system.
(Defaults to opposite of $MINIMAL.) (Defaults to opposite of $MINIMAL.)
SAVE: Save the install options to ${BASEDIR}/installed-prefs
``` ```

5
dotfiles/zshrc.d/burp.zsh → bin/burp Normal file → Executable file
View File

@@ -1,4 +1,6 @@
burp() { #!/bin/zsh
_start_burp() {
setopt localoptions nullglob numeric_glob_sort setopt localoptions nullglob numeric_glob_sort
local NO_DOWNLOAD local NO_DOWNLOAD
local JAR local JAR
@@ -27,3 +29,4 @@ burp() {
java -jar ${JAR} "$@" java -jar ${JAR} "$@"
fi fi
} }
_start_burp

10
bin/google-chrome Executable file
View File

@@ -0,0 +1,10 @@
#!/bin/bash
CHROME=`which google-chrome`
if [ `id -u` != "0" ] ; then
exec $CHROME "$@"
fi
CMD="${CHROME} --user-data-dir=${HOME}/.chrome-data-dir \"$@\""
su -c "${CMD}" chromeuser

28
bin/metasploit.sh Executable file
View File

@@ -0,0 +1,28 @@
#!/bin/sh
export NAME=$(basename "$0")
export BASE="/opt/metasploit" # TODO: search this path
# Autogen'd
. ${BASE}/scripts/setenv.sh
# Use Pro's bundled gems instead of the gemcache
export MSF_BUNDLE_GEMS=0
export BUNDLE_GEMFILE=${BASE}/apps/pro/Gemfile
# Set a flag so Gemfile can limit gems
export FRAMEWORK_FLAG=true
export MSF_DATABASE_CONFIG=${BASE}/apps/pro/ui/config/database.yml
export TERMINFO=${BASE}/common/share/terminfo/
# Check for ruby scripts such as msfconsole directly to avoid having to add
# msf3 to the path.
if [ -f "${BASE}/apps/pro/msf3/${NAME}" ]; then
exec ${BASE}/apps/pro/msf3/${NAME} "$@"
fi
if [ -f "${BASE}/apps/pro/msf3/tools/exploit/${NAME}.rb" ]; then
exec ${BASE}/apps/pro/msf3/tools/exploit/${NAME}.rb "$@"
fi
exec ${NAME} "$@"

1
bin/nasm_shell Symbolic link
View File

@@ -0,0 +1 @@
metasploit.sh

1
bin/pattern_create Symbolic link
View File

@@ -0,0 +1 @@
metasploit.sh

1
bin/pattern_offset Symbolic link
View File

@@ -0,0 +1 @@
metasploit.sh

View File

@@ -5,13 +5,12 @@ if [ `whoami` != "root" ] ; then
exit 1 exit 1
fi fi
BASEDIR=`dirname $0`
cat >/etc/apt/sources.list.d/kali.list <<KALI_EOF cat >/etc/apt/sources.list.d/kali.list <<KALI_EOF
deb http://http.kali.org/kali sana main non-free contrib deb http://http.kali.org/kali kali-rolling main contrib non-free
deb-src http://http.kali.org/kali sana main non-free contrib
deb http://security.kali.org/kali-security/ sana/updates main contrib non-free
deb-src http://security.kali.org/kali-security/ sana/updates main contrib non-free
KALI_EOF KALI_EOF
/usr/bin/apt-key add kali-repo.key /usr/bin/apt-key add ${BASEDIR}/keys/gpg/kali-repo.key
/usr/bin/apt-get update /usr/bin/apt-get update
/usr/bin/apt-get install kali-linux-full /usr/bin/apt-get install -y kali-linux-full

View File

@@ -1,6 +1,10 @@
# Load env first
if [ -f $HOME/.env ] ; then source $HOME/.env ; fi
# History settings # History settings
HISTCONTROL=ignoredups:ignorespace HISTCONTROL=ignoredups:ignorespace
shopt -s histappend shopt -s histappend
shopt -s expand_aliases
HISTSIZE=1000 HISTSIZE=1000
HISTFILESIZE=0 HISTFILESIZE=0
@@ -10,23 +14,12 @@ shopt -s checkwinsize
# Fancier outputs # Fancier outputs
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" [ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
case "$TERM" in
xterm-color) color_prompt=yes;;
esac
force_color_prompt=yes
if [ -n "$force_color_prompt" ]; then
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
color_prompt=yes
else
color_prompt=
fi
fi
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi fi
unset color_prompt force_color_prompt
# If this is an xterm set the title to user@host:dir # If this is an xterm set the title to user@host:dir
case "$TERM" in case "$TERM" in
@@ -45,3 +38,5 @@ fi
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
. /etc/bash_completion . /etc/bash_completion
fi fi
if [[ -e $HOME/.aliases ]] ; then source $HOME/.aliases ; fi

295
dotfiles/dircolors Normal file
View File

@@ -0,0 +1,295 @@
# Dark 256 color solarized theme for the color GNU ls utility.
# Used and tested with dircolors (GNU coreutils) 8.5
#
# @author {@link http://sebastian.tramp.name Sebastian Tramp}
# @license http://sam.zoy.org/wtfpl/ Do What The Fuck You Want To Public License (WTFPL)
#
# More Information at
# https://github.com/seebi/dircolors-solarized
# Term Section
TERM Eterm
TERM ansi
TERM color-xterm
TERM con132x25
TERM con132x30
TERM con132x43
TERM con132x60
TERM con80x25
TERM con80x28
TERM con80x30
TERM con80x43
TERM con80x50
TERM con80x60
TERM cons25
TERM console
TERM cygwin
TERM dtterm
TERM dvtm
TERM dvtm-256color
TERM eterm-color
TERM fbterm
TERM gnome
TERM gnome-256color
TERM jfbterm
TERM konsole
TERM konsole-256color
TERM kterm
TERM linux
TERM linux-c
TERM mach-color
TERM mlterm
TERM putty
TERM putty-256color
TERM rxvt
TERM rxvt-256color
TERM rxvt-cygwin
TERM rxvt-cygwin-native
TERM rxvt-unicode
TERM rxvt-unicode256
TERM rxvt-unicode-256color
TERM screen
TERM screen-16color
TERM screen-16color-bce
TERM screen-16color-s
TERM screen-16color-bce-s
TERM screen-256color
TERM screen-256color-bce
TERM screen-256color-s
TERM screen-256color-bce-s
TERM screen-256color-italic
TERM screen-bce
TERM screen-w
TERM screen.linux
TERM screen.xterm-256color
TERM st
TERM st-meta
TERM st-256color
TERM st-meta-256color
TERM vt100
TERM xterm
TERM xterm-16color
TERM xterm-256color
TERM xterm-256color-italic
TERM xterm-88color
TERM xterm-color
TERM xterm-debian
TERM xterm-termite
## Documentation
#
# standard colors
#
# Below are the color init strings for the basic file types. A color init
# string consists of one or more of the following numeric codes:
# Attribute codes:
# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed
# Text color codes:
# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
# Background color codes:
# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white
#
#
# 256 color support
# see here: http://www.mail-archive.com/bug-coreutils@gnu.org/msg11030.html)
#
# Text 256 color coding:
# 38;5;COLOR_NUMBER
# Background 256 color coding:
# 48;5;COLOR_NUMBER
## Special files
NORMAL 00;38;5;244 # no color code at all
#FILE 00 # regular file: use no color at all
RESET 0 # reset to "normal" color
DIR 00;38;5;33 # directory 01;34
LINK 00;38;5;37 # symbolic link. (If you set this to 'target' instead of a
# numerical value, the color is as for the file pointed to.)
MULTIHARDLINK 00 # regular file with more than one link
FIFO 48;5;230;38;5;136;01 # pipe
SOCK 48;5;230;38;5;136;01 # socket
DOOR 48;5;230;38;5;136;01 # door
BLK 48;5;230;38;5;244;01 # block device driver
CHR 48;5;230;38;5;244;01 # character device driver
ORPHAN 48;5;235;38;5;160 # symlink to nonexistent file, or non-stat'able file
SETUID 48;5;160;38;5;230 # file that is setuid (u+s)
SETGID 48;5;136;38;5;230 # file that is setgid (g+s)
CAPABILITY 30;41 # file with capability
STICKY_OTHER_WRITABLE 48;5;64;38;5;230 # dir that is sticky and other-writable (+t,o+w)
OTHER_WRITABLE 48;5;235;38;5;33 # dir that is other-writable (o+w) and not sticky
STICKY 48;5;33;38;5;230 # dir with the sticky bit set (+t) and not other-writable
# This is for files with execute permission:
EXEC 00;38;5;64
## Archives or compressed (violet + bold for compression)
.tar 00;38;5;61
.tgz 00;38;5;61
.arj 00;38;5;61
.taz 00;38;5;61
.lzh 00;38;5;61
.lzma 00;38;5;61
.tlz 00;38;5;61
.txz 00;38;5;61
.zip 00;38;5;61
.z 00;38;5;61
.Z 00;38;5;61
.dz 00;38;5;61
.gz 00;38;5;61
.lz 00;38;5;61
.xz 00;38;5;61
.bz2 00;38;5;61
.bz 00;38;5;61
.tbz 00;38;5;61
.tbz2 00;38;5;61
.tz 00;38;5;61
.deb 00;38;5;61
.rpm 00;38;5;61
.jar 00;38;5;61
.rar 00;38;5;61
.ace 00;38;5;61
.zoo 00;38;5;61
.cpio 00;38;5;61
.7z 00;38;5;61
.rz 00;38;5;61
.apk 00;38;5;61
.gem 00;38;5;61
# Image formats (yellow)
.jpg 00;38;5;136
.JPG 00;38;5;136 #stupid but needed
.jpeg 00;38;5;136
.gif 00;38;5;136
.bmp 00;38;5;136
.pbm 00;38;5;136
.pgm 00;38;5;136
.ppm 00;38;5;136
.tga 00;38;5;136
.xbm 00;38;5;136
.xpm 00;38;5;136
.tif 00;38;5;136
.tiff 00;38;5;136
.png 00;38;5;136
.PNG 00;38;5;136
.svg 00;38;5;136
.svgz 00;38;5;136
.mng 00;38;5;136
.pcx 00;38;5;136
.dl 00;38;5;136
.xcf 00;38;5;136
.xwd 00;38;5;136
.yuv 00;38;5;136
.cgm 00;38;5;136
.emf 00;38;5;136
.eps 00;38;5;136
.CR2 00;38;5;136
.ico 00;38;5;136
# Files of special interest (base1)
.tex 00;38;5;245
.rdf 00;38;5;245
.owl 00;38;5;245
.n3 00;38;5;245
.ttl 00;38;5;245
.nt 00;38;5;245
.torrent 00;38;5;245
.xml 00;38;5;245
*Makefile 00;38;5;245
*Rakefile 00;38;5;245
*Dockerfile 00;38;5;245
*build.xml 00;38;5;245
*rc 00;38;5;245
*1 00;38;5;245
.nfo 00;38;5;245
*README 00;38;5;245
*README.txt 00;38;5;245
*readme.txt 00;38;5;245
.md 00;38;5;245
*README.markdown 00;38;5;245
.ini 00;38;5;245
.yml 00;38;5;245
.cfg 00;38;5;245
.conf 00;38;5;245
.c 00;38;5;245
.cpp 00;38;5;245
.cc 00;38;5;245
.sqlite 00;38;5;245
.go 00;38;5;245
.sql 00;38;5;245
# "unimportant" files as logs and backups (base01)
.log 00;38;5;240
.bak 00;38;5;240
.aux 00;38;5;240
.lof 00;38;5;240
.lol 00;38;5;240
.lot 00;38;5;240
.out 00;38;5;240
.toc 00;38;5;240
.bbl 00;38;5;240
.blg 00;38;5;240
*~ 00;38;5;240
*# 00;38;5;240
.part 00;38;5;240
.incomplete 00;38;5;240
.swp 00;38;5;240
.tmp 00;38;5;240
.temp 00;38;5;240
.o 00;38;5;240
.pyc 00;38;5;240
.class 00;38;5;240
.cache 00;38;5;240
# Audio formats (orange)
.aac 00;38;5;166
.au 00;38;5;166
.flac 00;38;5;166
.mid 00;38;5;166
.midi 00;38;5;166
.mka 00;38;5;166
.mp3 00;38;5;166
.mpc 00;38;5;166
.ogg 00;38;5;166
.ra 00;38;5;166
.wav 00;38;5;166
.m4a 00;38;5;166
# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions
.axa 00;38;5;166
.oga 00;38;5;166
.spx 00;38;5;166
.xspf 00;38;5;166
# Video formats (as audio + bold)
.mov 00;38;5;166
.MOV 00;38;5;166
.mpg 00;38;5;166
.mpeg 00;38;5;166
.m2v 00;38;5;166
.mkv 00;38;5;166
.ogm 00;38;5;166
.mp4 00;38;5;166
.m4v 00;38;5;166
.mp4v 00;38;5;166
.vob 00;38;5;166
.qt 00;38;5;166
.nuv 00;38;5;166
.wmv 00;38;5;166
.asf 00;38;5;166
.rm 00;38;5;166
.rmvb 00;38;5;166
.flc 00;38;5;166
.avi 00;38;5;166
.fli 00;38;5;166
.flv 00;38;5;166
.gl 00;38;5;166
.m2ts 00;38;5;166
.divx 00;38;5;166
.webm 00;38;5;166
# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions
.axv 00;38;5;166
.anx 00;38;5;166
.ogv 00;38;5;166
.ogx 00;38;5;166

24
dotfiles/env Normal file
View File

@@ -0,0 +1,24 @@
# Sourced by zshrc as well as bash.
umask 027
ulimit -c unlimited
# Paths and preferences
export PATH="$HOME/bin:/sbin:/usr/sbin:$PATH"
export PYTHONPATH="$HOME/.python:$PYTHONPATH"
export GOPATH="$HOME/.go"
export VISUAL=vim
export EDITOR=vim
export DEBEMAIL="david@systemoverlord.com"
export DEBFULLNAME="David Tomaschik"
export LESS="-MR"
# 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" && $COLORTERM == "gnome-terminal" ]] ; then
export TERM="xterm-256color"
fi
if [[ -e $HOME/.localenv ]] ; then source $HOME/.localenv ; fi

View File

@@ -1,5 +1,6 @@
# General options # General options
set verbose off set verbose off
set confirm off
set disassembly-flavor intel set disassembly-flavor intel
set output-radix 0x10 set output-radix 0x10
set input-radix 10. set input-radix 10.
@@ -21,62 +22,5 @@ define reg
info registers info registers
end end
# __________________gdb options_________________ source ~/.peda/peda.py
source ~/.gdbinit.local
# set to 1 to have ARM target debugging as default, use the "arm" command to switch inside gdb
set $ARM = 0
# set to 0 if you have problems with the colorized prompt - reported by Plouj with Ubuntu gdb 7.2
set $COLOUREDPROMPT = 0
# Colour the first line of the disassembly - default is green, if you want to change it search for
# SETCOLOUR1STLINE and modify it :-)
set $SETCOLOUR1STLINE = 0
# set to 0 to remove display of objectivec messages (default is 1)
set $SHOWOBJECTIVEC = 1
# set to 0 to remove display of cpu registers (default is 1)
set $SHOWCPUREGISTERS = 1
# set to 1 to enable display of stack (default is 0)
set $SHOWSTACK = 1
# set to 1 to show 4 bytes of the stack at a time for 32bit and 8 bytes for 64bit
set $STACK_WORDSIZE = 1
# set to 1 to enable display of data window (default is 0)
set $SHOWDATAWIN = 0
# set to 0 to disable coloured display of changed registers
set $SHOWREGCHANGES = 1
# set to 1 so skip command to execute the instruction at the new location
# by default it EIP/RIP will be modified and update the new context but not execute the instruction
set $SKIPEXECUTE = 0
# if $SKIPEXECUTE is 1 configure the type of execution
# 1 = use stepo (do not get into calls), 0 = use stepi (step into calls)
set $SKIPSTEP = 1
# show the ARM opcodes - change to 0 if you don't want such thing (in x/i command)
set $ARMOPCODES = 1
# x86 disassembly flavor: 0 for Intel, 1 for AT&T
set $X86FLAVOR = 0
# use colorized output or not
set $USECOLOR = 0
# 64 bit options
set $64BITS = 0
# Remote 64 bit debugging
set $KDP64BITS = -1
set confirm off
set verbose off
set output-radix 0x10
set input-radix 0x10
# These make gdb never pause in its output
set height 0
set width 0
set $SHOW_CONTEXT = 1
set $SHOW_NEST_INSN = 0
set $CONTEXTSIZE_STACK = 6
set $CONTEXTSIZE_DATA = 8
set $CONTEXTSIZE_CODE = 8
# __________________end gdb options_________________
#
source ~/.reverser-gdbinit

View File

@@ -20,6 +20,14 @@
[alias] [alias]
st = status st = status
last = log -1 HEAD
# Thanks to
# http://durdn.com/blog/2012/11/22/must-have-git-aliases-advanced-examples/
ls = log --pretty=format:"%C(yellow)%h%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate
ll = log --pretty=format:"%C(yellow)%h%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --numstat
files = ls-files
f = "!git ls-files | grep -i"
logtree = log --graph --oneline --decorate --all
[push] [push]
default = current default = current
@@ -43,3 +51,5 @@
[url "git@gist.github.com:"] [url "git@gist.github.com:"]
pushInsteadOf = "gist:" pushInsteadOf = "gist:"
pushInsteadOf = "git://gist.github.com/" pushInsteadOf = "git://gist.github.com/"
[credential]
helper = cache --timeout=36000

View File

@@ -1,4 +1,3 @@
enable-ssh-support
use-standard-socket use-standard-socket
default-cache-ttl 7200 default-cache-ttl 7200
default-cache-ttl-ssh 7200 default-cache-ttl-ssh 7200

View File

@@ -16,13 +16,11 @@ servers = (
autoconnect = "yes"; autoconnect = "yes";
}, },
{ {
address = "chat.freenode.net"; address = "irc.hackint.eu";
chatnet = "freenode"; chatnet = "hackint";
port = "7000"; port = "9999";
use_ssl = "yes"; use_ssl = "yes";
ssl_cert = "~/.irssi/matir.pem"; ssl_verify = "no";
ssl_verify = "yes";
ssl_cafile = "~/.irssi/instantssl.crt";
autoconnect = "yes"; autoconnect = "yes";
}, },
{ {
@@ -31,7 +29,7 @@ servers = (
port = "6697"; port = "6697";
use_ssl = "yes"; use_ssl = "yes";
ssl_verify = "no"; ssl_verify = "no";
autoconnect = "yes"; autoconnect = "no";
}, },
{ {
address = "irc.rpis.ec"; address = "irc.rpis.ec";
@@ -40,6 +38,17 @@ servers = (
use_ssl = "yes"; use_ssl = "yes";
ssl_verify = "no"; ssl_verify = "no";
autoconnect = "yes"; autoconnect = "yes";
},
{
address = "chat.freenode.net";
chatnet = "freenode";
port = "7000";
use_ssl = "yes";
ssl_cert = "~/.irssi/matir.pem";
ssl_verify = "yes";
ssl_capath = "/etc/ssl/certs";
family = "inet";
autoconnect = "yes";
} }
); );
@@ -78,13 +87,14 @@ channels = (
{ name = "#wargames"; chatnet = "overthewire"; autojoin = "yes"; }, { name = "#wargames"; chatnet = "overthewire"; autojoin = "yes"; },
{ name = "#social"; chatnet = "overthewire"; autojoin = "yes"; }, { name = "#social"; chatnet = "overthewire"; autojoin = "yes"; },
{ name = "#openvpn"; chatnet = "freenode"; autojoin = "yes"; }, { name = "#openvpn"; chatnet = "freenode"; autojoin = "yes"; },
{ name = "#shadowcats"; chatnet = "freenode"; autojoin = "yes"; },
{ name = "#amateria"; chatnet = "overthewire"; autojoin = "yes"; }, { name = "#amateria"; chatnet = "overthewire"; autojoin = "yes"; },
{ name = "#io"; chatnet = "overthewire"; autojoin = "yes"; }, { name = "#io"; chatnet = "overthewire"; autojoin = "yes"; },
{ name = "#radare"; chatnet = "freenode"; autojoin = "yes"; }, { name = "#radare"; chatnet = "freenode"; autojoin = "yes"; },
{ name = "#vulnhub"; chatnet = "freenode"; autojoin = "yes"; }, { name = "#vulnhub"; chatnet = "freenode"; autojoin = "yes"; },
{ name = "#redditnet"; chatnet = "geekshed"; autojoin = "yes"; }, { name = "#redditnet"; chatnet = "geekshed"; autojoin = "yes"; },
{ name = "#rpisec"; chatnet = "rpisec"; autojoin = "yes"; } { name = "#rpisec"; chatnet = "rpisec"; autojoin = "yes"; },
{ name = "#offsec"; chatnet = "freenode"; autojoin = "yes"; },
{ name = "#offtopicsec"; chatnet = "freenode"; autojoin = "yes"; }
); );
aliases = { aliases = {
@@ -264,6 +274,13 @@ statusbar = {
barend = { priority = "100"; alignment = "right"; }; barend = { priority = "100"; alignment = "right"; };
}; };
}; };
awl_2 = {
items = {
barstart = { priority = "100"; };
awl_2 = { };
barend = { priority = "100"; alignment = "right"; };
};
};
}; };
}; };
settings = { settings = {
@@ -286,8 +303,9 @@ settings = {
awl_shared_sbar = "OFF"; awl_shared_sbar = "OFF";
awl_viewer = "no"; awl_viewer = "no";
awl_block = "-15"; awl_block = "-15";
awl_maxlines = "2"; awl_maxlines = "3";
awl_height_adjust = "2"; awl_height_adjust = "2";
awl_hide_empty = "0";
}; };
}; };
windows = { windows = {
@@ -394,3 +412,4 @@ windows = {
}; };
}; };
mainwindows = { 1 = { first_line = "1"; lines = "78"; }; }; mainwindows = { 1 = { first_line = "1"; lines = "78"; }; };
logs = { };

View File

@@ -292,3 +292,6 @@ abstracts = {
# hilight with specified color, $0 = color, $1 = text # hilight with specified color, $0 = color, $1 = text
sb_act_hilight_color = "$0$1-%n"; sb_act_hilight_color = "$0$1-%n";
}; };
formats = {
"Irssi::Script::adv_windowlist" = { awl_display_header = ""; };
};

1837
dotfiles/john/john.conf Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,36 +1,3 @@
# Sourced by zshrc as well as bash.
umask 027
ulimit -c unlimited
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
shopt -s expand_aliases
fi
# Paths and preferences
export PATH="$HOME/bin:/sbin:/usr/sbin:$PATH"
export PYTHONPATH="$HOME/.python"
export GOPATH="$HOME/.go"
export VISUAL=vim
export EDITOR=vim
export DEBEMAIL="david@systemoverlord.com"
export DEBFULLNAME="David Tomaschik"
export LESS="-MR"
EXTRA_PATHS=("$HOME/.gce/google-cloud-sdk/bin" "$HOME/bin/genymotion"
"$HOME/bin/genymotion/tools" "$HOME/bin/go_appengine" )
for p in "${EXTRA_PATHS[@]}" ; do
if [ -d "$p" ] ; then
export PATH="$PATH:$p"
fi
done
unset EXTRA_PATHS
# Setup GPG Agent # Setup GPG Agent
GPG_AGENT_INFO_PATH=$HOME/.gnupg/gpg-agent-info-`hostname` 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 if test -f $GPG_AGENT_INFO_PATH && kill -0 `cut -d: -f 2 $GPG_AGENT_INFO_PATH` 2>/dev/null ; then
@@ -38,12 +5,14 @@ if test -f $GPG_AGENT_INFO_PATH && kill -0 `cut -d: -f 2 $GPG_AGENT_INFO_PATH` 2
export GPG_AGENT_INFO SSH_AUTH_SOCK SSH_AGENT_PID export GPG_AGENT_INFO SSH_AUTH_SOCK SSH_AGENT_PID
else else
if which gpg-agent >/dev/null 2>&1 ; then if which gpg-agent >/dev/null 2>&1 ; then
gpg-agent -q || eval `gpg-agent --daemon --enable-ssh-support --write-env-file $GPG_AGENT_INFO_PATH` 2>/dev/null 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
fi fi
unset GPG_AGENT_INFO_PATH unset GPG_AGENT_INFO_PATH
export GPG_TTY=`tty` export GPG_TTY=`tty`
# End GPG # End GPG
if [[ -e $HOME/.localenv ]] ; then source $HOME/.localenv ; fi
if [[ -e $HOME/.aliases ]] ; then source $HOME/.aliases ; fi

File diff suppressed because it is too large Load Diff

View File

@@ -2,6 +2,9 @@
# Never fall back to protocol 1: it's broken # Never fall back to protocol 1: it's broken
Protocol 2 Protocol 2
Host scoreboard
Hostname 104.131.136.220
# Defaults (May be Overridden) # Defaults (May be Overridden)
Host * Host *
ControlMaster auto ControlMaster auto
@@ -11,3 +14,4 @@ Host *
ForwardX11 no ForwardX11 no
ForwardX11Trusted no ForwardX11Trusted no
ServerAliveInterval 120 ServerAliveInterval 120
CheckHostIP no

View File

@@ -26,11 +26,6 @@ set -g set-titles-string '#h:#S:#I.#P #W'
# colors # colors
set -g default-terminal screen-256color set -g default-terminal screen-256color
# Mouse
set -g mode-mouse on
setw -g mouse-select-window on
setw -g mouse-select-pane on
# Activity # Activity
setw -g monitor-activity on setw -g monitor-activity on
set -g visual-activity on set -g visual-activity on
@@ -49,3 +44,20 @@ set -g status-interval 60
set -g status-left-length 30 set -g status-left-length 30
set -g status-left '/#S/ ' set -g status-left '/#S/ '
set -g status-right '#(cut -d " " -f 1-3 /proc/loadavg)#[default] #[fg=colour166]%H:%M#[default]' set -g status-right '#(cut -d " " -f 1-3 /proc/loadavg)#[default] #[fg=colour166]%H:%M#[default]'
# Advanced mouse mode from http://tangledhelix.com/blog/2012/07/16/tmux-and-mouse-mode/
# Toggle mouse on
bind m \
set -g mode-mouse on \;\
set -g mouse-resize-pane on \;\
set -g mouse-select-pane on \;\
set -g mouse-select-window on \;\
display 'Mouse: ON'
# Toggle mouse off
bind M \
set -g mode-mouse off \;\
set -g mouse-resize-pane off \;\
set -g mouse-select-pane off \;\
set -g mouse-select-window off \;\
display 'Mouse: OFF'

View File

@@ -16,6 +16,7 @@ if filereadable(glob("~/.vim/bundle/Vundle.vim/README.md"))
Plugin 'mattn/gist-vim' Plugin 'mattn/gist-vim'
Plugin 'fatih/vim-go' Plugin 'fatih/vim-go'
Plugin 'altercation/vim-colors-solarized' Plugin 'altercation/vim-colors-solarized'
Plugin 'vimoutliner/vimoutliner'
call vundle#end() call vundle#end()
endif endif
@@ -135,3 +136,6 @@ nnoremap <silent> <F5> :SyntasticCheck<CR> :Errors<CR>
if filereadable(glob("~/.vimrc.local")) if filereadable(glob("~/.vimrc.local"))
source ~/.vimrc.local source ~/.vimrc.local
endif endif
" Options for vimoutliner
autocmd Filetype votl setlocal sts=4

View File

@@ -1,2 +1,4 @@
if [[ -f $HOME/.env ]] ; then source $HOME/.env ; fi
# ZSH specific environment # ZSH specific environment
DEBIAN_PREVENT_KEYBOARD_CHANGES=yes DEBIAN_PREVENT_KEYBOARD_CHANGES=yes

View File

@@ -1,3 +1,4 @@
# For interactive shells
HISTFILE=~/.histfile HISTFILE=~/.histfile
HISTSIZE=1000 HISTSIZE=1000
SAVEHIST=1000 SAVEHIST=1000
@@ -24,14 +25,16 @@ PS1="%{%(!.$fg[red].$fg[green])%}%n%{$fg[white]%}@%{$fg[cyan]%}%m%{$fg[white]%}:
# Deduplicate the path # Deduplicate the path
typeset -U path typeset -U path
# LS Colors
alias ls='ls --color' alias ls='ls --color'
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
# Load oh-my-zsh # Load oh-my-zsh
if [ -d $HOME/.oh-my-zsh ] ; then if [ -d $HOME/.oh-my-zsh ] ; then
ZSH=$HOME/.oh-my-zsh ZSH=$HOME/.oh-my-zsh
ZSH_THEME="matir" ZSH_THEME="matir"
ZSH_CUSTOM="$HOME/.zsh_custom" ZSH_CUSTOM="$HOME/.zsh_custom"
plugins=(git encode64 gpg-agent pep8 pip python tmux urltools extract sudo virsh virtualenv) plugins=(git encode64 gpg-agent pep8 pip python tmux urltools extract sudo virsh virtualenv command-not-found)
source $ZSH/oh-my-zsh.sh source $ZSH/oh-my-zsh.sh
unset ZSH_THEME unset ZSH_THEME
unset ZSH_CUSTOM unset ZSH_CUSTOM
@@ -43,8 +46,9 @@ bindkey '^[[B' history-search-forward
bindkey '^[[1;5C' forward-word bindkey '^[[1;5C' forward-word
bindkey '^[[1;5D' backward-word bindkey '^[[1;5D' backward-word
# Source extras if interactive # Source extras and aliases if interactive
if [[ $- == *i* ]] ; then if [[ $- == *i* ]] ; then
if [[ -e $HOME/.aliases ]] ; then source $HOME/.aliases ; fi
for file in $HOME/.zshrc.d/* ; do source "$file" ; done for file in $HOME/.zshrc.d/* ; do source "$file" ; done
fi fi

View File

@@ -1,4 +1,31 @@
prune-broken-symlinks() { prune-broken-symlinks() {
setopt localoptions nounset setopt localoptions nounset
find $1 -type l -xtype l -print -delete local ASK
local DIR
local FINDCMD
local i
if [[ "${1:-}" == "-y" ]] ; then
ASK=0
shift
else
ASK=1
fi
DIR=${1:-.}
FINDCMD=(find ${DIR} -type l -xtype l)
if (($ASK)) ; then
local FILES
FILES=`${FINDCMD} -print`
if [[ "${FILES}" == "" ]] ; then
return 0
fi
echo ${FILES}
echo -n 'Delete these links? [y/n] '
if read -q ; then
${FINDCMD} -delete
fi
echo
else
${FINDCMD} -print -delete
fi
} }

14
dotfiles/zshrc.d/rvm.zsh Normal file
View File

@@ -0,0 +1,14 @@
# Enable RVM if available
if [[ -s ${HOME}/.rvm/scripts/rvm ]] ; then
source ${HOME}/.rvm/scripts/rvm
else
function install_rvm {
export rvm_ignore_dotfiles=yes
pushd `mktemp -d`
curl -O https://raw.githubusercontent.com/rvm/rvm/master/binscripts/rvm-installer
curl -O https://raw.githubusercontent.com/rvm/rvm/master/binscripts/rvm-installer.asc
gpg --verify rvm-installer.asc && \
bash rvm-installer stable
popd
}
fi

View File

@@ -0,0 +1,6 @@
function site2pdf {
setopt localoptions nounset
local URL=${1}
local OUTFILE=${2}
command wkhtmltopdf -s Letter -q ${URL} ${OUTFILE}
}

View File

@@ -0,0 +1,6 @@
function source_gnupg {
GPG_ENV=${HOME}/.gnupg/gpg-agent.env
if test -f ${GPG_ENV} ; then
eval $(sed 's/^/export /' ${GPG_ENV})
fi
}

View File

@@ -0,0 +1,7 @@
update_skel() {
(cd $(dirname $(readlink $HOME/.profile)) &&
cd $(git rev-parse --show-toplevel) &&
git pull &&
./install.sh
)
}

View File

@@ -3,60 +3,37 @@
set nounset set nounset
set errexit set errexit
BASEDIR=${BASEDIR:-$HOME/.skel}
MINIMAL=${MINIMAL:-0}
INSTALL_KEYS=${INSTALL_KEYS:-1}
INSTALL_PKGS=${INSTALL_PKGS:-$((1 - ${MINIMAL}))}
if [ ! -d $BASEDIR ] ; then
echo "Please install to $BASEDIR!" 1>&2
exit 1
fi
if which dpkg-query > /dev/null ; then
HAVE_X=`dpkg-query -s xserver-xorg | grep -c 'Status.*installed'`
else
HAVE_X=0
fi
IS_KALI=`grep -ci kali /etc/os-release 2>/dev/null`
ARCH=`uname -m`
function prerequisites { function prerequisites {
# Prerequisites require git
if ! which git > /dev/null ; then
echo 'No git, not installing extras.' 1>&2
return
fi
if which zsh > /dev/null ; then if which zsh > /dev/null ; then
if [ `getent passwd $USER | cut -d: -f7` != `which zsh` ] ; then if [[ $- == *i* ]] ; then
echo 'Enter password to change shell.' 1>&2 if [[ `getent passwd $USER | cut -d: -f7` != */zsh ]] ; then
echo 'Enter password to change shell.' >&2
chsh -s `which zsh` chsh -s `which zsh`
fi fi
if [ ! -d $HOME/.oh-my-zsh ] ; then
git clone https://github.com/robbyrussell/oh-my-zsh.git $HOME/.oh-my-zsh
fi fi
install_git https://github.com/robbyrussell/oh-my-zsh.git $HOME/.oh-my-zsh
else else
echo "ZSH not found!" > /dev/stderr echo "ZSH not found!" >&2
fi fi
if which vim > /dev/null ; then if which vim > /dev/null ; then
mkdir -p $HOME/.vim/bundle mkdir -p $HOME/.vim/bundle
if [ ! -d $HOME/.vim/bundle/Vundle.vim ] ; then install_git https://github.com/VundleVim/Vundle.vim.git \
git clone https://github.com/VundleVim/Vundle.vim.git \
$HOME/.vim/bundle/Vundle.vim $HOME/.vim/bundle/Vundle.vim
fi fi
if which gdb > /dev/null ; then
install_git https://github.com/longld/peda.git $HOME/.peda
fi fi
} }
function install_dotfile_dir { function install_dotfile_dir {
local SRCDIR="${1}" local SRCDIR="${1}"
local dotfile
find "${SRCDIR}" \( -name .git -o \ find "${SRCDIR}" \( -name .git -o \
-path "${SRCDIR}/private_dotfiles" -o \ -path "${SRCDIR}/private_dotfiles" -o \
-name install.sh -o \ -name install.sh -o \
-name README.md -o \ -name README.md -o \
-name .gitignore \) \ -name .gitignore \) \
-prune -o -type f -print | \ -prune -o -xtype f -print | \
while read dotfile ; do while read dotfile ; do
local TARGET="${HOME}/.${dotfile#${SRCDIR}/}" local TARGET="${HOME}/.${dotfile#${SRCDIR}/}"
mkdir -p `dirname "${TARGET}"` mkdir -p `dirname "${TARGET}"`
@@ -67,7 +44,8 @@ function install_dotfile_dir {
function install_basic_dir { function install_basic_dir {
local SRCDIR="${1}" local SRCDIR="${1}"
local DESTDIR="${2}" local DESTDIR="${2}"
find "${SRCDIR}" -type f -print | \ local file
find "${SRCDIR}" -xtype f -print | \
while read file ; do while read file ; do
local TARGET="${2}/${file#${SRCDIR}/}" local TARGET="${2}/${file#${SRCDIR}/}"
mkdir -p `dirname "${TARGET}"` mkdir -p `dirname "${TARGET}"`
@@ -75,17 +53,49 @@ function install_basic_dir {
done done
} }
function install_git {
# Install or update a git repository
if ! which git > /dev/null ; then
return 1
fi
local REPO="${1}"
local DESTDIR="${2}"
if [[ -d ${DESTDIR}/.git ]] ; then
( cd ${DESTDIR} ; git pull -q )
else
git clone ${REPO} ${DESTDIR}
fi
}
function add_bin_symlink {
local LINKNAME=${HOME}/bin/${2:-`basename $1`}
if [[ -e ${LINKNAME} && ! -h ${LINKNAME} ]] ; then
echo "Refusing to overwrite ${LINKNAME}" >&2
return 1
fi
ln -sf ${1} ${LINKNAME}
}
function postinstall { function postinstall {
# Install Vundle plugins # Install Vundle plugins
if [ -d $HOME/.vim/bundle/Vundle.vim ] ; then if [[ -d $HOME/.vim/bundle/Vundle.vim ]] ; then
vim +VundleInstall +qall vim +VundleInstall +qall
fi 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
} }
function ssh_key_already_installed { function ssh_key_already_installed {
# Return 1 if the key isn't already installed, 0 if it is # Return 1 if the key isn't already installed, 0 if it is
local AK="${HOME}/.ssh/authorized_keys" local AK="${HOME}/.ssh/authorized_keys"
if [ ! -f $AK ] ; then if [[ ! -f $AK ]] ; then
return 1 return 1
fi fi
local KEYFP=`ssh-keygen -l -f $1 2>/dev/null | awk '{print $2}'` local KEYFP=`ssh-keygen -l -f $1 2>/dev/null | awk '{print $2}'`
@@ -94,7 +104,7 @@ function ssh_key_already_installed {
while read key ; do while read key ; do
echo "$key" > $TMPF echo "$key" > $TMPF
local EFP=`ssh-keygen -l -f ${TMPF} 2>/dev/null | awk '{print $2}'` 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 rm $TMPF 2>/dev/null
return 0 return 0
fi fi
@@ -105,12 +115,21 @@ function ssh_key_already_installed {
function install_ssh_keys { function install_ssh_keys {
# Install SSH keys # Install SSH keys
echo 'Installing SSH keys...' >&2 verbose 'Installing SSH keys...'
local AK="${HOME}/.ssh/authorized_keys" local AK="${HOME}/.ssh/authorized_keys"
local key local key
for key in ${BASEDIR}/keys/ssh/* ; do local keydir
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
continue
fi
if ssh_key_already_installed "${key}" ; then if ssh_key_already_installed "${key}" ; then
echo "Key `basename ${key}` already installed..." >&2 verbose "Key `basename ${key}` already installed..."
continue continue
fi fi
echo "# `basename ${key}` added from skel on `date +%Y-%m-%d`" >> ${AK} echo "# `basename ${key}` added from skel on `date +%Y-%m-%d`" >> ${AK}
@@ -121,17 +140,17 @@ function install_ssh_keys {
function install_gpg_keys { function install_gpg_keys {
local key local key
for key in ${BASEDIR}/keys/gpg/* ; do for key in ${BASEDIR}/keys/gpg/* ; do
gpg --import < ${key} gpg --import < ${key} >/dev/null
done done
} }
function install_known_hosts { function install_known_hosts {
echo 'Installing known hosts...' >&2 verbose 'Installing known hosts...' >&2
if [ ! -f ${BASEDIR}/keys/known_hosts ] ; then if [[ ! -f ${BASEDIR}/keys/known_hosts ]] ; then
return 0 return 0
fi fi
mkdir -p ${HOME}/.ssh mkdir -p ${HOME}/.ssh
if [ -f ${HOME}/.ssh/known_hosts ] ; then if [[ -f ${HOME}/.ssh/known_hosts ]] ; then
local tmpf=`mktemp` local tmpf=`mktemp`
cat ${BASEDIR}/keys/known_hosts ${HOME}/.ssh/known_hosts | sort | uniq > $tmpf cat ${BASEDIR}/keys/known_hosts ${HOME}/.ssh/known_hosts | sort | uniq > $tmpf
mv $tmpf ${HOME}/.ssh/known_hosts mv $tmpf ${HOME}/.ssh/known_hosts
@@ -152,11 +171,11 @@ function is_deb_system {
function run_as_root { function run_as_root {
# Attempt to run as root # Attempt to run as root
if [ ${USER} == "root" ] ; then if [[ ${USER} == "root" ]] ; then
"$@" "$@"
return $? return $?
elif groups | grep -q '\bsudo\b' ; then elif groups | grep -q '\bsudo\b' ; then
echo "Using sudo to run ${1}..." >&2 verbose "Using sudo to run ${1}..."
sudo "$@" sudo "$@"
return $? return $?
fi fi
@@ -164,12 +183,13 @@ function run_as_root {
} }
function install_pkg_set { function install_pkg_set {
if [[ ! -f ${1} ]] ; then return 0 ; fi local pkg_file=${BASEDIR}/${1}
run_as_root apt-get install -y `cat ${BASEDIR}/${1}` if [[ ! -f ${pkg_file} ]] ; then return 0 ; fi
run_as_root apt-get install -qqy `cat ${pkg_file}`
} }
function install_apt_pkgs { function install_apt_pkgs {
run_as_root apt-get update || \ run_as_root apt-get update -qq || \
( echo "Can't run apt-get commands" >&2 && \ ( echo "Can't run apt-get commands" >&2 && \
return 1 ) return 1 )
install_pkg_set packages install_pkg_set packages
@@ -182,20 +202,90 @@ function install_apt_pkgs {
function install_chrome { function install_chrome {
local TMPD=`mktemp -d` local TMPD=`mktemp -d`
local CHROME_ARCH=`echo ${ARCH} | sed 's/x86_64/amd64/'` local CHROME_ARCH=`echo ${ARCH} | sed 's/x86_64/amd64/'`
dpkg-query -l 'google-chrome*' && return 0 dpkg-query -l 'google-chrome*' >/dev/null 2>&1 && return 0
/usr/bin/wget --quiet -O ${TMPD}/google-chrome.deb \ /usr/bin/wget --quiet -O ${TMPD}/google-chrome.deb \
https://dl.google.com/linux/direct/google-chrome-beta_current_${CHROME_ARCH}.deb https://dl.google.com/linux/direct/google-chrome-beta_current_${CHROME_ARCH}.deb
run_as_root /usr/bin/dpkg -i ${TMPD}/google-chrome.deb || \ run_as_root /usr/bin/dpkg -i ${TMPD}/google-chrome.deb || \
run_as_root /usr/bin/apt-get install -f -y || \ run_as_root /usr/bin/apt-get install -qq -f -y || \
( echo "Could not install chrome." >&2 && return 1 ) ( echo "Could not install chrome." >&2 && return 1 )
rm -rf ${TMPD}
} }
function read_saved_prefs {
# Can't use basedir here as we don't have it yet
local pref_file=`dirname $0`/installed-prefs
if [ -f ${pref_file} ] ; then
verbose "Loading saved skel preferences from ${pref_file}"
source ${pref_file}
fi
}
function save_prefs {
(( $SAVE )) || return 0
local pref_file=${BASEDIR}/installed-prefs
(echo_pref BASEDIR
echo_pref MINIMAL
echo_pref INSTALL_KEYS
echo_pref TRUST_ALL_KEYS
echo_pref INSTALL_PKGS
echo_pref VERBOSE) > $pref_file
}
function echo_pref {
echo "$1=\${$1:-${!1}}"
}
function cleanup {
# Needs zsh
/usr/bin/zsh >/dev/null 2>&1 <<EOF
source ${BASEDIR}/dotfiles/zshrc.d/prune-broken-symlinks.zsh
prune-broken-symlinks -y ${HOME}/.zshrc.d
prune-broken-symlinks -y ${HOME}/bin
EOF
}
function verbose {
(( ${VERBOSE:-0} )) && echo "$@" >&2
}
# Setup variables
read_saved_prefs
# Defaults if not passed in or saved
BASEDIR=${BASEDIR:-$HOME/.skel}
MINIMAL=${MINIMAL:-0}
INSTALL_KEYS=${INSTALL_KEYS:-1}
TRUST_ALL_KEYS=${TRUST_ALL_KEYS:-0}
INSTALL_PKGS=${INSTALL_PKGS:-0}
VERBOSE=${VERBOSE:-0}
SAVE=${SAVE:-1}
# Check prerequisites
if [[ ! -d $BASEDIR ]] ; then
echo "Please install to $BASEDIR!" 1>&2
exit 1
fi
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`
ARCH=`uname -m`
(( $MINIMAL )) || prerequisites (( $MINIMAL )) || prerequisites
(( $INSTALL_PKGS )) && is_deb_system && install_apt_pkgs (( $INSTALL_PKGS )) && is_deb_system && install_apt_pkgs
install_dotfile_dir "${BASEDIR}/dotfiles" install_dotfile_dir "${BASEDIR}/dotfiles"
test -d "${BASEDIR}/private_dotfiles" && \ test -d "${BASEDIR}/private_dotfiles" && \
test -d "${BASEDIR}/.git/git-crypt" && \
install_dotfile_dir "${BASEDIR}/private_dotfiles" install_dotfile_dir "${BASEDIR}/private_dotfiles"
test -d "${BASEDIR}/local_dotfiles" && \
install_dotfile_dir "${BASEDIR}/local_dotfiles"
install_basic_dir "${BASEDIR}/bin" "${HOME}/bin" install_basic_dir "${BASEDIR}/bin" "${HOME}/bin"
(( $MINIMAL )) || postinstall (( $MINIMAL )) || postinstall
(( $INSTALL_KEYS )) && install_keys (( $INSTALL_KEYS )) && install_keys
save_prefs
cleanup

View File

@@ -804,46 +804,99 @@ OGHusVuvWLzNNzOrPlixNJFAS87nfi3CQsH4QUGI5TL3K5smNURLPF2Cjp484LXa
9X1nXgIFMt4+NBcpvMXP5RnwNW+3jQUWqbaeyGIe5gEyszL0Ksh2Vs4hvYIPRWJm 9X1nXgIFMt4+NBcpvMXP5RnwNW+3jQUWqbaeyGIe5gEyszL0Ksh2Vs4hvYIPRWJm
Yn7Mxy2O2QKMSsZy/G57TGEhbVXOMz6phVxuSgPYxSP1PsNHO6Cfr/hwrz0PqQeY Yn7Mxy2O2QKMSsZy/G57TGEhbVXOMz6phVxuSgPYxSP1PsNHO6Cfr/hwrz0PqQeY
qm7Ig0R/grVwb1ElHH9PGXvV0a2odMPZHztfPGyKyQpHxc0deK32a+39WM20EDx4 qm7Ig0R/grVwb1ElHH9PGXvV0a2odMPZHztfPGyKyQpHxc0deK32a+39WM20EDx4
L+5Dan4izTsjic+bu37CAKi4QOVr/sQ8vXR10fwMVlruuQENBE1lmbYBCADDdorB L+5Dan4izTsjic+bu37CAKi4QOVr/sQ8vXR10fwMVlruiQJABCgBCAAqBQJWMuzV
Nuy99fK4y4CtRoHFWBG1Uac21mp9qNpCTKEp4No6deBIEpdBo1+mt0r2pi+CYzt2 Ix0BTW92aW5nIHRvIDIwNDggYml0IGZvciBzbWFydGNhcmQuAAoJEPTXp5Fd6nib
UbBAs+3J9AWxZEbvhcTtImEEKjBgqADKNt12IrugbK9H0zbdqAC/HMl0N82dnEes duwP/3HHQ+2RsUrj4SSZJv9F6Jphnvbn/2KarKk7Gr79rVHv8yGSssZRcnaFOkTQ
EHgFmRqSiatUt+2lb5rdBoTOpIAkYWDeFDEX96qKJ6NCE7F5D8iDJxhvWtKOoG4I PuJYNf79/Jk+YaXDPdA9w9i2LF/OLCec/UIwGGei8+U/qoUAbG8DCdR0nuUeEgBU
mjc3GkC/X0zXAtmwboAY5OIDKYkhCIaXjFZJkPg9hVagL97OjL/LzY3AXCsvUnS8 VSlv4IuUmTZS0NYbfICVKjp3W0RUshj1Ua7WgnaaBbIKXRQ1Hr/2/AKB1iobMjvk
TCIrZUUfVbcfrYXc8CenpTrImCglz9rpQY1plhIXX96KL5spsE5okVE4AhuXZ3Cx 9UYKB9Bs3VYf9Lzq7ylF+mZhac+BiLbc1mYZSwwHZ0uoXwGkhJ7/CFV/4j3aEgBW
Fz8BRHKtFLKH9GCRABEBAAGJAiUEGAEKAA8FAk1lmbYCGyAFCQPCZwAACgkQ9Nen EZkEqudPm028w+wC0HCf8kh63eZf+5WdU5+9cwLa6m99UqXH7tJNg3w1U5eJFbWI
kV3qeJudbBAAqDTLb8XYfjCDCMxvnYzX5euO29Exx1C0A2DxX5zv1ffsmqQzjzxT X2KeawKehcBclO+iDD2MR2bmIYxmd/MxWFpDDPaZOrehr8s3S1QpHfhj8yanEBhC
ITMDSJcE8fsU+oEynvytS4PlvDykbYrO+RXP0Uu2KfJPr0pAl9O7YwCoaPOPhjrs +23Uu4h+Y6J10gfHgH9BMwuQxWFKDiuPXbiQ1hsfjbmhv+IlxkmCUXNXOb8vebKT
pUCrqkpMWJAwCvjTM8IXttYchEmfXrOI4FXFkfu54IjNkHegeGfLscKAMKVnnkk/ MVSko5i1fGhVrRzKxu7GmZ5+p5Jt68lIQpETwa7CoYBzg51s1iq3njpTeOe4TACw
rVhLmPGS7CrJJcFugOM10DTw/5L6eAHmnXRF4d83q1Iq/9tzam0bw6WXuoeFTijB yTyFcIT6j7o5y1FTOtnzq1nY1gXElcGROyNcL2PF0nyJTtmH6oQPoS1HLkFW0VS5
tx86F8gSRNPnqAK2FX1xT0r3GT7wHNUPxzkbrEcnX5N/oPKnqjjwyANKlAttcLDX xRZ/2XFqk8wf2JukvE+VE7r+kUgw0AsDD85KSvTFMtEPKlgfgj3WSw4D/pI2D+JF
25K0RmdQDhy+s4PSIHj1kTXXFxqOOaAiI1Zkxzk22T2PNJfB8tQGS52wTIgkj8bY /fdvIBFdwCT57hqGAHmkr8c2ryhm1i1OIjsnGIO/G6o7myADuQENBE1lmbYBCADD
1Xq/b3cx51EQmbjha5XKP0/JMbwGHQScRSe2eiaQmpSvPfj0gxN1xNDbV/31+p4Z dorBNuy99fK4y4CtRoHFWBG1Uac21mp9qNpCTKEp4No6deBIEpdBo1+mt0r2pi+C
aVd8NoRZVcOrvRVDk6Ta9iFwyLrEkbq3EZT16mKWSXh0rw/YlAcxgFmbaU36hFFg Yzt2UbBAs+3J9AWxZEbvhcTtImEEKjBgqADKNt12IrugbK9H0zbdqAC/HMl0N82d
egcEh+v+bxsXnMLCFn1pp61ISC7c9cuEiFdBRv5V1ZHe8sg23kEJErKHs6IPHOJ9 nEesEHgFmRqSiatUt+2lb5rdBoTOpIAkYWDeFDEX96qKJ6NCE7F5D8iDJxhvWtKO
ThCfPKGJHQ9r4omOsePIs87UktF0/omjH7SdG+Tfr1avT9VC2U/tARGBXGtlE6YK oG4Imjc3GkC/X0zXAtmwboAY5OIDKYkhCIaXjFZJkPg9hVagL97OjL/LzY3AXCsv
wy/vCfdUtSaoPxOeMqO8B/nAx+hOe8CCY/ZMuq49sXF2oXzHtORIPO2JAiUEGAEK UnS8TCIrZUUfVbcfrYXc8CenpTrImCglz9rpQY1plhIXX96KL5spsE5okVE4AhuX
AA8CGyAFAlCutV0FCQcLgqUACgkQ9NenkV3qeJsKBQ//YwgnDccZWCg1JBWSpaf/ Z3CxFz8BRHKtFLKH9GCRABEBAAGJAiUEGAEKAA8FAk1lmbYCGyAFCQPCZwAACgkQ
56GtmPKCdzraxg3xt3RzMY0j+dfWotY7V9SeC21Nys/Ro8kfEmsfuIKpRRcqboEn 9NenkV3qeJudbBAAqDTLb8XYfjCDCMxvnYzX5euO29Exx1C0A2DxX5zv1ffsmqQz
rFYi7kfEmSy8iXrquZwuZyT9Ld06+BNAyYjDxj7lFgv+r71B/NnZFcNOjetINqBI jzxTITMDSJcE8fsU+oEynvytS4PlvDykbYrO+RXP0Uu2KfJPr0pAl9O7YwCoaPOP
ulEAiA+NoNT39300+ykUE/HkdfgBpexhRhDBJL4JSAv46bb02s1hbZT4rN43B8Xp hjrspUCrqkpMWJAwCvjTM8IXttYchEmfXrOI4FXFkfu54IjNkHegeGfLscKAMKVn
0BwIjS6fLNKy5GbV5E0lf6cnfJTAfDDLypsAOtdvVIAoG1ZR9M3jdzVT4RKXFkZC nkk/rVhLmPGS7CrJJcFugOM10DTw/5L6eAHmnXRF4d83q1Iq/9tzam0bw6WXuoeF
bQepVk2SvzYtPHiPUU9iv6Y9VlGnwE5qvADX1ICsO4nY57hylQ7An0AYAjMr8lGr TijBtx86F8gSRNPnqAK2FX1xT0r3GT7wHNUPxzkbrEcnX5N/oPKnqjjwyANKlAtt
L7F2//0n9j61SjRhVExjBqE74JQ+jnqFADcJcHaRZZU+iDZTLp1Ktw39cbp8GdF2 cLDX25K0RmdQDhy+s4PSIHj1kTXXFxqOOaAiI1Zkxzk22T2PNJfB8tQGS52wTIgk
G4NJk438xqGcNE4TNPYH3QWC57t/ZjHkgbmkOryMtVlnplezC/MciK207XnGMHX0 j8bY1Xq/b3cx51EQmbjha5XKP0/JMbwGHQScRSe2eiaQmpSvPfj0gxN1xNDbV/31
n9P6k13kbI9cjGOLAc5S/1pcGcx4d6NwLKSO6EO6f5Z4qFTfl4nWf9nEVFfh09oz +p4ZaVd8NoRZVcOrvRVDk6Ta9iFwyLrEkbq3EZT16mKWSXh0rw/YlAcxgFmbaU36
tx4yp9d5VF/VsJhodfWE0a9aGIMOLYhylrzMaNIhYKcngAQj5BzQviJDt2W/0t/5 hFFgegcEh+v+bxsXnMLCFn1pp61ISC7c9cuEiFdBRv5V1ZHe8sg23kEJErKHs6IP
mSb7K8x3nxDNLPyoTehzexoqZFOsh3N3NOlKiWUn2zsWA7ncRRiY+c7E01Ro2D6D HOJ9ThCfPKGJHQ9r4omOsePIs87UktF0/omjH7SdG+Tfr1avT9VC2U/tARGBXGtl
FFXPxC7MQV1mLINSvvaRIDuJAiUEGAEKAA8CGyAFAlSY+kwFCQr1x5MACgkQ9Nen E6YKwy/vCfdUtSaoPxOeMqO8B/nAx+hOe8CCY/ZMuq49sXF2oXzHtORIPO2JAiUE
kV3qeJvhjA/9EC091GPhRpdP/j1lcdM7Pi6rIiSnqqNr66Xpf76MOmOeDBrJvqEX GAEKAA8CGyAFAlCutV0FCQcLgqUACgkQ9NenkV3qeJsKBQ//YwgnDccZWCg1JBWS
vDbYbwZCk9Wnhxb23ujXOfw1UJ1hUUwDmeblTWK9JqpuzQRApT8rvEAhYH5fuwwR paf/56GtmPKCdzraxg3xt3RzMY0j+dfWotY7V9SeC21Nys/Ro8kfEmsfuIKpRRcq
ZHUastJIiRnn23Obn6vASPjxLHfUyKcITptP5cOvHDshL928+NgWZNVKQLzv6a65 boEnrFYi7kfEmSy8iXrquZwuZyT9Ld06+BNAyYjDxj7lFgv+r71B/NnZFcNOjetI
kw7e6i3+hOGqcFSIyUl1avH0VPNDUrne6HvvopP+FQB2NK3JYHRuMfe7S5zVuCCT NqBIulEAiA+NoNT39300+ykUE/HkdfgBpexhRhDBJL4JSAv46bb02s1hbZT4rN43
820i1u35dKFhSjLC2q1X8Pvxdb+yPb/17Wmb/3LVI8o+3eLf48EawE4oweLaDbpQ B8Xp0BwIjS6fLNKy5GbV5E0lf6cnfJTAfDDLypsAOtdvVIAoG1ZR9M3jdzVT4RKX
/YbZhEmZ0lM+xIgLq/LL9tieljOWKTh+lUQTr/8WNAvGVgy/QXRIhzp4rzgQLnrO FkZCbQepVk2SvzYtPHiPUU9iv6Y9VlGnwE5qvADX1ICsO4nY57hylQ7An0AYAjMr
j3oFYEuDwmAnNbyVJJMaDMWm5ojuCzAwK5+dsR+lSRRnx7RNRcsCbUkTJzgTfdzH 8lGrL7F2//0n9j61SjRhVExjBqE74JQ+jnqFADcJcHaRZZU+iDZTLp1Ktw39cbp8
BX4GMy+nGsFApiJo0fidOvkkE3nV+YmVgG9I/hPo6lP7Hyq2sl+2mvbrGf9SENaa GdF2G4NJk438xqGcNE4TNPYH3QWC57t/ZjHkgbmkOryMtVlnplezC/MciK207XnG
C3XM+MCZUH7TBVXxcEM3slkhlIyvpBTPeHH8o0Qg0sgXIN3bpd/T04OgGn0RvPS9 MHX0n9P6k13kbI9cjGOLAc5S/1pcGcx4d6NwLKSO6EO6f5Z4qFTfl4nWf9nEVFfh
Zc6CtIp1ZByX/E4pbF5oKkdsVEk8Y6okWIXOChzj0pexx3L9h5Z3sGYJeA+i+ug2 09oztx4yp9d5VF/VsJhodfWE0a9aGIMOLYhylrzMaNIhYKcngAQj5BzQviJDt2W/
ZelTXg2THa9Q57daRsN9W+fcI4Eb4eIhS2JdANXEZ/OJUtZ3c1LNhmI= 0t/5mSb7K8x3nxDNLPyoTehzexoqZFOsh3N3NOlKiWUn2zsWA7ncRRiY+c7E01Ro
=rBp2 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
aXI/Maioszm5pco=
=wlrV
-----END PGP PUBLIC KEY BLOCK----- -----END PGP PUBLIC KEY BLOCK-----

80
keys/gpg/rvm.key Normal file
View File

@@ -0,0 +1,80 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1
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
=a7HI
-----END PGP PUBLIC KEY BLOCK-----

View File

@@ -0,0 +1 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8vQiJn9J2KjNIwX427Zq0gpvD1XdR0j+3gY1DTG1yGU808a001YCw0UTQzaSfRZ0ixWyOiFiZ0UcyZnJlN/dQeIKvxWeIW6T3kjpkjzLiBJbloHT0CvqJoz/VAPuBKH9sVKabZlmufqM3B43XDCDS8UGcxUmHxSFSh4hsqurP+ywI8QsoLz1epiFeUQCqsLG5LZIpthAYDOXtxp6cVoKgosi+zJm7sHG/pIof//WMW1xFCArEQfiWXa3Mv3Ir+geKej3lmWPMZNyGpGVtH9w0VHmzPX6OY02CelUoqe/yQDqZ0SjVKm0WZOHStAep0sxVR7/zHvS36Wk0eSptuenR davidtomaschik@glaptop

1
keys/ssh/id_rsa_uber.pub Normal file
View File

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

View File

@@ -0,0 +1 @@
../id_ecdsa_human.pub

View File

@@ -0,0 +1 @@
../id_rsa_human.pub

View File

@@ -7,15 +7,19 @@ dsniff
ecryptfs-utils ecryptfs-utils
gdb gdb
git git
git-crypt
gnupg2 gnupg2
gnupg-agent gnupg-agent
gnupg-curl gnupg-curl
iftop iftop
iptraf iptraf
ipython
ipython3
kpartx kpartx
ldap-utils ldap-utils
ltrace ltrace
lvm2 lvm2
mosh
ngrep ngrep
nmap nmap
opensc opensc
@@ -38,6 +42,7 @@ tmux
traceroute traceroute
tshark tshark
ufw ufw
unzip
vim vim
whois whois
zsh zsh

View File

@@ -6,3 +6,4 @@ keepassx
network-manager-openvpn-gnome network-manager-openvpn-gnome
vim-gtk vim-gtk
wireshark wireshark
wkhtmltopdf

Binary file not shown.

BIN
private_dotfiles/ssh/config Normal file

Binary file not shown.