Skip to content

Commit

Permalink
github-key-import.sh: support multiple keys
Browse files Browse the repository at this point in the history
  • Loading branch information
Jipok committed Feb 11, 2024
1 parent 96bae28 commit 0c1d31c
Showing 1 changed file with 12 additions and 9 deletions.
21 changes: 12 additions & 9 deletions github-key-import.sh
Original file line number Diff line number Diff line change
@@ -1,26 +1,29 @@
#!/usr/bin/env bash
set -euo pipefail

file="${1:-$HOME/.ssh/authorized_keys}"
file="${1:-$HOME/authorized_keys}"

search() {
q=$( echo $@ | tr " " '+' )
curl -s "https://github.com/search?q=$q&ref=opensearch&type=users" |\
jq -r '.payload.results.[] | .login + " {" + .name + "}"' |\
sed 's/{}//g'
q=$( echo $@ | tr " " '+' )
curl -s "https://github.com/search?q=$q&ref=opensearch&type=users" |\
jq -r '.payload.results.[] | .login + " {" + .name + "}"' |\
sed 's/{}//g'
}
export -f search

username=$(echo "" | fzf --bind "change:reload-sync:search {q}" | cut -f1 -d' ')
key=$(curl -s "https://github.com/$username.keys" | head -n1)
keys=$(curl -s "https://github.com/$username.keys" | sed "s/\$/ $username/")

echo "Public key: $key"
echo "Public keys: $keys"
echo "Username: $username"
[ -z "$@" ] && echo "Filename not provided via cmdline. Using default one:"
[ -z "$@" ] && echo -e "\e[0;33mFilename not provided via cmdline. Using default one:\e[m"
echo "Append to: $file"

read -r -p "Are you sure? [Y/n]" response
response=${response,,} # tolower
if [[ $response =~ ^(y| ) ]] || [[ -z $response ]]; then
echo "$key $username" >> "$file"
echo "$keys" >> "$file"
echo "DONE"
else
echo "CANCELED"
fi

0 comments on commit 0c1d31c

Please sign in to comment.