@onairos/react-native 3.7.2 → 3.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/api/index.js +219 -9
- package/lib/commonjs/components/BodyText.js +27 -9
- package/lib/commonjs/components/BrandMark.js +111 -10
- package/lib/commonjs/components/CodeInput.js +116 -9
- package/lib/commonjs/components/EmailInput.js +30 -8
- package/lib/commonjs/components/GoogleButton.js +56 -9
- package/lib/commonjs/components/HeadingGroup.js +43 -9
- package/lib/commonjs/components/LLMDataInputModal.js +664 -14
- package/lib/commonjs/components/ModalHeader.js +99 -9
- package/lib/commonjs/components/ModalSheet.js +47 -9
- package/lib/commonjs/components/Onairos.js +380 -14
- package/lib/commonjs/components/OnairosButton.js +313 -13
- package/lib/commonjs/components/OnairosSignInButton.js +130 -12
- package/lib/commonjs/components/Overlay.js +465 -13
- package/lib/commonjs/components/PersonaImage.js +137 -10
- package/lib/commonjs/components/PersonaLoadingScreen.js +318 -12
- package/lib/commonjs/components/PersonalizationConsentScreen.js +467 -13
- package/lib/commonjs/components/PinCreationScreen.js +403 -12
- package/lib/commonjs/components/PinInput.js +464 -9
- package/lib/commonjs/components/PlatformConnectorsStep.js +1311 -23
- package/lib/commonjs/components/PlatformList.js +137 -10
- package/lib/commonjs/components/PlatformToggle.js +180 -9
- package/lib/commonjs/components/PrimaryButton.js +180 -10
- package/lib/commonjs/components/SignInMatchAnimation.js +197 -9
- package/lib/commonjs/components/SignInStep.js +345 -12
- package/lib/commonjs/components/UniversalOnboarding.js +2780 -30
- package/lib/commonjs/components/VerificationStep.js +176 -11
- package/lib/commonjs/components/WelcomeScreen.js +461 -22
- package/lib/commonjs/components/icons/Basicproficon.js +37 -8
- package/lib/commonjs/components/icons/Basicprofile.js +21 -8
- package/lib/commonjs/components/icons/Checkbox.js +21 -8
- package/lib/commonjs/components/icons/Checkmark.js +27 -8
- package/lib/commonjs/components/icons/Contentanalysis.js +21 -8
- package/lib/commonjs/components/icons/Contenticon.js +39 -8
- package/lib/commonjs/components/icons/EnochE.js +41 -8
- package/lib/commonjs/components/icons/Personalityicon.js +30 -8
- package/lib/commonjs/components/icons/Personalityprofile.js +21 -8
- package/lib/commonjs/components/icons/Personalitytraits.js +21 -8
- package/lib/commonjs/components/icons/Userpreferences.js +21 -8
- package/lib/commonjs/components/icons/index.js +84 -17
- package/lib/commonjs/components/onboarding/OAuthWebView.js +1754 -18
- package/lib/commonjs/components/onboarding/OnboardingHeader.js +74 -10
- package/lib/commonjs/components/onboarding/PinInput.js +283 -10
- package/lib/commonjs/components/onboarding/PlatformConnector.js +249 -11
- package/lib/commonjs/config/PLATFORM_APIS.md +849 -0
- package/lib/commonjs/config/api.js +56 -7
- package/lib/commonjs/constants/index.js +120 -7
- package/lib/commonjs/context/AuthContext.js +345 -10
- package/lib/commonjs/hooks/useConnectedAccounts.js +111 -9
- package/lib/commonjs/hooks/useConnections.js +102 -8
- package/lib/commonjs/hooks/useCredentials.js +178 -10
- package/lib/commonjs/hooks/useUserConnections.js +148 -10
- package/lib/commonjs/index.js +439 -34
- package/lib/commonjs/services/apiClient.js +298 -8
- package/lib/commonjs/services/biometricPinService.js +180 -8
- package/lib/commonjs/services/chatGPTConversationExtractor.js +155 -8
- package/lib/commonjs/services/chatGPTConversationService.js +275 -9
- package/lib/commonjs/services/claudeConversationExtractor.js +103 -8
- package/lib/commonjs/services/claudeConversationService.js +158 -9
- package/lib/commonjs/services/connectedAccountsService.js +310 -10
- package/lib/commonjs/services/googleAuthService.js +252 -11
- package/lib/commonjs/services/hingeDataExtractor.js +105 -8
- package/lib/commonjs/services/hingeDataService.js +150 -9
- package/lib/commonjs/services/imageCompressionService.js +260 -7
- package/lib/commonjs/services/instagramDataExtractor.js +126 -8
- package/lib/commonjs/services/instagramDataService.js +163 -9
- package/lib/commonjs/services/jwtStorageService.js +276 -7
- package/lib/commonjs/services/linkedinDOMExtractor.js +245 -7
- package/lib/commonjs/services/linkedinProfileService.js +222 -9
- package/lib/commonjs/services/linkedinScrapingService.js +230 -8
- package/lib/commonjs/services/llmDataStorage.js +294 -8
- package/lib/commonjs/services/mobileTrainingService.js +186 -8
- package/lib/commonjs/services/netflixDataExtractor.js +120 -8
- package/lib/commonjs/services/netflixDataService.js +198 -9
- package/lib/commonjs/services/pinEncryptionService.js +84 -8
- package/lib/commonjs/services/pinStorageUtils.js +105 -7
- package/lib/commonjs/services/platformAuthService.js +1484 -12
- package/lib/commonjs/services/sephoraDataExtractor.js +140 -8
- package/lib/commonjs/services/sephoraDataService.js +200 -9
- package/lib/commonjs/services/spotifyDataExtractor.js +148 -8
- package/lib/commonjs/services/spotifyDataService.js +241 -9
- package/lib/commonjs/services/storageService.js +404 -8
- package/lib/commonjs/services/telegramDataExtractor.js +115 -8
- package/lib/commonjs/services/telegramDataService.js +499 -9
- package/lib/commonjs/services/trainingApiHelpers.js +73 -7
- package/lib/commonjs/services/userConnectionsService.js +340 -10
- package/lib/commonjs/services/youtubeMigrationService.js +416 -10
- package/lib/commonjs/theme/index.js +250 -7
- package/lib/commonjs/types/ambient.d.js +2 -1
- package/lib/commonjs/types/declarations.d.js +2 -1
- package/lib/commonjs/types/index.js +6 -1
- package/lib/commonjs/types/node-fix.d.js +2 -1
- package/lib/commonjs/types/node-override.d.js +2 -1
- package/lib/commonjs/types/opacity.d.js +2 -1
- package/lib/commonjs/types.js +14 -1
- package/lib/commonjs/utils/Portal.js +98 -8
- package/lib/commonjs/utils/api.js +130 -9
- package/lib/commonjs/utils/assetRegistry.js +210 -35
- package/lib/commonjs/utils/auth.js +112 -9
- package/lib/commonjs/utils/connectorTests.js +613 -29
- package/lib/commonjs/utils/crypto.js +62 -8
- package/lib/commonjs/utils/debugHelper.js +64 -1
- package/lib/commonjs/utils/encryption.js +76 -7
- package/lib/commonjs/utils/eventUtils.js +288 -1
- package/lib/commonjs/utils/haptics.js +66 -9
- package/lib/commonjs/utils/imagePreloader.js +6 -1
- package/lib/commonjs/utils/networkDiagnostics.js +226 -8
- package/lib/commonjs/utils/onairosApi.js +350 -9
- package/lib/commonjs/utils/programmaticFlow.js +117 -9
- package/lib/commonjs/utils/retryHelper.js +220 -1
- package/lib/commonjs/utils/secureStorage.js +349 -10
- package/lib/commonjs/utils/webviewScripts/chatgpt.js +551 -1
- package/lib/commonjs/utils/webviewScripts/claude.js +376 -1
- package/lib/commonjs/utils/webviewScripts/hinge.js +411 -1
- package/lib/commonjs/utils/webviewScripts/index.js +698 -15
- package/lib/commonjs/utils/webviewScripts/instagram.js +454 -1
- package/lib/commonjs/utils/webviewScripts/linkedin.js +880 -1
- package/lib/commonjs/utils/webviewScripts/netflix.js +382 -1
- package/lib/commonjs/utils/webviewScripts/sephora.js +516 -1
- package/lib/commonjs/utils/webviewScripts/spotify.js +419 -1
- package/lib/commonjs/utils/webviewScripts/telegram.js +678 -1
- package/lib/module/api/index.js +211 -1
- package/lib/module/components/BodyText.js +20 -1
- package/lib/module/components/BrandMark.js +104 -1
- package/lib/module/components/CodeInput.js +109 -1
- package/lib/module/components/EmailInput.js +23 -1
- package/lib/module/components/GoogleButton.js +49 -1
- package/lib/module/components/HeadingGroup.js +36 -1
- package/lib/module/components/LLMDataInputModal.js +656 -7
- package/lib/module/components/ModalHeader.js +92 -1
- package/lib/module/components/ModalSheet.js +39 -1
- package/lib/module/components/Onairos.js +373 -1
- package/lib/module/components/OnairosButton.js +305 -1
- package/lib/module/components/OnairosSignInButton.js +121 -1
- package/lib/module/components/Overlay.js +456 -1
- package/lib/module/components/PersonaImage.js +129 -1
- package/lib/module/components/PersonaLoadingScreen.js +310 -1
- package/lib/module/components/PersonalizationConsentScreen.js +460 -1
- package/lib/module/components/PinCreationScreen.js +396 -1
- package/lib/module/components/PinInput.js +456 -1
- package/lib/module/components/PlatformConnectorsStep.js +1302 -6
- package/lib/module/components/PlatformList.js +129 -1
- package/lib/module/components/PlatformToggle.js +173 -1
- package/lib/module/components/PrimaryButton.js +172 -1
- package/lib/module/components/SignInMatchAnimation.js +189 -1
- package/lib/module/components/SignInStep.js +338 -1
- package/lib/module/components/UniversalOnboarding.js +2770 -1
- package/lib/module/components/VerificationStep.js +168 -1
- package/lib/module/components/WelcomeScreen.js +453 -1
- package/lib/module/components/icons/Basicproficon.js +30 -1
- package/lib/module/components/icons/Basicprofile.js +14 -1
- package/lib/module/components/icons/Checkbox.js +14 -1
- package/lib/module/components/icons/Checkmark.js +20 -1
- package/lib/module/components/icons/Contentanalysis.js +14 -1
- package/lib/module/components/icons/Contenticon.js +32 -1
- package/lib/module/components/icons/EnochE.js +34 -1
- package/lib/module/components/icons/Personalityicon.js +23 -1
- package/lib/module/components/icons/Personalityprofile.js +14 -1
- package/lib/module/components/icons/Personalitytraits.js +14 -1
- package/lib/module/components/icons/Userpreferences.js +14 -1
- package/lib/module/components/icons/index.js +13 -1
- package/lib/module/components/onboarding/OAuthWebView.js +1746 -1
- package/lib/module/components/onboarding/OnboardingHeader.js +66 -1
- package/lib/module/components/onboarding/PinInput.js +274 -1
- package/lib/module/components/onboarding/PlatformConnector.js +240 -1
- package/lib/module/config/PLATFORM_APIS.md +849 -0
- package/lib/module/config/api.js +47 -1
- package/lib/module/constants/index.js +114 -1
- package/lib/module/context/AuthContext.js +335 -1
- package/lib/module/hooks/useConnectedAccounts.js +106 -1
- package/lib/module/hooks/useConnections.js +95 -1
- package/lib/module/hooks/useCredentials.js +171 -6
- package/lib/module/hooks/useUserConnections.js +140 -1
- package/lib/module/index.js +172 -1
- package/lib/module/services/apiClient.js +295 -1
- package/lib/module/services/biometricPinService.js +169 -1
- package/lib/module/services/chatGPTConversationExtractor.js +149 -1
- package/lib/module/services/chatGPTConversationService.js +268 -1
- package/lib/module/services/claudeConversationExtractor.js +97 -1
- package/lib/module/services/claudeConversationService.js +151 -1
- package/lib/module/services/connectedAccountsService.js +293 -1
- package/lib/module/services/googleAuthService.js +241 -1
- package/lib/module/services/hingeDataExtractor.js +99 -1
- package/lib/module/services/hingeDataService.js +143 -1
- package/lib/module/services/imageCompressionService.js +250 -1
- package/lib/module/services/instagramDataExtractor.js +120 -1
- package/lib/module/services/instagramDataService.js +156 -1
- package/lib/module/services/jwtStorageService.js +257 -1
- package/lib/module/services/linkedinDOMExtractor.js +234 -1
- package/lib/module/services/linkedinProfileService.js +210 -1
- package/lib/module/services/linkedinScrapingService.js +219 -1
- package/lib/module/services/llmDataStorage.js +277 -1
- package/lib/module/services/mobileTrainingService.js +173 -1
- package/lib/module/services/netflixDataExtractor.js +114 -1
- package/lib/module/services/netflixDataService.js +191 -1
- package/lib/module/services/pinEncryptionService.js +74 -6
- package/lib/module/services/pinStorageUtils.js +93 -1
- package/lib/module/services/platformAuthService.js +1461 -1
- package/lib/module/services/sephoraDataExtractor.js +134 -1
- package/lib/module/services/sephoraDataService.js +193 -1
- package/lib/module/services/spotifyDataExtractor.js +142 -1
- package/lib/module/services/spotifyDataService.js +234 -1
- package/lib/module/services/storageService.js +383 -1
- package/lib/module/services/telegramDataExtractor.js +109 -1
- package/lib/module/services/telegramDataService.js +493 -1
- package/lib/module/services/trainingApiHelpers.js +67 -1
- package/lib/module/services/userConnectionsService.js +329 -1
- package/lib/module/services/youtubeMigrationService.js +405 -1
- package/lib/module/theme/index.js +245 -1
- package/lib/module/types.js +10 -1
- package/lib/module/utils/Portal.js +90 -1
- package/lib/module/utils/api.js +118 -1
- package/lib/module/utils/assetRegistry.js +200 -34
- package/lib/module/utils/auth.js +100 -1
- package/lib/module/utils/connectorTests.js +600 -27
- package/lib/module/utils/crypto.js +54 -1
- package/lib/module/utils/debugHelper.js +54 -1
- package/lib/module/utils/encryption.js +67 -1
- package/lib/module/utils/eventUtils.js +270 -1
- package/lib/module/utils/haptics.js +59 -8
- package/lib/module/utils/imagePreloader.js +3 -1
- package/lib/module/utils/networkDiagnostics.js +217 -1
- package/lib/module/utils/onairosApi.js +333 -1
- package/lib/module/utils/programmaticFlow.js +111 -1
- package/lib/module/utils/retryHelper.js +211 -1
- package/lib/module/utils/secureStorage.js +330 -6
- package/lib/module/utils/webviewScripts/chatgpt.js +545 -1
- package/lib/module/utils/webviewScripts/claude.js +370 -1
- package/lib/module/utils/webviewScripts/hinge.js +405 -1
- package/lib/module/utils/webviewScripts/index.js +434 -1
- package/lib/module/utils/webviewScripts/instagram.js +448 -1
- package/lib/module/utils/webviewScripts/linkedin.js +874 -1
- package/lib/module/utils/webviewScripts/netflix.js +376 -1
- package/lib/module/utils/webviewScripts/sephora.js +510 -1
- package/lib/module/utils/webviewScripts/spotify.js +413 -1
- package/lib/module/utils/webviewScripts/telegram.js +672 -1
- package/package.json +2 -2
|
@@ -1 +1,434 @@
|
|
|
1
|
-
export{CHATGPT_CONSENT_POPUP_SCRIPT,CHATGPT_EXPORT_SCRIPT,CHATGPT_SUCCESS_SCRIPT,CHATGPT_ERROR_SCRIPT,CHATGPT_FETCH_MEMORIES_SCRIPT}from'./chatgpt';export{CLAUDE_CONSENT_POPUP_SCRIPT,CLAUDE_EXPORT_SCRIPT,CLAUDE_SUCCESS_SCRIPT,CLAUDE_ERROR_SCRIPT}from'./claude';export{LINKEDIN_APP_BLOCKER_SCRIPT,LINKEDIN_PROFILE_EXTRACTOR_SCRIPT,LINKEDIN_NAVIGATE_TO_PROFILE_SCRIPT,LINKEDIN_PROFILE_CONSENT_POPUP_SCRIPT,LINKEDIN_PROFILE_SCRAPER_SCRIPT,LINKEDIN_PROFILE_SUCCESS_SCRIPT,LINKEDIN_PROFILE_ERROR_SCRIPT}from'./linkedin';export{HINGE_CONSENT_POPUP_SCRIPT,HINGE_EXPORT_SCRIPT,HINGE_SUCCESS_SCRIPT,HINGE_ERROR_SCRIPT}from'./hinge';export{INSTAGRAM_CONSENT_POPUP_SCRIPT,INSTAGRAM_EXPORT_SCRIPT,INSTAGRAM_SUCCESS_SCRIPT,INSTAGRAM_ERROR_SCRIPT}from'./instagram';export{SEPHORA_CONSENT_POPUP_SCRIPT,SEPHORA_EXPORT_SCRIPT,SEPHORA_SUCCESS_SCRIPT,SEPHORA_ERROR_SCRIPT}from'./sephora';export{TELEGRAM_CONSENT_POPUP_SCRIPT,TELEGRAM_EXPORT_SCRIPT,TELEGRAM_SUCCESS_SCRIPT,TELEGRAM_ERROR_SCRIPT}from'./telegram';export{NETFLIX_CONSENT_POPUP_SCRIPT,NETFLIX_EXPORT_SCRIPT,NETFLIX_SUCCESS_SCRIPT,NETFLIX_ERROR_SCRIPT}from'./netflix';export{SPOTIFY_CONSENT_POPUP_SCRIPT,SPOTIFY_EXPORT_SCRIPT,SPOTIFY_SUCCESS_SCRIPT,SPOTIFY_ERROR_SCRIPT}from'./spotify';export const ANTI_DETECTION_SCRIPT='\x0a(function()\x20{\x0a\x20\x20//\x20Override\x20webdriver\x20detection\x0a\x20\x20Object.defineProperty(navigator,\x20\x27webdriver\x27,\x20{\x0a\x20\x20\x20\x20get:\x20()\x20=>\x20undefined\x0a\x20\x20});\x0a\x20\x20\x0a\x20\x20//\x20Override\x20automation\x20detection\x0a\x20\x20Object.defineProperty(navigator,\x20\x27automationController\x27,\x20{\x0a\x20\x20\x20\x20get:\x20()\x20=>\x20undefined\x0a\x20\x20});\x0a\x20\x20\x0a\x20\x20//\x20Ensure\x20proper\x20user\x20agent\x20and\x20platform\x20detection\x0a\x20\x20Object.defineProperty(navigator,\x20\x27platform\x27,\x20{\x0a\x20\x20\x20\x20get:\x20()\x20=>\x20\x27iPhone\x27\x0a\x20\x20});\x0a\x20\x20\x0a\x20\x20//\x20Override\x20plugins\x20(empty\x20in\x20real\x20mobile\x20Safari)\x0a\x20\x20Object.defineProperty(navigator,\x20\x27plugins\x27,\x20{\x0a\x20\x20\x20\x20get:\x20()\x20=>\x20[]\x0a\x20\x20});\x0a\x20\x20\x0a\x20\x20//\x20Override\x20languages\x0a\x20\x20Object.defineProperty(navigator,\x20\x27languages\x27,\x20{\x0a\x20\x20\x20\x20get:\x20()\x20=>\x20[\x27en-US\x27,\x20\x27en\x27]\x0a\x20\x20});\x0a\x20\x20\x0a\x20\x20//\x20Remove\x20automation-related\x20properties\x0a\x20\x20delete\x20window.cdc_adoQpoasnfa76pfcZLmcfl_Array;\x0a\x20\x20delete\x20window.cdc_adoQpoasnfa76pfcZLmcfl_Promise;\x0a\x20\x20delete\x20window.cdc_adoQpoasnfa76pfcZLmcfl_Symbol;\x0a\x20\x20\x0a\x20\x20console.log(\x27🛡️\x20[ANTI-DETECTION]\x20Script\x20injected\x20successfully\x27);\x0a})();\x0atrue;\x0a';import{LINKEDIN_APP_BLOCKER_SCRIPT}from'./linkedin';export const getAntiDetectionScript=_0x291a2b=>{const _0x1a8741={'LYbWe':_0x55ac(0x0),'SrWUB':function(_0x11555e,_0x12b744){return _0x11555e+_0x12b744;},'unAkf':_0x55ac(0x1),'wfSLV':_0x55ac(0x2),'EUAbv':_0x55ac(0x3),'jwBCi':'anthropic','JjOAb':function(_0x36318c,_0x462c1f){return _0x36318c+_0x462c1f;},'XKMCe':_0x55ac(0x4),'KZrfs':_0x55ac(0x5),'RpYYy':function(_0x2aa7cd,_0x4f5ea3){return _0x2aa7cd+_0x4f5ea3;},'uUnUA':_0x55ac(0x6),'KgYOr':'telegram','dkOzv':function(_0xc08752,_0x4e328e){return _0xc08752+_0x4e328e;},'xhvqT':_0x55ac(0x7),'EQwcV':function(_0xeeb484,_0x1b678a){return _0xeeb484+_0x1b678a;}},_0x10d6d3=ANTI_DETECTION_SCRIPT;switch(_0x291a2b[_0x55ac(0x8)]()){case _0x1a8741[_0x55ac(0x9)]:return _0x1a8741[_0x55ac(0xa)](_0x1a8741[_0x55ac(0xa)](_0x10d6d3,'\x0a(function()\x20{\x0a\x20\x20//\x20LinkedIn-specific\x20anti-detection\x0a\x20\x20Object.defineProperty(navigator,\x20\x27userAgent\x27,\x20{\x0a\x20\x20\x20\x20get:\x20()\x20=>\x20\x27Mozilla/5.0\x20(iPhone;\x20CPU\x20iPhone\x20OS\x2017_0\x20like\x20Mac\x20OS\x20X)\x20AppleWebKit/605.1.15\x20(KHTML,\x20like\x20Gecko)\x20Version/17.0\x20Mobile/15E148\x20Safari/604.1\x27\x0a\x20\x20});\x0a\x20\x20\x0a\x20\x20//\x20Block\x20LinkedIn\x27s\x20tracking\x20scripts\x0a\x20\x20const\x20originalCreateElement\x20=\x20document.createElement.bind(document);\x0a\x20\x20document.createElement\x20=\x20function(tagName)\x20{\x0a\x20\x20\x20\x20const\x20element\x20=\x20originalCreateElement(tagName);\x0a\x20\x20\x20\x20if\x20(tagName.toLowerCase()\x20===\x20\x27script\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20const\x20originalSetAttribute\x20=\x20element.setAttribute.bind(element);\x0a\x20\x20\x20\x20\x20\x20element.setAttribute\x20=\x20function(name,\x20value)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(name\x20===\x20\x27src\x27\x20&&\x20value\x20&&\x20(value.includes(\x27tracking\x27)\x20||\x20value.includes(\x27analytics\x27)))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27🛡️\x20[LINKEDIN]\x20Blocked\x20tracking\x20script:\x27,\x20value);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20originalSetAttribute(name,\x20value);\x0a\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20element;\x0a\x20\x20};\x0a\x20\x20\x0a\x20\x20console.log(\x27🛡️\x20[LINKEDIN]\x20Enhanced\x20anti-detection\x20active\x27);\x0a})();\x0atrue;\x0a'),LINKEDIN_APP_BLOCKER_SCRIPT);case _0x1a8741[_0x55ac(0xb)]:case _0x1a8741[_0x55ac(0xc)]:return _0x10d6d3+_0x55ac(0xd);case _0x1a8741[_0x55ac(0xe)]:case _0x1a8741[_0x55ac(0xf)]:return _0x1a8741[_0x55ac(0x10)](_0x10d6d3,'\x0a(function()\x20{\x0a\x20\x20//\x20Ensure\x20Claude\x20sees\x20us\x20as\x20a\x20real\x20mobile\x20browser\x0a\x20\x20console.log(\x27🛡️\x20[CLAUDE]\x20Anti-detection\x20enhanced\x27);\x0a})();\x0atrue;\x0a');case _0x1a8741[_0x55ac(0x11)]:return _0x1a8741['SrWUB'](_0x10d6d3,'\x0a(function()\x20{\x0a\x20\x20//\x20Hinge\x20anti-detection\x20settings\x0a\x20\x20console.log(\x27🛡️\x20[HINGE]\x20Anti-detection\x20enhanced\x27);\x0a})();\x0atrue;\x0a');case _0x1a8741[_0x55ac(0x12)]:return _0x1a8741['RpYYy'](_0x10d6d3,'\x0a(function()\x20{\x0a\x20\x20//\x20Instagram\x20has\x20sophisticated\x20bot\x20detection\x0a\x20\x20Object.defineProperty(navigator,\x20\x27userAgent\x27,\x20{\x0a\x20\x20\x20\x20get:\x20()\x20=>\x20\x27Mozilla/5.0\x20(iPhone;\x20CPU\x20iPhone\x20OS\x2017_0\x20like\x20Mac\x20OS\x20X)\x20AppleWebKit/605.1.15\x20(KHTML,\x20like\x20Gecko)\x20Version/17.0\x20Mobile/15E148\x20Safari/604.1\x27\x0a\x20\x20});\x0a\x20\x20console.log(\x27🛡️\x20[INSTAGRAM]\x20Anti-detection\x20enhanced\x27);\x0a})();\x0atrue;\x0a');case _0x1a8741[_0x55ac(0x13)]:return _0x1a8741[_0x55ac(0x14)](_0x10d6d3,_0x55ac(0x15));case _0x1a8741[_0x55ac(0x16)]:return _0x1a8741['RpYYy'](_0x10d6d3,_0x55ac(0x17));case _0x55ac(0x18):return _0x1a8741[_0x55ac(0x19)](_0x10d6d3,'\x0a(function()\x20{\x0a\x20\x20//\x20Netflix\x20anti-detection\x20settings\x0a\x20\x20Object.defineProperty(navigator,\x20\x27userAgent\x27,\x20{\x0a\x20\x20\x20\x20get:\x20()\x20=>\x20\x27Mozilla/5.0\x20(iPhone;\x20CPU\x20iPhone\x20OS\x2017_0\x20like\x20Mac\x20OS\x20X)\x20AppleWebKit/605.1.15\x20(KHTML,\x20like\x20Gecko)\x20Version/17.0\x20Mobile/15E148\x20Safari/604.1\x27\x0a\x20\x20});\x0a\x20\x20console.log(\x27🛡️\x20[NETFLIX]\x20Anti-detection\x20enhanced\x27);\x0a})();\x0atrue;\x0a');case _0x1a8741[_0x55ac(0x1a)]:return _0x1a8741[_0x55ac(0x1b)](_0x10d6d3,_0x55ac(0x1c));default:return _0x10d6d3;}};export const LLM_PLATFORM_URLS={'chatgpt':_0x55ac(0x1d),'openai':_0x55ac(0x1d),'claude':_0x55ac(0x1e),'anthropic':_0x55ac(0x1e),'gemini':'https://gemini.google.com','grok':_0x55ac(0x1f)};export const APP_PLATFORM_URLS={'hinge':_0x55ac(0x20),'instagram':_0x55ac(0x21),'sephora':_0x55ac(0x22),'telegram':_0x55ac(0x23),'netflix':_0x55ac(0x24),'spotify':_0x55ac(0x25)};export const getLLMPlatformUrl=_0x4c37f9=>{const _0x219081=_0x4c37f9['toLowerCase']();return LLM_PLATFORM_URLS[_0x219081]||null;};export const isLLMPlatform=_0x579294=>{const _0x28a633={'oJTfx':_0x55ac(0x2),'TZnja':_0x55ac(0x3),'virCP':'anthropic','sphPA':'gemini'},_0x38d75e=[_0x55ac(0x1),_0x28a633[_0x55ac(0x26)],_0x28a633[_0x55ac(0x27)],_0x28a633[_0x55ac(0x28)],_0x28a633[_0x55ac(0x29)],_0x55ac(0x2a)];return _0x38d75e['includes'](_0x579294[_0x55ac(0x8)]());};export const isWebViewExtractionPlatform=_0x4c0475=>{const _0x3284f3={'cJADK':_0x55ac(0x4),'JbZgn':'netflix','gMxEW':_0x55ac(0x7)},_0x148442=[_0x3284f3[_0x55ac(0x2b)],_0x55ac(0x5),_0x55ac(0x6),_0x55ac(0x2c),_0x3284f3[_0x55ac(0x2d)],_0x3284f3[_0x55ac(0x2e)]];return _0x148442[_0x55ac(0x2f)](_0x4c0475[_0x55ac(0x8)]());};export const isTelegramPlatform=_0x53bd3f=>{const _0x4ca4aa={'vJVnk':function(_0x214029,_0x720b3){return _0x214029===_0x720b3;}};return _0x4ca4aa[_0x55ac(0x30)](_0x53bd3f[_0x55ac(0x8)](),'telegram');};export const isHingePlatform=_0x34e1e0=>{return _0x34e1e0[_0x55ac(0x8)]()==='hinge';};export const isInstagramPlatform=_0x4d85ff=>{const _0x265668={'TRmtr':function(_0x5dbba5,_0x5b76e6){return _0x5dbba5===_0x5b76e6;},'IYgNE':_0x55ac(0x5)};return _0x265668[_0x55ac(0x31)](_0x4d85ff[_0x55ac(0x8)](),_0x265668[_0x55ac(0x32)]);};export const isSephoraPlatform=_0x26fd6d=>{const _0x415819={'UpOsd':function(_0x4a73ad,_0x48bb36){return _0x4a73ad===_0x48bb36;},'MKRyk':_0x55ac(0x6)};return _0x415819[_0x55ac(0x33)](_0x26fd6d[_0x55ac(0x8)](),_0x415819[_0x55ac(0x34)]);};function _0x276f(){const _0x555bbd=['linkedin','chatgpt','openai','claude','hinge','instagram','sephora','spotify','toLowerCase','LYbWe','SrWUB','unAkf','wfSLV','\x0a(function()\x20{\x0a\x20\x20//\x20Ensure\x20ChatGPT\x20sees\x20us\x20as\x20a\x20real\x20mobile\x20browser\x0a\x20\x20console.log(\x27🛡️\x20[CHATGPT]\x20Anti-detection\x20enhanced\x27);\x0a})();\x0atrue;\x0a','EUAbv','jwBCi','JjOAb','XKMCe','KZrfs','uUnUA','RpYYy','\x0a(function()\x20{\x0a\x20\x20//\x20Sephora\x20e-commerce\x20anti-detection\x0a\x20\x20console.log(\x27🛡️\x20[SEPHORA]\x20Anti-detection\x20enhanced\x27);\x0a})();\x0atrue;\x0a','KgYOr','\x0a(function()\x20{\x0a\x20\x20//\x20Telegram\x20Web\x20anti-detection\x0a\x20\x20console.log(\x27🛡️\x20[TELEGRAM]\x20Anti-detection\x20enhanced\x27);\x0a})();\x0atrue;\x0a','netflix','dkOzv','xhvqT','EQwcV','\x0a(function()\x20{\x0a\x20\x20//\x20Spotify\x20Web\x20Player\x20anti-detection\x0a\x20\x20Object.defineProperty(navigator,\x20\x27userAgent\x27,\x20{\x0a\x20\x20\x20\x20get:\x20()\x20=>\x20\x27Mozilla/5.0\x20(iPhone;\x20CPU\x20iPhone\x20OS\x2017_0\x20like\x20Mac\x20OS\x20X)\x20AppleWebKit/605.1.15\x20(KHTML,\x20like\x20Gecko)\x20Version/17.0\x20Mobile/15E148\x20Safari/604.1\x27\x0a\x20\x20});\x0a\x20\x20console.log(\x27🛡️\x20[SPOTIFY]\x20Anti-detection\x20enhanced\x27);\x0a})();\x0atrue;\x0a','https://chat.openai.com','https://claude.ai/login','https://x.com/i/grok','https://hinge.co','https://www.instagram.com','https://www.sephora.com','https://web.telegram.org/k/','https://www.netflix.com','https://open.spotify.com','oJTfx','TZnja','virCP','sphPA','grok','cJADK','telegram','JbZgn','gMxEW','includes','vJVnk','TRmtr','IYgNE','UpOsd','MKRyk','lIpHT','ziUgc','Mozilla/5.0\x20(iPhone;\x20CPU\x20iPhone\x20OS\x2017_0\x20like\x20Mac\x20OS\x20X)\x20AppleWebKit/605.1.15\x20(KHTML,\x20like\x20Gecko)\x20Version/17.0\x20Mobile/15E148\x20Safari/604.1','anthropic','google','gemini','twitter','Mozilla/5.0\x20(iPhone;\x20CPU\x20iPhone\x20OS\x2015_0\x20like\x20Mac\x20OS\x20X)\x20AppleWebKit/605.1.15\x20(KHTML,\x20like\x20Gecko)\x20CriOS/94.0.4606.76\x20Mobile/15E148\x20Safari/604.1','Mozilla/5.0\x20(Macintosh;\x20Intel\x20Mac\x20OS\x20X\x2010_15_7)\x20AppleWebKit/537.36\x20(KHTML,\x20like\x20Gecko)\x20Chrome/120.0.0.0\x20Safari/537.36','xLWUy','XdWoU','DPSHA','OpVIv','cXFLF','bZCqn','nJFnt','Mozilla/5.0\x20(Linux;\x20Android\x2010;\x20SM-G975F)\x20AppleWebKit/537.36\x20(KHTML,\x20like\x20Gecko)\x20Chrome/91.0.4472.120\x20Mobile\x20Safari/537.36','vMkCK','XPijK','MncFJ','lyfIm','ZnEIO','rqWBb','wrKfY','nwRdS','chat.openai.com','/auth','/new','hinge.co','/signup','/accounts/login','/accounts/signup','https://www.instagram.com/','/direct/','/profile','/account','/k/','/browse','/title','/latest','open.spotify.com','/authorize','/playlist','/track','/artist','/search','https://open.spotify.com/','VOvoI','gKmjW','NGlfF','hCERg','RZbPe','https://chat.openai.com/','/c/','MlVPO','eegYS','kNLwz','nbHpY','https://claude.ai/','eYztJ','mNnsS','x.com/i/grok','YAEja','MdUQT','VYOce','GBOwa','dvhTw','uduLx','irvhq','sMNsD','KEKpQ','NtDvQ','/signin','jllps','Ahrwv','/cart','vsriD','CMGFL','/a/','endsWith','xdJGc','netflix.com','RGgSw','/watch','SWDiW','WWnrO','uVnNK','AOGOK','/collection','eetCK','/album','FlWzq','SLHsE','TgQTe','linkedin.com/in/','linkedin.com/me','quwBP','/challenge','/uas/challenge','/authwall','IJyMv','AqCpI','/uas/login','nIvPX','XbzDW','callback','onairos.uk','CDQHG'];_0x276f=function(){return _0x555bbd;};return _0x276f();}export const isNetflixPlatform=_0x541a97=>{const _0x1b9970={'lIpHT':_0x55ac(0x18)};return _0x541a97[_0x55ac(0x8)]()===_0x1b9970[_0x55ac(0x35)];};export const isSpotifyPlatform=_0x4e6fe8=>{const _0xd9cc6e={'ziUgc':_0x55ac(0x7)};return _0x4e6fe8['toLowerCase']()===_0xd9cc6e[_0x55ac(0x36)];};export const getAppPlatformUrl=_0x5a5e9c=>{const _0xb1d5c7=_0x5a5e9c[_0x55ac(0x8)]();return APP_PLATFORM_URLS[_0xb1d5c7]||null;};export const getPlatformUserAgent=_0x306672=>{const _0x146de8={'mYdKH':'Mozilla/5.0\x20(iPhone;\x20CPU\x20iPhone\x20OS\x2014_4\x20like\x20Mac\x20OS\x20X)\x20AppleWebKit/605.1.15\x20(KHTML,\x20like\x20Gecko)\x20Version/14.0.3\x20Mobile/15E148\x20Safari/604.1','xLWUy':_0x55ac(0x0),'XdWoU':_0x55ac(0x37),'DghIm':_0x55ac(0x1),'DPSHA':_0x55ac(0x2),'OpVIv':_0x55ac(0x3),'cXFLF':_0x55ac(0x38),'bZCqn':'gmail','zugAw':_0x55ac(0x39),'nJFnt':_0x55ac(0x3a),'vMkCK':_0x55ac(0x3b),'XPijK':_0x55ac(0x3c),'MncFJ':_0x55ac(0x5),'lyfIm':'sephora','ZnEIO':_0x55ac(0x2c),'rqWBb':_0x55ac(0x3d),'wrKfY':_0x55ac(0x18),'nwRdS':'spotify'},_0x59ef7f=_0x146de8['mYdKH'];switch(_0x306672[_0x55ac(0x8)]()){case _0x146de8[_0x55ac(0x3e)]:return _0x146de8[_0x55ac(0x3f)];case _0x146de8['DghIm']:case _0x146de8[_0x55ac(0x40)]:return _0x146de8['XdWoU'];case _0x146de8[_0x55ac(0x41)]:case _0x146de8[_0x55ac(0x42)]:return _0x146de8[_0x55ac(0x3f)];case _0x146de8[_0x55ac(0x43)]:case _0x146de8['zugAw']:case _0x146de8[_0x55ac(0x44)]:return _0x55ac(0x45);case'x':case _0x146de8[_0x55ac(0x46)]:case _0x55ac(0x2a):return _0x146de8[_0x55ac(0x47)];case _0x55ac(0x4):return _0x146de8[_0x55ac(0x3f)];case _0x146de8[_0x55ac(0x48)]:return'Mozilla/5.0\x20(iPhone;\x20CPU\x20iPhone\x20OS\x2017_0\x20like\x20Mac\x20OS\x20X)\x20AppleWebKit/605.1.15\x20(KHTML,\x20like\x20Gecko)\x20Version/17.0\x20Mobile/15E148\x20Safari/604.1';case _0x146de8[_0x55ac(0x49)]:return _0x55ac(0x37);case _0x146de8[_0x55ac(0x4a)]:return _0x146de8[_0x55ac(0x4b)];case _0x146de8[_0x55ac(0x4c)]:return _0x55ac(0x37);case _0x146de8[_0x55ac(0x4d)]:return _0x146de8[_0x55ac(0x3f)];default:return _0x59ef7f;}};export const isLoggedInUrl=(_0x1bcf77,_0x5ae670)=>{const _0x23d825={'VOvoI':_0x55ac(0x2),'gKmjW':_0x55ac(0x4e),'NGlfF':_0x55ac(0x4f),'hCERg':'/login','RZbPe':function(_0x17963a,_0x2cc294){return _0x17963a===_0x2cc294;},'eYztJ':'/chat','MlVPO':_0x55ac(0x3),'eegYS':_0x55ac(0x38),'kNLwz':'claude.ai','nbHpY':function(_0x4e3a08,_0x5d390b){return _0x4e3a08===_0x5d390b;},'lktyx':_0x55ac(0x50),'mNnsS':'gemini.google.com','YAEja':_0x55ac(0x4),'MdUQT':_0x55ac(0x51),'VYOce':_0x55ac(0x52),'GBOwa':_0x55ac(0x5),'dvhTw':'instagram.com','uduLx':_0x55ac(0x53),'mCcPC':_0x55ac(0x54),'irvhq':function(_0x1fabc8,_0x20a973){return _0x1fabc8===_0x20a973;},'sMNsD':_0x55ac(0x55),'KEKpQ':_0x55ac(0x56),'NtDvQ':'sephora','JSVWG':'sephora.com','jllps':_0x55ac(0x57),'Ahrwv':_0x55ac(0x58),'vsriD':_0x55ac(0x2c),'OwrYi':'web.telegram.org','CMGFL':_0x55ac(0x59),'xdJGc':'/z/','RGgSw':_0x55ac(0x5a),'SWDiW':_0x55ac(0x5b),'lUptK':'/my-list','WWnrO':_0x55ac(0x5c),'lRlcP':'spotify','uVnNK':_0x55ac(0x5d),'AOGOK':_0x55ac(0x5e),'vcktM':_0x55ac(0x5f),'eetCK':_0x55ac(0x60),'WRwDb':_0x55ac(0x61),'FlWzq':_0x55ac(0x62),'SLHsE':_0x55ac(0x63)},_0x5534e5=_0x5ae670[_0x55ac(0x8)](),_0x4662ec=_0x1bcf77['toLowerCase']();switch(_0x5534e5){case _0x55ac(0x1):case _0x23d825[_0x55ac(0x64)]:return _0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x65)])&&!_0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x66)])&&!_0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x67)])&&(_0x23d825[_0x55ac(0x68)](_0x4662ec,_0x55ac(0x69))||_0x4662ec['includes'](_0x23d825['eYztJ'])||_0x4662ec['includes'](_0x55ac(0x6a)));case _0x23d825[_0x55ac(0x6b)]:case _0x23d825[_0x55ac(0x6c)]:return _0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x6d)])&&!_0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x67)])&&!_0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x66)])&&(_0x23d825[_0x55ac(0x6e)](_0x4662ec,_0x55ac(0x6f))||_0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x70)])||_0x4662ec['includes'](_0x23d825['lktyx']));case _0x55ac(0x3a):return _0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x71)])&&!_0x4662ec[_0x55ac(0x2f)]('/auth')&&!_0x4662ec[_0x55ac(0x2f)]('/signin');case _0x55ac(0x2a):return _0x4662ec[_0x55ac(0x2f)](_0x55ac(0x72))&&!_0x4662ec[_0x55ac(0x2f)](_0x23d825['hCERg']);case _0x23d825[_0x55ac(0x73)]:return _0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x74)])&&!_0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x67)])&&!_0x4662ec['includes'](_0x23d825[_0x55ac(0x66)])&&!_0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x75)]);case _0x23d825[_0x55ac(0x76)]:return _0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x77)])&&!_0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x78)])&&!_0x4662ec[_0x55ac(0x2f)](_0x23d825['mCcPC'])&&(_0x23d825[_0x55ac(0x79)](_0x4662ec,_0x23d825[_0x55ac(0x7a)])||_0x4662ec['includes'](_0x23d825[_0x55ac(0x7b)])||_0x4662ec['includes']('/explore/'));case _0x23d825[_0x55ac(0x7c)]:return _0x4662ec[_0x55ac(0x2f)](_0x23d825['JSVWG'])&&!_0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x67)])&&!_0x4662ec[_0x55ac(0x2f)](_0x55ac(0x7d))&&(_0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x7e)])||_0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x7f)])||_0x4662ec[_0x55ac(0x2f)](_0x55ac(0x80)));case _0x23d825[_0x55ac(0x81)]:return _0x4662ec[_0x55ac(0x2f)](_0x23d825['OwrYi'])&&!_0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x66)])&&(_0x4662ec[_0x55ac(0x2f)]('#')||_0x4662ec['endsWith'](_0x23d825[_0x55ac(0x82)])||_0x4662ec['endsWith'](_0x55ac(0x83))||_0x4662ec[_0x55ac(0x84)](_0x23d825[_0x55ac(0x85)]));case _0x55ac(0x18):return _0x4662ec['includes'](_0x55ac(0x86))&&!_0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x67)])&&!_0x4662ec[_0x55ac(0x2f)](_0x55ac(0x7d))&&(_0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x87)])||_0x4662ec[_0x55ac(0x2f)](_0x55ac(0x88))||_0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x89)])||_0x4662ec[_0x55ac(0x2f)](_0x23d825['lUptK'])||_0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x8a)]));case _0x23d825['lRlcP']:return _0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x8b)])&&!_0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x67)])&&!_0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x8c)])&&(_0x4662ec['includes'](_0x55ac(0x8d))||_0x4662ec[_0x55ac(0x2f)](_0x23d825['vcktM'])||_0x4662ec['includes'](_0x23d825[_0x55ac(0x8e)])||_0x4662ec[_0x55ac(0x2f)](_0x55ac(0x8f))||_0x4662ec[_0x55ac(0x2f)](_0x23d825['WRwDb'])||_0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x90)])||_0x4662ec===_0x23d825[_0x55ac(0x91)]);default:return![];}};export const isLinkedInPlatform=_0x14c096=>{const _0x82cc39={'TgQTe':function(_0x5c4d35,_0x216920){return _0x5c4d35===_0x216920;},'sasDg':_0x55ac(0x0)};return _0x82cc39[_0x55ac(0x92)](_0x14c096[_0x55ac(0x8)](),_0x82cc39['sasDg']);};function _0x55ac(_0x276f0d,_0x55aca7){_0x276f0d=_0x276f0d-0x0;const _0x3ed775=_0x276f();let _0x489081=_0x3ed775[_0x276f0d];return _0x489081;}export const isLinkedInProfilePage=_0x864b7b=>{const _0x1b9a25={'dWRqW':_0x55ac(0x93),'quwBP':_0x55ac(0x94)},_0x43f7c8=_0x864b7b['toLowerCase']();return _0x43f7c8[_0x55ac(0x2f)](_0x1b9a25['dWRqW'])||_0x43f7c8['includes'](_0x1b9a25[_0x55ac(0x95)]);};export const isLinkedInLoginPage=_0x196f8a=>{const _0x2a4e75={'IJyMv':'/login','AqCpI':'/checkpoint','LePBa':_0x55ac(0x96),'nIvPX':_0x55ac(0x97),'XbzDW':_0x55ac(0x98)},_0x5e3b7c=_0x196f8a[_0x55ac(0x8)]();return _0x5e3b7c[_0x55ac(0x2f)](_0x2a4e75[_0x55ac(0x99)])||_0x5e3b7c[_0x55ac(0x2f)](_0x2a4e75[_0x55ac(0x9a)])||_0x5e3b7c['includes'](_0x55ac(0x9b))||_0x5e3b7c['includes'](_0x2a4e75['LePBa'])||_0x5e3b7c[_0x55ac(0x2f)](_0x2a4e75[_0x55ac(0x9c)])||_0x5e3b7c[_0x55ac(0x2f)](_0x2a4e75[_0x55ac(0x9d)]);};export const isLinkedInOAuthCallback=_0x23eb4b=>{const _0x4e2645={'CDQHG':_0x55ac(0x9e)},_0x4a0cd9=_0x23eb4b['toLowerCase']();return _0x4a0cd9[_0x55ac(0x2f)](_0x55ac(0x9f))&&_0x4a0cd9[_0x55ac(0x2f)](_0x4e2645[_0x55ac(0xa0)]);};
|
|
1
|
+
/**
|
|
2
|
+
* WebView Injection Scripts for LLM Platform Integrations
|
|
3
|
+
*
|
|
4
|
+
* This module exports all JavaScript scripts that are injected into WebViews
|
|
5
|
+
* to extract conversation data from LLM platforms (ChatGPT, Claude, etc.)
|
|
6
|
+
* and handle LinkedIn profile URL extraction.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
// ChatGPT Scripts
|
|
10
|
+
export { CHATGPT_CONSENT_POPUP_SCRIPT, CHATGPT_EXPORT_SCRIPT, CHATGPT_SUCCESS_SCRIPT, CHATGPT_ERROR_SCRIPT, CHATGPT_FETCH_MEMORIES_SCRIPT } from './chatgpt';
|
|
11
|
+
|
|
12
|
+
// Claude Scripts
|
|
13
|
+
export { CLAUDE_CONSENT_POPUP_SCRIPT, CLAUDE_EXPORT_SCRIPT, CLAUDE_SUCCESS_SCRIPT, CLAUDE_ERROR_SCRIPT } from './claude';
|
|
14
|
+
|
|
15
|
+
// LinkedIn Scripts
|
|
16
|
+
export { LINKEDIN_APP_BLOCKER_SCRIPT, LINKEDIN_PROFILE_EXTRACTOR_SCRIPT, LINKEDIN_NAVIGATE_TO_PROFILE_SCRIPT, LINKEDIN_PROFILE_CONSENT_POPUP_SCRIPT, LINKEDIN_PROFILE_SCRAPER_SCRIPT, LINKEDIN_PROFILE_SUCCESS_SCRIPT, LINKEDIN_PROFILE_ERROR_SCRIPT } from './linkedin';
|
|
17
|
+
|
|
18
|
+
// Hinge Scripts
|
|
19
|
+
export { HINGE_CONSENT_POPUP_SCRIPT, HINGE_EXPORT_SCRIPT, HINGE_SUCCESS_SCRIPT, HINGE_ERROR_SCRIPT } from './hinge';
|
|
20
|
+
|
|
21
|
+
// Instagram Scripts
|
|
22
|
+
export { INSTAGRAM_CONSENT_POPUP_SCRIPT, INSTAGRAM_EXPORT_SCRIPT, INSTAGRAM_SUCCESS_SCRIPT, INSTAGRAM_ERROR_SCRIPT } from './instagram';
|
|
23
|
+
|
|
24
|
+
// Sephora Scripts
|
|
25
|
+
export { SEPHORA_CONSENT_POPUP_SCRIPT, SEPHORA_EXPORT_SCRIPT, SEPHORA_SUCCESS_SCRIPT, SEPHORA_ERROR_SCRIPT } from './sephora';
|
|
26
|
+
|
|
27
|
+
// Telegram Scripts
|
|
28
|
+
export { TELEGRAM_CONSENT_POPUP_SCRIPT, TELEGRAM_EXPORT_SCRIPT, TELEGRAM_SUCCESS_SCRIPT, TELEGRAM_ERROR_SCRIPT } from './telegram';
|
|
29
|
+
|
|
30
|
+
// Netflix Scripts
|
|
31
|
+
export { NETFLIX_CONSENT_POPUP_SCRIPT, NETFLIX_EXPORT_SCRIPT, NETFLIX_SUCCESS_SCRIPT, NETFLIX_ERROR_SCRIPT } from './netflix';
|
|
32
|
+
|
|
33
|
+
// Spotify Scripts
|
|
34
|
+
export { SPOTIFY_CONSENT_POPUP_SCRIPT, SPOTIFY_EXPORT_SCRIPT, SPOTIFY_SUCCESS_SCRIPT, SPOTIFY_ERROR_SCRIPT } from './spotify';
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Anti-detection script to prevent WebView detection by platforms
|
|
38
|
+
* This helps avoid bot detection and ensures smooth login experience
|
|
39
|
+
*/
|
|
40
|
+
export const ANTI_DETECTION_SCRIPT = `
|
|
41
|
+
(function() {
|
|
42
|
+
// Override webdriver detection
|
|
43
|
+
Object.defineProperty(navigator, 'webdriver', {
|
|
44
|
+
get: () => undefined
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
// Override automation detection
|
|
48
|
+
Object.defineProperty(navigator, 'automationController', {
|
|
49
|
+
get: () => undefined
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
// Ensure proper user agent and platform detection
|
|
53
|
+
Object.defineProperty(navigator, 'platform', {
|
|
54
|
+
get: () => 'iPhone'
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
// Override plugins (empty in real mobile Safari)
|
|
58
|
+
Object.defineProperty(navigator, 'plugins', {
|
|
59
|
+
get: () => []
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
// Override languages
|
|
63
|
+
Object.defineProperty(navigator, 'languages', {
|
|
64
|
+
get: () => ['en-US', 'en']
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
// Remove automation-related properties
|
|
68
|
+
delete window.cdc_adoQpoasnfa76pfcZLmcfl_Array;
|
|
69
|
+
delete window.cdc_adoQpoasnfa76pfcZLmcfl_Promise;
|
|
70
|
+
delete window.cdc_adoQpoasnfa76pfcZLmcfl_Symbol;
|
|
71
|
+
|
|
72
|
+
console.log('🛡️ [ANTI-DETECTION] Script injected successfully');
|
|
73
|
+
})();
|
|
74
|
+
true;
|
|
75
|
+
`;
|
|
76
|
+
|
|
77
|
+
// Import LinkedIn app blocker for use in getAntiDetectionScript
|
|
78
|
+
import { LINKEDIN_APP_BLOCKER_SCRIPT } from './linkedin';
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Get platform-specific anti-detection script
|
|
82
|
+
* Some platforms may need additional overrides
|
|
83
|
+
*/
|
|
84
|
+
export const getAntiDetectionScript = platform => {
|
|
85
|
+
const baseScript = ANTI_DETECTION_SCRIPT;
|
|
86
|
+
switch (platform.toLowerCase()) {
|
|
87
|
+
case 'linkedin':
|
|
88
|
+
// LinkedIn has additional bot detection + app blocker
|
|
89
|
+
return baseScript + `
|
|
90
|
+
(function() {
|
|
91
|
+
// LinkedIn-specific anti-detection
|
|
92
|
+
Object.defineProperty(navigator, 'userAgent', {
|
|
93
|
+
get: () => 'Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1'
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
// Block LinkedIn's tracking scripts
|
|
97
|
+
const originalCreateElement = document.createElement.bind(document);
|
|
98
|
+
document.createElement = function(tagName) {
|
|
99
|
+
const element = originalCreateElement(tagName);
|
|
100
|
+
if (tagName.toLowerCase() === 'script') {
|
|
101
|
+
const originalSetAttribute = element.setAttribute.bind(element);
|
|
102
|
+
element.setAttribute = function(name, value) {
|
|
103
|
+
if (name === 'src' && value && (value.includes('tracking') || value.includes('analytics'))) {
|
|
104
|
+
console.log('🛡️ [LINKEDIN] Blocked tracking script:', value);
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
return originalSetAttribute(name, value);
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
return element;
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
console.log('🛡️ [LINKEDIN] Enhanced anti-detection active');
|
|
114
|
+
})();
|
|
115
|
+
true;
|
|
116
|
+
` + LINKEDIN_APP_BLOCKER_SCRIPT;
|
|
117
|
+
case 'chatgpt':
|
|
118
|
+
case 'openai':
|
|
119
|
+
// ChatGPT/OpenAI specific overrides
|
|
120
|
+
return baseScript + `
|
|
121
|
+
(function() {
|
|
122
|
+
// Ensure ChatGPT sees us as a real mobile browser
|
|
123
|
+
console.log('🛡️ [CHATGPT] Anti-detection enhanced');
|
|
124
|
+
})();
|
|
125
|
+
true;
|
|
126
|
+
`;
|
|
127
|
+
case 'claude':
|
|
128
|
+
case 'anthropic':
|
|
129
|
+
// Claude/Anthropic specific overrides
|
|
130
|
+
return baseScript + `
|
|
131
|
+
(function() {
|
|
132
|
+
// Ensure Claude sees us as a real mobile browser
|
|
133
|
+
console.log('🛡️ [CLAUDE] Anti-detection enhanced');
|
|
134
|
+
})();
|
|
135
|
+
true;
|
|
136
|
+
`;
|
|
137
|
+
case 'hinge':
|
|
138
|
+
// Hinge-specific overrides
|
|
139
|
+
return baseScript + `
|
|
140
|
+
(function() {
|
|
141
|
+
// Hinge anti-detection settings
|
|
142
|
+
console.log('🛡️ [HINGE] Anti-detection enhanced');
|
|
143
|
+
})();
|
|
144
|
+
true;
|
|
145
|
+
`;
|
|
146
|
+
case 'instagram':
|
|
147
|
+
// Instagram-specific overrides
|
|
148
|
+
return baseScript + `
|
|
149
|
+
(function() {
|
|
150
|
+
// Instagram has sophisticated bot detection
|
|
151
|
+
Object.defineProperty(navigator, 'userAgent', {
|
|
152
|
+
get: () => 'Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1'
|
|
153
|
+
});
|
|
154
|
+
console.log('🛡️ [INSTAGRAM] Anti-detection enhanced');
|
|
155
|
+
})();
|
|
156
|
+
true;
|
|
157
|
+
`;
|
|
158
|
+
case 'sephora':
|
|
159
|
+
// Sephora-specific overrides
|
|
160
|
+
return baseScript + `
|
|
161
|
+
(function() {
|
|
162
|
+
// Sephora e-commerce anti-detection
|
|
163
|
+
console.log('🛡️ [SEPHORA] Anti-detection enhanced');
|
|
164
|
+
})();
|
|
165
|
+
true;
|
|
166
|
+
`;
|
|
167
|
+
case 'telegram':
|
|
168
|
+
// Telegram-specific overrides
|
|
169
|
+
return baseScript + `
|
|
170
|
+
(function() {
|
|
171
|
+
// Telegram Web anti-detection
|
|
172
|
+
console.log('🛡️ [TELEGRAM] Anti-detection enhanced');
|
|
173
|
+
})();
|
|
174
|
+
true;
|
|
175
|
+
`;
|
|
176
|
+
case 'netflix':
|
|
177
|
+
// Netflix-specific overrides
|
|
178
|
+
return baseScript + `
|
|
179
|
+
(function() {
|
|
180
|
+
// Netflix anti-detection settings
|
|
181
|
+
Object.defineProperty(navigator, 'userAgent', {
|
|
182
|
+
get: () => 'Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1'
|
|
183
|
+
});
|
|
184
|
+
console.log('🛡️ [NETFLIX] Anti-detection enhanced');
|
|
185
|
+
})();
|
|
186
|
+
true;
|
|
187
|
+
`;
|
|
188
|
+
case 'spotify':
|
|
189
|
+
// Spotify-specific overrides
|
|
190
|
+
return baseScript + `
|
|
191
|
+
(function() {
|
|
192
|
+
// Spotify Web Player anti-detection
|
|
193
|
+
Object.defineProperty(navigator, 'userAgent', {
|
|
194
|
+
get: () => 'Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1'
|
|
195
|
+
});
|
|
196
|
+
console.log('🛡️ [SPOTIFY] Anti-detection enhanced');
|
|
197
|
+
})();
|
|
198
|
+
true;
|
|
199
|
+
`;
|
|
200
|
+
default:
|
|
201
|
+
return baseScript;
|
|
202
|
+
}
|
|
203
|
+
};
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* LLM Platform URLs
|
|
207
|
+
*/
|
|
208
|
+
export const LLM_PLATFORM_URLS = {
|
|
209
|
+
chatgpt: 'https://chat.openai.com',
|
|
210
|
+
openai: 'https://chat.openai.com',
|
|
211
|
+
claude: 'https://claude.ai/login',
|
|
212
|
+
anthropic: 'https://claude.ai/login',
|
|
213
|
+
gemini: 'https://gemini.google.com',
|
|
214
|
+
grok: 'https://x.com/i/grok' // Grok is accessed via X/Twitter
|
|
215
|
+
};
|
|
216
|
+
|
|
217
|
+
/**
|
|
218
|
+
* Social/App Platform URLs (WebView-based extraction)
|
|
219
|
+
*/
|
|
220
|
+
export const APP_PLATFORM_URLS = {
|
|
221
|
+
hinge: 'https://hinge.co',
|
|
222
|
+
// PLACEHOLDER - may need mobile web URL
|
|
223
|
+
instagram: 'https://www.instagram.com',
|
|
224
|
+
sephora: 'https://www.sephora.com',
|
|
225
|
+
telegram: 'https://web.telegram.org/k/',
|
|
226
|
+
// Telegram Web K (most compatible)
|
|
227
|
+
netflix: 'https://www.netflix.com',
|
|
228
|
+
spotify: 'https://open.spotify.com'
|
|
229
|
+
};
|
|
230
|
+
|
|
231
|
+
/**
|
|
232
|
+
* Get the login URL for an LLM platform
|
|
233
|
+
*/
|
|
234
|
+
export const getLLMPlatformUrl = platform => {
|
|
235
|
+
const normalizedPlatform = platform.toLowerCase();
|
|
236
|
+
return LLM_PLATFORM_URLS[normalizedPlatform] || null;
|
|
237
|
+
};
|
|
238
|
+
|
|
239
|
+
/**
|
|
240
|
+
* Check if a platform is an LLM platform
|
|
241
|
+
*/
|
|
242
|
+
export const isLLMPlatform = platform => {
|
|
243
|
+
const llmPlatforms = ['chatgpt', 'openai', 'claude', 'anthropic', 'gemini', 'grok'];
|
|
244
|
+
return llmPlatforms.includes(platform.toLowerCase());
|
|
245
|
+
};
|
|
246
|
+
|
|
247
|
+
/**
|
|
248
|
+
* Check if a platform is a WebView-extraction platform (non-LLM)
|
|
249
|
+
* These platforms use WebView + JS injection for data extraction
|
|
250
|
+
*/
|
|
251
|
+
export const isWebViewExtractionPlatform = platform => {
|
|
252
|
+
const webViewPlatforms = ['hinge', 'instagram', 'sephora', 'telegram', 'netflix', 'spotify'];
|
|
253
|
+
return webViewPlatforms.includes(platform.toLowerCase());
|
|
254
|
+
};
|
|
255
|
+
|
|
256
|
+
/**
|
|
257
|
+
* Check if platform is Telegram
|
|
258
|
+
*/
|
|
259
|
+
export const isTelegramPlatform = platform => {
|
|
260
|
+
return platform.toLowerCase() === 'telegram';
|
|
261
|
+
};
|
|
262
|
+
|
|
263
|
+
/**
|
|
264
|
+
* Check if platform is Hinge
|
|
265
|
+
*/
|
|
266
|
+
export const isHingePlatform = platform => {
|
|
267
|
+
return platform.toLowerCase() === 'hinge';
|
|
268
|
+
};
|
|
269
|
+
|
|
270
|
+
/**
|
|
271
|
+
* Check if platform is Instagram (WebView extraction mode)
|
|
272
|
+
*/
|
|
273
|
+
export const isInstagramPlatform = platform => {
|
|
274
|
+
return platform.toLowerCase() === 'instagram';
|
|
275
|
+
};
|
|
276
|
+
|
|
277
|
+
/**
|
|
278
|
+
* Check if platform is Sephora
|
|
279
|
+
*/
|
|
280
|
+
export const isSephoraPlatform = platform => {
|
|
281
|
+
return platform.toLowerCase() === 'sephora';
|
|
282
|
+
};
|
|
283
|
+
|
|
284
|
+
/**
|
|
285
|
+
* Check if platform is Netflix
|
|
286
|
+
*/
|
|
287
|
+
export const isNetflixPlatform = platform => {
|
|
288
|
+
return platform.toLowerCase() === 'netflix';
|
|
289
|
+
};
|
|
290
|
+
|
|
291
|
+
/**
|
|
292
|
+
* Check if platform is Spotify
|
|
293
|
+
*/
|
|
294
|
+
export const isSpotifyPlatform = platform => {
|
|
295
|
+
return platform.toLowerCase() === 'spotify';
|
|
296
|
+
};
|
|
297
|
+
|
|
298
|
+
/**
|
|
299
|
+
* Get the WebView URL for a platform
|
|
300
|
+
*/
|
|
301
|
+
export const getAppPlatformUrl = platform => {
|
|
302
|
+
const normalizedPlatform = platform.toLowerCase();
|
|
303
|
+
return APP_PLATFORM_URLS[normalizedPlatform] || null;
|
|
304
|
+
};
|
|
305
|
+
|
|
306
|
+
/**
|
|
307
|
+
* Get platform-specific user agent for optimal experience
|
|
308
|
+
* Different platforms may require different user agents for proper rendering
|
|
309
|
+
*/
|
|
310
|
+
export const getPlatformUserAgent = platform => {
|
|
311
|
+
const defaultUA = "Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Mobile/15E148 Safari/604.1";
|
|
312
|
+
switch (platform.toLowerCase()) {
|
|
313
|
+
case 'linkedin':
|
|
314
|
+
// LinkedIn-optimized user agent - iOS Safari
|
|
315
|
+
return "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1";
|
|
316
|
+
case 'chatgpt':
|
|
317
|
+
case 'openai':
|
|
318
|
+
// ChatGPT-optimized user agent
|
|
319
|
+
return "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1";
|
|
320
|
+
case 'claude':
|
|
321
|
+
case 'anthropic':
|
|
322
|
+
// Claude-optimized user agent
|
|
323
|
+
return "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1";
|
|
324
|
+
case 'gmail':
|
|
325
|
+
case 'google':
|
|
326
|
+
case 'gemini':
|
|
327
|
+
// Chrome user agent for Google services
|
|
328
|
+
return "Mozilla/5.0 (Linux; Android 10; SM-G975F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.120 Mobile Safari/537.36";
|
|
329
|
+
case 'x':
|
|
330
|
+
case 'twitter':
|
|
331
|
+
case 'grok':
|
|
332
|
+
// Standard mobile Chrome for X/Twitter/Grok
|
|
333
|
+
return "Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/94.0.4606.76 Mobile/15E148 Safari/604.1";
|
|
334
|
+
case 'hinge':
|
|
335
|
+
// Hinge mobile web user agent
|
|
336
|
+
return "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1";
|
|
337
|
+
case 'instagram':
|
|
338
|
+
// Instagram mobile web user agent
|
|
339
|
+
return "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1";
|
|
340
|
+
case 'sephora':
|
|
341
|
+
// Sephora mobile web user agent
|
|
342
|
+
return "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1";
|
|
343
|
+
case 'telegram':
|
|
344
|
+
// Telegram Web user agent (desktop Chrome works better)
|
|
345
|
+
return "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36";
|
|
346
|
+
case 'netflix':
|
|
347
|
+
// Netflix mobile web user agent
|
|
348
|
+
return "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1";
|
|
349
|
+
case 'spotify':
|
|
350
|
+
// Spotify Web Player user agent
|
|
351
|
+
return "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1";
|
|
352
|
+
default:
|
|
353
|
+
return defaultUA;
|
|
354
|
+
}
|
|
355
|
+
};
|
|
356
|
+
|
|
357
|
+
/**
|
|
358
|
+
* Check if URL indicates successful login for a platform
|
|
359
|
+
*/
|
|
360
|
+
export const isLoggedInUrl = (url, platform) => {
|
|
361
|
+
const normalizedPlatform = platform.toLowerCase();
|
|
362
|
+
const normalizedUrl = url.toLowerCase();
|
|
363
|
+
switch (normalizedPlatform) {
|
|
364
|
+
case 'chatgpt':
|
|
365
|
+
case 'openai':
|
|
366
|
+
// After login, ChatGPT redirects to the main chat page
|
|
367
|
+
return normalizedUrl.includes('chat.openai.com') && !normalizedUrl.includes('/auth') && !normalizedUrl.includes('/login') && (normalizedUrl === 'https://chat.openai.com/' || normalizedUrl.includes('/chat') || normalizedUrl.includes('/c/'));
|
|
368
|
+
case 'claude':
|
|
369
|
+
case 'anthropic':
|
|
370
|
+
// After login, Claude redirects to the main page or a chat
|
|
371
|
+
return normalizedUrl.includes('claude.ai') && !normalizedUrl.includes('/login') && !normalizedUrl.includes('/auth') && (normalizedUrl === 'https://claude.ai/' || normalizedUrl.includes('/chat') || normalizedUrl.includes('/new'));
|
|
372
|
+
case 'gemini':
|
|
373
|
+
// After login, Gemini redirects to the main app
|
|
374
|
+
return normalizedUrl.includes('gemini.google.com') && !normalizedUrl.includes('/auth') && !normalizedUrl.includes('/signin');
|
|
375
|
+
case 'grok':
|
|
376
|
+
// After login on X, Grok is accessible
|
|
377
|
+
return normalizedUrl.includes('x.com/i/grok') && !normalizedUrl.includes('/login');
|
|
378
|
+
case 'hinge':
|
|
379
|
+
// Hinge logged in detection
|
|
380
|
+
return normalizedUrl.includes('hinge.co') && !normalizedUrl.includes('/login') && !normalizedUrl.includes('/auth') && !normalizedUrl.includes('/signup');
|
|
381
|
+
case 'instagram':
|
|
382
|
+
// Instagram logged in detection
|
|
383
|
+
return normalizedUrl.includes('instagram.com') && !normalizedUrl.includes('/accounts/login') && !normalizedUrl.includes('/accounts/signup') && (normalizedUrl === 'https://www.instagram.com/' || normalizedUrl.includes('/direct/') || normalizedUrl.includes('/explore/'));
|
|
384
|
+
case 'sephora':
|
|
385
|
+
// Sephora logged in detection
|
|
386
|
+
return normalizedUrl.includes('sephora.com') && !normalizedUrl.includes('/login') && !normalizedUrl.includes('/signin') && (normalizedUrl.includes('/profile') || normalizedUrl.includes('/account') || normalizedUrl.includes('/cart'));
|
|
387
|
+
case 'telegram':
|
|
388
|
+
// Telegram Web logged in detection
|
|
389
|
+
// When logged in, URL changes from /k/ auth to /k/#chats or similar
|
|
390
|
+
return normalizedUrl.includes('web.telegram.org') && !normalizedUrl.includes('/auth') && (normalizedUrl.includes('#') ||
|
|
391
|
+
// Has hash fragment (indicates loaded app)
|
|
392
|
+
normalizedUrl.endsWith('/k/') || normalizedUrl.endsWith('/a/') || normalizedUrl.endsWith('/z/'));
|
|
393
|
+
case 'netflix':
|
|
394
|
+
// Netflix logged in detection
|
|
395
|
+
return normalizedUrl.includes('netflix.com') && !normalizedUrl.includes('/login') && !normalizedUrl.includes('/signin') && (normalizedUrl.includes('/browse') || normalizedUrl.includes('/watch') || normalizedUrl.includes('/title') || normalizedUrl.includes('/my-list') || normalizedUrl.includes('/latest'));
|
|
396
|
+
case 'spotify':
|
|
397
|
+
// Spotify Web Player logged in detection
|
|
398
|
+
return normalizedUrl.includes('open.spotify.com') && !normalizedUrl.includes('/login') && !normalizedUrl.includes('/authorize') && (normalizedUrl.includes('/collection') || normalizedUrl.includes('/playlist') || normalizedUrl.includes('/track') || normalizedUrl.includes('/album') || normalizedUrl.includes('/artist') || normalizedUrl.includes('/search') || normalizedUrl === 'https://open.spotify.com/');
|
|
399
|
+
default:
|
|
400
|
+
return false;
|
|
401
|
+
}
|
|
402
|
+
};
|
|
403
|
+
|
|
404
|
+
/**
|
|
405
|
+
* Check if a platform is LinkedIn
|
|
406
|
+
*/
|
|
407
|
+
export const isLinkedInPlatform = platform => {
|
|
408
|
+
return platform.toLowerCase() === 'linkedin';
|
|
409
|
+
};
|
|
410
|
+
|
|
411
|
+
/**
|
|
412
|
+
* Check if URL is a LinkedIn profile page
|
|
413
|
+
*/
|
|
414
|
+
export const isLinkedInProfilePage = url => {
|
|
415
|
+
const normalizedUrl = url.toLowerCase();
|
|
416
|
+
return normalizedUrl.includes('linkedin.com/in/') || normalizedUrl.includes('linkedin.com/me');
|
|
417
|
+
};
|
|
418
|
+
|
|
419
|
+
/**
|
|
420
|
+
* Check if URL is a LinkedIn login/auth page
|
|
421
|
+
*/
|
|
422
|
+
export const isLinkedInLoginPage = url => {
|
|
423
|
+
const normalizedUrl = url.toLowerCase();
|
|
424
|
+
return normalizedUrl.includes('/login') || normalizedUrl.includes('/checkpoint') || normalizedUrl.includes('/uas/login') || normalizedUrl.includes('/challenge') || normalizedUrl.includes('/uas/challenge') || normalizedUrl.includes('/authwall');
|
|
425
|
+
};
|
|
426
|
+
|
|
427
|
+
/**
|
|
428
|
+
* Check if URL is a LinkedIn OAuth callback
|
|
429
|
+
*/
|
|
430
|
+
export const isLinkedInOAuthCallback = url => {
|
|
431
|
+
const normalizedUrl = url.toLowerCase();
|
|
432
|
+
return normalizedUrl.includes('onairos.uk') && normalizedUrl.includes('callback');
|
|
433
|
+
};
|
|
434
|
+
//# sourceMappingURL=index.js.map
|