Last active 3 months ago

import-github-gist-oauth.sh Raw
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
5github_user=acedanger
6opengist_url="https://gist.ptrwd.com"
7
8echo "This script requires you to first log in to OpenGist via GitHub OAuth."
9echo "Please visit: $opengist_url"
10echo "Log in with your GitHub account, then return here and press Enter to continue..."
11read -p "Press Enter when you've logged in via GitHub OAuth: "
12
13echo "Starting GitHub Gist import..."
14
15curl -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
35done
36
37echo "Import process completed!"
38