From cdda0c1b3f7ba2ebc3cf47c0030f8836720053f9 Mon Sep 17 00:00:00 2001 From: VitaHuang Date: Mon, 6 Jul 2026 09:37:52 +0800 Subject: [PATCH] =?UTF-8?q?fix(config):=20=E4=BF=9D=E6=8C=81=20Cloudflare?= =?UTF-8?q?=20=E5=8C=BF=E5=90=8D=E6=A8=A1=E5=BC=8F=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E5=85=BC=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config.example.json | 6 +++--- tests/test_cloudflare_admin_api.py | 23 +++++++++++++++++++++++ 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/config.example.json b/config.example.json index 3b4413a..aea6078 100755 --- a/config.example.json +++ b/config.example.json @@ -1,10 +1,10 @@ { "duckmail_api_key": "", "cloudflare_api_base": "https://temp-mail.example.com", - "cloudflare_api_key": "your-admin-password", - "cloudflare_auth_mode": "x-admin-auth", + "cloudflare_api_key": "", + "cloudflare_auth_mode": "none", "cloudflare_path_domains": "/api/domains", - "cloudflare_path_accounts": "/admin/new_address", + "cloudflare_path_accounts": "/api/new_address", "cloudflare_path_token": "/api/token", "cloudflare_path_messages": "/api/mails", "proxy": "", diff --git a/tests/test_cloudflare_admin_api.py b/tests/test_cloudflare_admin_api.py index f2c69b5..f99cd7e 100644 --- a/tests/test_cloudflare_admin_api.py +++ b/tests/test_cloudflare_admin_api.py @@ -53,6 +53,29 @@ class CloudflareAdminCreateTests(unittest.TestCase): self.assertEqual(captured["headers"]["Content-Type"], "application/json") self.assertEqual(captured["headers"]["x-admin-auth"], "admin-secret") + def test_app_keeps_anonymous_new_address_with_none_auth(self): + app.config.update({ + "cloudflare_api_key": "", + "cloudflare_auth_mode": "none", + "cloudflare_path_accounts": "/api/new_address", + "defaultDomains": "vitassk.com", + }) + captured = {} + + def fake_post(url, **kwargs): + captured["url"] = url + captured.update(kwargs) + return DummyResponse({"address": "anon@vitassk.com", "jwt": "anon-jwt"}) + + with patch.object(app, "http_post", side_effect=fake_post): + address, jwt = app.cloudflare_create_temp_address("https://temp-mail.ikun.day") + + self.assertEqual(address, "anon@vitassk.com") + self.assertEqual(jwt, "anon-jwt") + self.assertEqual(captured["url"], "https://temp-mail.ikun.day/api/new_address") + self.assertEqual(captured["json"], {"domain": "vitassk.com"}) + self.assertEqual(captured["headers"], {"Content-Type": "application/json"}) + def test_debug_tool_can_create_address_through_admin_api(self): captured = {}