diff --git a/backend/christine.website/main.go b/backend/christine.website/main.go index 0f43487..d37d185 100644 --- a/backend/christine.website/main.go +++ b/backend/christine.website/main.go @@ -159,6 +159,9 @@ func main() { http.HandleFunc("/blog.rss", createFeed) http.HandleFunc("/blog.atom", createAtom) + http.HandleFunc("/keybase.txt", func(w http.ResponseWriter, r *http.Request) { + http.ServeFile(w, r, "./static/keybase.txt") + }) n := negroni.Classic() n.UseHandler(http.DefaultServeMux) diff --git a/containermake.lua b/containermake.lua index b4a7403..f9037e0 100644 --- a/containermake.lua +++ b/containermake.lua @@ -20,9 +20,4 @@ print "packing frontend..." sh.asar("pack", "static", "../frontend.asar"):print() cd ".." -if fs.exists "/usr/bin/keybase" then - print "signing frontend..." - sh.keybase("sign", "-d", "-i", "./frontend.asar", "-o", "./frontend.asar.sig"):print() -end - sh.box("box.rb"):print() diff --git a/static/geekcode.txt b/static/geekcode.txt new file mode 100644 index 0000000..f265188 --- /dev/null +++ b/static/geekcode.txt @@ -0,0 +1,4 @@ +-----BEGIN GEEK CODE BLOCK----- +Version: 3.1 +GCS d-$pu s: !a C++$ UBL---$ P--- L+++$ E--- W+++$ N++ o? !K-->$ w--- !O M-- V-- PS PE Y++>$ PGP++$ t++ !5-- !X R tv+ b DI D++ !G? e h>$ r++ x- +------END GEEK CODE BLOCK------ diff --git a/static/gpg.pub b/static/gpg.pub new file mode 100644 index 0000000..6e9be72 --- /dev/null +++ b/static/gpg.pub @@ -0,0 +1,76 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: Keybase OpenPGP v2.0.8 +Comment: https://keybase.io/crypto + +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 +=cdHJ +-----END PGP PUBLIC KEY BLOCK----- diff --git a/static/keybase.txt b/static/keybase.txt new file mode 100644 index 0000000..90d3c61 --- /dev/null +++ b/static/keybase.txt @@ -0,0 +1,67 @@ +================================================================== +https://keybase.io/xena +-------------------------------------------------------------------- + +I hereby claim: + + * I am an admin of https://christine.website + * I am xena (https://keybase.io/xena) on keybase. + * I have a public key with fingerprint CF54 AAE3 62BF 9C9F B79F AA18 799F 9134 8118 1111 + +To do so, I am signing this object: + +{ + "body": { + "key": { + "fingerprint": "cf54aae362bf9c9fb79faa18799f913481181111", + "host": "keybase.io", + "key_id": "799f913481181111", + "kid": "0101d20fbebf676d50a60006e9d6d7a5ac1bed37d6cd9aab5d1098d7d59f66a7f3620a", + "uid": "c51a91a819ddafb3a17644abab032500", + "username": "xena" + }, + "service": { + "hostname": "christine.website", + "protocol": "https:" + }, + "type": "web_service_binding", + "version": 1 + }, + "ctime": 1426511662, + "expire_in": 157680000, + "prev": "e855b34f4b574813056786deecf96f8f4bfac209228ec4b8d35e1bedb2a8993b", + "seqno": 29, + "tag": "signature" +} + +which yields the signature: + +-----BEGIN PGP MESSAGE----- +Version: Keybase OpenPGP v2.0.8 +Comment: https://keybase.io/crypto + +yMIdAnicbVJbSFRBGN5NW9KSonoq6uF0kUy2mXOZc2aLgjKiG10oqCxs5syc3UN1 +djvn7JZsG2gPgdAFk3qpoCIoIrqpUaGspZlKZIIoPUQXxO6J1FtYc6TegoFhvv/7 +vvm/n7+9pCBUHP5YkI0fGdpcGO5pW5UObY8MRLMSTbJqKZaV9vHxy7KdOHdTru34 +UkwyLU0lhCtIphY2sUV1bBECDR1jC0NFNSAUB0KpXEokvUAhbCjxeNROCkw8qmwm +0P/w940XAASQycCinFpIR0wDBAEAEMcMMZ1oxISUM0VnyGSYEKoxCLDBdKZhCyGi +W6I1QIRdetzO1CDBkBgQM0YsqhCoI1UllFCgyBoAAdHjrkMOcME+zB0i5colgWRs +kwfxgxR/q2bCtT3fdnj0EKee7XMhTrlJP2km94tywvdTXiyQ+9WpgC9YVX+dqqjt +MDFIochw17OTjhSDgmn6dmANVRlpECIkl0v8cMp2eZUdMDQdGSI8CP7hGWHJDU2j +imqpVNPF7BSgId1AjHPTwsgyBG4RUwZYlg1uqtRgisaDeVGZGBgrVAqyHXSSUkzG +ok8SF56eHXeIn3a5lHuc310YCheHIhMnBLsQKi6a9m9Ddj6cFLp5r/REvudnJH/k +Y0NZ9+fKyoj77cFQaTRzpexqYcvbyrFHau3N6Tc2jp5rSG/IF25RH8xNy3sxyJT+ +Phtf0Ll1Y/T15Lb1jTUHsdbbXvHyTL1cV9l7a/j6unZvzf3G8Mie0/7FIltrndF5 +dW92ET/ZFc5fW/b9/rTbzS8W7mqac/rZh0utbRlz8MepC/Mvz6/eMzb3y4Tjnc/X +AnOkY9uUyzXN2QqwYemOkq/n+yuKIqMFXU8HEx+ait5PzM2sa1vcXle94s3dxtpN +n5Yfendn9tiTsmM57+uS4cSs1X0LN9cf7XjV19204ldLfcNyeVFZf254wCjpsT7N +K+5YOeQODUw9tuYPmLMrAQ== +=TR+Q +-----END PGP MESSAGE----- + +And finally, I am proving ownership of this host by posting or +appending to this document. + +View my publicly-auditable identity here: https://keybase.io/xena + +==================================================================