Skip to content

Commit

Permalink
Squash merge PR #60 feat: catURL: curl の代替として wget/fetch をサポート
Browse files Browse the repository at this point in the history
Close #55
  • Loading branch information
yoshi389111 authored Jun 12, 2021
1 parent 3acbe55 commit 6d0cf1e
Show file tree
Hide file tree
Showing 5 changed files with 57 additions and 11 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ GitHub 上の公開鍵を使ってファイルの暗号化と署名確認、ロ
- 必須コマンド
- `openssl` コマンド: 暗号化・復号・ランダム値取得などに [OpenSSL](https://ja.wikipedia.org/wiki/OpenSSL) コマンドが必要です。
- `ssh-keygen` コマンド: 公開鍵・秘密鍵の作成に必要です。[OpenSSH](https://ja.wikipedia.org/wiki/OpenSSH) と一緒にインストールされますが、インストールされていない場合は `openssh` もしくは `openssh-keygen` などでインストールしてください。
- `curl` コマンド: 現在のバージョンは `wget` に対応しておりません
- コンテンツ取得コマンド: 現在のバージョンでは `curl` `wget` `fetch` のいずれかが必要です

---

Expand Down
15 changes: 14 additions & 1 deletion bin/checkkeylength
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,19 @@ getRandStr() {
openssl rand -hex 16 2>&1
}

catURL() {
if type curl 1>/dev/null 2>/dev/null; then
curl -s "$1"
elif type wget 1>/dev/null 2>/dev/null; then
wget -nv -O - "$1"
elif type fetch 1>/dev/null 2>/dev/null; then
fetch -q -o - "$1"
else
echo >&2 'データ取得に必要なコマンド(curl/wget/fetch)がインストールされていません。'
exit 1
fi
}

# コマンド引数取得
# ----------------
USERNAME=$1
Expand Down Expand Up @@ -56,7 +69,7 @@ PATHPUBKEY="/tmp/${USERNAME}.${RAND}.pub"
# - 参考URL : https://qiita.com/m0r1/items/af16c41475d493ab6774
printf "%s" "${USERNAME} の GitHub 上の公開鍵を取得中 ... "

if ! curl -s "https://github.com/${USERNAME}.keys" | head -n 1 >"$PATHPUBKEY"; then
if ! catURL "https://github.com/${USERNAME}.keys" | head -n 1 >"$PATHPUBKEY"; then
echo "NG:公開鍵を取得・保存できませんでした。"
exit 1
fi
Expand Down
21 changes: 14 additions & 7 deletions bin/enc
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,6 @@ if ! type openssl 2>/dev/null 1>/dev/null; then
exit 1
fi

if ! type curl 2>/dev/null 1>/dev/null; then
echo >&2 'データ取得に必要な curl コマンドがインストールされていません。'

exit 1
fi

# -----------------------------------------------------------------------------
# Main
# -----------------------------------------------------------------------------
Expand All @@ -52,6 +46,19 @@ getRandStr() {
openssl rand -hex 16 2>&1
}

catURL() {
if type curl 1>/dev/null 2>/dev/null; then
curl -s "$1"
elif type wget 1>/dev/null 2>/dev/null; then
wget -nv -O - "$1"
elif type fetch 1>/dev/null 2>/dev/null; then
fetch -q -o - "$1"
else
echo >&2 'データ取得に必要なコマンド(curl/wget/fetch)がインストールされていません。'
exit 1
fi
}

# コマンド引数取得
# ----------------
USERNAME=$1
Expand Down Expand Up @@ -86,7 +93,7 @@ PATHPUBKEY="/tmp/${USERNAME}.${RAND}.pub"
# - 参考URL : https://qiita.com/m0r1/items/af16c41475d493ab6774
printf "%s" "${USERNAME} の GitHub 上の公開鍵を取得中 ... "

if ! curl -s "https://github.com/${USERNAME}.keys" | head -n 1 >"$PATHPUBKEY"; then
if ! catURL "https://github.com/${USERNAME}.keys" | head -n 1 >"$PATHPUBKEY"; then
echo >&2 "NG:公開鍵を取得・保存できませんでした。"
exit 1
fi
Expand Down
15 changes: 14 additions & 1 deletion bin/sign
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,19 @@ getRandStr() {
openssl rand -hex 16 2>&1
}

catURL() {
if type curl 1>/dev/null 2>/dev/null; then
curl -s "$1"
elif type wget 1>/dev/null 2>/dev/null; then
wget -nv -O - "$1"
elif type fetch 1>/dev/null 2>/dev/null; then
fetch -q -o - "$1"
else
echo >&2 'データ取得に必要なコマンド(curl/wget/fetch)がインストールされていません。'
exit 1
fi
}

# コマンド引数取得
# ----------------
USERNAME=$1
Expand Down Expand Up @@ -93,7 +106,7 @@ PATHPUBKEY="/tmp/${USERNAME}.${RAND}.pub"
# - 参考URL : https://qiita.com/m0r1/items/af16c41475d493ab6774
printf "%s" "${USERNAME} の GitHub 上の公開鍵を取得中 ... "

if ! curl -s "https://github.com/${USERNAME}.keys" | head -n 1 >"$PATHPUBKEY"; then
if ! catURL "https://github.com/${USERNAME}.keys" | head -n 1 >"$PATHPUBKEY"; then
echo "NG:公開鍵を取得・保存できませんでした。"
exit 1
fi
Expand Down
15 changes: 14 additions & 1 deletion bin/verify
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,19 @@ getRandStr() {
openssl rand -hex 16 2>&1
}

catURL() {
if type curl 1>/dev/null 2>/dev/null; then
curl -s "$1"
elif type wget 1>/dev/null 2>/dev/null; then
wget -nv -O - "$1"
elif type fetch 1>/dev/null 2>/dev/null; then
fetch -q -o - "$1"
else
echo >&2 'データ取得に必要なコマンド(curl/wget/fetch)がインストールされていません。'
exit 1
fi
}

# コマンド引数取得
# ----------------
VERIFYFILE="$1"
Expand Down Expand Up @@ -78,7 +91,7 @@ PATHPUBKEY="${TMPDIR}/${USERNAME}.pub"
# - 参考URL : https://qiita.com/m0r1/items/af16c41475d493ab6774
printf "%s" "- ${USERNAME} の GitHub 上の公開鍵を取得中 ... "

if ! curl -s "https://github.com/${USERNAME}.keys" | head -n 1 >"$PATHPUBKEY"; then
if ! catURL "https://github.com/${USERNAME}.keys" | head -n 1 >"$PATHPUBKEY"; then
echo "NG:公開鍵を取得・保存できませんでした。"
exit 1
fi
Expand Down

0 comments on commit 6d0cf1e

Please sign in to comment.