From d1dc6b3bc277a5e9a84313bccc992e938dae3943 Mon Sep 17 00:00:00 2001 From: Anthony Donlon Date: Tue, 9 Dec 2025 22:17:34 +0800 Subject: [PATCH] miscellaneous updates --- editor/resources/index.html | 20 ++++++++------------ editor/server/config.example.toml | 2 +- editor/server/requirements.txt | 3 +++ editor/server/share.py | 2 +- examples/flask_demo.py | 18 ++++++------------ 5 files changed, 19 insertions(+), 26 deletions(-) create mode 100644 editor/server/requirements.txt diff --git a/editor/resources/index.html b/editor/resources/index.html index ba12452..be4e41d 100644 --- a/editor/resources/index.html +++ b/editor/resources/index.html @@ -28,8 +28,8 @@ - - + + - - - \ No newline at end of file + diff --git a/editor/server/config.example.toml b/editor/server/config.example.toml index 12a2e4f..f1dbad0 100644 --- a/editor/server/config.example.toml +++ b/editor/server/config.example.toml @@ -7,7 +7,7 @@ BEHIND_PROXY = true # Some random secret, will be auto-generated if empty SECRET_KEY = '' -# Main database URL +# Main database URI SQLALCHEMY_DATABASE_URI = 'sqlite:///database.db' # Rate limit storage for Flask-Limiter diff --git a/editor/server/requirements.txt b/editor/server/requirements.txt new file mode 100644 index 0000000..ed2e52c --- /dev/null +++ b/editor/server/requirements.txt @@ -0,0 +1,3 @@ +Flask +Flask-Limiter +Flask-SqlAlchemy \ No newline at end of file diff --git a/editor/server/share.py b/editor/server/share.py index 2a4ca04..f13253e 100644 --- a/editor/server/share.py +++ b/editor/server/share.py @@ -113,7 +113,7 @@ def get(name: str): params['creator_info'] = { 'hidden': False, 'text': 'CF Error Page Editor', - 'link': f'https://virt.moe/cloudflare-error-page/editor/#from={name}', + 'link': request.host_url[:-1] + url_for('editor.index') + f'#from={name}', } # Always escape HTML params['what_happened'] = html.escape(params.get('what_happened', '')) # TODO: common render function? diff --git a/examples/flask_demo.py b/examples/flask_demo.py index 77020c0..0dd9727 100755 --- a/examples/flask_demo.py +++ b/examples/flask_demo.py @@ -18,10 +18,10 @@ from cloudflare_error_page import get_resources_folder, render as render_cf_erro app = Flask(__name__) -# You can **use resources from Cloudflare CDN. But in case of changing, you can set use_cdn = False to use bundled resources. +# Resources required for the error page can be loaded from Cloudflare CDN. But in case of changes, you can set use_cdn = False to use bundled resources. use_cdn = True -if use_cdn: +if not use_cdn: res_folder = get_resources_folder() # This handler is used to provide stylesheet and icon resources for the error page. If you pass use_cdn=True to render_cf_error_page @@ -52,10 +52,10 @@ def index(): "what_can_i_do": "

Please try again in a few minutes.

" } - # Get real Ray ID from Cloudflare header + # Get the real Ray ID from Cloudflare header ray_id = request.headers.get('Cf-Ray', '')[:16] - # Get real client ip from Cloudflare header or request.remote_addr + # Get the real client ip from Cloudflare header or request.remote_addr client_ip = request.headers.get('X-Forwarded-For') if not client_ip: client_ip = request.remote_addr @@ -70,13 +70,7 @@ def index(): if __name__ == '__main__': - if len(sys.argv) > 1: - host = sys.argv[1] - else: - host = None - if len(sys.argv) > 2: - port = int(sys.argv[2]) - else: - port = None + host = sys.argv[1] if len(sys.argv) > 1 else None + port = int(sys.argv[2]) if len(sys.argv) > 2 else None app.run(debug=True, host=host, port=port)