diff --git a/cloudflare_error_page/__init__.py b/cloudflare_error_page/__init__.py index 311bb14..c90cd5c 100644 --- a/cloudflare_error_page/__init__.py +++ b/cloudflare_error_page/__init__.py @@ -19,7 +19,7 @@ def get_resources_folder() -> str: return os.path.join(os.path.dirname(os.path.abspath(__file__)), 'resources') -def render(params: dict, allow_html: bool=True, use_cdn: bool=True, show_creator: bool=False) -> str: +def render(params: dict, allow_html: bool=True, use_cdn: bool=True) -> str: """ Render a customized Cloudflare error page. """ @@ -34,4 +34,4 @@ def render(params: dict, allow_html: bool=True, use_cdn: bool=True, show_creator params['what_can_i_do'] = html.escape(params.get('what_can_i_do', '')) template = env.get_template("error.html") - return template.render(params=params, resources_use_cdn=use_cdn, show_creator=show_creator) + return template.render(params=params, resources_use_cdn=use_cdn) diff --git a/cloudflare_error_page/templates/error.html b/cloudflare_error_page/templates/error.html index 029201f..2553686 100644 --- a/cloudflare_error_page/templates/error.html +++ b/cloudflare_error_page/templates/error.html @@ -99,9 +99,10 @@ {% set perf_sec_by = params.perf_sec_by or {} %} Performance & security by {{perf_sec_by.text or 'Cloudflare'}} - {% if show_creator %} + {% set creator_info = params.creator_info or {} %} + {% if not creator_info.get('hidden', True) %} {# default: hidden #} - Created with CF Error Page Editor + Created with {{creator_info.text}} {% endif %}

diff --git a/editor/server/share.py b/editor/server/share.py index 1638544..bf06752 100644 --- a/editor/server/share.py +++ b/editor/server/share.py @@ -68,5 +68,9 @@ def get(name: str): params.pop('time') params.pop('ray_id') params.pop('client_ip') - # TODO: cache - return render_cf_error_page(params=params, allow_html=False, use_cdn=True, show_creator=True), 200 + params['creator_info'] = { + 'hidden': False, + 'text': 'CF Error Page Editor', + 'link': f'https://virt.moe/cloudflare-error-page/editor/?from={name}', + } + return render_cf_error_page(params=params, allow_html=False, use_cdn=True), 200