Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 54 additions & 0 deletions background.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ importScripts(
'gopay-utils.js',
'phone-sms/providers/hero-sms.js',
'phone-sms/providers/five-sim.js',
'phone-sms/providers/nexsms.js',
'phone-sms/providers/madao.js',
'phone-sms/providers/registry.js',
'background/phone-verification-flow.js',
'background/account-run-history.js',
Expand Down Expand Up @@ -691,11 +693,13 @@ const PHONE_SMS_PROVIDER_5SIM = '5sim';
const PHONE_SMS_PROVIDER_HERO_SMS = PHONE_SMS_PROVIDER_HERO;
const PHONE_SMS_PROVIDER_FIVE_SIM = PHONE_SMS_PROVIDER_5SIM;
const PHONE_SMS_PROVIDER_NEXSMS = 'nexsms';
const PHONE_SMS_PROVIDER_MADAO = 'madao';
const DEFAULT_PHONE_SMS_PROVIDER = PHONE_SMS_PROVIDER_HERO;
const DEFAULT_PHONE_SMS_PROVIDER_ORDER = Object.freeze([
PHONE_SMS_PROVIDER_HERO,
PHONE_SMS_PROVIDER_5SIM,
PHONE_SMS_PROVIDER_NEXSMS,
PHONE_SMS_PROVIDER_MADAO,
]);
const DEFAULT_FIVE_SIM_BASE_URL = 'https://5sim.net/v1';
const DEFAULT_FIVE_SIM_PRODUCT = 'openai';
Expand Down Expand Up @@ -1464,6 +1468,17 @@ const PERSISTED_SETTING_DEFAULTS = {
nexSmsApiKey: '',
nexSmsCountryOrder: [...DEFAULT_NEX_SMS_COUNTRY_ORDER],
nexSmsServiceCode: DEFAULT_NEX_SMS_SERVICE_CODE,
madaoMode: 'routing_plan',
madaoBaseUrl: 'http://127.0.0.1:7822',
madaoHttpSecret: '',
madaoProviderId: '',
madaoRoutingPlanId: '',
madaoServiceName: 'openai',
madaoCountry: '',
madaoAutoPickCountry: true,
madaoReusePhone: true,
madaoMinPrice: '',
madaoMaxPrice: '',
phonePreferredActivation: null,
};

Expand Down Expand Up @@ -1827,13 +1842,19 @@ function normalizePhoneSmsProvider(value = '') {
if (rootScope.PhoneSmsProviderRegistry?.normalizeProviderId) {
return rootScope.PhoneSmsProviderRegistry.normalizeProviderId(value);
}
const madaoProvider = typeof PHONE_SMS_PROVIDER_MADAO !== 'undefined'
? PHONE_SMS_PROVIDER_MADAO
: 'madao';
const normalized = String(value || '').trim().toLowerCase();
if (normalized === PHONE_SMS_PROVIDER_FIVE_SIM) {
return PHONE_SMS_PROVIDER_FIVE_SIM;
}
if (normalized === PHONE_SMS_PROVIDER_NEXSMS) {
return PHONE_SMS_PROVIDER_NEXSMS;
}
if (normalized === madaoProvider) {
return madaoProvider;
}
return PHONE_SMS_PROVIDER_HERO_SMS;
}
function normalizePhoneSmsProviderOrder(value = [], fallbackOrder = []) {
Expand Down Expand Up @@ -3529,6 +3550,39 @@ function normalizePersistentSettingValue(key, value) {
return normalizeNexSmsCountryOrder(value);
case 'nexSmsServiceCode':
return normalizeNexSmsServiceCode(value);
case 'madaoBaseUrl':
return String(value || '').trim() || 'http://127.0.0.1:7822';
case 'madaoMode':
return String(value || '').trim().toLowerCase() === 'direct' ? 'direct' : 'routing_plan';
case 'madaoHttpSecret':
return String(value || '').trim();
case 'madaoProviderId':
return String(value || '').trim().toLowerCase();
case 'madaoRoutingPlanId':
return String(value || '').trim();
case 'madaoServiceName':
return String(value || '').trim().toLowerCase() || 'openai';
case 'madaoCountry':
{
const trimmed = String(value || '').trim();
if (!trimmed) {
return '';
}
const lowered = trimmed.toLowerCase();
if (lowered === 'any' || lowered === 'local') {
return lowered;
}
if (/^[a-z]{2}$/i.test(trimmed)) {
return trimmed.toUpperCase();
}
return lowered;
}
case 'madaoAutoPickCountry':
case 'madaoReusePhone':
return Boolean(value);
case 'madaoMinPrice':
case 'madaoMaxPrice':
return normalizeHeroSmsMaxPrice(value);
case 'phonePreferredActivation':
return normalizePhonePreferredActivation(value);
default:
Expand Down
Loading