More handy scripts

This commit is contained in:
Daniel Flanagan 2019-11-12 16:39:31 -06:00
parent 6c7d60c00f
commit 6fd35bc232
4 changed files with 25 additions and 15 deletions

11
bin/devtunnel Executable file
View file

@ -0,0 +1,11 @@
#!/usr/bin/env moon
arg_spec = {
{"target", "REMOTE_MACHINE", "remote"}
{"fwd", "FORWARD_PORTS", "1313,3000,4800:8000,8080,1234,40080:80,40443:443"}
{"sargs", "SSH_ARGS", "-XY"}
}
args = {v[1], os.getenv(v[2]) or arg[i] or v[3] for i, v in ipairs(arg_spec)}
ports = {a, (if b == "" then a else b) for a, b in args.fwd\gmatch "(%d+):?(%d*),?"}
pargs = table.concat ["-L #{k}:localhost:#{v}" for k,v in pairs ports], " "
for k,v in pairs ports do print "Forwarding localhost:#{k} to #{args.target}:#{v}"
os.execute "ssh -N #{args.target} #{pargs} #{args.sargs}"

View file

@ -49,6 +49,11 @@ FSW_EVENTS="${FSW_EVENTS:-close_write}"
SHELL_COMMAND="${1}"; shift SHELL_COMMAND="${1}"; shift
FILTER="${1}"; shift FILTER="${1}"; shift
DIRS=("${1:-.}"); shift DIRS=("${1:-.}"); shift
if [[ -e $FILTER ]]; then
# TODO: this is a sad hack/workaround
echo "It looks like your filter is an actual file. I'll just watch that for you."
DIRS=("${FILTER}")
fi
while [[ ! -z $1 ]]; do while [[ ! -z $1 ]]; do
DIRS+=("$1"); shift DIRS+=("$1"); shift
done done

View file

@ -1,17 +1,9 @@
#!/usr/bin/env moon #!/usr/bin/env moon
arg_spec = {
require('fun')! {"target", "REMOTE_MACHINE", "remote"}
{"mpr", "MOSH_PORT_RANGE", "60000:61000"}
garg = (v, i) -> os.getenv(v[1]) or arg[i] or v[2] {"sargs", "SSH_ARGS", "-XY"}
target, fwd, mpr, sargs, margs = unpack totable map garg, iter { {"margs", "MOSH_ARGS", ""}
{"REMOTE_MACHINE", "remote"}
{"SSH_FORWARD_PORTS", "1313,3000,8000,8080,1234,40080:80,40443:443"}
{"MOSH_PORT_RANGE", "60000:61000"}
{"SSH_ARGS", "-XY"}
{"MOSH_ARGS", ""}
} }
args = {v[1], os.getenv(v[2]) or arg[i] or v[3] for i, v in ipairs(arg_spec)}
sfwd = fwd\gsub "(%d+):?(%d*),?", (p, mp) -> os.execute "mosh -p '#{args.mpr}' '#{args.target}' --ssh='ssh #{args.sargs}' #{args.margs}"
"-L #{p}:localhost:#{if mp == "" then p else mp} "
os.execute "mosh -p '#{mpr}' '#{target}' --ssh='ssh #{sfwd} #{sargs}' #{margs}"

View file

@ -17,6 +17,8 @@
## Set fonts in "$HOME/.Xresources.env" ## Set fonts in "$HOME/.Xresources.env"
URxvt.font: xft:Iosevka Term:pixelsize=14,xft:Noto Emoji,xft:Font Awesome 5 Free:pixelsize=14,xft:FreeSans:pixelsize=14 URxvt.font: xft:Iosevka Term:pixelsize=14,xft:Noto Emoji,xft:Font Awesome 5 Free:pixelsize=14,xft:FreeSans:pixelsize=14
URxvt.faceName: xft:Iosevka Term:pixelsize=14,xft:Font Awesome 5 Free:pixelsize=14,xft:FreeSans:pixelsize=14 URxvt.faceName: xft:Iosevka Term:pixelsize=14,xft:Font Awesome 5 Free:pixelsize=14,xft:FreeSans:pixelsize=14
Emacs.font: Iosevka Term
Emacs.faceName: Iosevka Term
# URxvt.transparent: true # URxvt.transparent: true
# URxvt.shading: 70 # URxvt.shading: 70
URxvt.letterSpace: 0 URxvt.letterSpace: 0