Add Ruby script for delivering AS payload
This commit is contained in:
parent
964d4ff5a0
commit
41223c10be
3 changed files with 55 additions and 0 deletions
14
deliver.rb
Normal file
14
deliver.rb
Normal file
|
@ -0,0 +1,14 @@
|
|||
# https://blog.joinmastodon.org/2018/06/how-to-implement-a-basic-activitypub-server/
|
||||
|
||||
require 'http'
|
||||
require 'openssl'
|
||||
|
||||
document = File.read('message')
|
||||
date = Time.now.utc.httpdate
|
||||
keypair = OpenSSL::PKey::RSA.new(File.read('private.pem'))
|
||||
signed_string = "(request-target): post /inbox\nhost: git.exozy.me\ndate: #{date}"
|
||||
signature = Base64.strict_encode64(keypair.sign(OpenSSL::Digest::SHA256.new, signed_string))
|
||||
header = 'keyId="https://test.exozy.me/api/v1/activitypub/user/test#main-key",headers="(request-target) host date",signature="' + signature + '"'
|
||||
|
||||
HTTP.headers({ 'Host': 'mastodon.social', 'Date': date, 'Signature': header })
|
||||
.post('https://git.exozy.me/api/v1/activitypub/user/Ta180m/inbox', body: document)
|
14
message
Normal file
14
message
Normal file
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"@context": "https://www.w3.org/ns/activitystreams",
|
||||
"type": "Note",
|
||||
"attributedTo": "https://test.exozy.me/api/v1/activitypub/user/test",
|
||||
"context": "https://git.exozy.me/Ta180m/Hello-world/issues/2",
|
||||
"inReplyTo": "https://git.exozy.me/Ta180m/Hello-world/issues/2",
|
||||
"mediaType": "text/html",
|
||||
"content": "<p>Hello from test.exozy.me!</p>",
|
||||
"source": {
|
||||
"mediaType": "text/markdown; variant=Commonmark",
|
||||
"content": "Hello from test.exozy.me!"
|
||||
},
|
||||
"published": "2019-11-06T20:49:05.604488Z"
|
||||
}
|
27
private.pem
Normal file
27
private.pem
Normal file
|
@ -0,0 +1,27 @@
|
|||
-----BEGIN RSA PRIVATE KEY-----
|
||||
MIIEowIBAAKCAQEAsPQH/jssyJryAX9I065SZE69e5OIBW3q2nFjMBDlC+WStN2P
|
||||
uJqFznsEcEMq9Ge3pTQ3Rqj2SumyqngwYhN63SpFjeplgvL20ygNfd5c4sVwZicn
|
||||
aLAsjwcWS/7hF6ENW9Vhwk5yBYel7efxPaNY98XhPLVDYeX8ZfB8PKExC6V4h8d1
|
||||
iQqMnSw+/twy1/W69x3A4sZlsIisqmiY18haxyR4BblQuB0uwnlR6wpJFHkqX5Ci
|
||||
Q4/knRnxj0pDvaLL0fscBWnO7dP+9+HrHu2NM7GfZbRMQhjuoC6VQbg7iowbPdA0
|
||||
OEHR6rGpSVaBCHd44Y2Tbd06rAArVZinek9hAwIDAQABAoIBADY8ZaLHkl9eFmTd
|
||||
FX5EBN7Xv3375wn6+avAay1VUE7IK6Ih8qYbPn3d+KtL+wN0MraA/Zw7t1mYrXlQ
|
||||
Y0v8OoFFLpJj0H9FZt+rfA8jM4cSCvRUdeDBdrbT7kKWuXkblNOb4F3E22/Udsgn
|
||||
eipxQZiX3wRTbna4HhdEkV+n7DdsGnOis11u9dXXP5w6oN6biazO81chvR9iHd9l
|
||||
4eUFaPaZLH9PvOwx2kFmwuBRdkV8LNjWWldE21yvXAY4ZNG4zlm2eryuzY6XY54J
|
||||
ACaggLYn/p7nqHcR51Xy7S3l8TXV2s6hzVHZh83cta3FPu10hVsL2aHYRMjDgZhz
|
||||
YQtnW+ECgYEAxvOasW0zz1kpp+8uKkV5j3jwhpKo7uwCi+zIXj10iINFgNH0ZnkV
|
||||
z0IbFtr+EsWy+ktc1vUsaSwACVUUVLbWB7jWIlSWM5cCa3HS5t//HEJkPN7uuEwi
|
||||
o+/fIGHYWp2cWCfVkvJYFts4UU0AhZq3dwjMgqSUmPWH78eX6OB1PxECgYEA47GZ
|
||||
oU04SGNIwYHeOCuOBXvzfjcFIZ6k4JP604ar4u9VpErsTjPhUyYSmdfNOJOw6bQK
|
||||
xGQGvqZTdxytG4q1+lHY3zFV+whz+kCOAELzSuREsiffSrIeOmCnTZxaL9E0HZ30
|
||||
qoezzNWH2lS4aYhkqBee1niWH5PgkVoEppsSBtMCgYAHimwulWkFTufZSaOCTqfQ
|
||||
3FChiSWGCMP/8bWWfNXR5sfXnh2ZVLWS6XqFXz+KDpw+CGU4cIqCYfyOXf8rRtLN
|
||||
8B+NpY8b3XlmASZxQcQ1mf6aoAiES750YD8gxxSgOqEWZkweCbl1BFIaIsUGS1rw
|
||||
1BCMUxiew4+ncvU7CmbnQQKBgDnP3jIWaTP4AYEgeEvKw0ShNDHXxnXC0hozeHw8
|
||||
tWfpXNVaMKWqhouWHyLwqCq1VTYBgLpcq1m84XRc05cqoQntviLtY+dZPhlMSsHG
|
||||
Pf/F9atGdGuCzioEYHZUPJHnjFP4xyaFTiG0FcpZuHkTKHuFg87wzy01Xs+JC6VB
|
||||
ulIBAoGBALwTuLDSeSwU3xXo2xpG5zOygx7Gqzo94j1lvN/EjNPaqD+GKQuFPTOz
|
||||
CJ/sF0oCYwmT8q0mDIONX/MVvYy7H6SeK6zhogfEUPdIElLvoUoA/Z6tEtx/BHcF
|
||||
9XP+oR1/6XEzxLoCK8j0RgDXtvJNzctT4iITnzFBmLShnOFv0HQX
|
||||
-----END RSA PRIVATE KEY-----
|
Reference in a new issue