summary refs log tree commit diff
path: root/bin
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2022-01-12 22:46:54 -0500
committerJune McEnroe <june@causal.agency>2022-01-12 22:46:54 -0500
commit975ade186cae1d37d1203afb5e181b46734d95d5 (patch)
treee6d7648b2bbe11d93e5035aee1a695d97500df22 /bin
parentPublish "Books 2021" (diff)
downloadsrc-975ade186cae1d37d1203afb5e181b46734d95d5.tar.gz
src-975ade186cae1d37d1203afb5e181b46734d95d5.zip
Add LWN to sup
Diffstat (limited to '')
-rw-r--r--bin/man1/sup.13
-rw-r--r--bin/sup.sh28
2 files changed, 30 insertions, 1 deletions
diff --git a/bin/man1/sup.1 b/bin/man1/sup.1
index 7f84f11b..bd88ad47 100644
--- a/bin/man1/sup.1
+++ b/bin/man1/sup.1
@@ -1,4 +1,4 @@
-.Dd January  9, 2022
+.Dd January 12, 2022
 .Dt SUP 1
 .Os
 .
@@ -34,6 +34,7 @@ The following services are supported:
 .Cm freebsdbugzilla ,
 .Cm liberapay ,
 .Cm lobsters ,
+.Cm lwn ,
 .Cm patreon ,
 .Cm tildegit ,
 .Cm tildenews .
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...'
mmit/etc/gpl.c?id=3e8790b5b8a1a0b49c98507625f2d79bae1fcc60&follow=1'>Update license header templates for the new yearJune McEnroe 2019-12-26Add \S to sort inside bracesJune McEnroe 2019-12-23Reformat music.txtJune McEnroe 2019-12-23Rename music.md to music.txtJune McEnroe 2019-12-23Add DO YOU DOUBT ME TRAITORJune McEnroe 2019-12-22Add license header to cgit CSSJune McEnroe As requested. Funny that its license header capitalizes You. 2019-12-22Add The Book of EttaJune McEnroe 2019-12-21Revert "Add first working version of imbox"June McEnroe Moved to <https://git.causal.agency/imbox>. This reverts commit 6aa7f2f6bf47fa9df9c749ce665171fa30800937. 2019-12-21Add first working version of imboxJune McEnroe 2019-12-20Respect mailmap in gl pretty formatJune McEnroe 2019-12-20Set LANG in cgit filtersJune McEnroe ttpre needs to know about UTF-8 too so it can bold/italic non-ASCII chars. 2019-12-20Source .editrc before applying -v or -eJune McEnroe Otherwise a bind -v in .editrc will take precedence and overwrite the ^I binding for sh-complete. 2019-12-20Disable signing commitsJune McEnroe Why did I ever turn this on? This gets me nothing but inconvenience. RIP to all the wasted bytes in my git repos. 2019-12-19Ignore about-filterJune McEnroe 2019-12-19Fix matching make tags with no sourcesJune McEnroe 2019-12-19Avoid matching := assignments as tagsJune McEnroe 2019-12-18Hide line numbers when rendering mdocJune McEnroe Hack: output an extra <td> after rendering mdoc so that line numbers can be hidden based on there being three. This required splitting source-filter and about-filter since on about pages there is no table. 2019-12-18Customize cgit CSSJune McEnroe 2019-12-18Use :target rather than :focus pseudo-classJune McEnroe :target persists after you click on something else. 2019-12-18Copy cgit auxiliary binaries properlyJune McEnroe 2019-12-18Add git.causal.agency cgit configJune McEnroe 2019-12-18Bail from hi if input is binaryJune McEnroe NULs in the input cause an infinite loop in htmlEscape, not to mention regexes obviously not working, etc. 2019-12-16Post "cgit setup"June McEnroe