mirror of
https://forgejo.ellis.link/continuwuation/continuwuity.git
synced 2025-09-12 00:33:02 +02:00
Compare commits
16 commits
782db347f9
...
7b519ccabb
Author | SHA1 | Date | |
---|---|---|---|
|
7b519ccabb | ||
|
3149f7527e | ||
|
3838de1314 | ||
|
f678f5d6bf | ||
|
8b181e10cc | ||
|
1bac93a452 | ||
|
eed329045e | ||
|
14b45c88d9 | ||
|
b3bc2edb09 | ||
|
458f3ca8e4 | ||
|
92a46d37ff | ||
|
c29df405b5 | ||
|
80adf46d5f | ||
|
563d7e1734 | ||
|
7a4d838f19 | ||
|
0d8aee3748 |
6 changed files with 25 additions and 41 deletions
5
.github/FUNDING.yml
vendored
5
.github/FUNDING.yml
vendored
|
@ -1,4 +1,5 @@
|
||||||
github: [JadedBlueEyes, nexy7574]
|
github: [JadedBlueEyes]
|
||||||
|
# Doesn't support an array, so we can only list nex
|
||||||
|
ko_fi: nexy7574
|
||||||
custom:
|
custom:
|
||||||
- https://ko-fi.com/nexy7574
|
|
||||||
- https://ko-fi.com/JadedBlueEyes
|
- https://ko-fi.com/JadedBlueEyes
|
||||||
|
|
|
@ -57,7 +57,7 @@ Continuwuity aims to:
|
||||||
|
|
||||||
### Can I try it out?
|
### Can I try it out?
|
||||||
|
|
||||||
Check out the [documentation](https://continuwuity.org) for installation instructions.
|
Check out the [documentation](introduction) for installation instructions.
|
||||||
|
|
||||||
There are currently no open registration Continuwuity instances available.
|
There are currently no open registration Continuwuity instances available.
|
||||||
|
|
||||||
|
|
|
@ -12,15 +12,6 @@ services:
|
||||||
#- ./continuwuity.toml:/etc/continuwuity.toml
|
#- ./continuwuity.toml:/etc/continuwuity.toml
|
||||||
networks:
|
networks:
|
||||||
- proxy
|
- proxy
|
||||||
labels:
|
|
||||||
- "traefik.enable=true"
|
|
||||||
- "traefik.http.routers.continuwuity.rule=(Host(`matrix.example.com`) || (Host(`example.com`) && PathPrefix(`/.well-known/matrix`)))"
|
|
||||||
- "traefik.http.routers.continuwuity.entrypoints=websecure" # your HTTPS entry point
|
|
||||||
- "traefik.http.routers.continuwuity.tls=true"
|
|
||||||
- "traefik.http.routers.continuwuity.service=continuwuity"
|
|
||||||
- "traefik.http.services.continuwuity.loadbalancer.server.port=6167"
|
|
||||||
# possibly, depending on your config:
|
|
||||||
# - "traefik.http.routers.continuwuity.tls.certresolver=letsencrypt"
|
|
||||||
environment:
|
environment:
|
||||||
CONTINUWUITY_SERVER_NAME: your.server.name.example # EDIT THIS
|
CONTINUWUITY_SERVER_NAME: your.server.name.example # EDIT THIS
|
||||||
CONTINUWUITY_DATABASE_PATH: /var/lib/continuwuity
|
CONTINUWUITY_DATABASE_PATH: /var/lib/continuwuity
|
||||||
|
|
|
@ -12,14 +12,6 @@ services:
|
||||||
#- ./continuwuity.toml:/etc/continuwuity.toml
|
#- ./continuwuity.toml:/etc/continuwuity.toml
|
||||||
networks:
|
networks:
|
||||||
- proxy
|
- proxy
|
||||||
labels:
|
|
||||||
- "traefik.enable=true"
|
|
||||||
- "traefik.http.routers.continuwuity.rule=(Host(`matrix.example.com`) || (Host(`example.com`) && PathPrefix(`/.well-known/matrix`)))"
|
|
||||||
- "traefik.http.routers.continuwuity.entrypoints=websecure"
|
|
||||||
- "traefik.http.routers.continuwuity.tls.certresolver=letsencrypt"
|
|
||||||
- "traefik.http.services.continuwuity.loadbalancer.server.port=6167"
|
|
||||||
# Uncomment and adjust the following if you want to use middleware
|
|
||||||
# - "traefik.http.routers.continuwuity.middlewares=secureHeaders@file"
|
|
||||||
environment:
|
environment:
|
||||||
CONTINUWUITY_SERVER_NAME: your.server.name.example # EDIT THIS
|
CONTINUWUITY_SERVER_NAME: your.server.name.example # EDIT THIS
|
||||||
CONTINUWUITY_TRUSTED_SERVERS: '["matrix.org"]'
|
CONTINUWUITY_TRUSTED_SERVERS: '["matrix.org"]'
|
||||||
|
|
4
docs/static/announcements.json
vendored
4
docs/static/announcements.json
vendored
|
@ -6,8 +6,8 @@
|
||||||
"message": "Welcome to Continuwuity! Important announcements about the project will appear here."
|
"message": "Welcome to Continuwuity! Important announcements about the project will appear here."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 3,
|
"id": 2,
|
||||||
"message": "_taps microphone_ The Continuwuity 0.5.0-rc.7 release is now available, and it's better than ever! **177 commits**, **35 pull requests**, **11 contributors,** and a lot of new stuff!\n\nFor highlights, we've got:\n\n* 🕵️ Full Policy Server support to fight spam!\n* 🚀 Smarter room & space upgrades.\n* 🚫 User suspension tools for better moderation.\n* 🤖 reCaptcha support for safer open registration.\n* 🔍 Ability to disable read receipts & typing indicators.\n* ⚡ Sweeping performance improvements!\n\nGet the [full changelog and downloads on our Forgejo](https://forgejo.ellis.link/continuwuation/continuwuity/releases/tag/v0.5.0-rc.7) - and make sure you're in the [Announcements room](https://matrix.to/#/!releases:continuwuity.org/$hN9z6L2_dTAlPxFLAoXVfo_g8DyYXu4cpvWsSrWhmB0) to get stuff like this sooner."
|
"message": "🎉 Continuwuity v0.5.0-rc.6 is now available! This release includes improved knock-restricted room handling, automatic support contact configuration, and a new HTML landing page. Check [the release notes for full details](https://forgejo.ellis.link/continuwuation/continuwuity/releases/tag/v0.5.0-rc.6) and upgrade instructions."
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -165,6 +165,25 @@ pub async fn create_hash_and_sign_event(
|
||||||
return Err!(Request(Forbidden("Event is not authorized.")));
|
return Err!(Request(Forbidden("Event is not authorized.")));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Check with the policy server
|
||||||
|
match self
|
||||||
|
.services
|
||||||
|
.event_handler
|
||||||
|
.ask_policy_server(&pdu, room_id)
|
||||||
|
.await
|
||||||
|
{
|
||||||
|
| Ok(true) => {},
|
||||||
|
| Ok(false) => {
|
||||||
|
return Err!(Request(Forbidden(debug_warn!(
|
||||||
|
"Policy server marked this event as spam"
|
||||||
|
))));
|
||||||
|
},
|
||||||
|
| Err(e) => {
|
||||||
|
// fail open
|
||||||
|
warn!("Failed to check event with policy server: {e}");
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
// Hash and sign
|
// Hash and sign
|
||||||
let mut pdu_json = utils::to_canonical_object(&pdu).map_err(|e| {
|
let mut pdu_json = utils::to_canonical_object(&pdu).map_err(|e| {
|
||||||
err!(Request(BadJson(warn!("Failed to convert PDU to canonical JSON: {e}"))))
|
err!(Request(BadJson(warn!("Failed to convert PDU to canonical JSON: {e}"))))
|
||||||
|
@ -203,25 +222,6 @@ pub async fn create_hash_and_sign_event(
|
||||||
|
|
||||||
pdu_json.insert("event_id".into(), CanonicalJsonValue::String(pdu.event_id.clone().into()));
|
pdu_json.insert("event_id".into(), CanonicalJsonValue::String(pdu.event_id.clone().into()));
|
||||||
|
|
||||||
// Check with the policy server
|
|
||||||
match self
|
|
||||||
.services
|
|
||||||
.event_handler
|
|
||||||
.ask_policy_server(&pdu, room_id)
|
|
||||||
.await
|
|
||||||
{
|
|
||||||
| Ok(true) => {},
|
|
||||||
| Ok(false) => {
|
|
||||||
return Err!(Request(Forbidden(debug_warn!(
|
|
||||||
"Policy server marked this event as spam"
|
|
||||||
))));
|
|
||||||
},
|
|
||||||
| Err(e) => {
|
|
||||||
// fail open
|
|
||||||
warn!("Failed to check event with policy server: {e}");
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
// Generate short event id
|
// Generate short event id
|
||||||
let _shorteventid = self
|
let _shorteventid = self
|
||||||
.services
|
.services
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue