49 lines
2.1 KiB
Plaintext
49 lines
2.1 KiB
Plaintext
# === mdns-termux - .bashrc additions ===
|
|
# Append these lines to your ~/.bashrc
|
|
|
|
# Ensure ~/.local/bin is on PATH
|
|
export PATH="$HOME/.local/bin:$PATH"
|
|
|
|
# Your Tailscale tailnet (change to yours). Used as fallback for resolve/sshr.
|
|
export TAILSCALE_DOMAIN="tailXXXXXX.ts.net"
|
|
|
|
# --- mDNS publisher daemon (movil.local + services on the LAN) ---
|
|
alias mdns-up='mdns publish --daemon' # start singleton daemon
|
|
alias mdns-status='mdns status' # is it running? what does it announce?
|
|
alias mdns-down='mdns stop' # graceful goodbye
|
|
alias mdns-hosts='mdns sync-hosts' # write discovered hosts into hosts file
|
|
|
|
# --- Service discovery / cache shortcuts ---
|
|
alias mdns-types='mdns browse --list-types'
|
|
alias mdns-ssh='mdns browse --type _ssh._tcp.local.'
|
|
alias mdns-smb='mdns browse --type _smb._tcp.local.'
|
|
alias mdns-http='mdns browse --type _http._tcp.local.'
|
|
alias mdns-watch='mdns browse --watch'
|
|
alias mdns-cache='mdns cache list'
|
|
alias mdns-forget='mdns cache clear'
|
|
|
|
# --- Generic host resolver (mdns -> stdlib -> Tailscale -> file cache) ---
|
|
# Works in any command: ping $(resolve lenovo) / curl "http://$(resolve hp62a)"
|
|
alias r='resolve'
|
|
pingr() { ping -c 3 "$(resolve "$1")"; }
|
|
curlr() { local h="$1"; shift; curl "$@" "http://$(resolve "$h")"; }
|
|
whor() { mdns reverse "$1"; } # IP -> hostname (PTR)
|
|
# HostKeyAlias reuses the known_hosts entry for the Tailscale FQDN so SSH-by-IP
|
|
# does not fail host-key verification.
|
|
sshr() {
|
|
local h="$1"; shift
|
|
local canonical="$h"
|
|
# Add your own short-name -> canonical mappings here:
|
|
case "$h" in dell) canonical="dell-latitude3400";; lenovo) canonical="lenovo-ideapad";; esac
|
|
ssh -o "HostKeyAlias=${canonical}.${TAILSCALE_DOMAIN}" \
|
|
"YOUR_USER@$(resolve "$h")" "$@"
|
|
}
|
|
|
|
# --- Auto-start publisher on shell login (optional) ---
|
|
# Uncomment if you want movil.local advertised whenever you open a Termux shell.
|
|
# Failures land in ~/.cache/mdns.log — do NOT redirect to /dev/null.
|
|
#
|
|
# mkdir -p ~/.cache
|
|
# pgrep -f "mdns-publish" >/dev/null 2>&1 || \
|
|
# nohup python ~/.local/bin/mdns-publish.py >>~/.cache/mdns.log 2>&1 & disown
|