mirror of
https://github.com/Matir/skel.git
synced 2026-05-26 05:29:09 -07:00
Compare commits
225 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e5fec4b75c | ||
|
|
7e7b615b0e | ||
|
|
d9733ad84f | ||
|
|
a43c80639d | ||
|
|
bf6e7bd315 | ||
|
|
1e93e6b89f | ||
|
|
089261264f | ||
|
|
32b129c434 | ||
|
|
20581f766f | ||
|
|
dfc1021cba | ||
|
|
424febea00 | ||
|
|
7ccc6ec6c0 | ||
|
|
ab6b1784bd | ||
|
|
7bdcfdf18a | ||
|
|
fe8e33eb92 | ||
|
|
8786ca65b9 | ||
|
|
4615724282 | ||
|
|
aa41a0e1ee | ||
|
|
552a3bdd1d | ||
|
|
97b5a694d3 | ||
|
|
d35dd23019 | ||
|
|
9a26c713d7 | ||
|
|
dc64160e83 | ||
|
|
ec8b2379e5 | ||
|
|
baa267e4e7 | ||
|
|
31e19d6f90 | ||
|
|
736e24468b | ||
|
|
727981e760 | ||
|
|
ac2c605a5e | ||
|
|
7c2964b6d8 | ||
|
|
73873a9316 | ||
|
|
452dfa1ec2 | ||
|
|
37099ff94d | ||
|
|
1df1d1f244 | ||
|
|
1ac4c6e0b1 | ||
|
|
358c5d48a5 | ||
|
|
b8c290965b | ||
|
|
ecfbce96c0 | ||
|
|
c9a4277724 | ||
|
|
ec69fed5d2 | ||
|
|
138f9ef3c3 | ||
|
|
1442824e64 | ||
|
|
934dfe32df | ||
|
|
79f96d0ed3 | ||
|
|
b9cf6bae01 | ||
|
|
056f0087e7 | ||
|
|
0ce708d0ec | ||
|
|
fc3903003e | ||
|
|
dd4beff725 | ||
|
|
4858e33ff1 | ||
|
|
9520a9b484 | ||
|
|
54481260b8 | ||
|
|
59e5f5ad79 | ||
|
|
4c044264d8 | ||
|
|
129e7088f3 | ||
|
|
5c57186807 | ||
|
|
97d0f2f1d0 | ||
|
|
742e2c10c3 | ||
|
|
a0ce33ddb1 | ||
|
|
6a0c55ac73 | ||
|
|
dfdf1b8588 | ||
|
|
7955b24be6 | ||
|
|
bfdd2f4d6a | ||
|
|
a234f2934f | ||
|
|
71df11db58 | ||
|
|
a61efc0fb1 | ||
|
|
850ab7090a | ||
|
|
90410ca322 | ||
|
|
e42a8472f6 | ||
|
|
81e25dc192 | ||
|
|
6bc3a67fb0 | ||
|
|
cb6ca10f6f | ||
|
|
ef887ed209 | ||
|
|
d9fcc5b1e6 | ||
|
|
95f68cd822 | ||
|
|
2291c85db5 | ||
|
|
a55243a867 | ||
|
|
c4154d8ca9 | ||
|
|
c1350c83d2 | ||
|
|
f4232608f6 | ||
|
|
4f64e41232 | ||
|
|
98455d4917 | ||
|
|
0da6ca2c47 | ||
|
|
fc25cfd8d3 | ||
|
|
4c1639535b | ||
|
|
4cd1306393 | ||
|
|
a33d352cf9 | ||
|
|
79b352d091 | ||
|
|
7b3750a768 | ||
|
|
f7f8baad03 | ||
|
|
fc4ab371f5 | ||
|
|
2546279b92 | ||
|
|
b1de895300 | ||
|
|
9846031492 | ||
|
|
1b0cec9ce2 | ||
|
|
3ebb6a65a7 | ||
|
|
59c51ca93e | ||
|
|
9cb9d60fe6 | ||
|
|
52fcdfea60 | ||
|
|
1cf72204a2 | ||
|
|
b16daa5da6 | ||
|
|
8e55e1dbe9 | ||
|
|
8a84e547e1 | ||
|
|
d1696d88f1 | ||
|
|
4bf05842ec | ||
|
|
1456c91f99 | ||
|
|
a2a308c7d3 | ||
|
|
2432245885 | ||
|
|
f828e32917 | ||
|
|
d809341953 | ||
|
|
a05dd1ee07 | ||
|
|
2af2fe3e71 | ||
|
|
d4ad0603e3 | ||
|
|
93b33f668f | ||
|
|
1730ce9994 | ||
|
|
00771b2031 | ||
|
|
343c9f6e30 | ||
|
|
9b1bed0810 | ||
|
|
873354b9c0 | ||
|
|
a9ba0f73fe | ||
|
|
269426f11d | ||
|
|
2fba9d3bf5 | ||
|
|
bbf444460e | ||
|
|
4edcafe55b | ||
|
|
5661e286d2 | ||
|
|
891fe54140 | ||
|
|
e65a1e0793 | ||
|
|
74a02287f8 | ||
|
|
6fd91c6742 | ||
|
|
dc3598fa31 | ||
|
|
746f65e2a1 | ||
|
|
f6d9a2ac2d | ||
|
|
a06239095c | ||
|
|
854e223573 | ||
|
|
5250f1b472 | ||
|
|
f1db430071 | ||
|
|
a7fd649b9c | ||
|
|
21b5d14d37 | ||
|
|
724433fab1 | ||
|
|
a6fe923b11 | ||
|
|
a806e19b7c | ||
|
|
34b58163e9 | ||
|
|
7657b4e81d | ||
|
|
c8afa728a9 | ||
|
|
ecf27f69e0 | ||
|
|
97f0e50352 | ||
|
|
dc85fb7f94 | ||
|
|
5577ee29b4 | ||
|
|
562697a2a7 | ||
|
|
dcaf567116 | ||
|
|
9c6042116a | ||
|
|
de3919a7fe | ||
|
|
c568c81f60 | ||
|
|
9936dd7983 | ||
|
|
c693c4b8c7 | ||
|
|
01e1c515ff | ||
|
|
215f03af2e | ||
|
|
88fae8ded3 | ||
|
|
029e41c1bf | ||
|
|
ceceb307f9 | ||
|
|
4cbf297838 | ||
|
|
1361fb8cc6 | ||
|
|
c11ea02838 | ||
|
|
ecdf364f65 | ||
|
|
98d85b801d | ||
|
|
e1a5c1f588 | ||
|
|
da2b4b82f4 | ||
|
|
f03e60b30d | ||
|
|
c6ed005467 | ||
|
|
3461ae3417 | ||
|
|
45c0b529af | ||
|
|
f1e16ebaf8 | ||
|
|
1b901faab1 | ||
|
|
a7ae4f47a8 | ||
|
|
58bdc6b23a | ||
|
|
9bad2d4afa | ||
|
|
d920a25f57 | ||
|
|
2225fbed9a | ||
|
|
95ccf66984 | ||
|
|
c32b9ef765 | ||
|
|
c400ab787f | ||
|
|
91790b5a12 | ||
|
|
c65f3b4730 | ||
|
|
6185108c0f | ||
|
|
8b59e8c764 | ||
|
|
114db98bdf | ||
|
|
7364eb5446 | ||
|
|
31f16132dc | ||
|
|
70efebd88d | ||
|
|
d9f6a1b250 | ||
|
|
a3292747eb | ||
|
|
6b8b7673d8 | ||
|
|
283609cc50 | ||
|
|
efec992784 | ||
|
|
be49f3f57c | ||
|
|
3a89085279 | ||
|
|
b12b39f8c4 | ||
|
|
e6a7cd9b9f | ||
|
|
89bdedbf4f | ||
|
|
5ac75c4b63 | ||
|
|
f235fb2660 | ||
|
|
3839ac9e2f | ||
|
|
63a6f8bb32 | ||
|
|
4510acb3ea | ||
|
|
173abd42e4 | ||
|
|
27b026f011 | ||
|
|
1dcee2dbf0 | ||
|
|
3721d061fa | ||
|
|
403dad5318 | ||
|
|
58c49d5c5b | ||
|
|
bb519ae3af | ||
|
|
125bf08e73 | ||
|
|
e5066e087d | ||
|
|
345c2e5423 | ||
|
|
09b7cad44a | ||
|
|
01dab7312f | ||
|
|
366f99aef7 | ||
|
|
ea571ac1b8 | ||
|
|
59c26347ae | ||
|
|
9aa69c551e | ||
|
|
775657b90d | ||
|
|
4ae16a4a17 | ||
|
|
9bb50f6136 | ||
|
|
aa984c6a07 | ||
|
|
843863cc75 |
3
.git-crypt/.gitattributes
vendored
Normal file
3
.git-crypt/.gitattributes
vendored
Normal 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
|
||||||
Binary file not shown.
1
.gitattributes
vendored
Normal file
1
.gitattributes
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
private_dotfiles/** filter=git-crypt diff=git-crypt
|
||||||
6
.gitignore
vendored
6
.gitignore
vendored
@@ -1 +1,5 @@
|
|||||||
private_dotfiles/**
|
installed-prefs
|
||||||
|
*.swp
|
||||||
|
*~
|
||||||
|
*.bak
|
||||||
|
local_dotfiles
|
||||||
|
|||||||
33
README.md
Normal file
33
README.md
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
|
||||||
|
### About ###
|
||||||
|
This is a repository of configuration files that I like to have on all the
|
||||||
|
machines that I use. I can just clone the repository and run "repo/setup.sh"
|
||||||
|
and get most things setup the way I like them.
|
||||||
|
|
||||||
|
This started just as dotfiles, but expanded to include SSH keys, GPG keys,
|
||||||
|
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
|
||||||
|
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 ###
|
||||||
|
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
|
||||||
|
questions. I don't anticipating taking merge requests -- make your own
|
||||||
|
dotfiles. ;)
|
||||||
|
|
||||||
|
### Options ###
|
||||||
|
```
|
||||||
|
BASEDIR: Where the skel framework is installed. Defaults to $HOME/.skel
|
||||||
|
MINIMAL: Don't do things that require git clones or installation of anything
|
||||||
|
not included in my .skel. (Defaults to 0, installs everything.)
|
||||||
|
INSTALL_KEYS: Install GnuPG and SSH keys. SSH keys are placed in
|
||||||
|
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.
|
||||||
|
(Defaults to opposite of $MINIMAL.)
|
||||||
|
SAVE: Save the install options to ${BASEDIR}/installed-prefs
|
||||||
|
```
|
||||||
30
bin/backup.sh
Executable file
30
bin/backup.sh
Executable file
@@ -0,0 +1,30 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -o nounset
|
||||||
|
set -o errexit
|
||||||
|
|
||||||
|
DEFAULT=`echo /media/${USER}/[bB]ackup/${USER}/`
|
||||||
|
DEST="${1:-${DEFAULT}}"
|
||||||
|
|
||||||
|
function verify_dest {
|
||||||
|
arr=($1)
|
||||||
|
items=${#arr[@]}
|
||||||
|
if [ $items -ne 1 ] ; then
|
||||||
|
echo "Bad count of backup destinations." > /dev/stderr
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
dir="$1"
|
||||||
|
end=$((${#dir}-1))
|
||||||
|
last="${dir:$end:1}"
|
||||||
|
if [ "$last" != "/" ] ; then
|
||||||
|
echo -n "Destination $dir does not end in a /, " > /dev/stderr
|
||||||
|
echo "this is probably not what you want!" > /dev/stderr
|
||||||
|
echo "Press a key to continue, or CTRL-C to cancel." > /dev/stderr
|
||||||
|
read
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
verify_dest "$DEST"
|
||||||
|
|
||||||
|
rsync -Hax --delete --exclude-from="$HOME/.rsync_ignore" \
|
||||||
|
--delete-excluded "${HOME}/" "$DEST"
|
||||||
32
bin/burp
Executable file
32
bin/burp
Executable 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
|
||||||
882
bin/checksec.sh
Executable file
882
bin/checksec.sh
Executable file
@@ -0,0 +1,882 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# The BSD License (http://www.opensource.org/licenses/bsd-license.php)
|
||||||
|
# specifies the terms and conditions of use for checksec.sh:
|
||||||
|
#
|
||||||
|
# Copyright (c) 2009-2011, Tobias Klein.
|
||||||
|
# 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 Tobias Klein nor the name of trapkit.de 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 THE
|
||||||
|
# COPYRIGHT HOLDER OR CONTRIBUTORS 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.
|
||||||
|
#
|
||||||
|
# Name : checksec.sh
|
||||||
|
# Version : 1.5
|
||||||
|
# Author : Tobias Klein
|
||||||
|
# Date : November 2011
|
||||||
|
# Download: http://www.trapkit.de/tools/checksec.html
|
||||||
|
# Changes : http://www.trapkit.de/tools/checksec_changes.txt
|
||||||
|
#
|
||||||
|
# Description:
|
||||||
|
#
|
||||||
|
# Modern Linux distributions offer some mitigation techniques to make it
|
||||||
|
# harder to exploit software vulnerabilities reliably. Mitigations such
|
||||||
|
# as RELRO, NoExecute (NX), Stack Canaries, Address Space Layout
|
||||||
|
# Randomization (ASLR) and Position Independent Executables (PIE) have
|
||||||
|
# made reliably exploiting any vulnerabilities that do exist far more
|
||||||
|
# challenging. The checksec.sh script is designed to test what *standard*
|
||||||
|
# Linux OS and PaX (http://pax.grsecurity.net/) security features are being
|
||||||
|
# used.
|
||||||
|
#
|
||||||
|
# As of version 1.3 the script also lists the status of various Linux kernel
|
||||||
|
# protection mechanisms.
|
||||||
|
#
|
||||||
|
# Credits:
|
||||||
|
#
|
||||||
|
# Thanks to Brad Spengler (grsecurity.net) for the PaX support.
|
||||||
|
# Thanks to Jon Oberheide (jon.oberheide.org) for the kernel support.
|
||||||
|
# Thanks to Ollie Whitehouse (Research In Motion) for rpath/runpath support.
|
||||||
|
#
|
||||||
|
# Others that contributed to checksec.sh (in no particular order):
|
||||||
|
#
|
||||||
|
# Simon Ruderich, Denis Scherbakov, Stefan Kuttler, Radoslaw Madej,
|
||||||
|
# Anthony G. Basile, Martin Vaeth and Brian Davis.
|
||||||
|
#
|
||||||
|
|
||||||
|
# global vars
|
||||||
|
have_readelf=1
|
||||||
|
verbose=false
|
||||||
|
|
||||||
|
# FORTIFY_SOURCE vars
|
||||||
|
FS_end=_chk
|
||||||
|
FS_cnt_total=0
|
||||||
|
FS_cnt_checked=0
|
||||||
|
FS_cnt_unchecked=0
|
||||||
|
FS_chk_func_libc=0
|
||||||
|
FS_functions=0
|
||||||
|
FS_libc=0
|
||||||
|
|
||||||
|
# version information
|
||||||
|
version() {
|
||||||
|
echo "checksec v1.5, Tobias Klein, www.trapkit.de, November 2011"
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
||||||
|
# help
|
||||||
|
help() {
|
||||||
|
echo "Usage: checksec [OPTION]"
|
||||||
|
echo
|
||||||
|
echo "Options:"
|
||||||
|
echo
|
||||||
|
echo " --file <executable-file>"
|
||||||
|
echo " --dir <directory> [-v]"
|
||||||
|
echo " --proc <process name>"
|
||||||
|
echo " --proc-all"
|
||||||
|
echo " --proc-libs <process ID>"
|
||||||
|
echo " --kernel"
|
||||||
|
echo " --fortify-file <executable-file>"
|
||||||
|
echo " --fortify-proc <process ID>"
|
||||||
|
echo " --version"
|
||||||
|
echo " --help"
|
||||||
|
echo
|
||||||
|
echo "For more information, see:"
|
||||||
|
echo " http://www.trapkit.de/tools/checksec.html"
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
||||||
|
# check if command exists
|
||||||
|
command_exists () {
|
||||||
|
type $1 > /dev/null 2>&1;
|
||||||
|
}
|
||||||
|
|
||||||
|
# check if directory exists
|
||||||
|
dir_exists () {
|
||||||
|
if [ -d $1 ] ; then
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# check user privileges
|
||||||
|
root_privs () {
|
||||||
|
if [ $(/usr/bin/id -u) -eq 0 ] ; then
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# check if input is numeric
|
||||||
|
isNumeric () {
|
||||||
|
echo "$@" | grep -q -v "[^0-9]"
|
||||||
|
}
|
||||||
|
|
||||||
|
# check if input is a string
|
||||||
|
isString () {
|
||||||
|
echo "$@" | grep -q -v "[^A-Za-z]"
|
||||||
|
}
|
||||||
|
|
||||||
|
# check file(s)
|
||||||
|
filecheck() {
|
||||||
|
# check for RELRO support
|
||||||
|
if readelf -l $1 2>/dev/null | grep -q 'GNU_RELRO'; then
|
||||||
|
if readelf -d $1 2>/dev/null | grep -q 'BIND_NOW'; then
|
||||||
|
echo -n -e '\033[32mFull RELRO \033[m '
|
||||||
|
else
|
||||||
|
echo -n -e '\033[33mPartial RELRO\033[m '
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo -n -e '\033[31mNo RELRO \033[m '
|
||||||
|
fi
|
||||||
|
|
||||||
|
# check for stack canary support
|
||||||
|
if readelf -s $1 2>/dev/null | grep -q '__stack_chk_fail'; then
|
||||||
|
echo -n -e '\033[32mCanary found \033[m '
|
||||||
|
else
|
||||||
|
echo -n -e '\033[31mNo canary found\033[m '
|
||||||
|
fi
|
||||||
|
|
||||||
|
# check for NX support
|
||||||
|
if readelf -W -l $1 2>/dev/null | grep 'GNU_STACK' | grep -q 'RWE'; then
|
||||||
|
echo -n -e '\033[31mNX disabled\033[m '
|
||||||
|
else
|
||||||
|
echo -n -e '\033[32mNX enabled \033[m '
|
||||||
|
fi
|
||||||
|
|
||||||
|
# check for PIE support
|
||||||
|
if readelf -h $1 2>/dev/null | grep -q 'Type:[[:space:]]*EXEC'; then
|
||||||
|
echo -n -e '\033[31mNo PIE \033[m '
|
||||||
|
elif readelf -h $1 2>/dev/null | grep -q 'Type:[[:space:]]*DYN'; then
|
||||||
|
if readelf -d $1 2>/dev/null | grep -q '(DEBUG)'; then
|
||||||
|
echo -n -e '\033[32mPIE enabled \033[m '
|
||||||
|
else
|
||||||
|
echo -n -e '\033[33mDSO \033[m '
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo -n -e '\033[33mNot an ELF file\033[m '
|
||||||
|
fi
|
||||||
|
|
||||||
|
# check for rpath / run path
|
||||||
|
if readelf -d $1 2>/dev/null | grep -q 'rpath'; then
|
||||||
|
echo -n -e '\033[31mRPATH \033[m '
|
||||||
|
else
|
||||||
|
echo -n -e '\033[32mNo RPATH \033[m '
|
||||||
|
fi
|
||||||
|
|
||||||
|
if readelf -d $1 2>/dev/null | grep -q 'runpath'; then
|
||||||
|
echo -n -e '\033[31mRUNPATH \033[m '
|
||||||
|
else
|
||||||
|
echo -n -e '\033[32mNo RUNPATH \033[m '
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# check process(es)
|
||||||
|
proccheck() {
|
||||||
|
# check for RELRO support
|
||||||
|
if readelf -l $1/exe 2>/dev/null | grep -q 'Program Headers'; then
|
||||||
|
if readelf -l $1/exe 2>/dev/null | grep -q 'GNU_RELRO'; then
|
||||||
|
if readelf -d $1/exe 2>/dev/null | grep -q 'BIND_NOW'; then
|
||||||
|
echo -n -e '\033[32mFull RELRO \033[m '
|
||||||
|
else
|
||||||
|
echo -n -e '\033[33mPartial RELRO \033[m '
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo -n -e '\033[31mNo RELRO \033[m '
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo -n -e '\033[31mPermission denied (please run as root)\033[m\n'
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# check for stack canary support
|
||||||
|
if readelf -s $1/exe 2>/dev/null | grep -q 'Symbol table'; then
|
||||||
|
if readelf -s $1/exe 2>/dev/null | grep -q '__stack_chk_fail'; then
|
||||||
|
echo -n -e '\033[32mCanary found \033[m '
|
||||||
|
else
|
||||||
|
echo -n -e '\033[31mNo canary found \033[m '
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if [ "$1" != "1" ] ; then
|
||||||
|
echo -n -e '\033[33mPermission denied \033[m '
|
||||||
|
else
|
||||||
|
echo -n -e '\033[33mNo symbol table found\033[m '
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# first check for PaX support
|
||||||
|
if cat $1/status 2> /dev/null | grep -q 'PaX:'; then
|
||||||
|
pageexec=( $(cat $1/status 2> /dev/null | grep 'PaX:' | cut -b6) )
|
||||||
|
segmexec=( $(cat $1/status 2> /dev/null | grep 'PaX:' | cut -b10) )
|
||||||
|
mprotect=( $(cat $1/status 2> /dev/null | grep 'PaX:' | cut -b8) )
|
||||||
|
randmmap=( $(cat $1/status 2> /dev/null | grep 'PaX:' | cut -b9) )
|
||||||
|
if [[ "$pageexec" = "P" || "$segmexec" = "S" ]] && [[ "$mprotect" = "M" && "$randmmap" = "R" ]] ; then
|
||||||
|
echo -n -e '\033[32mPaX enabled\033[m '
|
||||||
|
elif [[ "$pageexec" = "p" && "$segmexec" = "s" && "$randmmap" = "R" ]] ; then
|
||||||
|
echo -n -e '\033[33mPaX ASLR only\033[m '
|
||||||
|
elif [[ "$pageexec" = "P" || "$segmexec" = "S" ]] && [[ "$mprotect" = "m" && "$randmmap" = "R" ]] ; then
|
||||||
|
echo -n -e '\033[33mPaX mprot off \033[m'
|
||||||
|
elif [[ "$pageexec" = "P" || "$segmexec" = "S" ]] && [[ "$mprotect" = "M" && "$randmmap" = "r" ]] ; then
|
||||||
|
echo -n -e '\033[33mPaX ASLR off\033[m '
|
||||||
|
elif [[ "$pageexec" = "P" || "$segmexec" = "S" ]] && [[ "$mprotect" = "m" && "$randmmap" = "r" ]] ; then
|
||||||
|
echo -n -e '\033[33mPaX NX only\033[m '
|
||||||
|
else
|
||||||
|
echo -n -e '\033[31mPaX disabled\033[m '
|
||||||
|
fi
|
||||||
|
# fallback check for NX support
|
||||||
|
elif readelf -W -l $1/exe 2>/dev/null | grep 'GNU_STACK' | grep -q 'RWE'; then
|
||||||
|
echo -n -e '\033[31mNX disabled\033[m '
|
||||||
|
else
|
||||||
|
echo -n -e '\033[32mNX enabled \033[m '
|
||||||
|
fi
|
||||||
|
|
||||||
|
# check for PIE support
|
||||||
|
if readelf -h $1/exe 2>/dev/null | grep -q 'Type:[[:space:]]*EXEC'; then
|
||||||
|
echo -n -e '\033[31mNo PIE \033[m '
|
||||||
|
elif readelf -h $1/exe 2>/dev/null | grep -q 'Type:[[:space:]]*DYN'; then
|
||||||
|
if readelf -d $1/exe 2>/dev/null | grep -q '(DEBUG)'; then
|
||||||
|
echo -n -e '\033[32mPIE enabled \033[m '
|
||||||
|
else
|
||||||
|
echo -n -e '\033[33mDynamic Shared Object\033[m '
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo -n -e '\033[33mNot an ELF file \033[m '
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# check mapped libraries
|
||||||
|
libcheck() {
|
||||||
|
libs=( $(awk '{ print $6 }' /proc/$1/maps | grep '/' | sort -u | xargs file | grep ELF | awk '{ print $1 }' | sed 's/:/ /') )
|
||||||
|
|
||||||
|
printf "\n* Loaded libraries (file information, # of mapped files: ${#libs[@]}):\n\n"
|
||||||
|
|
||||||
|
for element in $(seq 0 $((${#libs[@]} - 1)))
|
||||||
|
do
|
||||||
|
echo " ${libs[$element]}:"
|
||||||
|
echo -n " "
|
||||||
|
filecheck ${libs[$element]}
|
||||||
|
printf "\n\n"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# check for system-wide ASLR support
|
||||||
|
aslrcheck() {
|
||||||
|
# PaX ASLR support
|
||||||
|
if !(cat /proc/1/status 2> /dev/null | grep -q 'Name:') ; then
|
||||||
|
echo -n -e ':\033[33m insufficient privileges for PaX ASLR checks\033[m\n'
|
||||||
|
echo -n -e ' Fallback to standard Linux ASLR check'
|
||||||
|
fi
|
||||||
|
|
||||||
|
if cat /proc/1/status 2> /dev/null | grep -q 'PaX:'; then
|
||||||
|
printf ": "
|
||||||
|
if cat /proc/1/status 2> /dev/null | grep 'PaX:' | grep -q 'R'; then
|
||||||
|
echo -n -e '\033[32mPaX ASLR enabled\033[m\n\n'
|
||||||
|
else
|
||||||
|
echo -n -e '\033[31mPaX ASLR disabled\033[m\n\n'
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
# standard Linux 'kernel.randomize_va_space' ASLR support
|
||||||
|
# (see the kernel file 'Documentation/sysctl/kernel.txt' for a detailed description)
|
||||||
|
printf " (kernel.randomize_va_space): "
|
||||||
|
if /sbin/sysctl -a 2>/dev/null | grep -q 'kernel.randomize_va_space = 1'; then
|
||||||
|
echo -n -e '\033[33mOn (Setting: 1)\033[m\n\n'
|
||||||
|
printf " Description - Make the addresses of mmap base, stack and VDSO page randomized.\n"
|
||||||
|
printf " This, among other things, implies that shared libraries will be loaded to \n"
|
||||||
|
printf " random addresses. Also for PIE-linked binaries, the location of code start\n"
|
||||||
|
printf " is randomized. Heap addresses are *not* randomized.\n\n"
|
||||||
|
elif /sbin/sysctl -a 2>/dev/null | grep -q 'kernel.randomize_va_space = 2'; then
|
||||||
|
echo -n -e '\033[32mOn (Setting: 2)\033[m\n\n'
|
||||||
|
printf " Description - Make the addresses of mmap base, heap, stack and VDSO page randomized.\n"
|
||||||
|
printf " This, among other things, implies that shared libraries will be loaded to random \n"
|
||||||
|
printf " addresses. Also for PIE-linked binaries, the location of code start is randomized.\n\n"
|
||||||
|
elif /sbin/sysctl -a 2>/dev/null | grep -q 'kernel.randomize_va_space = 0'; then
|
||||||
|
echo -n -e '\033[31mOff (Setting: 0)\033[m\n'
|
||||||
|
else
|
||||||
|
echo -n -e '\033[31mNot supported\033[m\n'
|
||||||
|
fi
|
||||||
|
printf " See the kernel file 'Documentation/sysctl/kernel.txt' for more details.\n\n"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# check cpu nx flag
|
||||||
|
nxcheck() {
|
||||||
|
if grep -q nx /proc/cpuinfo; then
|
||||||
|
echo -n -e '\033[32mYes\033[m\n\n'
|
||||||
|
else
|
||||||
|
echo -n -e '\033[31mNo\033[m\n\n'
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# check for kernel protection mechanisms
|
||||||
|
kernelcheck() {
|
||||||
|
printf " Description - List the status of kernel protection mechanisms. Rather than\n"
|
||||||
|
printf " inspect kernel mechanisms that may aid in the prevention of exploitation of\n"
|
||||||
|
printf " userspace processes, this option lists the status of kernel configuration\n"
|
||||||
|
printf " options that harden the kernel itself against attack.\n\n"
|
||||||
|
printf " Kernel config: "
|
||||||
|
|
||||||
|
if [ -f /proc/config.gz ] ; then
|
||||||
|
kconfig="zcat /proc/config.gz"
|
||||||
|
printf "\033[32m/proc/config.gz\033[m\n\n"
|
||||||
|
elif [ -f /boot/config-`uname -r` ] ; then
|
||||||
|
kconfig="cat /boot/config-`uname -r`"
|
||||||
|
printf "\033[33m/boot/config-`uname -r`\033[m\n\n"
|
||||||
|
printf " Warning: The config on disk may not represent running kernel config!\n\n";
|
||||||
|
elif [ -f "${KBUILD_OUTPUT:-/usr/src/linux}"/.config ] ; then
|
||||||
|
kconfig="cat ${KBUILD_OUTPUT:-/usr/src/linux}/.config"
|
||||||
|
printf "\033[33m%s\033[m\n\n" "${KBUILD_OUTPUT:-/usr/src/linux}/.config"
|
||||||
|
printf " Warning: The config on disk may not represent running kernel config!\n\n";
|
||||||
|
else
|
||||||
|
printf "\033[31mNOT FOUND\033[m\n\n"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
printf " GCC stack protector support: "
|
||||||
|
if $kconfig | grep -qi 'CONFIG_CC_STACKPROTECTOR=y'; then
|
||||||
|
printf "\033[32mEnabled\033[m\n"
|
||||||
|
else
|
||||||
|
printf "\033[31mDisabled\033[m\n"
|
||||||
|
fi
|
||||||
|
|
||||||
|
printf " Strict user copy checks: "
|
||||||
|
if $kconfig | grep -qi 'CONFIG_DEBUG_STRICT_USER_COPY_CHECKS=y'; then
|
||||||
|
printf "\033[32mEnabled\033[m\n"
|
||||||
|
else
|
||||||
|
printf "\033[31mDisabled\033[m\n"
|
||||||
|
fi
|
||||||
|
|
||||||
|
printf " Enforce read-only kernel data: "
|
||||||
|
if $kconfig | grep -qi 'CONFIG_DEBUG_RODATA=y'; then
|
||||||
|
printf "\033[32mEnabled\033[m\n"
|
||||||
|
else
|
||||||
|
printf "\033[31mDisabled\033[m\n"
|
||||||
|
fi
|
||||||
|
printf " Restrict /dev/mem access: "
|
||||||
|
if $kconfig | grep -qi 'CONFIG_STRICT_DEVMEM=y'; then
|
||||||
|
printf "\033[32mEnabled\033[m\n"
|
||||||
|
else
|
||||||
|
printf "\033[31mDisabled\033[m\n"
|
||||||
|
fi
|
||||||
|
|
||||||
|
printf " Restrict /dev/kmem access: "
|
||||||
|
if $kconfig | grep -qi 'CONFIG_DEVKMEM=y'; then
|
||||||
|
printf "\033[31mDisabled\033[m\n"
|
||||||
|
else
|
||||||
|
printf "\033[32mEnabled\033[m\n"
|
||||||
|
fi
|
||||||
|
|
||||||
|
printf "\n"
|
||||||
|
printf "* grsecurity / PaX: "
|
||||||
|
|
||||||
|
if $kconfig | grep -qi 'CONFIG_GRKERNSEC=y'; then
|
||||||
|
if $kconfig | grep -qi 'CONFIG_GRKERNSEC_HIGH=y'; then
|
||||||
|
printf "\033[32mHigh GRKERNSEC\033[m\n\n"
|
||||||
|
elif $kconfig | grep -qi 'CONFIG_GRKERNSEC_MEDIUM=y'; then
|
||||||
|
printf "\033[33mMedium GRKERNSEC\033[m\n\n"
|
||||||
|
elif $kconfig | grep -qi 'CONFIG_GRKERNSEC_LOW=y'; then
|
||||||
|
printf "\033[31mLow GRKERNSEC\033[m\n\n"
|
||||||
|
else
|
||||||
|
printf "\033[33mCustom GRKERNSEC\033[m\n\n"
|
||||||
|
fi
|
||||||
|
|
||||||
|
printf " Non-executable kernel pages: "
|
||||||
|
if $kconfig | grep -qi 'CONFIG_PAX_KERNEXEC=y'; then
|
||||||
|
printf "\033[32mEnabled\033[m\n"
|
||||||
|
else
|
||||||
|
printf "\033[31mDisabled\033[m\n"
|
||||||
|
fi
|
||||||
|
|
||||||
|
printf " Prevent userspace pointer deref: "
|
||||||
|
if $kconfig | grep -qi 'CONFIG_PAX_MEMORY_UDEREF=y'; then
|
||||||
|
printf "\033[32mEnabled\033[m\n"
|
||||||
|
else
|
||||||
|
printf "\033[31mDisabled\033[m\n"
|
||||||
|
fi
|
||||||
|
|
||||||
|
printf " Prevent kobject refcount overflow: "
|
||||||
|
if $kconfig | grep -qi 'CONFIG_PAX_REFCOUNT=y'; then
|
||||||
|
printf "\033[32mEnabled\033[m\n"
|
||||||
|
else
|
||||||
|
printf "\033[31mDisabled\033[m\n"
|
||||||
|
fi
|
||||||
|
|
||||||
|
printf " Bounds check heap object copies: "
|
||||||
|
if $kconfig | grep -qi 'CONFIG_PAX_USERCOPY=y'; then
|
||||||
|
printf "\033[32mEnabled\033[m\n"
|
||||||
|
else
|
||||||
|
printf "\033[31mDisabled\033[m\n"
|
||||||
|
fi
|
||||||
|
|
||||||
|
printf " Disable writing to kmem/mem/port: "
|
||||||
|
if $kconfig | grep -qi 'CONFIG_GRKERNSEC_KMEM=y'; then
|
||||||
|
printf "\033[32mEnabled\033[m\n"
|
||||||
|
else
|
||||||
|
printf "\033[31mDisabled\033[m\n"
|
||||||
|
fi
|
||||||
|
|
||||||
|
printf " Disable privileged I/O: "
|
||||||
|
if $kconfig | grep -qi 'CONFIG_GRKERNSEC_IO=y'; then
|
||||||
|
printf "\033[32mEnabled\033[m\n"
|
||||||
|
else
|
||||||
|
printf "\033[31mDisabled\033[m\n"
|
||||||
|
fi
|
||||||
|
|
||||||
|
printf " Harden module auto-loading: "
|
||||||
|
if $kconfig | grep -qi 'CONFIG_GRKERNSEC_MODHARDEN=y'; then
|
||||||
|
printf "\033[32mEnabled\033[m\n"
|
||||||
|
else
|
||||||
|
printf "\033[31mDisabled\033[m\n"
|
||||||
|
fi
|
||||||
|
|
||||||
|
printf " Hide kernel symbols: "
|
||||||
|
if $kconfig | grep -qi 'CONFIG_GRKERNSEC_HIDESYM=y'; then
|
||||||
|
printf "\033[32mEnabled\033[m\n"
|
||||||
|
else
|
||||||
|
printf "\033[31mDisabled\033[m\n"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
printf "\033[31mNo GRKERNSEC\033[m\n\n"
|
||||||
|
printf " The grsecurity / PaX patchset is available here:\n"
|
||||||
|
printf " http://grsecurity.net/\n"
|
||||||
|
fi
|
||||||
|
|
||||||
|
printf "\n"
|
||||||
|
printf "* Kernel Heap Hardening: "
|
||||||
|
|
||||||
|
if $kconfig | grep -qi 'CONFIG_KERNHEAP=y'; then
|
||||||
|
if $kconfig | grep -qi 'CONFIG_KERNHEAP_FULLPOISON=y'; then
|
||||||
|
printf "\033[32mFull KERNHEAP\033[m\n\n"
|
||||||
|
else
|
||||||
|
printf "\033[33mPartial KERNHEAP\033[m\n\n"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
printf "\033[31mNo KERNHEAP\033[m\n\n"
|
||||||
|
printf " The KERNHEAP hardening patchset is available here:\n"
|
||||||
|
printf " https://www.subreption.com/kernheap/\n\n"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# --- FORTIFY_SOURCE subfunctions (start) ---
|
||||||
|
|
||||||
|
# is FORTIFY_SOURCE supported by libc?
|
||||||
|
FS_libc_check() {
|
||||||
|
printf "* FORTIFY_SOURCE support available (libc) : "
|
||||||
|
|
||||||
|
if [ "${#FS_chk_func_libc[@]}" != "0" ] ; then
|
||||||
|
printf "\033[32mYes\033[m\n"
|
||||||
|
else
|
||||||
|
printf "\033[31mNo\033[m\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# was the binary compiled with FORTIFY_SOURCE?
|
||||||
|
FS_binary_check() {
|
||||||
|
printf "* Binary compiled with FORTIFY_SOURCE support: "
|
||||||
|
|
||||||
|
for FS_elem_functions in $(seq 0 $((${#FS_functions[@]} - 1)))
|
||||||
|
do
|
||||||
|
if [[ ${FS_functions[$FS_elem_functions]} =~ _chk ]] ; then
|
||||||
|
printf "\033[32mYes\033[m\n"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
printf "\033[31mNo\033[m\n"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
FS_comparison() {
|
||||||
|
echo
|
||||||
|
printf " ------ EXECUTABLE-FILE ------- . -------- LIBC --------\n"
|
||||||
|
printf " FORTIFY-able library functions | Checked function names\n"
|
||||||
|
printf " -------------------------------------------------------\n"
|
||||||
|
|
||||||
|
for FS_elem_libc in $(seq 0 $((${#FS_chk_func_libc[@]} - 1)))
|
||||||
|
do
|
||||||
|
for FS_elem_functions in $(seq 0 $((${#FS_functions[@]} - 1)))
|
||||||
|
do
|
||||||
|
FS_tmp_func=${FS_functions[$FS_elem_functions]}
|
||||||
|
FS_tmp_libc=${FS_chk_func_libc[$FS_elem_libc]}
|
||||||
|
|
||||||
|
if [[ $FS_tmp_func =~ ^$FS_tmp_libc$ ]] ; then
|
||||||
|
printf " \033[31m%-30s\033[m | __%s%s\n" $FS_tmp_func $FS_tmp_libc $FS_end
|
||||||
|
let FS_cnt_total++
|
||||||
|
let FS_cnt_unchecked++
|
||||||
|
elif [[ $FS_tmp_func =~ ^$FS_tmp_libc(_chk) ]] ; then
|
||||||
|
printf " \033[32m%-30s\033[m | __%s%s\n" $FS_tmp_func $FS_tmp_libc $FS_end
|
||||||
|
let FS_cnt_total++
|
||||||
|
let FS_cnt_checked++
|
||||||
|
fi
|
||||||
|
|
||||||
|
done
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
FS_summary() {
|
||||||
|
echo
|
||||||
|
printf "SUMMARY:\n\n"
|
||||||
|
printf "* Number of checked functions in libc : ${#FS_chk_func_libc[@]}\n"
|
||||||
|
printf "* Total number of library functions in the executable: ${#FS_functions[@]}\n"
|
||||||
|
printf "* Number of FORTIFY-able functions in the executable : %s\n" $FS_cnt_total
|
||||||
|
printf "* Number of checked functions in the executable : \033[32m%s\033[m\n" $FS_cnt_checked
|
||||||
|
printf "* Number of unchecked functions in the executable : \033[31m%s\033[m\n" $FS_cnt_unchecked
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
||||||
|
# --- FORTIFY_SOURCE subfunctions (end) ---
|
||||||
|
|
||||||
|
if !(command_exists readelf) ; then
|
||||||
|
printf "\033[31mWarning: 'readelf' not found! It's required for most checks.\033[m\n\n"
|
||||||
|
have_readelf=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# parse command-line arguments
|
||||||
|
case "$1" in
|
||||||
|
|
||||||
|
--version)
|
||||||
|
version
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
|
||||||
|
--help)
|
||||||
|
help
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
|
||||||
|
--dir)
|
||||||
|
if [ "$3" = "-v" ] ; then
|
||||||
|
verbose=true
|
||||||
|
fi
|
||||||
|
if [ $have_readelf -eq 0 ] ; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [ -z "$2" ] ; then
|
||||||
|
printf "\033[31mError: Please provide a valid directory.\033[m\n\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
# remove trailing slashes
|
||||||
|
tempdir=`echo $2 | sed -e "s/\/*$//"`
|
||||||
|
if [ ! -d $tempdir ] ; then
|
||||||
|
printf "\033[31mError: The directory '$tempdir' does not exist.\033[m\n\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
cd $tempdir
|
||||||
|
printf "RELRO STACK CANARY NX PIE RPATH RUNPATH FILE\n"
|
||||||
|
for N in [A-Za-z]*; do
|
||||||
|
if [ "$N" != "[A-Za-z]*" ]; then
|
||||||
|
# read permissions?
|
||||||
|
if [ ! -r $N ]; then
|
||||||
|
printf "\033[31mError: No read permissions for '$tempdir/$N' (run as root).\033[m\n"
|
||||||
|
else
|
||||||
|
# ELF executable?
|
||||||
|
out=`file $N`
|
||||||
|
if [[ ! $out =~ ELF ]] ; then
|
||||||
|
if [ "$verbose" = "true" ] ; then
|
||||||
|
printf "\033[34m*** Not an ELF file: $tempdir/"
|
||||||
|
file $N
|
||||||
|
printf "\033[m"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
filecheck $N
|
||||||
|
if [ `find $tempdir/$N \( -perm -004000 -o -perm -002000 \) -type f -print` ]; then
|
||||||
|
printf "\033[37;41m%s%s\033[m" $2 $N
|
||||||
|
else
|
||||||
|
printf "%s%s" $tempdir/ $N
|
||||||
|
fi
|
||||||
|
echo
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
|
||||||
|
--file)
|
||||||
|
if [ $have_readelf -eq 0 ] ; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [ -z "$2" ] ; then
|
||||||
|
printf "\033[31mError: Please provide a valid file.\033[m\n\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
# does the file exist?
|
||||||
|
if [ ! -e $2 ] ; then
|
||||||
|
printf "\033[31mError: The file '$2' does not exist.\033[m\n\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
# read permissions?
|
||||||
|
if [ ! -r $2 ] ; then
|
||||||
|
printf "\033[31mError: No read permissions for '$2' (run as root).\033[m\n\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
# ELF executable?
|
||||||
|
out=`file $2`
|
||||||
|
if [[ ! $out =~ ELF ]] ; then
|
||||||
|
printf "\033[31mError: Not an ELF file: "
|
||||||
|
file $2
|
||||||
|
printf "\033[m\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
printf "RELRO STACK CANARY NX PIE RPATH RUNPATH FILE\n"
|
||||||
|
filecheck $2
|
||||||
|
if [ `find $2 \( -perm -004000 -o -perm -002000 \) -type f -print` ] ; then
|
||||||
|
printf "\033[37;41m%s%s\033[m" $2 $N
|
||||||
|
else
|
||||||
|
printf "%s" $2
|
||||||
|
fi
|
||||||
|
echo
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
|
||||||
|
--proc-all)
|
||||||
|
if [ $have_readelf -eq 0 ] ; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
cd /proc
|
||||||
|
printf "* System-wide ASLR"
|
||||||
|
aslrcheck
|
||||||
|
printf "* Does the CPU support NX: "
|
||||||
|
nxcheck
|
||||||
|
printf " COMMAND PID RELRO STACK CANARY NX/PaX PIE\n"
|
||||||
|
for N in [1-9]*; do
|
||||||
|
if [ $N != $$ ] && readlink -q $N/exe > /dev/null; then
|
||||||
|
printf "%16s" `head -1 $N/status | cut -b 7-`
|
||||||
|
printf "%7d " $N
|
||||||
|
proccheck $N
|
||||||
|
echo
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if [ ! -e /usr/bin/id ] ; then
|
||||||
|
printf "\n\033[33mNote: If you are running 'checksec.sh' as an unprivileged user, you\n"
|
||||||
|
printf " will not see all processes. Please run the script as root.\033[m\n\n"
|
||||||
|
else
|
||||||
|
if !(root_privs) ; then
|
||||||
|
printf "\n\033[33mNote: You are running 'checksec.sh' as an unprivileged user.\n"
|
||||||
|
printf " Too see all processes, please run the script as root.\033[m\n\n"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
|
||||||
|
--proc)
|
||||||
|
if [ $have_readelf -eq 0 ] ; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [ -z "$2" ] ; then
|
||||||
|
printf "\033[31mError: Please provide a valid process name.\033[m\n\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if !(isString "$2") ; then
|
||||||
|
printf "\033[31mError: Please provide a valid process name.\033[m\n\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
cd /proc
|
||||||
|
printf "* System-wide ASLR"
|
||||||
|
aslrcheck
|
||||||
|
printf "* Does the CPU support NX: "
|
||||||
|
nxcheck
|
||||||
|
printf " COMMAND PID RELRO STACK CANARY NX/PaX PIE\n"
|
||||||
|
for N in `ps -Ao pid,comm | grep $2 | cut -b1-6`; do
|
||||||
|
if [ -d $N ] ; then
|
||||||
|
printf "%16s" `head -1 $N/status | cut -b 7-`
|
||||||
|
printf "%7d " $N
|
||||||
|
# read permissions?
|
||||||
|
if [ ! -r $N/exe ] ; then
|
||||||
|
if !(root_privs) ; then
|
||||||
|
printf "\033[31mNo read permissions for '/proc/$N/exe' (run as root).\033[m\n\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [ ! `readlink $N/exe` ] ; then
|
||||||
|
printf "\033[31mPermission denied. Requested process ID belongs to a kernel thread.\033[m\n\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
proccheck $N
|
||||||
|
echo
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
|
||||||
|
--proc-libs)
|
||||||
|
if [ $have_readelf -eq 0 ] ; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [ -z "$2" ] ; then
|
||||||
|
printf "\033[31mError: Please provide a valid process ID.\033[m\n\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if !(isNumeric "$2") ; then
|
||||||
|
printf "\033[31mError: Please provide a valid process ID.\033[m\n\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
cd /proc
|
||||||
|
printf "* System-wide ASLR"
|
||||||
|
aslrcheck
|
||||||
|
printf "* Does the CPU support NX: "
|
||||||
|
nxcheck
|
||||||
|
printf "* Process information:\n\n"
|
||||||
|
printf " COMMAND PID RELRO STACK CANARY NX/PaX PIE\n"
|
||||||
|
N=$2
|
||||||
|
if [ -d $N ] ; then
|
||||||
|
printf "%16s" `head -1 $N/status | cut -b 7-`
|
||||||
|
printf "%7d " $N
|
||||||
|
# read permissions?
|
||||||
|
if [ ! -r $N/exe ] ; then
|
||||||
|
if !(root_privs) ; then
|
||||||
|
printf "\033[31mNo read permissions for '/proc/$N/exe' (run as root).\033[m\n\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [ ! `readlink $N/exe` ] ; then
|
||||||
|
printf "\033[31mPermission denied. Requested process ID belongs to a kernel thread.\033[m\n\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
proccheck $N
|
||||||
|
echo
|
||||||
|
libcheck $N
|
||||||
|
fi
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
|
||||||
|
--kernel)
|
||||||
|
cd /proc
|
||||||
|
printf "* Kernel protection information:\n\n"
|
||||||
|
kernelcheck
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
|
||||||
|
--fortify-file)
|
||||||
|
if [ $have_readelf -eq 0 ] ; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [ -z "$2" ] ; then
|
||||||
|
printf "\033[31mError: Please provide a valid file.\033[m\n\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
# does the file exist?
|
||||||
|
if [ ! -e $2 ] ; then
|
||||||
|
printf "\033[31mError: The file '$2' does not exist.\033[m\n\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
# read permissions?
|
||||||
|
if [ ! -r $2 ] ; then
|
||||||
|
printf "\033[31mError: No read permissions for '$2' (run as root).\033[m\n\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
# ELF executable?
|
||||||
|
out=`file $2`
|
||||||
|
if [[ ! $out =~ ELF ]] ; then
|
||||||
|
printf "\033[31mError: Not an ELF file: "
|
||||||
|
file $2
|
||||||
|
printf "\033[m\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [ -e /lib/libc.so.6 ] ; then
|
||||||
|
FS_libc=/lib/libc.so.6
|
||||||
|
elif [ -e /lib64/libc.so.6 ] ; then
|
||||||
|
FS_libc=/lib64/libc.so.6
|
||||||
|
elif [ -e /lib/i386-linux-gnu/libc.so.6 ] ; then
|
||||||
|
FS_libc=/lib/i386-linux-gnu/libc.so.6
|
||||||
|
elif [ -e /lib/x86_64-linux-gnu/libc.so.6 ] ; then
|
||||||
|
FS_libc=/lib/x86_64-linux-gnu/libc.so.6
|
||||||
|
else
|
||||||
|
printf "\033[31mError: libc not found.\033[m\n\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
FS_chk_func_libc=( $(readelf -s $FS_libc | grep _chk@@ | awk '{ print $8 }' | cut -c 3- | sed -e 's/_chk@.*//') )
|
||||||
|
FS_functions=( $(readelf -s $2 | awk '{ print $8 }' | sed 's/_*//' | sed -e 's/@.*//') )
|
||||||
|
|
||||||
|
FS_libc_check
|
||||||
|
FS_binary_check
|
||||||
|
FS_comparison
|
||||||
|
FS_summary
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
|
||||||
|
--fortify-proc)
|
||||||
|
if [ $have_readelf -eq 0 ] ; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [ -z "$2" ] ; then
|
||||||
|
printf "\033[31mError: Please provide a valid process ID.\033[m\n\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if !(isNumeric "$2") ; then
|
||||||
|
printf "\033[31mError: Please provide a valid process ID.\033[m\n\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
cd /proc
|
||||||
|
N=$2
|
||||||
|
if [ -d $N ] ; then
|
||||||
|
# read permissions?
|
||||||
|
if [ ! -r $N/exe ] ; then
|
||||||
|
if !(root_privs) ; then
|
||||||
|
printf "\033[31mNo read permissions for '/proc/$N/exe' (run as root).\033[m\n\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [ ! `readlink $N/exe` ] ; then
|
||||||
|
printf "\033[31mPermission denied. Requested process ID belongs to a kernel thread.\033[m\n\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [ -e /lib/libc.so.6 ] ; then
|
||||||
|
FS_libc=/lib/libc.so.6
|
||||||
|
elif [ -e /lib64/libc.so.6 ] ; then
|
||||||
|
FS_libc=/lib64/libc.so.6
|
||||||
|
elif [ -e /lib/i386-linux-gnu/libc.so.6 ] ; then
|
||||||
|
FS_libc=/lib/i386-linux-gnu/libc.so.6
|
||||||
|
elif [ -e /lib/x86_64-linux-gnu/libc.so.6 ] ; then
|
||||||
|
FS_libc=/lib/x86_64-linux-gnu/libc.so.6
|
||||||
|
else
|
||||||
|
printf "\033[31mError: libc not found.\033[m\n\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
printf "* Process name (PID) : %s (%d)\n" `head -1 $N/status | cut -b 7-` $N
|
||||||
|
FS_chk_func_libc=( $(readelf -s $FS_libc | grep _chk@@ | awk '{ print $8 }' | cut -c 3- | sed -e 's/_chk@.*//') )
|
||||||
|
FS_functions=( $(readelf -s $2/exe | awk '{ print $8 }' | sed 's/_*//' | sed -e 's/@.*//') )
|
||||||
|
|
||||||
|
FS_libc_check
|
||||||
|
FS_binary_check
|
||||||
|
FS_comparison
|
||||||
|
FS_summary
|
||||||
|
fi
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
if [ "$#" != "0" ] ; then
|
||||||
|
printf "\033[31mError: Unknown option '$1'.\033[m\n\n"
|
||||||
|
fi
|
||||||
|
help
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
10
bin/google-chrome
Executable file
10
bin/google-chrome
Executable 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
28
bin/metasploit.sh
Executable 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
1
bin/nasm_shell
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
metasploit.sh
|
||||||
1
bin/pattern_create
Symbolic link
1
bin/pattern_create
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
metasploit.sh
|
||||||
1
bin/pattern_offset
Symbolic link
1
bin/pattern_offset
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
metasploit.sh
|
||||||
16
deb-to-kali.sh
Executable file
16
deb-to-kali.sh
Executable file
@@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ `whoami` != "root" ] ; then
|
||||||
|
echo "This must be run as root." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
BASEDIR=`dirname $0`
|
||||||
|
|
||||||
|
cat >/etc/apt/sources.list.d/kali.list <<KALI_EOF
|
||||||
|
deb http://http.kali.org/kali kali-rolling main contrib non-free
|
||||||
|
KALI_EOF
|
||||||
|
|
||||||
|
/usr/bin/apt-key add ${BASEDIR}/keys/gpg/kali-repo.key
|
||||||
|
/usr/bin/apt-get update
|
||||||
|
/usr/bin/apt-get install -y kali-linux-full
|
||||||
3
dotfiles/ackrc
Normal file
3
dotfiles/ackrc
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
--follow
|
||||||
|
--pager=less -LMXRF
|
||||||
|
--smart-case
|
||||||
32
dotfiles/aliases
Normal file
32
dotfiles/aliases
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
# General aliases, should only be sourced in interactive shells
|
||||||
|
|
||||||
|
# Add an "alert" alias for long running commands. Use like so:
|
||||||
|
# sleep 10; alert
|
||||||
|
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='sudo cryptsetup luksFormat -s 512 -c aes-xts-plain --use-random -h sha256 -i 5000'
|
||||||
|
|
||||||
|
# Colors
|
||||||
|
alias ls='ls --color=auto'
|
||||||
|
alias grep='grep --color=auto'
|
||||||
|
alias egrep='egrep --color=auto'
|
||||||
|
alias fgrep='fgrep --color=auto'
|
||||||
|
|
||||||
|
# Easy upgrade
|
||||||
|
alias dist-upgrade="sudo sh -c 'apt-get update && apt-get -y dist-upgrade'"
|
||||||
|
|
||||||
|
# Timestamp in a machine-sortable form
|
||||||
|
alias tstamp="date '+%Y%m%d-%H%M%S'"
|
||||||
|
|
||||||
|
# Prepare code for markdown
|
||||||
|
alias mdcode="sed 's/^/ /'"
|
||||||
|
|
||||||
|
# Intel format plz
|
||||||
|
alias objdump="command objdump -M intel"
|
||||||
|
|
||||||
|
# ACK
|
||||||
|
alias ack="ack-grep"
|
||||||
|
|
||||||
|
# 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 &"
|
||||||
@@ -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;;
|
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
|
||||||
esac
|
|
||||||
force_color_prompt=yes
|
|
||||||
if [ -n "$force_color_prompt" ]; 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
|
||||||
@@ -37,16 +30,13 @@ xterm*|rxvt*)
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# enable color support of ls and also add handy aliases
|
|
||||||
if [ -x /usr/bin/dircolors ]; then
|
if [ -x /usr/bin/dircolors ]; then
|
||||||
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
|
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
|
||||||
alias ls='ls --color=auto'
|
|
||||||
alias grep='grep --color=auto'
|
|
||||||
alias fgrep='fgrep --color=auto'
|
|
||||||
alias egrep='egrep --color=auto'
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Bash completion
|
# Bash completion
|
||||||
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
|
||||||
0
dotfiles/byobu/.welcome-displayed
Normal file
0
dotfiles/byobu/.welcome-displayed
Normal file
1
dotfiles/byobu/backend
Normal file
1
dotfiles/byobu/backend
Normal file
@@ -0,0 +1 @@
|
|||||||
|
BYOBU_BACKEND=tmux
|
||||||
3
dotfiles/byobu/color
Normal file
3
dotfiles/byobu/color
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
BACKGROUND=k
|
||||||
|
FOREGROUND=w
|
||||||
|
MONOCHROME=0
|
||||||
5
dotfiles/byobu/color.tmux
Normal file
5
dotfiles/byobu/color.tmux
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
BYOBU_DARK=black
|
||||||
|
BYOBU_LIGHT=white
|
||||||
|
BYOBU_ACCENT=magenta
|
||||||
|
BYOBU_HIGHLIGHT=red
|
||||||
|
MONOCHROME=0
|
||||||
1
dotfiles/byobu/keybindings
Normal file
1
dotfiles/byobu/keybindings
Normal file
@@ -0,0 +1 @@
|
|||||||
|
source $BYOBU_PREFIX/share/byobu/keybindings/common
|
||||||
4
dotfiles/byobu/keybindings.tmux
Normal file
4
dotfiles/byobu/keybindings.tmux
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
unbind-key -n C-a
|
||||||
|
set -g prefix ^A
|
||||||
|
set -g prefix2 ^A
|
||||||
|
bind a send-prefix
|
||||||
1
dotfiles/byobu/profile
Normal file
1
dotfiles/byobu/profile
Normal file
@@ -0,0 +1 @@
|
|||||||
|
source $BYOBU_PREFIX/share/byobu/profiles/common
|
||||||
1
dotfiles/byobu/profile.tmux
Normal file
1
dotfiles/byobu/profile.tmux
Normal file
@@ -0,0 +1 @@
|
|||||||
|
source $BYOBU_PREFIX/share/byobu/profiles/tmux
|
||||||
1
dotfiles/byobu/prompt
Normal file
1
dotfiles/byobu/prompt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
[ -r /usr/share/byobu/profiles/bashrc ] && . /usr/share/byobu/profiles/bashrc #byobu-prompt#
|
||||||
37
dotfiles/byobu/status
Normal file
37
dotfiles/byobu/status
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
# status - Byobu's default status enabled/disabled settings
|
||||||
|
#
|
||||||
|
# Override these in $BYOBU_CONFIG_DIR/status
|
||||||
|
# where BYOBU_CONFIG_DIR is XDG_CONFIG_HOME if defined,
|
||||||
|
# and $HOME/.byobu otherwise.
|
||||||
|
#
|
||||||
|
# Copyright (C) 2009-2011 Canonical Ltd.
|
||||||
|
#
|
||||||
|
# Authors: Dustin Kirkland <kirkland@byobu.co>
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, version 3 of the License.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
# Status beginning with '#' are disabled.
|
||||||
|
|
||||||
|
# Screen has two status lines, with 4 quadrants for status
|
||||||
|
screen_upper_left="color"
|
||||||
|
screen_upper_right="color whoami hostname ip_address menu"
|
||||||
|
screen_lower_left="color logo distro release #arch"
|
||||||
|
screen_lower_right="color network #disk_io custom #entropy raid reboot_required updates_available #apport #services #mail users uptime #ec2_cost #rcs_cost #fan_speed #cpu_temp battery wifi_quality #processes load_average cpu_count cpu_freq memory #swap #disk #time_utc date time"
|
||||||
|
|
||||||
|
# Tmux has one status line, with 2 halves for status
|
||||||
|
tmux_left="logo #distro release #arch"
|
||||||
|
# You can have as many tmux right lines below here, and cycle through them using Shift-F5
|
||||||
|
tmux_right="#network #disk_io #custom #entropy raid reboot_required updates_available #apport #services #mail #users uptime #ec2_cost #rcs_cost #fan_speed #cpu_temp #battery #wifi_quality #processes load_average cpu_count cpu_freq memory #swap #disk #whoami #hostname #ip_address #time_utc date time"
|
||||||
|
#tmux_right="network #disk_io #custom entropy raid reboot_required updates_available #apport #services #mail users uptime #ec2_cost #rcs_cost fan_speed cpu_temp battery wifi_quality #processes load_average cpu_count cpu_freq memory #swap #disk whoami hostname ip_address #time_utc date time"
|
||||||
|
#tmux_right="network #disk_io custom #entropy raid reboot_required updates_available #apport #services #mail users uptime #ec2_cost #rcs_cost #fan_speed #cpu_temp battery wifi_quality #processes load_average cpu_count cpu_freq memory #swap #disk #whoami #hostname ip_address #time_utc date time"
|
||||||
|
#tmux_right="#network disk_io #custom entropy #raid #reboot_required #updates_available #apport #services #mail #users #uptime #ec2_cost #rcs_cost fan_speed cpu_temp #battery #wifi_quality #processes #load_average #cpu_count #cpu_freq #memory #swap whoami hostname ip_address #time_utc disk date time"
|
||||||
78
dotfiles/byobu/statusrc
Normal file
78
dotfiles/byobu/statusrc
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
# statusrc - Byobu's default status configurations
|
||||||
|
#
|
||||||
|
# Override these in $BYOBU_CONFIG_DIR/statusrc
|
||||||
|
# where BYOBU_CONFIG_DIR is XDG_CONFIG_HOME if defined,
|
||||||
|
# and $HOME/.byobu otherwise.
|
||||||
|
#
|
||||||
|
# Copyright (C) 2009-2011 Canonical Ltd.
|
||||||
|
#
|
||||||
|
# Authors: Dustin Kirkland <kirkland@byobu.co>
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, version 3 of the License.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
# Configurations that you can override; if you leave these commented out,
|
||||||
|
# Byobu will try to auto-detect them.
|
||||||
|
|
||||||
|
# This should be auto-detected for most distro, but setting it here will save
|
||||||
|
# some call to lsb_release and the like.
|
||||||
|
#DISTRO=Ubuntu
|
||||||
|
|
||||||
|
# Default: depends on the distro (which is either auto-detected, either set
|
||||||
|
# via $DISTRO)
|
||||||
|
#LOGO="\o/"
|
||||||
|
|
||||||
|
# Abbreviate the release to N characters
|
||||||
|
# By default, this is disabled. But if you set RELEASE_ABBREVIATED=1
|
||||||
|
# and your lsb_release is "precise", only "p" will be displayed
|
||||||
|
#RELEASE_ABBREVIATED=1
|
||||||
|
|
||||||
|
# Default: /
|
||||||
|
#MONITORED_DISK=/
|
||||||
|
|
||||||
|
# Minimum disk throughput that triggers the notification (in kB/s)
|
||||||
|
# Default: 50
|
||||||
|
#DISK_IO_THRESHOLD=50
|
||||||
|
|
||||||
|
# Default: eth0
|
||||||
|
#MONITORED_NETWORK=eth0
|
||||||
|
|
||||||
|
# Unit used for network throughput (either bits per second or bytes per second)
|
||||||
|
# Default: bits
|
||||||
|
#NETWORK_UNITS=bytes
|
||||||
|
|
||||||
|
# Minimum network throughput that triggers the notification (in kbit/s)
|
||||||
|
# Default: 20
|
||||||
|
#NETWORK_THRESHOLD=20
|
||||||
|
|
||||||
|
# You can add an additional source of temperature here
|
||||||
|
#MONITORED_TEMP=/proc/acpi/thermal_zone/THM0/temperature
|
||||||
|
|
||||||
|
# Default: C
|
||||||
|
#TEMP=F
|
||||||
|
|
||||||
|
#SERVICES="eucalyptus-nc|NC eucalyptus-cloud|CLC eucalyptus-walrus eucalyptus-cc|CC eucalyptus-sc|SC"
|
||||||
|
|
||||||
|
#FAN=$(find /sys -type f -name fan1_input | head -n1)
|
||||||
|
|
||||||
|
# You can set this to 1 to report your external/public ip address
|
||||||
|
# Default: 0
|
||||||
|
#IP_EXTERNAL=0
|
||||||
|
|
||||||
|
# The users notification normally counts ssh sessions; set this configuration to '1'
|
||||||
|
# to instead count number of distinct users logged onto the system
|
||||||
|
# Default: 0
|
||||||
|
#USERS_DISTINCT=0
|
||||||
|
|
||||||
|
# Set this to zero to hide seconds int the time display
|
||||||
|
# Default 1
|
||||||
|
#TIME_SECONDS=0
|
||||||
0
dotfiles/byobu/windows
Normal file
0
dotfiles/byobu/windows
Normal file
4
dotfiles/curlrc
Normal file
4
dotfiles/curlrc
Normal file
@@ -0,0 +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"
|
||||||
295
dotfiles/dircolors
Normal file
295
dotfiles/dircolors
Normal 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
24
dotfiles/env
Normal 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
|
||||||
26
dotfiles/gdbinit
Normal file
26
dotfiles/gdbinit
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
# General options
|
||||||
|
set verbose off
|
||||||
|
set confirm off
|
||||||
|
set disassembly-flavor intel
|
||||||
|
set output-radix 0x10
|
||||||
|
set input-radix 10.
|
||||||
|
|
||||||
|
# helpful shortcuts
|
||||||
|
define lsbp
|
||||||
|
info breakpoints
|
||||||
|
end
|
||||||
|
document lsbp
|
||||||
|
List all breakpoints
|
||||||
|
end
|
||||||
|
|
||||||
|
define iframe
|
||||||
|
info frame
|
||||||
|
info args
|
||||||
|
info locals
|
||||||
|
end
|
||||||
|
define reg
|
||||||
|
info registers
|
||||||
|
end
|
||||||
|
|
||||||
|
source ~/.peda/peda.py
|
||||||
|
source ~/.gdbinit.local
|
||||||
55
dotfiles/gitconfig
Normal file
55
dotfiles/gitconfig
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
[user]
|
||||||
|
name = David Tomaschik
|
||||||
|
email = david@systemoverlord.com
|
||||||
|
signingKey = 0x5DEA789B
|
||||||
|
|
||||||
|
[core]
|
||||||
|
excludesfile = ~/.gitignore
|
||||||
|
editor = vim
|
||||||
|
whitespace = trailing-space,space-before-tab
|
||||||
|
|
||||||
|
[color]
|
||||||
|
diff = auto
|
||||||
|
status = auto
|
||||||
|
|
||||||
|
[diff]
|
||||||
|
tool = vimdiff
|
||||||
|
|
||||||
|
[difftool]
|
||||||
|
prompt = false
|
||||||
|
|
||||||
|
[alias]
|
||||||
|
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]
|
||||||
|
default = current
|
||||||
|
|
||||||
|
[web]
|
||||||
|
browser = chrome
|
||||||
|
|
||||||
|
[github]
|
||||||
|
user = matir
|
||||||
|
|
||||||
|
# Site specific config
|
||||||
|
[url "https://github.com/"]
|
||||||
|
insteadOf = github://
|
||||||
|
|
||||||
|
[url "ssh://git@github.com/"]
|
||||||
|
pushInsteadOf = github://
|
||||||
|
|
||||||
|
[url "git://gist.github.com/"]
|
||||||
|
insteadOf = "gist:"
|
||||||
|
|
||||||
|
[url "git@gist.github.com:"]
|
||||||
|
pushInsteadOf = "gist:"
|
||||||
|
pushInsteadOf = "git://gist.github.com/"
|
||||||
|
[credential]
|
||||||
|
helper = cache --timeout=36000
|
||||||
19
dotfiles/gitignore
Normal file
19
dotfiles/gitignore
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
# Common trash (metadata, backup files, etc.)
|
||||||
|
.DS_Store
|
||||||
|
.DS_Store?
|
||||||
|
._*
|
||||||
|
.Spotlight-V100
|
||||||
|
.Trashes
|
||||||
|
ehthumbs.db
|
||||||
|
Thumbs.db
|
||||||
|
*.swp
|
||||||
|
*~
|
||||||
|
*.bak
|
||||||
|
|
||||||
|
# Object files
|
||||||
|
*.py[co]
|
||||||
|
*.[oa]
|
||||||
|
|
||||||
|
# Try to avoid accidentally checking in private keys
|
||||||
|
id_rsa
|
||||||
|
id_ecdsa
|
||||||
@@ -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
|
||||||
10
dotfiles/gnupg/gpg.conf
Normal file
10
dotfiles/gnupg/gpg.conf
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
use-agent
|
||||||
|
# HKPS requires gnupg-curl for gpg1
|
||||||
|
keyserver hkps://hkps.pool.sks-keyservers.net
|
||||||
|
# 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
|
||||||
32
dotfiles/gnupg/sks-keyservers.pem
Normal file
32
dotfiles/gnupg/sks-keyservers.pem
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
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
|
||||||
|
-----END CERTIFICATE-----
|
||||||
@@ -1,37 +1,4 @@
|
|||||||
servers = (
|
servers = (
|
||||||
{ address = "eu.irc6.net"; chatnet = "IRCnet"; port = "6667"; },
|
|
||||||
{ address = "open.ircnet.net"; chatnet = "IRCnet"; port = "6667"; },
|
|
||||||
{ address = "irc.efnet.org"; chatnet = "EFNet"; port = "6667"; },
|
|
||||||
{
|
|
||||||
address = "irc.undernet.org";
|
|
||||||
chatnet = "Undernet";
|
|
||||||
port = "6667";
|
|
||||||
},
|
|
||||||
{ address = "irc.dal.net"; chatnet = "DALnet"; port = "6667"; },
|
|
||||||
{
|
|
||||||
address = "irc.quakenet.org";
|
|
||||||
chatnet = "QuakeNet";
|
|
||||||
port = "6667";
|
|
||||||
},
|
|
||||||
{ address = "irc.oftc.net"; chatnet = "OFTC"; port = "6667"; },
|
|
||||||
{
|
|
||||||
address = "irc.gamesurge.net";
|
|
||||||
chatnet = "GameSurge";
|
|
||||||
port = "6667";
|
|
||||||
},
|
|
||||||
{ address = "irc.webchat.org"; chatnet = "WebChat"; port = "6667"; },
|
|
||||||
{ address = "irc.rizon.net"; chatnet = "Rizon"; port = "6667"; },
|
|
||||||
{ address = "irc.link-net.org"; chatnet = "LinkNet"; port = "6667"; },
|
|
||||||
{ address = "silc.silcnet.org"; chatnet = "SILC"; port = "706"; },
|
|
||||||
{
|
|
||||||
address = "irc.freenode.net";
|
|
||||||
chatnet = "freenode";
|
|
||||||
port = "7000";
|
|
||||||
use_ssl = "yes";
|
|
||||||
ssl_verify = "yes";
|
|
||||||
ssl_capath = "/etc/ssl/certs";
|
|
||||||
autoconnect = "yes";
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
address = "ircs.overthewire.org";
|
address = "ircs.overthewire.org";
|
||||||
chatnet = "overthewire";
|
chatnet = "overthewire";
|
||||||
@@ -49,82 +16,69 @@ servers = (
|
|||||||
autoconnect = "yes";
|
autoconnect = "yes";
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
address = "irc.us.hackint.eu";
|
address = "irc.hackint.eu";
|
||||||
chatnet = "hackint";
|
chatnet = "hackint";
|
||||||
port = "9999";
|
port = "9999";
|
||||||
use_ssl = "yes";
|
use_ssl = "yes";
|
||||||
ssl_verify = "no";
|
ssl_verify = "no";
|
||||||
autoconnect = "yes";
|
autoconnect = "yes";
|
||||||
|
},
|
||||||
|
{
|
||||||
|
address = "irc.geekshed.net";
|
||||||
|
chatnet = "geekshed";
|
||||||
|
port = "6697";
|
||||||
|
use_ssl = "yes";
|
||||||
|
ssl_verify = "no";
|
||||||
|
autoconnect = "no";
|
||||||
|
},
|
||||||
|
{
|
||||||
|
address = "irc.rpis.ec";
|
||||||
|
chatnet = "rpisec";
|
||||||
|
port = "6697";
|
||||||
|
use_ssl = "yes";
|
||||||
|
ssl_verify = "no";
|
||||||
|
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";
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
chatnets = {
|
chatnets = {
|
||||||
IRCnet = {
|
|
||||||
type = "IRC";
|
|
||||||
max_kicks = "4";
|
|
||||||
max_msgs = "5";
|
|
||||||
max_whois = "4";
|
|
||||||
max_query_chans = "5";
|
|
||||||
};
|
|
||||||
EFNet = {
|
|
||||||
type = "IRC";
|
|
||||||
max_kicks = "4";
|
|
||||||
max_msgs = "3";
|
|
||||||
max_whois = "1";
|
|
||||||
};
|
|
||||||
Undernet = {
|
|
||||||
type = "IRC";
|
|
||||||
max_kicks = "1";
|
|
||||||
max_msgs = "3";
|
|
||||||
max_whois = "30";
|
|
||||||
};
|
|
||||||
DALnet = {
|
|
||||||
type = "IRC";
|
|
||||||
max_kicks = "4";
|
|
||||||
max_msgs = "3";
|
|
||||||
max_whois = "30";
|
|
||||||
};
|
|
||||||
QuakeNet = {
|
|
||||||
type = "IRC";
|
|
||||||
max_kicks = "1";
|
|
||||||
max_msgs = "3";
|
|
||||||
max_whois = "30";
|
|
||||||
};
|
|
||||||
OFTC = {
|
OFTC = {
|
||||||
type = "IRC";
|
type = "IRC";
|
||||||
max_kicks = "1";
|
max_kicks = "1";
|
||||||
max_msgs = "3";
|
max_msgs = "3";
|
||||||
max_whois = "30";
|
max_whois = "30";
|
||||||
};
|
};
|
||||||
GameSurge = {
|
|
||||||
type = "IRC";
|
|
||||||
max_kicks = "1";
|
|
||||||
max_msgs = "3";
|
|
||||||
max_whois = "30";
|
|
||||||
};
|
|
||||||
WebChat = {
|
|
||||||
type = "IRC";
|
|
||||||
max_kicks = "1";
|
|
||||||
max_msgs = "3";
|
|
||||||
max_whois = "30";
|
|
||||||
};
|
|
||||||
Rizon = {
|
|
||||||
type = "IRC";
|
|
||||||
max_kicks = "1";
|
|
||||||
max_msgs = "3";
|
|
||||||
max_whois = "30";
|
|
||||||
};
|
|
||||||
LinkNet = {
|
|
||||||
type = "IRC";
|
|
||||||
max_kicks = "1";
|
|
||||||
max_msgs = "3";
|
|
||||||
max_whois = "30";
|
|
||||||
};
|
|
||||||
SILC = { type = "SILC"; };
|
|
||||||
freenode = { type = "IRC"; };
|
|
||||||
overthewire = { type = "IRC"; nick = "Matir"; };
|
overthewire = { type = "IRC"; nick = "Matir"; };
|
||||||
secfo = { type = "IRC"; };
|
secfo = { type = "IRC"; };
|
||||||
hackint = { type = "IRC"; nick = "Matir"; };
|
hackint = { type = "IRC"; nick = "Matir"; };
|
||||||
|
freenode = {
|
||||||
|
type = "IRC";
|
||||||
|
nick = "Matir";
|
||||||
|
username = "matir";
|
||||||
|
realname = "Matir";
|
||||||
|
max_kicks = "1";
|
||||||
|
max_msgs = "4";
|
||||||
|
max_modes = "4";
|
||||||
|
max_whois = "1";
|
||||||
|
};
|
||||||
|
geekshed = {
|
||||||
|
type = "IRC";
|
||||||
|
nick = "KF4MDV";
|
||||||
|
username = "kf4mdv";
|
||||||
|
realname = "David";
|
||||||
|
};
|
||||||
|
rpisec = { type = "IRC"; };
|
||||||
};
|
};
|
||||||
|
|
||||||
channels = (
|
channels = (
|
||||||
@@ -132,7 +86,15 @@ channels = (
|
|||||||
{ name = "#hak5"; chatnet = "secfo"; autojoin = "yes"; },
|
{ name = "#hak5"; chatnet = "secfo"; autojoin = "yes"; },
|
||||||
{ 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 = "#amateria"; chatnet = "overthewire"; autojoin = "yes"; },
|
||||||
|
{ name = "#io"; chatnet = "overthewire"; autojoin = "yes"; },
|
||||||
|
{ name = "#radare"; chatnet = "freenode"; autojoin = "yes"; },
|
||||||
|
{ name = "#vulnhub"; chatnet = "freenode"; autojoin = "yes"; },
|
||||||
|
{ name = "#redditnet"; chatnet = "geekshed"; autojoin = "yes"; },
|
||||||
|
{ name = "#rpisec"; chatnet = "rpisec"; autojoin = "yes"; },
|
||||||
|
{ name = "#offsec"; chatnet = "freenode"; autojoin = "yes"; },
|
||||||
|
{ name = "#offtopicsec"; chatnet = "freenode"; autojoin = "yes"; }
|
||||||
);
|
);
|
||||||
|
|
||||||
aliases = {
|
aliases = {
|
||||||
@@ -225,7 +187,7 @@ statusbar = {
|
|||||||
# the "default statusbar" to be displayed at the bottom of the window.
|
# the "default statusbar" to be displayed at the bottom of the window.
|
||||||
# contains all the normal items.
|
# contains all the normal items.
|
||||||
window = {
|
window = {
|
||||||
disabled = "no";
|
disabled = "yes";
|
||||||
|
|
||||||
# window, root
|
# window, root
|
||||||
type = "window";
|
type = "window";
|
||||||
@@ -244,7 +206,6 @@ statusbar = {
|
|||||||
window = { };
|
window = { };
|
||||||
window_empty = { };
|
window_empty = { };
|
||||||
lag = { priority = "-1"; };
|
lag = { priority = "-1"; };
|
||||||
act = { priority = "10"; };
|
|
||||||
more = { priority = "-1"; alignment = "right"; };
|
more = { priority = "-1"; alignment = "right"; };
|
||||||
barend = { priority = "100"; alignment = "right"; };
|
barend = { priority = "100"; alignment = "right"; };
|
||||||
};
|
};
|
||||||
@@ -289,11 +250,37 @@ statusbar = {
|
|||||||
visible = "always";
|
visible = "always";
|
||||||
items = {
|
items = {
|
||||||
topicbarstart = { priority = "100"; };
|
topicbarstart = { priority = "100"; };
|
||||||
|
time = { priority = "100"; };
|
||||||
topic = { };
|
topic = { };
|
||||||
topic_empty = { };
|
topic_empty = { };
|
||||||
|
window_empty = { alignment = "right"; };
|
||||||
|
user = { priority = "100"; alignment = "right"; };
|
||||||
topicbarend = { priority = "100"; alignment = "right"; };
|
topicbarend = { priority = "100"; alignment = "right"; };
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
placement = { items = { }; disabled = "yes"; };
|
||||||
|
remove = { disabled = "yes"; };
|
||||||
|
awl_0 = {
|
||||||
|
items = {
|
||||||
|
barstart = { priority = "100"; };
|
||||||
|
awl_0 = { };
|
||||||
|
barend = { priority = "100"; alignment = "right"; };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
awl_1 = {
|
||||||
|
items = {
|
||||||
|
barstart = { priority = "100"; };
|
||||||
|
awl_1 = { };
|
||||||
|
barend = { priority = "100"; alignment = "right"; };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
awl_2 = {
|
||||||
|
items = {
|
||||||
|
barstart = { priority = "100"; };
|
||||||
|
awl_2 = { };
|
||||||
|
barend = { priority = "100"; alignment = "right"; };
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
settings = {
|
settings = {
|
||||||
@@ -307,11 +294,122 @@ settings = {
|
|||||||
"fe-common/core" = {
|
"fe-common/core" = {
|
||||||
autolog = "yes";
|
autolog = "yes";
|
||||||
autolog_path = "~/irclogs/%Y/%m/$tag/$0.log";
|
autolog_path = "~/irclogs/%Y/%m/$tag/$0.log";
|
||||||
|
autoclose_query = "1800";
|
||||||
|
autocreate_own_query = "no";
|
||||||
|
show_nickmode_empty = "no";
|
||||||
|
term_charset = "utf-8";
|
||||||
|
};
|
||||||
|
"perl/core/scripts" = {
|
||||||
|
awl_shared_sbar = "OFF";
|
||||||
|
awl_viewer = "no";
|
||||||
|
awl_block = "-15";
|
||||||
|
awl_maxlines = "3";
|
||||||
|
awl_height_adjust = "2";
|
||||||
|
awl_hide_empty = "0";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
logs = {
|
windows = {
|
||||||
"~/irc.log.Window7" = {
|
1 = { immortal = "yes"; name = "(status)"; level = "ALL"; };
|
||||||
level = "ALL";
|
2 = {
|
||||||
items = ( { type = "window"; name = "7"; } );
|
items = (
|
||||||
|
{
|
||||||
|
type = "CHANNEL";
|
||||||
|
chat_type = "IRC";
|
||||||
|
name = "#kali-linux";
|
||||||
|
tag = "freenode";
|
||||||
|
}
|
||||||
|
);
|
||||||
|
};
|
||||||
|
3 = {
|
||||||
|
items = (
|
||||||
|
{
|
||||||
|
type = "CHANNEL";
|
||||||
|
chat_type = "IRC";
|
||||||
|
name = "#radare";
|
||||||
|
tag = "freenode";
|
||||||
|
}
|
||||||
|
);
|
||||||
|
};
|
||||||
|
4 = {
|
||||||
|
items = (
|
||||||
|
{
|
||||||
|
type = "CHANNEL";
|
||||||
|
chat_type = "IRC";
|
||||||
|
name = "#vulnhub";
|
||||||
|
tag = "freenode";
|
||||||
|
}
|
||||||
|
);
|
||||||
|
};
|
||||||
|
5 = {
|
||||||
|
items = (
|
||||||
|
{
|
||||||
|
type = "CHANNEL";
|
||||||
|
chat_type = "IRC";
|
||||||
|
name = "#openvpn";
|
||||||
|
tag = "freenode";
|
||||||
|
}
|
||||||
|
);
|
||||||
|
};
|
||||||
|
6 = {
|
||||||
|
items = (
|
||||||
|
{
|
||||||
|
type = "CHANNEL";
|
||||||
|
chat_type = "IRC";
|
||||||
|
name = "#wargames";
|
||||||
|
tag = "overthewire";
|
||||||
|
}
|
||||||
|
);
|
||||||
|
};
|
||||||
|
7 = {
|
||||||
|
items = (
|
||||||
|
{
|
||||||
|
type = "CHANNEL";
|
||||||
|
chat_type = "IRC";
|
||||||
|
name = "#social";
|
||||||
|
tag = "overthewire";
|
||||||
|
}
|
||||||
|
);
|
||||||
|
};
|
||||||
|
8 = {
|
||||||
|
items = (
|
||||||
|
{
|
||||||
|
type = "CHANNEL";
|
||||||
|
chat_type = "IRC";
|
||||||
|
name = "#amateria";
|
||||||
|
tag = "overthewire";
|
||||||
|
}
|
||||||
|
);
|
||||||
|
};
|
||||||
|
9 = {
|
||||||
|
items = (
|
||||||
|
{
|
||||||
|
type = "CHANNEL";
|
||||||
|
chat_type = "IRC";
|
||||||
|
name = "#io";
|
||||||
|
tag = "overthewire";
|
||||||
|
}
|
||||||
|
);
|
||||||
|
};
|
||||||
|
10 = {
|
||||||
|
items = (
|
||||||
|
{
|
||||||
|
type = "CHANNEL";
|
||||||
|
chat_type = "IRC";
|
||||||
|
name = "#RedditNet";
|
||||||
|
tag = "geekshed";
|
||||||
|
}
|
||||||
|
);
|
||||||
|
};
|
||||||
|
11 = {
|
||||||
|
items = (
|
||||||
|
{
|
||||||
|
type = "CHANNEL";
|
||||||
|
chat_type = "IRC";
|
||||||
|
name = "#hak5";
|
||||||
|
tag = "secfo";
|
||||||
|
}
|
||||||
|
);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
mainwindows = { 1 = { first_line = "1"; lines = "78"; }; };
|
||||||
|
logs = { };
|
||||||
@@ -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 = ""; };
|
||||||
|
};
|
||||||
26
dotfiles/irssi/instantssl.crt
Normal file
26
dotfiles/irssi/instantssl.crt
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIEdDCCA1ygAwIBAgIQRL4Mi1AAJLQR0zYq/mUK/TANBgkqhkiG9w0BAQUFADCB
|
||||||
|
lzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug
|
||||||
|
Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho
|
||||||
|
dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3Qt
|
||||||
|
SGFyZHdhcmUwHhcNOTkwNzA5MTgxMDQyWhcNMTkwNzA5MTgxOTIyWjCBlzELMAkG
|
||||||
|
A1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEe
|
||||||
|
MBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8v
|
||||||
|
d3d3LnVzZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdh
|
||||||
|
cmUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCx98M4P7Sof885glFn
|
||||||
|
0G2f0v9Y8+efK+wNiVSZuTiZFvfgIXlIwrthdBKWHTxqctU8EGc6Oe0rE81m65UJ
|
||||||
|
M6Rsl7HoxuzBdXmcRl6Nq9Bq/bkqVRcQVLMZ8Jr28bFdtqdt++BxF2uiiPsA3/4a
|
||||||
|
MXcMmgF6sTLjKwEHOG7DpV4jvEWbe1DByTCP2+UretNb+zNAHqDVmBe8i4fDidNd
|
||||||
|
oI6yqqr2jmmIBsX6iSHzCJ1pLgkzmykNRg+MzEk0sGlRvfkGzWitZky8PqxhvQqI
|
||||||
|
DsjfPe58BEydCl5rkdbux+0ojatNh4lz0G6k0B4WixThdkQDf2Os5M1JnMWS9Ksy
|
||||||
|
oUhbAgMBAAGjgbkwgbYwCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8wHQYD
|
||||||
|
VR0OBBYEFKFyXyYbKJhDlV0HN9WFlp1L0sNFMEQGA1UdHwQ9MDswOaA3oDWGM2h0
|
||||||
|
dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VVE4tVVNFUkZpcnN0LUhhcmR3YXJlLmNy
|
||||||
|
bDAxBgNVHSUEKjAoBggrBgEFBQcDAQYIKwYBBQUHAwUGCCsGAQUFBwMGBggrBgEF
|
||||||
|
BQcDBzANBgkqhkiG9w0BAQUFAAOCAQEARxkP3nTGmZev/K0oXnWO6y1n7k57K9cM
|
||||||
|
//bey1WiCuFMVGWTYGufEpytXoMs61quwOQt9ABjHbjAbPLPSbtNk28Gpgoiskli
|
||||||
|
CE7/yMgUsogWXecB5BKV5UU0s4tpvc+0hY91UZ59Ojg6FEgSxvunOxqNDYJAB+gE
|
||||||
|
CJChicsZUN/KHAG8HQQZexB2lzvukJDKxA4fFm517zP4029bHpbj4HR3dHuKom4t
|
||||||
|
3XbWOTCC8KucUvIqx69JXn7HaOWCgchqJ/kniCrVWFCVH/A7HFe7fRQ5YiuayZSS
|
||||||
|
KqMiDP+JJn1fIytH1xUdqWqeUQ0qUZ6B+dQ7XnASfxAynB67nfhmqA==
|
||||||
|
-----END CERTIFICATE-----
|
||||||
2088
dotfiles/irssi/scripts/adv_windowlist.pl
Normal file
2088
dotfiles/irssi/scripts/adv_windowlist.pl
Normal file
File diff suppressed because it is too large
Load Diff
1
dotfiles/irssi/scripts/autorun/adv_windowlist.pl
Symbolic link
1
dotfiles/irssi/scripts/autorun/adv_windowlist.pl
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
../adv_windowlist.pl
|
||||||
1837
dotfiles/john/john.conf
Normal file
1837
dotfiles/john/john.conf
Normal file
File diff suppressed because it is too large
Load Diff
18
dotfiles/profile
Normal file
18
dotfiles/profile
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# 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
|
||||||
5
dotfiles/radare2/xdot
Executable file
5
dotfiles/radare2/xdot
Executable file
@@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
DOT=`mktemp`
|
||||||
|
cat > $DOT
|
||||||
|
xdot $DOT
|
||||||
10
dotfiles/radare2rc
Normal file
10
dotfiles/radare2rc
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
e scr.color = true
|
||||||
|
e scr.utf8 = true
|
||||||
|
e dbg.bep = main
|
||||||
|
e asm.syntax = intel
|
||||||
|
e asm.linescall = true
|
||||||
|
e asm.linesout = true
|
||||||
|
e asm.lineswidth = 12
|
||||||
|
|
||||||
|
# Callgraph: .(cg)
|
||||||
|
(cg,aa,ag | $HOME/.radare2/xdot || xdot -,)
|
||||||
7
dotfiles/rsync_ignore
Normal file
7
dotfiles/rsync_ignore
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
tmp
|
||||||
|
Downloads
|
||||||
|
.cache
|
||||||
|
.local/share/Trash
|
||||||
|
.wine
|
||||||
|
.thumbnails
|
||||||
|
.histfile
|
||||||
@@ -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
|
||||||
0
dotfiles/ssh/master/.keep
Normal file
0
dotfiles/ssh/master/.keep
Normal file
63
dotfiles/tmux.conf
Normal file
63
dotfiles/tmux.conf
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
# Update environment on reconnect
|
||||||
|
set -g update-environment "DISPLAY WINDOWID SSH_ASKPASS SSH_AGENT_PID SSH_CONNECTION"
|
||||||
|
|
||||||
|
# Custom binds
|
||||||
|
bind K confirm kill-server
|
||||||
|
bind X confirm kill-window
|
||||||
|
bind ^[ copy-mode
|
||||||
|
bind R source-file ~/.tmux.conf \; display-message " Config reloaded.."
|
||||||
|
|
||||||
|
# Scrollback
|
||||||
|
set -g history-limit 10000
|
||||||
|
|
||||||
|
# Start indexing from 1
|
||||||
|
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'
|
||||||
|
|
||||||
|
# Set a 256color $TERM variable so programs inside tmux know they can use 256
|
||||||
|
# colors
|
||||||
|
set -g default-terminal screen-256color
|
||||||
|
|
||||||
|
# Activity
|
||||||
|
setw -g monitor-activity on
|
||||||
|
set -g visual-activity on
|
||||||
|
|
||||||
|
# Autorename new tabs automatically
|
||||||
|
setw -g automatic-rename on
|
||||||
|
|
||||||
|
# Color scheme
|
||||||
|
source-file ~/.tmux/tmux-solarized-256.conf
|
||||||
|
|
||||||
|
# Provide a statusbar
|
||||||
|
set -g window-status-current-bg colour33
|
||||||
|
set -g window-status-current-fg colour235
|
||||||
|
set -g window-status-current-attr bold
|
||||||
|
set -g status-interval 60
|
||||||
|
set -g status-left-length 30
|
||||||
|
set -g status-left '/#S/ '
|
||||||
|
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'
|
||||||
31
dotfiles/tmux/tmux-solarized-256.conf
Normal file
31
dotfiles/tmux/tmux-solarized-256.conf
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
#### COLOUR (Solarized 256)
|
||||||
|
|
||||||
|
# default statusbar colors
|
||||||
|
set-option -g status-bg colour235 #base02
|
||||||
|
set-option -g status-fg colour136 #yellow
|
||||||
|
set-option -g status-attr default
|
||||||
|
|
||||||
|
# default window title colors
|
||||||
|
set-window-option -g window-status-fg colour244 #base0
|
||||||
|
set-window-option -g window-status-bg default
|
||||||
|
#set-window-option -g window-status-attr dim
|
||||||
|
|
||||||
|
# active window title colors
|
||||||
|
set-window-option -g window-status-current-fg colour166 #orange
|
||||||
|
set-window-option -g window-status-current-bg default
|
||||||
|
#set-window-option -g window-status-current-attr bright
|
||||||
|
|
||||||
|
# pane border
|
||||||
|
set-option -g pane-border-fg colour235 #base02
|
||||||
|
set-option -g pane-active-border-fg colour240 #base01
|
||||||
|
|
||||||
|
# message text
|
||||||
|
set-option -g message-bg colour235 #base02
|
||||||
|
set-option -g message-fg colour166 #orange
|
||||||
|
|
||||||
|
# pane number display
|
||||||
|
set-option -g display-panes-active-colour colour33 #blue
|
||||||
|
set-option -g display-panes-colour colour166 #orange
|
||||||
|
|
||||||
|
# clock
|
||||||
|
set-window-option -g clock-mode-colour colour64 #green
|
||||||
7
dotfiles/vim/ftplugin/python.vim
Normal file
7
dotfiles/vim/ftplugin/python.vim
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
nnoremap <F8> :%!autopep8 -<CR>
|
||||||
|
setlocal tabstop=4
|
||||||
|
setlocal softtabstop=4
|
||||||
|
setlocal shiftwidth=4
|
||||||
|
setlocal textwidth=80
|
||||||
|
setlocal smarttab
|
||||||
|
setlocal expandtab
|
||||||
141
dotfiles/vimrc
Normal file
141
dotfiles/vimrc
Normal file
@@ -0,0 +1,141 @@
|
|||||||
|
" Allow full use of vim options
|
||||||
|
set nocompatible
|
||||||
|
|
||||||
|
" Enable Vundle if installed
|
||||||
|
if filereadable(glob("~/.vim/bundle/Vundle.vim/README.md"))
|
||||||
|
filetype off
|
||||||
|
set rtp+=~/.vim/bundle/Vundle.vim
|
||||||
|
call vundle#begin()
|
||||||
|
Plugin 'gmarik/Vundle.vim'
|
||||||
|
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'
|
||||||
|
call vundle#end()
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Setup paths
|
||||||
|
set backupdir=~/.cache/vim/backup//
|
||||||
|
set directory=~/.cache/vim/swap//
|
||||||
|
set undodir=~/.cache/vim/undo//
|
||||||
|
if !isdirectory($HOME . '/.cache/vim/swap')
|
||||||
|
silent !mkdir -p ~/.cache/vim/{backup,swap,undo}
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Make sure files get completely written, but don't write backups
|
||||||
|
set nobackup
|
||||||
|
set writebackup
|
||||||
|
|
||||||
|
" Whitespace/indent options
|
||||||
|
set autoindent
|
||||||
|
set copyindent
|
||||||
|
set tabstop=2
|
||||||
|
set softtabstop=2
|
||||||
|
set shiftwidth=2
|
||||||
|
set expandtab
|
||||||
|
set shiftround
|
||||||
|
set backspace=indent,eol,start
|
||||||
|
" Shift-tab to go backwards in insert mode
|
||||||
|
imap <S-Tab> <Esc><<A
|
||||||
|
|
||||||
|
" Line numbering, ruler
|
||||||
|
set number
|
||||||
|
set ruler
|
||||||
|
set cursorline
|
||||||
|
|
||||||
|
" File options
|
||||||
|
set encoding=utf-8
|
||||||
|
" Syntax highlighting, look and feel
|
||||||
|
syntax on
|
||||||
|
set background=dark
|
||||||
|
if has('gui_running')
|
||||||
|
set guifont=Inconsolata\ Medium\ 12
|
||||||
|
else
|
||||||
|
let g:solarized_termcolors=256
|
||||||
|
endif
|
||||||
|
silent! colorscheme solarized
|
||||||
|
" Enable filetype support
|
||||||
|
filetype plugin indent on
|
||||||
|
" Allow file modelines
|
||||||
|
set modeline
|
||||||
|
" Automatically re-read changed files
|
||||||
|
set autoread
|
||||||
|
" fsync() after writing files
|
||||||
|
set fsync
|
||||||
|
" Text width 80
|
||||||
|
set textwidth=80
|
||||||
|
" Write via sudo
|
||||||
|
cnoremap sudow w !sudo tee % >/dev/null
|
||||||
|
|
||||||
|
" Search options
|
||||||
|
set incsearch
|
||||||
|
set ignorecase
|
||||||
|
set smartcase
|
||||||
|
" Optional highlighting
|
||||||
|
nmap <leader>hs :set hlsearch! hlsearch?<CR>
|
||||||
|
|
||||||
|
" Toggle paste mode
|
||||||
|
nmap <silent> <F4> :set invpaste<CR>:set paste?<CR>
|
||||||
|
imap <silent> <F4> <ESC>:set invpaste<CR>:set paste?<CR>
|
||||||
|
|
||||||
|
" Mediocre Hex editing in vim
|
||||||
|
" Source: http://vim.wikia.com/wiki/Improved_hex_editing
|
||||||
|
" TODO: move to an include
|
||||||
|
nnoremap <C-H> :Hexmode<CR>
|
||||||
|
command -bar Hexmode call ToggleHex()
|
||||||
|
function ToggleHex()
|
||||||
|
" hex mode should be considered a read-only operation
|
||||||
|
" save values for modified and read-only for restoration later,
|
||||||
|
" and clear the read-only flag for now
|
||||||
|
let l:modified=&mod
|
||||||
|
let l:oldreadonly=&readonly
|
||||||
|
let &readonly=0
|
||||||
|
let l:oldmodifiable=&modifiable
|
||||||
|
let &modifiable=1
|
||||||
|
if !exists("b:editHex") || !b:editHex
|
||||||
|
" save old options
|
||||||
|
let b:oldft=&ft
|
||||||
|
let b:oldbin=&bin
|
||||||
|
" set new options
|
||||||
|
setlocal binary " make sure it overrides any textwidth, etc.
|
||||||
|
let &ft="xxd"
|
||||||
|
" set status
|
||||||
|
let b:editHex=1
|
||||||
|
" switch to hex editor
|
||||||
|
%!xxd
|
||||||
|
else
|
||||||
|
" restore old options
|
||||||
|
let &ft=b:oldft
|
||||||
|
if !b:oldbin
|
||||||
|
setlocal nobinary
|
||||||
|
endif
|
||||||
|
" set status
|
||||||
|
let b:editHex=0
|
||||||
|
" return to normal editing
|
||||||
|
%!xxd -r
|
||||||
|
endif
|
||||||
|
" restore values for modified and read only state
|
||||||
|
let &mod=l:modified
|
||||||
|
let &readonly=l:oldreadonly
|
||||||
|
let &modifiable=l:oldmodifiable
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" Options for syntastic
|
||||||
|
let g:syntastic_enable_signs = 1
|
||||||
|
let g:syntastic_auto_loc_list = 2
|
||||||
|
" Have F5 run the tests and display errors
|
||||||
|
nnoremap <silent> <F5> :SyntasticCheck<CR> :Errors<CR>
|
||||||
|
|
||||||
|
" Include a .vimrc.local if it exists
|
||||||
|
if filereadable(glob("~/.vimrc.local"))
|
||||||
|
source ~/.vimrc.local
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Options for vimoutliner
|
||||||
|
autocmd Filetype votl setlocal sts=4
|
||||||
18
dotfiles/wgetrc
Normal file
18
dotfiles/wgetrc
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# Use server timestamps and name
|
||||||
|
timestamping = on
|
||||||
|
trust_server_names = on
|
||||||
|
content_disposition = on
|
||||||
|
|
||||||
|
# Recursive download options
|
||||||
|
no_parent = on
|
||||||
|
follow_ftp = on
|
||||||
|
adjust_extension = on
|
||||||
|
robots = off
|
||||||
|
|
||||||
|
# Show responses
|
||||||
|
server_response = on
|
||||||
|
|
||||||
|
# Retry handling
|
||||||
|
tries = 3
|
||||||
|
timeout = 60
|
||||||
|
retry_connrefused = on
|
||||||
2
dotfiles/xsessionrc
Normal file
2
dotfiles/xsessionrc
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
setxkbmap -option ctrl:nocaps
|
||||||
|
test -f "$HOME/.profile" && . "$HOME/.profile"
|
||||||
161
dotfiles/zsh_custom/plugins/virsh/_virsh
Normal file
161
dotfiles/zsh_custom/plugins/virsh/_virsh
Normal file
@@ -0,0 +1,161 @@
|
|||||||
|
#compdef virsh
|
||||||
|
|
||||||
|
# Copyright (c) 2015, Jan-Philipp Litza <janphilipp@litza.de>
|
||||||
|
# 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 <organization> 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 <COPYRIGHT HOLDER> 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.
|
||||||
|
|
||||||
|
local -a args reply
|
||||||
|
|
||||||
|
function _virsh_domains() {
|
||||||
|
local -a out
|
||||||
|
local description="${(P)#}"
|
||||||
|
shift -p
|
||||||
|
local domaintype="${description/running/}"
|
||||||
|
out=( ${(f)"$(_call_program commands virsh list --name ${domaintype:+--$domaintype} 2>&1)"} )
|
||||||
|
if (( $#out == 0 )); then
|
||||||
|
_message "No $description domains"
|
||||||
|
else
|
||||||
|
_describe "$description domains" out "$@"
|
||||||
|
fi
|
||||||
|
return $?
|
||||||
|
}
|
||||||
|
|
||||||
|
_virsh() {
|
||||||
|
_arguments \
|
||||||
|
{-c,--connect}':hypervisor connection URI:_files' \
|
||||||
|
{-d,--debug}':debug level:( 0 1 2 3 4 )' \
|
||||||
|
{-e,--escape}':escape character for console:' \
|
||||||
|
{-h,--help}'[show help]' \
|
||||||
|
{-k,--keepalive-interval}':keepalive interval in seconds, 0 for disable:' \
|
||||||
|
{-K,--keepalive-count}':number of possible missed keepalive messages:' \
|
||||||
|
{-l,--log}'[output logging to file]:logfile:_files' \
|
||||||
|
{-q,--quiet}'[quiet mode]' \
|
||||||
|
{-r,--readonly}'[connect readonly]' \
|
||||||
|
{-t,--timing}'[print timing information]' \
|
||||||
|
'-v:show version' \
|
||||||
|
'-V:long version' \
|
||||||
|
'--version[show version]:type:( short long )' \
|
||||||
|
'::virsh command:_virsh_subcommand' \
|
||||||
|
'*::virsh command arguments:_virsh_subcommand_args'
|
||||||
|
}
|
||||||
|
|
||||||
|
_virsh_domain_or_file() {
|
||||||
|
_alternative \
|
||||||
|
"domains:domains:_virsh_domains ${1:-all}" \
|
||||||
|
"files:files:_files"
|
||||||
|
}
|
||||||
|
|
||||||
|
_virsh_fallback_command() {
|
||||||
|
domains() {
|
||||||
|
echo "$1 domains:_virsh_domains $1"
|
||||||
|
}
|
||||||
|
local files="file:_files"
|
||||||
|
local -A cmd_args
|
||||||
|
cmd_args=(
|
||||||
|
attach-device "$files"
|
||||||
|
autostart "$(domains all)"
|
||||||
|
cd "dirs:_dirs"
|
||||||
|
console "$(domains running)"
|
||||||
|
cpu-baseline "$files"
|
||||||
|
cpu-compare "$files"
|
||||||
|
create "$files"
|
||||||
|
start "$(domains inactive)"
|
||||||
|
destroy "$(domains running)"
|
||||||
|
detach-device "$(domains all)"
|
||||||
|
define "$files"
|
||||||
|
domid "$(domains all)"
|
||||||
|
domuuid "$(domains all)"
|
||||||
|
dominfo "$(domains all)"
|
||||||
|
domjobinfo "$(domains all)"
|
||||||
|
domjobabort "$(domains all)"
|
||||||
|
domname "$(domains all)"
|
||||||
|
domstate "$(domains all)"
|
||||||
|
dommemstat "$(domains all)"
|
||||||
|
dumpxml "$(domains all)"
|
||||||
|
edit "$(domains all)"
|
||||||
|
list "$(domains all)"
|
||||||
|
net-create "$files"
|
||||||
|
net-define "$files"
|
||||||
|
managedsave "$(domains running)"
|
||||||
|
managedsave-remove "$(domains all)"
|
||||||
|
nwfilter-define "$files"
|
||||||
|
pool-create "$files"
|
||||||
|
pool-define "$files"
|
||||||
|
secret-define "$files"
|
||||||
|
reboot "$(domains running)"
|
||||||
|
reset "$(domains running)"
|
||||||
|
restore "$files"
|
||||||
|
resume "$(domains running)"
|
||||||
|
send-key "$(domains running)"
|
||||||
|
setmem "$(domains all)"
|
||||||
|
setmaxmem "$(domains all)"
|
||||||
|
setvcpus "$(domains all)"
|
||||||
|
shutdown "$(domains running)"
|
||||||
|
suspend "$(domains running)"
|
||||||
|
ttyconsole "$(domains running)"
|
||||||
|
undefine "$(domains inactive)"
|
||||||
|
vcpuinfo "$(domains running)"
|
||||||
|
vncdisplay "$(domains running)"
|
||||||
|
snapshot-current "$(domains all)"
|
||||||
|
snapshot-list "$(domains all)"
|
||||||
|
)
|
||||||
|
|
||||||
|
local cmd="$1"
|
||||||
|
local -a options
|
||||||
|
options=(
|
||||||
|
${${(M)${(f)"$(_call_program commands virsh help $cmd 2>&1)"}:# -*}/#(#b) ([a-z-]##) ##([^[:space:]]*)/$match[1]:$match[2]}
|
||||||
|
)
|
||||||
|
if (( $+cmd_args[$cmd] )); then
|
||||||
|
options+=( ":$cmd_args[$cmd]" )
|
||||||
|
else
|
||||||
|
options+=( ":$(domains all)" ":$files" )
|
||||||
|
fi
|
||||||
|
_arguments "$options[@]"
|
||||||
|
}
|
||||||
|
|
||||||
|
_virsh_build_cmds() {
|
||||||
|
(( $+_virsh_cmds )) || _virsh_cmds=(
|
||||||
|
${${(M)${(f)"$(_call_program commands virsh help 2>&1)"}:# *}/#(#b) ([a-z-]##) ##([^[:space:]])/$match[1]:$match[2]}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
_virsh_subcommand() {
|
||||||
|
_virsh_build_cmds
|
||||||
|
_describe 'virsh command' _virsh_cmds
|
||||||
|
}
|
||||||
|
|
||||||
|
_virsh_subcommand_args() {
|
||||||
|
_virsh_build_cmds
|
||||||
|
local curcontext="$curcontext"
|
||||||
|
|
||||||
|
cmd="${${_virsh_cmds[(r)$words[1]:*]%%:*}:-${(k)_virsh_syns[(r)(*:|)$words[1](:*|)]}}"
|
||||||
|
if (( $#cmd )); then
|
||||||
|
curcontext="${curcontext%:*:*}:virsh-${cmd}:"
|
||||||
|
_virsh_fallback_command "$cmd"
|
||||||
|
else
|
||||||
|
_message "unknown virsh command; $words[1]"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
_virsh "$@"
|
||||||
3
dotfiles/zsh_custom/themes/matir.zsh-theme
Normal file
3
dotfiles/zsh_custom/themes/matir.zsh-theme
Normal 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=")"
|
||||||
@@ -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
|
||||||
56
dotfiles/zshrc
Normal file
56
dotfiles/zshrc
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
# For interactive shells
|
||||||
|
HISTFILE=~/.histfile
|
||||||
|
HISTSIZE=1000
|
||||||
|
SAVEHIST=1000
|
||||||
|
setopt appendhistory autocd autopushd extendedglob nohup nomatch histignorespace histlexwords histverify cbases
|
||||||
|
unsetopt beep histbeep listbeep flowcontrol
|
||||||
|
bindkey -e
|
||||||
|
|
||||||
|
# Completion
|
||||||
|
zstyle :compinstall filename '/home/david/.zshrc'
|
||||||
|
autoload -Uz compinit && compinit
|
||||||
|
|
||||||
|
DIRSTACKSIZE=16
|
||||||
|
case $TERM in
|
||||||
|
xterm*)
|
||||||
|
precmd () {print -Pn "\e]0;%n@%m: %~\a"}
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
autoload -U colors && colors
|
||||||
|
PS1="%{%(!.$fg[red].$fg[green])%}%n%{$fg[white]%}@%{$fg[cyan]%}%m%{$fg[white]%}:%{$fg[green]%}%32<...<%~%<<%{$fg[white]%}%#%{$reset_color%} "
|
||||||
|
|
||||||
|
# .profile is universal
|
||||||
|
. ~/.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
|
||||||
|
bindkey '^[[1;5C' forward-word
|
||||||
|
bindkey '^[[1;5D' backward-word
|
||||||
|
|
||||||
|
# Source extras and aliases if interactive
|
||||||
|
if [[ $- == *i* ]] ; then
|
||||||
|
if [[ -e $HOME/.aliases ]] ; then source $HOME/.aliases ; fi
|
||||||
|
for file in $HOME/.zshrc.d/* ; do source "$file" ; done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Load any local settings
|
||||||
|
if [ -e $HOME/.zshrc.local ] ; then source $HOME/.zshrc.local ; fi
|
||||||
11
dotfiles/zshrc.d/afk.zsh
Normal file
11
dotfiles/zshrc.d/afk.zsh
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
function afk {
|
||||||
|
# Note, may fail if multiple users are logged in with different desktop
|
||||||
|
# environments.
|
||||||
|
if pidof cinnamon-screensaver >/dev/null ; then
|
||||||
|
cinnamon-screensaver-command -l
|
||||||
|
elif pidof gnome-screensaver >/dev/null ; then
|
||||||
|
gnome-screensaver-command -l
|
||||||
|
else
|
||||||
|
echo 'No screensaver found...' >&2
|
||||||
|
fi
|
||||||
|
}
|
||||||
18
dotfiles/zshrc.d/assemble.zsh
Normal file
18
dotfiles/zshrc.d/assemble.zsh
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
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`
|
||||||
|
local OBJDUMP=`command which objdump`
|
||||||
|
local TMPF=`mktemp`
|
||||||
|
local bytes
|
||||||
|
local byte
|
||||||
|
$NASM -f elf -o $TMPF $1
|
||||||
|
$OBJDUMP -M intel -d $TMPF | grep '^ ' | cut -f2 | while read -A bytes ; do
|
||||||
|
for byte in $bytes ; do
|
||||||
|
echo -n "\\\\x$byte"
|
||||||
|
done
|
||||||
|
done
|
||||||
|
echo
|
||||||
|
rm $TMPF
|
||||||
|
}
|
||||||
|
fi
|
||||||
31
dotfiles/zshrc.d/prune-broken-symlinks.zsh
Normal file
31
dotfiles/zshrc.d/prune-broken-symlinks.zsh
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
prune-broken-symlinks() {
|
||||||
|
setopt localoptions nounset
|
||||||
|
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
|
||||||
|
}
|
||||||
6
dotfiles/zshrc.d/remove-wine-files.zsh
Normal file
6
dotfiles/zshrc.d/remove-wine-files.zsh
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
remove-wine-associations() {
|
||||||
|
rm ~/.local/share/applications/wine*.desktop
|
||||||
|
update-desktop-database ~/.local/share/applications
|
||||||
|
rm ~/.local/share/mime/packages/x-wine*.xml
|
||||||
|
update-mime-database ~/.local/share/mime
|
||||||
|
}
|
||||||
14
dotfiles/zshrc.d/rvm.zsh
Normal file
14
dotfiles/zshrc.d/rvm.zsh
Normal 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
|
||||||
6
dotfiles/zshrc.d/site2pdf.zsh
Normal file
6
dotfiles/zshrc.d/site2pdf.zsh
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
function site2pdf {
|
||||||
|
setopt localoptions nounset
|
||||||
|
local URL=${1}
|
||||||
|
local OUTFILE=${2}
|
||||||
|
command wkhtmltopdf -s Letter -q ${URL} ${OUTFILE}
|
||||||
|
}
|
||||||
6
dotfiles/zshrc.d/source_gnupg.zsh
Normal file
6
dotfiles/zshrc.d/source_gnupg.zsh
Normal 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
|
||||||
|
}
|
||||||
17
dotfiles/zshrc.d/ssh-completion.zsh
Normal file
17
dotfiles/zshrc.d/ssh-completion.zsh
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
# SSH autocompletion
|
||||||
|
# ssh, scp, ping, host
|
||||||
|
# https://github.com/tehmaze/maze.io/blob/master/maze/_post/2008/08-03-remote-tabcompletion-using-openssh-and-zsh.md
|
||||||
|
zstyle ':completion:*:scp:*' tag-order 'hosts:-host hosts:-domain:domain hosts:-ipaddr:IP\ address *'
|
||||||
|
zstyle ':completion:*:scp:*' group-order users files all-files hosts-domain hosts-host hosts-ipaddr
|
||||||
|
zstyle ':completion:*:ssh:*' tag-order users 'hosts:-host hosts:-domain:domain hosts:-ipaddr:IP\ address *'
|
||||||
|
zstyle ':completion:*:ssh:*' group-order hosts-domain hosts-host users hosts-ipaddr
|
||||||
|
zstyle ':completion:*:(ssh|scp):*:hosts-host' ignored-patterns '*.*' loopback localhost
|
||||||
|
zstyle ':completion:*:(ssh|scp):*:hosts-domain' ignored-patterns '<->.<->.<->.<->' '^*.*' '*@*'
|
||||||
|
zstyle ':completion:*:(ssh|scp):*:hosts-ipaddr' ignored-patterns '^<->.<->.<->.<->' '127.0.0.<->'
|
||||||
|
zstyle ':completion:*:(ssh|scp):*:users' ignored-patterns adm bin daemon halt lp named shutdown sync
|
||||||
|
zstyle -e ':completion:*:(ssh|scp):*' hosts 'reply=(
|
||||||
|
${=${${(f)"$(cat {/etc/ssh_,~/.ssh/known_}hosts(|2)(N) \
|
||||||
|
/dev/null)"}%%[# ]*}//,/ }
|
||||||
|
${=${(f)"$(cat /etc/hosts(|)(N) <<(ypcat hosts 2>/dev/null))"}%%\#*}
|
||||||
|
${=${${${${(@M)${(f)"$(<~/.ssh/config)"}:#Host *}#Host }:#*\**}:#*\?*}}
|
||||||
|
)'
|
||||||
8
dotfiles/zshrc.d/ssl.zsh
Normal file
8
dotfiles/zshrc.d/ssl.zsh
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
retrieve_ssl_certificate_chain() {
|
||||||
|
openssl s_client -connect $1 -showcerts </dev/null 2>/dev/null | awk \
|
||||||
|
' BEGIN { incert = 0 }
|
||||||
|
/-----BEGIN CERTIFICATE-----/ { incert = 1 }
|
||||||
|
incert == 1 { print $0 }
|
||||||
|
/-----END CERTIFICATE-----/ { incert = 0 }
|
||||||
|
'
|
||||||
|
}
|
||||||
12
dotfiles/zshrc.d/total.zsh
Normal file
12
dotfiles/zshrc.d/total.zsh
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
total() {
|
||||||
|
local sum
|
||||||
|
local arr
|
||||||
|
local n
|
||||||
|
sum=0
|
||||||
|
while read -A arr ; do
|
||||||
|
for n in $arr ; do
|
||||||
|
sum=$(($sum+n))
|
||||||
|
done
|
||||||
|
done
|
||||||
|
print $sum
|
||||||
|
}
|
||||||
7
dotfiles/zshrc.d/update_skel.zsh
Normal file
7
dotfiles/zshrc.d/update_skel.zsh
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
update_skel() {
|
||||||
|
(cd $(dirname $(readlink $HOME/.profile)) &&
|
||||||
|
cd $(git rev-parse --show-toplevel) &&
|
||||||
|
git pull &&
|
||||||
|
./install.sh
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
[user]
|
|
||||||
name = David Tomaschik
|
|
||||||
email = david@systemoverlord.com
|
|
||||||
[push]
|
|
||||||
default = simple
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
use-agent
|
|
||||||
keyserver pool.sks-keyservers.net
|
|
||||||
personal-digest-preferences SHA256
|
|
||||||
cert-digest-algo SHA256
|
|
||||||
default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed
|
|
||||||
291
install.sh
291
install.sh
@@ -3,26 +3,289 @@
|
|||||||
set nounset
|
set nounset
|
||||||
set errexit
|
set errexit
|
||||||
|
|
||||||
BASEDIR=${BASEDIR:-$HOME/.dotfiles}
|
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
|
||||||
|
chsh -s `which zsh`
|
||||||
|
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 ; 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
|
||||||
|
}
|
||||||
|
|
||||||
if [ ! -d $BASEDIR ] ; then
|
function install_dotfile_dir {
|
||||||
echo "Please install to $BASEDIR!" &>2
|
local SRCDIR="${1}"
|
||||||
exit 1
|
local dotfile
|
||||||
fi
|
find "${SRCDIR}" \( -name .git -o \
|
||||||
|
-path "${SRCDIR}/private_dotfiles" -o \
|
||||||
function install_dir {
|
|
||||||
SRCDIR="${1}"
|
|
||||||
find ${SRCDIR} \( -name .git -o \
|
|
||||||
-path ${SRCDIR}/private_dotfiles -o \
|
|
||||||
-name install.sh -o \
|
-name install.sh -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
|
||||||
TARGET="${HOME}/.${dotfile#${SRCDIR}/}"
|
local TARGET="${HOME}/.${dotfile#${SRCDIR}/}"
|
||||||
mkdir -p `dirname "${TARGET}"`
|
mkdir -p `dirname "${TARGET}"`
|
||||||
ln -s -f "${dotfile}" "${TARGET}"
|
ln -s -f "${dotfile}" "${TARGET}"
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
install_dir "${BASEDIR}"
|
function install_basic_dir {
|
||||||
test -d "${BASEDIR}/private_dotfiles" && install_dir "${BASEDIR}/private_dotfiles"
|
local SRCDIR="${1}"
|
||||||
|
local DESTDIR="${2}"
|
||||||
|
local file
|
||||||
|
find "${SRCDIR}" -xtype f -print | \
|
||||||
|
while read file ; do
|
||||||
|
local TARGET="${2}/${file#${SRCDIR}/}"
|
||||||
|
mkdir -p `dirname "${TARGET}"`
|
||||||
|
ln -s -f "${file}" "${TARGET}"
|
||||||
|
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 {
|
||||||
|
# Install Vundle plugins
|
||||||
|
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
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
||||||
|
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
|
||||||
|
echo "$key" > $TMPF
|
||||||
|
local EFP=`ssh-keygen -l -f ${TMPF} 2>/dev/null | awk '{print $2}'`
|
||||||
|
if [[ "$EFP" == "$KEYFP" ]] ; then
|
||||||
|
rm $TMPF 2>/dev/null
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
done < <(grep -v '^#' ${AK})
|
||||||
|
rm $TMPF 2>/dev/null
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
function install_ssh_keys {
|
||||||
|
# Install SSH keys
|
||||||
|
verbose 'Installing SSH keys...'
|
||||||
|
local AK="${HOME}/.ssh/authorized_keys"
|
||||||
|
local key
|
||||||
|
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
|
||||||
|
verbose "Key `basename ${key}` already installed..."
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
echo "# `basename ${key}` added from skel on `date +%Y-%m-%d`" >> ${AK}
|
||||||
|
cat ${key} >> ${AK}
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
function install_gpg_keys {
|
||||||
|
local key
|
||||||
|
for key in ${BASEDIR}/keys/gpg/* ; do
|
||||||
|
gpg --import < ${key} >/dev/null
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
function install_known_hosts {
|
||||||
|
verbose 'Installing known hosts...' >&2
|
||||||
|
if [[ ! -f ${BASEDIR}/keys/known_hosts ]] ; then
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
mkdir -p ${HOME}/.ssh
|
||||||
|
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
|
||||||
|
else
|
||||||
|
cp ${BASEDIR}/keys/known_hosts ${HOME}/.ssh/known_hosts
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function install_keys {
|
||||||
|
install_ssh_keys
|
||||||
|
install_gpg_keys
|
||||||
|
install_known_hosts
|
||||||
|
}
|
||||||
|
|
||||||
|
function is_deb_system {
|
||||||
|
test -f /usr/bin/apt-get
|
||||||
|
}
|
||||||
|
|
||||||
|
function run_as_root {
|
||||||
|
# Attempt to run as root
|
||||||
|
if [[ ${USER} == "root" ]] ; then
|
||||||
|
"$@"
|
||||||
|
return $?
|
||||||
|
elif groups | grep -q '\bsudo\b' ; then
|
||||||
|
verbose "Using sudo to run ${1}..."
|
||||||
|
sudo "$@"
|
||||||
|
return $?
|
||||||
|
fi
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
function install_pkg_set {
|
||||||
|
local pkg_file=${BASEDIR}/${1}
|
||||||
|
if [[ ! -f ${pkg_file} ]] ; then return 0 ; fi
|
||||||
|
run_as_root apt-get install -qqy `cat ${pkg_file}`
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
||||||
|
(( $HAVE_X )) && install_pkg_set packages.X
|
||||||
|
(( $IS_KALI )) && install_pkg_set packages.kali
|
||||||
|
install_pkg_set packages.${ARCH}
|
||||||
|
(( $HAVE_X )) && 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
|
||||||
|
/usr/bin/wget --quiet -O ${TMPD}/google-chrome.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/apt-get install -qq -f -y || \
|
||||||
|
( 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
|
||||||
|
(( $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
|
||||||
|
|||||||
902
keys/gpg/5DEA789B.pub
Normal file
902
keys/gpg/5DEA789B.pub
Normal file
@@ -0,0 +1,902 @@
|
|||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
Version: GnuPG v1
|
||||||
|
|
||||||
|
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
|
||||||
|
ZGoQsw24W+t75nQ+elKEP9/g+4Acyb1NkmpFGD5BXw+VWv80SmB7YhJSqUoyqowM
|
||||||
|
z+aJASIEEAECAAwFAk7WJwAFAwASdQAACgkQlxC4m8pXrXy2xQgAyg1nc1fRIlSm
|
||||||
|
L73/gGlbCzVQttArtv18MzpRTimYyp2OEj82SK2eWSlRKLXeQGyqb3iGzp74TC3D
|
||||||
|
NSog7su3zUz3b+h/+tAKuVnK0kMPHWXrAFTYe3nLBFIOT5jmp/2xtPWsl8xSZReA
|
||||||
|
P5CXtGSDj3a4nipIj1MMQ5vQ3YELfnkEr/NVNxBuaJ1jIw3FzLeGugtoyCSPYQuC
|
||||||
|
wEz4DJqXb2r9o/d3YXoWoRYKB5Mq8M/NhYkhrRoIdkgZd9b/5Nj7ytM1T+WYLHUh
|
||||||
|
dOy7LDA35h5ClfCAOuNczgDFL2zqCf83soC6fay4C7SWO3QNguXi2uMhmqtC0TLJ
|
||||||
|
yY7fa5fVTYi3BBARAgB3BQJO4rBPcBpodHRwOi8vdW5kZXJncmlkLm5ldC9sZWdh
|
||||||
|
bC9ncGcvcG9saWN5LzIwMDkxMTIxLzczMjNiODIzNTkwYWNkOGRlY2YxMjliNzU0
|
||||||
|
ZWNmOGUxMDA2NjkyNDQ0MzJiMGQyMjY3MjA5MDQyMGRlYTI3MjkACgkQ1XPVsSmr
|
||||||
|
TN3SmwCgyOp2DP2eHA+2E4lmwDANPbF8YNoAnR90yzUdQhTItRMai9mV4lAqckz7
|
||||||
|
iLcEEBECAHcFAk7isFpwGmh0dHA6Ly91bmRlcmdyaWQubmV0L2xlZ2FsL2dwZy9w
|
||||||
|
b2xpY3kvMjAwOTExMjEvNzMyM2I4MjM1OTBhY2Q4ZGVjZjEyOWI3NTRlY2Y4ZTEw
|
||||||
|
MDY2OTI0NDQzMmIwZDIyNjcyMDkwNDIwZGVhMjcyOQAKCRBUTEhoYtvfYiagAJ9T
|
||||||
|
n0b2Hf6+9NNsuWZYpk1d/etgmgCfRpakvv6yk4Gp3EexASjfgKYlaOKInAQQAQIA
|
||||||
|
BgUCTuI+VwAKCRDhyUtG3x3UcZxXA/4iIgD9yvpIVzfGu1m/aDXEcACpsO8QgT+J
|
||||||
|
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
|
||||||
|
aXI/Maioszm5pco=
|
||||||
|
=wlrV
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
||||||
63
keys/gpg/kali-repo.key
Normal file
63
keys/gpg/kali-repo.key
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
Version: GnuPG v1
|
||||||
|
|
||||||
|
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
|
||||||
|
=hZlG
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
||||||
80
keys/gpg/rvm.key
Normal file
80
keys/gpg/rvm.key
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
Version: GnuPG v1
|
||||||
|
|
||||||
|
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
|
||||||
|
=a7HI
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
||||||
3
keys/known_hosts
Normal file
3
keys/known_hosts
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
|1|ZWm0E5aueYzKuoY8OrGAI2ZUdWI=|L8KgVjGyomaw47OGrhpPnipXDKU= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKX08QrgyP7du28Re9NlKxLm6aJFUD4F2vWBCuiqo7KNrIPbgjVP9yOwy2gXueC6fbuVQj/C4BdnkgHw9hFXbC0=
|
||||||
|
|1|MjwrIkZqV0wbZ7pWue9nsFREyhk=|lGN2O8BcMHleUkD4yBtYRXSm1Yw= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAwbTUJWJ3mytxrYPKrzRDIuBRd+/X/3T/QT2gudQfDN/mxkAMTg+uLoObXnUOtfhXD+lXP/s/GKXoPmsV/ausSz2YxBrQQXH7SwCpUq5GRXcl5s43JAJ1MbQq2EA5pa1CEBzUgd/Osu/WaVsKwfABV7QeKhblMfM0a5XcsfawqVbMJ0q/egYiSsWRVTU2iNMXILChJT6WUVoUiDENRnW98iy1qQgY0ge6hr7Gh6m23Fg6yfYDBQrqszbTfFYlqGe54bGlnxZvGp+Ybas02D29whAHwdNCSmDWXW0EvSpyt9WZUm0WOQt3t9RXpKeKLrWH4V/5BFYrONY1GsKuE783tw==
|
||||||
|
|1|UsEB5ylyIdmc4gs4TsYqE570DWY=|HAKqUTgFyTzodg8h6veV5jIa9GY= ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC75TncmMQKEnnyw1S/uHcvs88d2M1NTMSUZyqdvFbx/uRB2rlrJiQHK8vyvN+fgRH5x8vde+vz/lAFgySV9RoS676cMuBIC8usF8REX2ghSXiSoGw35gd2ztGiDdU7FLUQYW+8FkR1soRjKZgyHqP/NCr4jBXjqDawDE33MA5LdmYy7fl1RN3oK4sY+LIoUWVv5x1aJdV86m0zbciavpU5szL++rnwcx+nWjDFFP4ntH1XyPGftyYpIAZwX+2Vl0+uMgv6sHazOx1E6vOIMx1UapCeLyWXzJ49P8K4iBZcNPH6h9aYllF4PIJ97Auh+fpFKBPfmHLq4iKCz4kKByy7
|
||||||
1
keys/ssh/id_ecdsa_human.pub
Normal file
1
keys/ssh/id_ecdsa_human.pub
Normal file
@@ -0,0 +1 @@
|
|||||||
|
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKI+CwNBBoC1G9M2rRR0P0lWAU9uvEZpvDg+CpD+I9NQOLuy80YJMRwIYgTZVTWo8OUqsKSMzYywP6NdMKVdVGg= david@human
|
||||||
1
keys/ssh/id_rsa_glaptop.pub
Normal file
1
keys/ssh/id_rsa_glaptop.pub
Normal file
@@ -0,0 +1 @@
|
|||||||
|
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8vQiJn9J2KjNIwX427Zq0gpvD1XdR0j+3gY1DTG1yGU808a001YCw0UTQzaSfRZ0ixWyOiFiZ0UcyZnJlN/dQeIKvxWeIW6T3kjpkjzLiBJbloHT0CvqJoz/VAPuBKH9sVKabZlmufqM3B43XDCDS8UGcxUmHxSFSh4hsqurP+ywI8QsoLz1epiFeUQCqsLG5LZIpthAYDOXtxp6cVoKgosi+zJm7sHG/pIof//WMW1xFCArEQfiWXa3Mv3Ir+geKej3lmWPMZNyGpGVtH9w0VHmzPX6OY02CelUoqe/yQDqZ0SjVKm0WZOHStAep0sxVR7/zHvS36Wk0eSptuenR davidtomaschik@glaptop
|
||||||
1
keys/ssh/id_rsa_human.pub
Normal file
1
keys/ssh/id_rsa_human.pub
Normal file
@@ -0,0 +1 @@
|
|||||||
|
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGOKUiQg5NBq2QqRC030Dmz4SzxcQP9dTHSQyKgrdV7ljSGAlN2GRKm8gu52K4CuOY6dK67FuVKp09fa2BvflnJWkjDsG7DtzFeiCao0eNvW7xL33f880xrU/r+2p+SdeGTuhylJDUejxh+yZ0gqzaLSFfsbXJZjiFnKD0qzl72wHtsbgHL+sTmZ5lCocMS6OoKGQDKkTEhm75TbMX5ZjeBzio9T5dpUR2X3BabxUZ2snyPa42U6rRNNBX+V7c5K1BRjDRTgJ2JmEsR5Al96xNk6gPwa+6F42Zb8lBYdbAt7T04lrv3fnBJ9Mzo+iWdvcKowb715zIGQqHpCuH8gNV david@human
|
||||||
1
keys/ssh/id_rsa_uber.pub
Normal file
1
keys/ssh/id_rsa_uber.pub
Normal file
@@ -0,0 +1 @@
|
|||||||
|
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDXvqt73qAqS8C597u1wjz0Cvfo1IpiQFE4OKxTBR0mUhhi9UsGXkjZd/EYnqfWQRLcKaQSqN9QcXW7zHrfXtdmcjr3dDZrwXGgCiJnvLTeLecLqYwgaIMMNTmgaTQ3OFB74VCeD496pMbnhmlsN2+WaxNjIxoX+Qadsq/iHtBBt+tSOm5E1x0/ynEGmvO1W0L+8FyV/xnZWQIbBHTrJ931Gt8RDKtt7Y24XYMm5REye40adbxeS4kBwexvp2nTKwkr8sC26dmOz/RgJG3Km1194r0RXsH7iCYYlUBT23f4KOcmVxUlxkSu5d0u2viEID++cN6LT/4rHPdgqMZaVhaB root@uber
|
||||||
1
keys/ssh/trusted/id_ecdsa_human.pub
Symbolic link
1
keys/ssh/trusted/id_ecdsa_human.pub
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
../id_ecdsa_human.pub
|
||||||
1
keys/ssh/trusted/id_rsa_human.pub
Symbolic link
1
keys/ssh/trusted/id_rsa_human.pub
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
../id_rsa_human.pub
|
||||||
48
packages
Normal file
48
packages
Normal file
@@ -0,0 +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
|
||||||
|
kpartx
|
||||||
|
ldap-utils
|
||||||
|
ltrace
|
||||||
|
lvm2
|
||||||
|
mosh
|
||||||
|
ngrep
|
||||||
|
nmap
|
||||||
|
opensc
|
||||||
|
openvpn
|
||||||
|
p7zip-full
|
||||||
|
python-crypto
|
||||||
|
python-dev
|
||||||
|
python-hachoir-urwid
|
||||||
|
python-imaging
|
||||||
|
python-pip
|
||||||
|
python-pypdf
|
||||||
|
python-yara
|
||||||
|
radare2
|
||||||
|
scapy
|
||||||
|
scdaemon
|
||||||
|
sqlite3
|
||||||
|
strace
|
||||||
|
tcpdump
|
||||||
|
tmux
|
||||||
|
traceroute
|
||||||
|
tshark
|
||||||
|
ufw
|
||||||
|
unzip
|
||||||
|
vim
|
||||||
|
whois
|
||||||
|
zsh
|
||||||
9
packages.X
Normal file
9
packages.X
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
audacity
|
||||||
|
cinnamon
|
||||||
|
fonts-inconsolata
|
||||||
|
gimp
|
||||||
|
keepassx
|
||||||
|
network-manager-openvpn-gnome
|
||||||
|
vim-gtk
|
||||||
|
wireshark
|
||||||
|
wkhtmltopdf
|
||||||
1
packages.kali
Normal file
1
packages.kali
Normal file
@@ -0,0 +1 @@
|
|||||||
|
volatility
|
||||||
2
packages.x86_64
Normal file
2
packages.x86_64
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
gcc-multilib
|
||||||
|
g++-multilib
|
||||||
BIN
private_dotfiles/irssi/sasl.auth
Normal file
BIN
private_dotfiles/irssi/sasl.auth
Normal file
Binary file not shown.
BIN
private_dotfiles/ssh/config
Normal file
BIN
private_dotfiles/ssh/config
Normal file
Binary file not shown.
42
profile
42
profile
@@ -1,42 +0,0 @@
|
|||||||
# Sourced by zshrc as well as bash.
|
|
||||||
|
|
||||||
umask 022
|
|
||||||
|
|
||||||
# if running bash
|
|
||||||
if [ -n "$BASH_VERSION" ]; then
|
|
||||||
# include .bashrc if it exists
|
|
||||||
if [ -f "$HOME/.bashrc" ]; then
|
|
||||||
. "$HOME/.bashrc"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Paths and preferences
|
|
||||||
export PATH="$HOME/bin:/sbin:/usr/sbin:$PATH"
|
|
||||||
export PYTHONPATH="$HOME/.python"
|
|
||||||
export VISUAL=vim
|
|
||||||
export EDITOR=vim
|
|
||||||
export TZ='America/Los_Angeles'
|
|
||||||
export DEBEMAIL=david@systemoverlord.com
|
|
||||||
export DEBFULLNAME="David Tomaschik"
|
|
||||||
|
|
||||||
|
|
||||||
# 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
|
|
||||||
gpg-agent -q || eval `gpg-agent --daemon --enable-ssh-support --write-env-file $GPG_AGENT_INFO_PATH` 2>/dev/null
|
|
||||||
fi
|
|
||||||
unset GPG_AGENT_INFO_PATH
|
|
||||||
export GPG_TTY=`tty`
|
|
||||||
# End GPG
|
|
||||||
|
|
||||||
# Add an "alert" alias for long running commands. Use like so:
|
|
||||||
# sleep 10; alert
|
|
||||||
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='sudo cryptsetup luksFormat -s 512 -c aes-xts-plain --use-random -h sha256 -i 5000'
|
|
||||||
|
|
||||||
if [ -f $HOME/.localenv ] ; then source $HOME/.localenv ; fi
|
|
||||||
28
vimrc
28
vimrc
@@ -1,28 +0,0 @@
|
|||||||
" Allow full use of vim options
|
|
||||||
set nocompatible
|
|
||||||
" Autoindentation
|
|
||||||
set autoindent
|
|
||||||
" Use same indentation style as above file
|
|
||||||
set copyindent
|
|
||||||
" Proper tabs
|
|
||||||
set tabstop=2
|
|
||||||
set softtabstop=2
|
|
||||||
set shiftwidth=2
|
|
||||||
set expandtab
|
|
||||||
" Display cursor position
|
|
||||||
set ruler
|
|
||||||
" Syntax highlighting and file types
|
|
||||||
syntax on
|
|
||||||
filetype plugin indent on
|
|
||||||
" Allow file modelines
|
|
||||||
set modeline
|
|
||||||
" Automatically re-read changed files
|
|
||||||
set autoread
|
|
||||||
" fsync() after writing files
|
|
||||||
set fsync
|
|
||||||
" Line numbering
|
|
||||||
set number
|
|
||||||
" Round indentation to multiple of shiftwidth
|
|
||||||
set shiftround
|
|
||||||
" Text width 80
|
|
||||||
set textwidth=80
|
|
||||||
29
zshrc
29
zshrc
@@ -1,29 +0,0 @@
|
|||||||
# Lines configured by zsh-newuser-install
|
|
||||||
HISTFILE=~/.histfile
|
|
||||||
HISTSIZE=1000
|
|
||||||
SAVEHIST=1000
|
|
||||||
setopt appendhistory autocd extendedglob nomatch
|
|
||||||
unsetopt beep
|
|
||||||
bindkey -v
|
|
||||||
# End of lines configured by zsh-newuser-install
|
|
||||||
# The following lines were added by compinstall
|
|
||||||
zstyle :compinstall filename '/home/david/.zshrc'
|
|
||||||
|
|
||||||
autoload -Uz compinit
|
|
||||||
compinit
|
|
||||||
# End of lines added by compinstall
|
|
||||||
|
|
||||||
setopt nohup autopushd
|
|
||||||
DIRSTACKSIZE=16
|
|
||||||
case $TERM in
|
|
||||||
xterm*)
|
|
||||||
precmd () {print -Pn "\e]0;%n@%m: %~\a"}
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
PS1='%n@%m:%32<...<%~%<<%# '
|
|
||||||
|
|
||||||
. ~/.profile
|
|
||||||
typeset -U path
|
|
||||||
|
|
||||||
alias ls='ls --color'
|
|
||||||
Reference in New Issue
Block a user