MCPcopy Create free account
hub / github.com/dedsec1121fk/DedSec / _safe_urlopen

Function _safe_urlopen

Scripts/ButSystem.py:12735–12738  ·  view source on GitHub ↗

urlopen with strict redirect + host checks (SSRF hardening).

(req: urllib.request.Request, timeout: int = 12)

Source from the content-addressed store, hash-verified

12733 rel = safe_relpath(rel); target = abs_user_path(current_user(), rel)
12734 if not rel or not os.path.exists(target): abort(404)
12735 if os.path.isdir(target):
12736 zip_path = _zip_paths(current_user(), [rel], os.path.basename(target)); _log_file_activity(current_user(), "folder_downloaded", rel); return _send_temporary_zip(zip_path, os.path.basename(target) + ".zip")
12737 mime = guess_mime(os.path.basename(target)); _log_file_activity(current_user(), "file_downloaded", rel, human_size(os.path.getsize(target)))
12738 if is_encrypted_file(target):
12739 response = Response(aesgcm_decrypt_generator(target), mimetype=mime); response.headers["Content-Disposition"] = f'attachment; filename="{os.path.basename(target)}"'
12740 else: response = send_file(target, mimetype=mime, as_attachment=True, download_name=os.path.basename(target), conditional=True, max_age=0)
12741 response.headers["Cache-Control"] = "no-store"; return response

Callers 3

_dm_store_remote_gif_txFunction · 0.70
_dm_store_remote_gifFunction · 0.70

Calls 1

Tested by

no test coverage detected