1alias ls='ls --color=auto'2alias l='ls'3alias ll='ls -lh'456[ -x "$(command -v helix)" ] && alias hx='helix'78alias tt='tmux new -A -s'910alias task='go-task'1112alias de='doasedit'1314alias rs='rsync -rz --info=progress2'15alias rrs='RSYNC_PASSWORD=$(pass tool/rsyncd/lindsay) rsync-ssl -rz --info=progress2'1617alias ppgrep='ps aux | grep -v grep | grep $@'1819[ -x "$(command -v edit)" ] && alias e=edit2021alias ssh-gpg='ssh -f -N -o ControlPath="$HOME/.ssh/controlmaster/%n|$o_addr|%r@%h|%p.gpg" -o RemoteForward="$HOME/.gnupg/S.gpg-agent $HOME/.gnupg/S.gpg-agent.extra"'2223###############################24# generate random password25function _passgen() {26 local chars numbers lowers uppers27 chars='!@?%^_=*#&'28 numbers='0123456789'29 lowers='abcdefghijklmnopqrstuvwxyz'30 uppers='ABCDEFGHIJKLMNOPQRSTUVWXYZ'31 length=$13233 { </dev/urandom LC_ALL=C grep -ao '[A-Za-z0-9!@?%^_=*#&]' \34 | head -n$((length-4))35 echo ${chars:$((RANDOM % ${#chars})):1} # Random special char.36 echo ${numbers:$((RANDOM % ${#numbers})):1}37 echo ${lowers:$((RANDOM % ${#lowers})):1}38 echo ${uppers:$((RANDOM % ${#uppers})):1}39 } | shuf | tr -d '\n'40}4142function passgen() {43 local o_copy o_help44 local usage=(45 "$0 [-h|--help]"46 "$0 [-c|--copy] [length]"47 )4849 zmodload zsh/zutil50 zparseopts -D -F -K -- \51 {h,-help}=o_help \52 {c,-copy}=o_copy || return 15354 [[ -z "$o_help" ]] || { print -l $usage && return }5556 _pass=`_passgen ${1:=$((RANDOM %8 + 10))}`57 [[ -z "$o_copy" ]] || { echo $_pass | wl-copy -n }5859 echo $_pass60}61###############################62# SSH63alias ssh-mount='sshfs -o uid=$(id -u) -o gid=$(id -g) -o allow_root -o remember=20 -o sync_readdir -o sshfs_sync -o reconnect $@'6465###############################66# pastebin clients67function cpb () {68 wl-paste | pb $@69}70function pbd() {71 curl -XDELETE ${KPASTE_HOST:-"https://pb.koi.moe"}/$172}7374function ix() {75 local opts76 local OPTIND77 [ -f "$HOME/.netrc" ] && opts='-n'78 while getopts ":hd:i:n:" x; do79 case $x in80 h) echo "ix [-d ID] [-i ID] [-n N] [opts]"; return;;81 d) $echo curl $opts -X DELETE ix.io/$OPTARG; return;;82 i) opts="$opts -X PUT"; local id="$OPTARG";;83 n) opts="$opts -F read:1=$OPTARG";;84 esac85 done86 shift $(($OPTIND - 1))87 [ -t 0 ] && {88 local filename="$1"89 shift90 [ "$filename" ] && {91 curl $opts -F f:1=@"$filename" $* ix.io/$id92 return93 }94 echo "^C to cancel, ^D to send."95 }96 curl $opts -F f:1='<-' $* ix.io/$id97}9899function farsee() {100 local file=${1:-/dev/stdin}101 curl -F "c=@${file}" "https://fars.ee/"102}103104###############################105# Weather106function wt() {107 local city=${1:-"Wuhan"}108 curl -s "wttr.in/$city?T"109}