More handy scripts
This commit is contained in:
parent
6c7d60c00f
commit
6fd35bc232
11
bin/devtunnel
Executable file
11
bin/devtunnel
Executable 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}"
|
5
bin/fsw
5
bin/fsw
|
@ -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
|
||||||
|
|
22
bin/remote
22
bin/remote
|
@ -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}"
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
Reference in a new issue