Files
docker/opengist/import-github-gist-oauth.sh

38 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
# GitHub Gist import script using GitHub token for authentication
# This script works by first logging in via GitHub OAuth and then importing
github_user=acedanger
opengist_url="https://gist.ptrwd.com"
echo "This script requires you to first log in to OpenGist via GitHub OAuth."
echo "Please visit: $opengist_url"
echo "Log in with your GitHub account, then return here and press Enter to continue..."
read -p "Press Enter when you've logged in via GitHub OAuth: "
echo "Starting GitHub Gist import..."
curl -s https://api.github.com/users/"$github_user"/gists?per_page=100 | jq '.[] | .git_pull_url' -r | while read url; do
echo "Processing gist: $url"
git clone "$url"
repo_dir=$(basename "$url" .git)
if [ -d "$repo_dir" ]; then
cd "$repo_dir"
# Use the web-based authentication by prompting the user
echo "For repository $repo_dir, you'll need to authenticate via browser..."
echo "When prompted, use your GitHub credentials that you used to log in to OpenGist"
# Add remote and push
git remote add gist "$opengist_url/init"
git push -u gist --all
cd ..
rm -rf "$repo_dir"
echo "Completed import of $repo_dir"
fi
done
echo "Import process completed!"