diff --git a/api/config.py b/api/config.py index 29173a2..a40c52e 100644 --- a/api/config.py +++ b/api/config.py @@ -57,6 +57,7 @@ CONFIG_KEYS = [ "cfworker_enabled_domains", "cfworker_subdomain", "cfworker_random_subdomain", + "cfworker_random_name_subdomain", "cfworker_fingerprint", "smstome_cookie", "smstome_country_slugs", diff --git a/core/base_mailbox.py b/core/base_mailbox.py index 7a9edc0..5939767 100644 --- a/core/base_mailbox.py +++ b/core/base_mailbox.py @@ -314,6 +314,7 @@ def create_mailbox( enabled_domains=extra.get("cfworker_enabled_domains", ""), subdomain=extra.get("cfworker_subdomain", ""), random_subdomain=extra.get("cfworker_random_subdomain", False), + random_name_subdomain=extra.get("cfworker_random_name_subdomain", False), fingerprint=extra.get("cfworker_fingerprint", ""), custom_auth=extra.get("cfworker_custom_auth", ""), proxy=proxy, @@ -2280,6 +2281,7 @@ class CFWorkerMailbox(BaseMailbox): enabled_domains: Any = None, subdomain: str = "", random_subdomain: Any = False, + random_name_subdomain: Any = False, fingerprint: str = "", custom_auth: str = "", proxy: str = None, @@ -2297,6 +2299,7 @@ class CFWorkerMailbox(BaseMailbox): self.enabled_domains = raw_enabled_domains self.subdomain = self._normalize_subdomain(subdomain) self.random_subdomain = self._to_bool(random_subdomain) + self.random_name_subdomain = self._to_bool(random_name_subdomain) self.fingerprint = fingerprint self.custom_auth = custom_auth self.proxy = build_requests_proxy_config(proxy) @@ -2452,7 +2455,16 @@ class CFWorkerMailbox(BaseMailbox): return "" sub_parts: list[str] = [] - if self.random_subdomain: + if self.random_name_subdomain: + try: + import names + import random + + name_func = random.choice([names.get_first_name, names.get_last_name]) + sub_parts.append(name_func().lower().replace(" ", "")) + except ImportError: + sub_parts.append(self._generate_subdomain_label()) + elif self.random_subdomain: sub_parts.append(self._generate_subdomain_label()) if self.subdomain: sub_parts.append(self.subdomain) diff --git a/frontend/src/pages/Accounts.tsx b/frontend/src/pages/Accounts.tsx index 8021d7e..44076ac 100644 --- a/frontend/src/pages/Accounts.tsx +++ b/frontend/src/pages/Accounts.tsx @@ -671,6 +671,7 @@ export default function Accounts() { cfworker_domain: cfg.cfworker_domain, cfworker_subdomain: cfg.cfworker_subdomain, cfworker_random_subdomain: parseBooleanConfigValue(cfg.cfworker_random_subdomain), + cfworker_random_name_subdomain: parseBooleanConfigValue(cfg.cfworker_random_name_subdomain), cfworker_fingerprint: cfg.cfworker_fingerprint, smstome_cookie: cfg.smstome_cookie, smstome_country_slugs: cfg.smstome_country_slugs, diff --git a/frontend/src/pages/RegisterTaskPage.tsx b/frontend/src/pages/RegisterTaskPage.tsx index c4c0a36..c8964cc 100644 --- a/frontend/src/pages/RegisterTaskPage.tsx +++ b/frontend/src/pages/RegisterTaskPage.tsx @@ -85,6 +85,7 @@ export default function RegisterTaskPage() { cfworker_domain_override: '', cfworker_subdomain: cfg.cfworker_subdomain || '', cfworker_random_subdomain: parseBooleanConfigValue(cfg.cfworker_random_subdomain), + cfworker_random_name_subdomain: parseBooleanConfigValue(cfg.cfworker_random_name_subdomain), cfworker_fingerprint: cfg.cfworker_fingerprint || '', smstome_cookie: cfg.smstome_cookie || '', smstome_country_slugs: cfg.smstome_country_slugs || '', @@ -146,6 +147,7 @@ export default function RegisterTaskPage() { cfworker_domain_override: values.cfworker_domain_override, cfworker_subdomain: values.cfworker_subdomain, cfworker_random_subdomain: values.cfworker_random_subdomain, + cfworker_random_name_subdomain: values.cfworker_random_name_subdomain, cfworker_fingerprint: values.cfworker_fingerprint, smstome_cookie: values.smstome_cookie, smstome_country_slugs: values.smstome_country_slugs, @@ -469,9 +471,12 @@ export default function RegisterTaskPage() { > -