9
0
mirror of https://github.com/donlon/cloudflare-error-page.git synced 2025-12-29 11:49:09 +00:00

editor/server: support showing real Cloudflare DC city

This commit is contained in:
Anthony Donlon
2025-11-22 00:18:55 +08:00
parent 28b5ee7e69
commit 5c18dfb930
6 changed files with 2957 additions and 34 deletions

View File

@@ -1,5 +1,6 @@
# SPDX-License-Identifier: MIT
import json
import os
import secrets
import string
@@ -52,6 +53,7 @@ def create_app(test_config=None) -> Flask:
url_prefix = os.getenv('URL_PREFIX', '')
from . import utils
from . import models
from . import examples
from . import editor
@@ -86,19 +88,5 @@ def create_app(test_config=None) -> Flask:
return app
def get_common_cf_template_params():
# Get real Ray ID from Cloudflare header
ray_id = request.headers.get('Cf-Ray')
if ray_id:
ray_id = ray_id[:16]
# Get 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
return {
'ray_id': ray_id,
'client_ip': client_ip,
}
__all__ = ['create_app', 'db', 'get_common_cf_template_params', 'render_cf_error_page']