Improve account based blocking

main
bashrc 2026-01-30 17:29:05 +00:00
parent 6f188dbdb7
commit 38c3d800de
3 changed files with 36 additions and 26 deletions

View File

@ -1232,26 +1232,30 @@ def daemon_http_post(self) -> None:
nickname = self.path.split('/users/')[1]
if '/' in nickname:
nickname = nickname.split('/')[0]
if self.server.block_military.get(nickname):
if contains_military_domain(decoded_message_bytes):
if nickname in self.server.block_military:
if self.server.block_military[nickname] is True and \
contains_military_domain(decoded_message_bytes):
http_400(self)
print('BLOCK: blocked military domain')
self.server.postreq_busy = False
return
if self.server.block_government.get(nickname):
if contains_government_domain(decoded_message_bytes):
if nickname in self.server.block_government:
if self.server.block_government[nickname] is True and \
contains_government_domain(decoded_message_bytes):
http_400(self)
print('BLOCK: blocked government domain')
self.server.postreq_busy = False
return
if self.server.block_bluesky.get(nickname):
if contains_bluesky_domain(decoded_message_bytes):
if nickname in self.server.block_bluesky:
if self.server.block_bluesky[nickname] is True and \
contains_bluesky_domain(decoded_message_bytes):
http_400(self)
print('BLOCK: blocked bluesky domain')
self.server.postreq_busy = False
return
if self.server.block_nostr.get(nickname):
if contains_nostr_domain(decoded_message_bytes):
if nickname in self.server.block_nostr:
if self.server.block_nostr[nickname] is True and \
contains_nostr_domain(decoded_message_bytes):
http_400(self)
print('BLOCK: blocked nostr domain')
self.server.postreq_busy = False

View File

@ -1870,25 +1870,27 @@ def receive_announce(recent_posts_cache: {},
# Check that the domain of the announced post is not blocked
handle_nickname = handle.split('@')[0]
if block_military.get(handle_nickname):
if contains_military_domain(announce_url):
if handle_nickname in block_military:
if block_military[handle_nickname] is True and \
contains_military_domain(announce_url):
print('BLOCK: ' + handle_nickname +
' blocked military domain announce')
return False
if block_government.get(handle_nickname):
if contains_government_domain(announce_url):
if handle_nickname in block_government:
if block_government[handle_nickname] is True and \
contains_government_domain(announce_url):
print('BLOCK: ' + handle_nickname +
' blocked government domain announce')
return False
print('DEBUG: block_bluesky ' + str(block_bluesky) + ', ' +
announce_url)
if block_bluesky.get(handle_nickname):
if contains_bluesky_domain(announce_url):
if handle_nickname in block_bluesky:
if block_bluesky[handle_nickname] is True and \
contains_bluesky_domain(announce_url):
print('BLOCK: ' + handle_nickname +
' blocked bluesky domain announce')
return False
if block_nostr.get(handle_nickname):
if contains_nostr_domain(announce_url):
if handle_nickname in block_nostr:
if block_nostr[handle_nickname] is True and \
contains_nostr_domain(announce_url):
print('BLOCK: ' + handle_nickname +
' blocked nostr domain announce')
return False

View File

@ -6513,26 +6513,30 @@ def download_announce(session, base_dir: str, http_prefix: str,
return None
# check for blocked content
if block_military.get(nickname):
if contains_military_domain(announced_json_str):
if nickname in block_military:
if block_military[nickname] is True and \
contains_military_domain(announced_json_str):
_reject_announce(announce_filename,
base_dir, nickname, domain, post_id,
recent_posts_cache, debug)
return None
if block_government.get(nickname):
if contains_government_domain(announced_json_str):
if nickname in block_government:
if block_government[nickname] is True and \
contains_government_domain(announced_json_str):
_reject_announce(announce_filename,
base_dir, nickname, domain, post_id,
recent_posts_cache, debug)
return None
if block_bluesky.get(nickname):
if contains_bluesky_domain(announced_json_str):
if nickname in block_bluesky:
if block_bluesky[nickname] is True and \
contains_bluesky_domain(announced_json_str):
_reject_announce(announce_filename,
base_dir, nickname, domain, post_id,
recent_posts_cache, debug)
return None
if block_nostr.get(nickname):
if contains_nostr_domain(announced_json_str):
if nickname in block_nostr:
if block_nostr[nickname] is True and \
contains_nostr_domain(announced_json_str):
_reject_announce(announce_filename,
base_dir, nickname, domain, post_id,
recent_posts_cache, debug)