summary refs log tree commit diff
path: root/bin
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--bin/man1/sup.13
-rw-r--r--bin/sup.sh22
2 files changed, 24 insertions, 1 deletions
diff --git a/bin/man1/sup.1 b/bin/man1/sup.1
index 10dac5d9..ba4fe3fd 100644
--- a/bin/man1/sup.1
+++ b/bin/man1/sup.1
@@ -1,4 +1,4 @@
-.Dd February 17, 2021
+.Dd February 21, 2021
 .Dt SUP 1
 .Os
 .
@@ -37,5 +37,6 @@ and
 The following services are supported:
 .Cm discogs ,
 .Cm freebsdbugzilla ,
+.Cm liberapay ,
 .Cm lobsters ,
 .Cm tildenews .
diff --git a/bin/sup.sh b/bin/sup.sh
index b8af9fc1..fb6ad4bf 100644
--- a/bin/sup.sh
+++ b/bin/sup.sh
@@ -77,6 +77,28 @@ discogs() {
 	open 'https://discogs.com/login'
 }
 
+liberapay() {
+	echo 'Fetching CSRF token...'
+	csrf=$(
+		curl -Ss 'https://liberapay.com/sign-in' |
+		sed -n 's/.*name="csrf_token".*value="\([^"]*\)".*/\1/p'
+	)
+	echo 'Submitting form...'
+	curl -Ss -X POST \
+		-b "csrf_token=${csrf}" -F "csrf_token=${csrf}" \
+		-F "log-in.id=${email}" \
+		'https://liberapay.com/sign-in' \
+		>/dev/null
+	echo 'Waiting for email...'
+	url=$(
+		git fetch-email -i -M Trash \
+			-F 'support@liberapay.com' -T "${email}" \
+			-S 'Log in to Liberapay' |
+		grep -m 1 '^https://liberapay\.com/'
+	)
+	open "${url}"
+}
+
 lobsters() {
 	: ${lobstersBase:=https://lobste.rs}
 	: ${lobstersFrom:=nobody@lobste.rs}
1'>Rewrite UI againJune McEnroe 2018-09-12Add note about C-oJune McEnroe 2018-09-12Use formatParse split to position input cursorJune McEnroe 2018-09-12Factor out IRC formatting parsingJune McEnroe 2018-09-11Add /help equivalent to /manJune McEnroe 2018-09-11Don't render every PM as a pingJune McEnroe 2018-09-11Add urlOpenMatchJune McEnroe 2018-09-10Depend on man.sh for chroot.tar targetJune McEnroe 2018-09-10Set LESSSECURE=1 in man.shJune McEnroe 2018-09-10Add /man commandJune McEnroe 2018-09-10Install man page in chrootJune McEnroe 2018-09-10Install man pageJune McEnroe 2018-09-10Split keys into subsections and document colorsJune McEnroe 2018-09-10Add "blank" lines to chatte.1June McEnroe 2018-09-10Document key bindings in chatte.1June McEnroe 2018-09-08Document slash commands in chatte.1June McEnroe