import-github-gist-oauth.sh
· 1.2 KiB · Bash
Raw
#!/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!"
| 1 | #!/bin/bash |
| 2 | # GitHub Gist import script using GitHub token for authentication |
| 3 | # This script works by first logging in via GitHub OAuth and then importing |
| 4 | |
| 5 | github_user=acedanger |
| 6 | opengist_url="https://gist.ptrwd.com" |
| 7 | |
| 8 | echo "This script requires you to first log in to OpenGist via GitHub OAuth." |
| 9 | echo "Please visit: $opengist_url" |
| 10 | echo "Log in with your GitHub account, then return here and press Enter to continue..." |
| 11 | read -p "Press Enter when you've logged in via GitHub OAuth: " |
| 12 | |
| 13 | echo "Starting GitHub Gist import..." |
| 14 | |
| 15 | curl -s https://api.github.com/users/"$github_user"/gists?per_page=100 | jq '.[] | .git_pull_url' -r | while read url; do |
| 16 | echo "Processing gist: $url" |
| 17 | git clone "$url" |
| 18 | repo_dir=$(basename "$url" .git) |
| 19 | |
| 20 | if [ -d "$repo_dir" ]; then |
| 21 | cd "$repo_dir" |
| 22 | |
| 23 | # Use the web-based authentication by prompting the user |
| 24 | echo "For repository $repo_dir, you'll need to authenticate via browser..." |
| 25 | echo "When prompted, use your GitHub credentials that you used to log in to OpenGist" |
| 26 | |
| 27 | # Add remote and push |
| 28 | git remote add gist "$opengist_url/init" |
| 29 | git push -u gist --all |
| 30 | |
| 31 | cd .. |
| 32 | rm -rf "$repo_dir" |
| 33 | echo "Completed import of $repo_dir" |
| 34 | fi |
| 35 | done |
| 36 | |
| 37 | echo "Import process completed!" |
| 38 |