diff options
Diffstat (limited to '')
-rw-r--r-- | bin/sup.sh | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/bin/sup.sh b/bin/sup.sh index ae369e36..32e282d1 100644 --- a/bin/sup.sh +++ b/bin/sup.sh @@ -203,6 +203,34 @@ lobsters() { open "${lobstersBase}/login" } +lwn() { + username=$email + echo 'Submitting form...' + curl -Ss -X POST -F "username=${username}" \ + 'https://lwn.net/Login/MailPWLink' \ + >/dev/null + echo 'Waiting for email...' + key=$( + git fetch-email -i -M Trash \ + -F 'lwn@lwn.net' -S 'A link to set your LWN.net password' | + sed -n 's|.*/Login/SetPassword/.*/\(.*\)|\1|p' + ) + echo 'Retrieving UID...' + uid=$( + curl -Ss "https://lwn.net/Login/SetPassword/${username}/${key}" | + sed -n 's/.*name="uid" value="\([^"]*\)".*/\1/p' + ) + password=$(generate) + echo 'Setting password...' + curl -Ss -X POST \ + -F "uid=${uid}" -F "key=${key}" \ + -F "new1=${password}" -F "new2=${password}" \ + 'https://lwn.net/Login/DoSetPassword' \ + >/dev/null + copy "${password}" + open 'https://lwn.net/Login/' +} + patreon() { readonly patreonAPI='https://www.patreon.com/api' echo 'Submitting form...' |