Lots: Add README, purge old shit scripts
This commit is contained in:
parent
8fdd604845
commit
64796a5169
41
README.md
Normal file
41
README.md
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
#.bin
|
||||||
|
|
||||||
|
A submodule for my scripts
|
||||||
|
|
||||||
|
## Useful Scripts
|
||||||
|
|
||||||
|
binary | description
|
||||||
|
--- | ---
|
||||||
|
`colortest` | Ricey color tester
|
||||||
|
`fetch` | Neofetch and scrot wrapper
|
||||||
|
`i3-settree` | Save and restore i3 trees on the fly
|
||||||
|
`rmbspam` | Spam the right mouse button
|
||||||
|
`te` | Versatile templating script
|
||||||
|
`tmp` | Spawn a temporary directory and clean it up at the end of the shell
|
||||||
|
`xrdbupdate` | Load in a bunch of xrdb files from ~/.config/xrdb instead of just ~/.Xresources
|
||||||
|
|
||||||
|
## One-Off Scripts
|
||||||
|
|
||||||
|
binary | description
|
||||||
|
--- | ---
|
||||||
|
`cconvert` | Converts a hex color into RGB integers
|
||||||
|
`domainfind` | Given a list of TLDs as arguments, find dictionary words that contain those TLDs
|
||||||
|
`test-notifications` | Print three test notifications
|
||||||
|
|
||||||
|
## Specialized Scripts
|
||||||
|
|
||||||
|
Scripts that are really only useful to me.
|
||||||
|
|
||||||
|
binary | description
|
||||||
|
--- | ---
|
||||||
|
`g910-lights` | Ricey G910 LED startup script
|
||||||
|
|
||||||
|
## Bullshit Scripts
|
||||||
|
|
||||||
|
binary | description
|
||||||
|
--- | ---
|
||||||
|
`cowsayeternal` | Build up a ton of nested `cowsay` output
|
||||||
|
`mclevel` | Use xdotool to rig an Ars Magica 2 journal to give you a certain number of levels except it doesn't work
|
||||||
|
`tubetop` | Embed a video into the desktop using xwinwrap
|
||||||
|
`tubetop2` | The cooler tubetop
|
||||||
|
`xephwrap` | Use xephyr to wrap a new X session
|
39
mklatex
39
mklatex
@ -1,39 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Copyright (c) 2017 rehashedsalt/vintagesalt
|
|
||||||
#
|
|
||||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
# of this software and associated documentation files (the "Software"), to deal
|
|
||||||
# in the Software without restriction, including without limitation the rights
|
|
||||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
# copies of the Software, and to permit persons to whom the Software is
|
|
||||||
# furnished to do so, subject to the following conditions:
|
|
||||||
#
|
|
||||||
# The above copyright notice and this permission notice shall be included in all
|
|
||||||
# copies or substantial portions of the Software.
|
|
||||||
#
|
|
||||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
# SOFTWARE.
|
|
||||||
|
|
||||||
if [ -z "$@" ]; then
|
|
||||||
printf "mklatex: no files specified\n"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
for sourcefile in "$@"; do
|
|
||||||
if [ ! -f "$sourcefile" ]; then
|
|
||||||
printf "mklatex: file not found: $sourcefile\n"
|
|
||||||
else
|
|
||||||
pdflatex $sourcefile
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
if [ "$(which llpp)" ]; then
|
|
||||||
killall -SIGHUP llpp
|
|
||||||
fi
|
|
||||||
if [ "$(which mupdf)" ]; then
|
|
||||||
killall -SIGHUP mupdf
|
|
||||||
fi
|
|
90
ssht
90
ssht
@ -1,90 +0,0 @@
|
|||||||
#! /usr/bin/env bash
|
|
||||||
#
|
|
||||||
# ssht
|
|
||||||
# Copyright (C) 2018 salt <salt@lap-th-e560-0>
|
|
||||||
#
|
|
||||||
# Distributed under terms of the MIT license.
|
|
||||||
#
|
|
||||||
|
|
||||||
name="$(basename $0 .sh)"
|
|
||||||
|
|
||||||
# $1: Message
|
|
||||||
function log() {
|
|
||||||
[ -z ${1+x} ] && return 1
|
|
||||||
printf "\e[94m$name\e[0m: $*\n"
|
|
||||||
}
|
|
||||||
|
|
||||||
# $1: Binary in $PATH
|
|
||||||
function check_program_exists() {
|
|
||||||
if ! which $1 > /dev/null 2>&1; then
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
function get_tor_port() {
|
|
||||||
for port in 9050 9051 9150 9151; do
|
|
||||||
if netstat -ntl | grep 127.0.0.1:"$port" > /dev/null 2>&1; then
|
|
||||||
export return="$port"
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
|
|
||||||
# $1: Tor Port
|
|
||||||
# $2: Host
|
|
||||||
# $*: Command
|
|
||||||
function ssh_through_tor() {
|
|
||||||
[ -z ${3+x} ] && return 1
|
|
||||||
ssh -o ProxyCommand="nc -x 127.0.0.1:$1 \%h \%p" $2 ${*:3}
|
|
||||||
}
|
|
||||||
|
|
||||||
# $1: Tor Port
|
|
||||||
# $2: Host
|
|
||||||
function get_ssh_ip() {
|
|
||||||
# Yes, this is bad and you could totally run it through an SSH tunnel
|
|
||||||
# to avoid the curl requirement on the remote host
|
|
||||||
# Yes, that would avoid an extraneous connection
|
|
||||||
# TODO: That, also add curl to the list of critical requirements
|
|
||||||
log "Checking if host $2 has curl"
|
|
||||||
if ssh_through_tor "$1" "$2" which curl > /dev/null 2>&1; then
|
|
||||||
log "Finding out host's IP through curl"
|
|
||||||
export return="$(ssh_through_tor $1 $2 curl -s http://whatismyip.akamai.com)"
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
# TODO: Add more identification methods
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
|
|
||||||
# $1: Host
|
|
||||||
# $*: Arguments to ssh
|
|
||||||
function main() {
|
|
||||||
if ! [[ "$1" == *.onion ]]; then
|
|
||||||
log "First argument must be a .onion address"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
for dep in ssh tor netstat nc; do
|
|
||||||
if ! check_program_exists "$dep"; then
|
|
||||||
log "Could not find critical dependency \"$dep\""
|
|
||||||
exit 50
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
if ! get_tor_port; then
|
|
||||||
log "Tor is not running"
|
|
||||||
exit 51
|
|
||||||
fi
|
|
||||||
torport="$return"
|
|
||||||
log "Found Tor listening on local port $torport"
|
|
||||||
if ! get_ssh_ip $torport $1; then
|
|
||||||
log "Failed to determine target's public IP"
|
|
||||||
exit 52
|
|
||||||
fi
|
|
||||||
ssh_ip="$return"
|
|
||||||
log "Found public IP: $ssh_ip"
|
|
||||||
unset return torport
|
|
||||||
exec ssh $ssh_ip ${*:2}
|
|
||||||
}
|
|
||||||
|
|
||||||
main "$@"
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user