Commit graph

286 commits

Author SHA1 Message Date
asonix
e2da563a1c Add breakers for requests to down domains 2020-12-23 12:06:15 -06:00
asonix
b51a389ca9 Update deps, use mastodon-compat mode 2020-09-29 19:33:50 -05:00
asonix
dd83f4a859 Stable releases 2020-09-13 19:46:13 -05:00
asonix
1f065385a0 Update deps 2020-09-07 16:51:02 -05:00
asonix
e80ded92f5 Debug host 2020-09-07 15:28:58 -05:00
asonix
b6e25df717 Add host to signatures 2020-09-07 13:34:29 -05:00
asonix
1d0a1d7cfd update version string 2020-07-25 17:33:11 -05:00
asonix
812de59348 Bump job concurrency 2020-07-25 10:41:39 -05:00
asonix
be07ee0177 Add URL to statuscode error 2020-07-25 10:13:00 -05:00
asonix
a26cc2b8f7 Update rsa 2020-07-25 09:33:35 -05:00
asonix
db5284e162 Use memory job store because why not 2020-07-10 20:00:31 -05:00
asonix
51ef5c2796 Revert "Support pleromo registrations format"
This reverts commit 741c4efc0e.
2020-07-10 18:42:48 -05:00
asonix
741c4efc0e Support pleromo registrations format 2020-07-10 18:34:24 -05:00
asonix
e2feeecbb3 Allow missing approval-required 2020-07-10 18:18:05 -05:00
asonix
261e52e551 Better json errors 2020-07-10 18:06:04 -05:00
asonix
c4b4f13fa6 Don't validate content type on response, pleromo is weird 2020-07-10 17:47:41 -05:00
asonix
c499b5355c Send normal json accept header for normal json endpoints 2020-07-10 17:24:47 -05:00
asonix
b7e8d2e465 Join upstream service with payload fut 2020-07-10 15:34:18 -05:00
asonix
fbe8baaee9 Add payload debug middleware for inbox 2020-07-10 15:07:47 -05:00
asonix
652ab6ac42 Remove XsdAnyUri 2020-06-27 17:29:23 -05:00
asonix
bc1003c467 Don't overwrite listener URI 2020-06-20 10:06:01 -05:00
asonix
2bbcc82d9c Update activitystreams 2020-06-19 23:11:02 -05:00
asonix
1bb098d42b Use 'uri' in a few places 2020-06-03 16:01:37 -05:00
asonix
55eb002ccd Remove redundant ownings 2020-06-03 13:45:17 -05:00
asonix
d5cf29f237 Generate XsdAnyUri rather than String, remove XsdString 2020-06-03 12:37:36 -05:00
asonix
8dc24376fb Rebuild client if too many consecutive failures 2020-05-23 18:56:27 -05:00
asonix
4df92f5128 Use a better mutex 2020-05-21 21:42:56 -05:00
asonix
1dbfce9430 Fix wrong actor error ids 2020-05-21 21:15:20 -05:00
asonix
0fd26a8290 Simplify a couple lines, forward error on json conversion error 2020-05-21 20:59:14 -05:00
asonix
4b9a8c5354 Always cache media, use CacheControl header for statics 2020-05-21 18:51:11 -05:00
asonix
a45c204a5b Add cache-media job to keep icons up-to-date 2020-05-21 18:04:12 -05:00
asonix
ce9de20471 Optional outbox 2020-05-21 17:29:36 -05:00
asonix
17886732dd Fix inbox resolution, fix notsubscribed message 2020-05-21 17:00:55 -05:00
asonix
729e425e32 Fully lean on activitystreams-new 2020-05-21 16:24:56 -05:00
asonix
0b2763ab8b Clippy 2020-04-25 20:49:29 -05:00
asonix
13a968aaa9 Add Date header so the relay can actually make requests lmao 2020-04-23 13:36:06 -05:00
asonix
d3e3a13997 Remove actix actor dependency 2020-04-23 13:28:00 -05:00
asonix
a51bed3cc4 Use latest sig lib 2020-04-23 13:04:17 -05:00
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