Commit graph

198 commits

Author SHA1 Message Date
asonix
0b7ca46e08 Support relay.dog nodeinfo format 2020-04-23 11:37:33 -05:00
asonix
a528046a68 Update sig lib, forward more error context, better blind key rotation support 2020-04-22 17:41:01 -05:00
asonix
dea8c60042 Add regen-key ability if can't read key 2020-04-21 17:47:34 -05:00
asonix
b8336b441c Quiet requests logging, forward context info in error 2020-04-21 16:39:02 -05:00
asonix
1e8c54f7cc Don't precompute, it already happens 2020-04-21 14:31:32 -05:00
asonix
45349f3252 Precompute private key biguints 2020-04-21 14:25:08 -05:00
asonix
84a396fc1e Fix a couple client headers 2020-04-21 14:18:18 -05:00
asonix
0ffcb74de6 Update webfinger dep 2020-04-21 14:12:10 -05:00
asonix
0f5b5fca24 register delivermany 2020-04-21 12:15:33 -05:00
asonix
82e8042c66 Clean db code, switch to deadpool 2020-04-21 12:07:39 -05:00
asonix
4d07476fe7 Give jobs better names 2020-04-20 20:03:46 -05:00
asonix
f016f14efe Use newest background-jobs 2020-04-20 19:56:50 -05:00
asonix
db26ebc4ca Lowercase software name in nodeinfo 2020-04-19 16:35:46 -05:00
asonix
dd2658be82 Compare fetched actor's domain against requested actor's domain 2020-04-18 14:45:03 -05:00
asonix
60da0ecc9e Add compression middleware back in, but put it logically inside the logger 2020-04-13 20:01:56 -05:00
asonix
c5bc9b76d8 Remove compress middleware 2020-04-13 19:36:28 -05:00
asonix
7c8fbdd965 Update deps, use tokio_postgres' Json type 2020-04-02 13:51:10 -05:00
asonix
69ec2baf79 Bump duration for actor cache to 30 minutes 2020-04-01 15:47:18 -05:00
asonix
a52a32db8d Move apub business to jobs 2020-03-30 12:10:04 -05:00
asonix
680ccc511c Use ActixJob, save a few lines 2020-03-30 10:45:44 -05:00
asonix
b8bc230403 Move sign, verify to threadpool 2020-03-30 01:06:13 -05:00
asonix
8fb810b5bf Break notify loop on error 2020-03-27 12:47:18 -05:00
asonix
19857a77f1 Unblock everyone, oops 2020-03-26 14:42:11 -05:00
asonix
f11043e57d Store media uuid mappings, be mindful of locks 2020-03-26 13:21:05 -05:00
asonix
d445177c69 Quiet html5ever, shuffle servers, mobile scaling 2020-03-26 11:17:59 -05:00
asonix
bcfe8b14a3 Quiet some logs in debug mode 2020-03-26 09:22:57 -05:00
asonix
7e9779aa4a Compress responses, cache images, log requests 2020-03-25 22:53:10 -05:00
asonix
9ada30626b Add media cache, improve default styles 2020-03-25 22:26:45 -05:00
asonix
0a42450801 Quiet a couple logs 2020-03-25 18:06:01 -05:00
asonix
76b43e705a Debug log all node cache misses 2020-03-25 17:58:00 -05:00
asonix
9f98015d7f Fix contact field name 2020-03-25 17:44:29 -05:00
asonix
b7f2de0245 Add logging to cache misses 2020-03-25 17:34:54 -05:00
asonix
78a359c403 Move notify to registration-based triggers, store nodes in db 2020-03-25 17:10:10 -05:00
asonix
a7b4bc59be Remove re-seed, it's been run in prod already 2020-03-23 22:43:45 -05:00
asonix
bd75b1f958 Add a crude re-seed for populating actors 2020-03-23 17:37:23 -05:00
asonix
e4c95a8168 More shuffling, store actors in db 2020-03-23 17:17:53 -05:00
asonix
9925e41673 Do a bit of reorganizing 2020-03-23 12:38:39 -05:00
asonix
f44df38ea1 Revert "Do not prefer sharedinbox"
This reverts commit 3389730242.
2020-03-23 11:00:12 -05:00
asonix
3389730242 Do not prefer sharedinbox 2020-03-22 22:57:54 -05:00
asonix
3bfa2c0e45 Add local jobs, query connected servers for info 2020-03-22 22:52:42 -05:00
asonix
97b5612717 Add job flags 2020-03-22 19:07:36 -05:00
asonix
dabeba43e2 Make connections configurable 2020-03-22 18:21:40 -05:00
asonix
7510ab5b94 Don't use actor for notify, fix migration dockerfile 2020-03-22 18:06:49 -05:00
asonix
6511e7f32e Use postgres for job storage 2020-03-22 16:18:36 -05:00
asonix
d00961ae86 Add optional publish-blocks option 2020-03-21 23:50:14 -05:00
asonix
467bd860d9 Increase backoff exponent for deliveries 2020-03-21 17:12:50 -05:00
asonix
13ce219d76 Accept Undo Follow from already unfollowed actor 2020-03-21 16:01:54 -05:00
asonix
5a49c1f10c Use background jobs for delivery, support Accept and Reject 2020-03-21 15:24:05 -05:00
asonix
6a8f7db165 Fix nodeinfo Services, Usage 2020-03-20 16:19:14 -05:00
asonix
43280f30fe Fix nodeinfo, expose peers 2020-03-20 15:35:08 -05:00
asonix
8efb00dc72 Fix nodeinfo casing 2020-03-20 13:44:34 -05:00
asonix
fbed60248d Add ructe 2020-03-20 13:40:18 -05:00
asonix
ef13e93140 Listen isn't always reliable, rehydrate every 10 minutes 2020-03-20 10:22:56 -05:00
asonix
65ce77898a Handle notify dying, add env_logger option 2020-03-20 10:09:42 -05:00
asonix
7538041b67 Add basic info page 2020-03-19 23:06:16 -05:00
asonix
722a00f9dc Fix VERIFY_SIGNATURES config, add README 2020-03-19 22:23:10 -05:00
asonix
e8744b23c5 Update debug levels 2020-03-19 20:11:50 -05:00
asonix
eefff20941 Add commandline blocking and whitelisting 2020-03-19 19:55:11 -05:00
asonix
3c5154d449 Use single connection pool 2020-03-19 17:19:05 -05:00
asonix
790d0965fb Add nodeinfo support 2020-03-19 14:05:16 -05:00
asonix
19e23fbfa5 Add security context to actor 2020-03-19 12:09:33 -05:00
asonix
f7e733c500 Oops on the Extension 2020-03-18 20:57:39 -05:00
asonix
2b36909d2f Update to activitypub with extensions 2020-03-18 17:49:56 -05:00
asonix
f48d404a15 Add logging for unhydrated values 2020-03-18 17:37:22 -05:00
asonix
4fba2f317d Save listeners in db 2020-03-18 13:56:13 -05:00
asonix
4c373e562b Perform db action inline 2020-03-18 13:25:43 -05:00
asonix
cdef00f844 Add custom response status for not subscribed 2020-03-18 12:47:08 -05:00
asonix
19a6a6e61c Use actor's inbox for listener check 2020-03-18 12:42:48 -05:00
asonix
cb4d99cdc5 Generic 'prepare_activity' 2020-03-18 12:06:08 -05:00
asonix
e8ed464e62 Properly forward Announce and Create 2020-03-18 00:43:31 -05:00
asonix
26b4129261 Log on wrong actor follow 2020-03-18 00:07:52 -05:00
asonix
877fa1418e Accepted from inbox 2020-03-18 00:01:14 -05:00
asonix
27a9030be1 Handle errors a bit better 2020-03-17 23:58:13 -05:00
asonix
6d34077010 Big Cleanup 2020-03-17 23:35:20 -05:00
asonix
a4ec70d6ec Bring whitelist/block checks to outermost level, fix deliveries 2020-03-17 21:16:09 -05:00
asonix
e849df2ef4 Don't use created field when sending requests, masto is poopoo 2020-03-17 19:02:33 -05:00
asonix
d6b609e640 Print request error resposnses if present 2020-03-17 16:53:31 -05:00
asonix
2dc86b89cd Generate proper key id, sign actor request 2020-03-17 16:36:53 -05:00
asonix
b10a8f4b71 Don't print signing string, too much info 2020-03-17 15:54:44 -05:00
asonix
489a5ff023 Require publicKey, check actor's public key for agreement 2020-03-17 15:52:26 -05:00
asonix
9642e357e5 Enforce sig is from correct actor 2020-03-17 14:52:33 -05:00
asonix
496cf571b2 Correctly encode/decode base64, add more verifier logging 2020-03-17 13:29:55 -05:00
asonix
9fc507210a Move requests to requests module, respond with 200 2020-03-17 12:15:16 -05:00
asonix
10cf26918c Add outbox url 2020-03-17 08:55:55 -05:00
asonix
ea64843a59 Update rsa-pem, properly use RSA crate 2020-03-16 20:41:00 -05:00
asonix
979b2a14f8 Expose to outside world 2020-03-16 18:17:27 -05:00
asonix
7f45021afb Use rustls 2020-03-16 13:27:42 -05:00
asonix
b7bf001287 Update cache from postgres notifications
- Add actor that listens to the notification stream
- Move queries into db module
2020-03-16 13:00:16 -05:00
asonix
8d157ccbc6 remove unused feature 2020-03-16 09:34:52 -05:00
asonix
b0352018bc Update activitystreams 2020-03-15 23:44:46 -05:00
asonix
954e8968db Only protect inbox with digest&sig verification 2020-03-15 23:26:31 -05:00
asonix
9fdd3bec18 Add http signature verification 2020-03-15 23:15:50 -05:00
asonix
eea0577686 Add keys, http-sigs, webfinger 2020-03-15 22:36:46 -05:00
asonix
d741e2b202 Always return generated AP type, except on error 2020-03-15 17:49:40 -05:00
asonix
0cbe679e65 Basic relay functionality 2020-03-15 17:37:53 -05:00
asonix
aa6b5daaf0 Follow 'works' 2020-03-15 12:49:27 -05:00
asonix
6cb4484a33 Use existing caches 2020-03-15 11:29:01 -05:00
asonix
b7369e2cc0 whatamidoing 2020-03-14 21:05:40 -05:00