@onairos/react-native 3.7.1 → 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/assets/icons/spotify.png +0 -0
- package/lib/commonjs/assets/images/spotify.png +0 -0
- 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/assets/icons/spotify.png +0 -0
- package/lib/module/assets/images/spotify.png +0 -0
- 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=_0x1df1(0x0);function _0x1df1(_0x4c7f0f,_0x1df1a0){_0x4c7f0f=_0x4c7f0f-0x0;const _0xe180cd=_0x4c7f();let _0x3723f1=_0xe180cd[_0x4c7f0f];return _0x3723f1;}import{LINKEDIN_APP_BLOCKER_SCRIPT}from'./linkedin';function _0x4c7f(){const _0xeea089=['\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','linkedin','chatgpt','openai','netflix','spotify','yctLk','\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','TaOVZ','kymBy','\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','UYCRs','Fdwnc','\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','hinge','\x0a(function()\x20{\x0a\x20\x20//\x20Hinge\x20anti-detection\x20settings\x0a\x20\x20console.log(\x27🛡️\x20[HINGE]\x20Anti-detection\x20enhanced\x27);\x0a})();\x0atrue;\x0a','instagram','sephora','telegram','\x0a(function()\x20{\x0a\x20\x20//\x20Telegram\x20Web\x20anti-detection\x0a\x20\x20console.log(\x27🛡️\x20[TELEGRAM]\x20Anti-detection\x20enhanced\x27);\x0a})();\x0atrue;\x0a','slncG','\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','sgMnc','\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://gemini.google.com','https://x.com/i/grok','https://hinge.co','https://www.sephora.com','https://www.netflix.com','https://open.spotify.com','toLowerCase','gemini','grok','oAFFj','ccCSS','mchMK','rVbGB','wrnvF','includes','NShXv','KiGzl','izFCg','hhyoS','Tgpcc','lOHQv','pgeCE','Qtstf','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','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','claude','gmail','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','cCWxW','ywHpq','YbMlL','zNyvv','oRBFv','tbWEF','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','llPRX','ESlEh','eadKJ','oXJrg','jOTpV','lBIRy','chat.openai.com','/auth','/login','/chat','claude.ai','/new','gemini.google.com','/signin','/signup','instagram.com','https://www.instagram.com/','/direct/','sephora.com','/profile','/account','/cart','/k/','/z/','/browse','/watch','open.spotify.com','/authorize','/collection','/playlist','https://open.spotify.com/','PKZIi','veaGl','wevrU','svbnI','DmFJK','/c/','FiKoH','anthropic','exMlv','zvhoE','czIAv','lfzHT','ALxJR','UIHlK','YVJfq','hYRkJ','cIurd','paNYO','NNCoS','/accounts/signup','ZBdgv','LzAOH','uiVoi','KduyX','CdhWc','bLaEC','FevAi','endsWith','BCHMo','/a/','fhWOq','SLNBq','netflix.com','naJtY','/my-list','LUnjg','HSZHD','auFHK','QaRrm','HKBWY','/track','pyqCO','/artist','SUpuV','wWAng','gvcGY','RlaqC','linkedin.com/in/','linkedin.com/me','yglXN','LXMmy','/checkpoint','/challenge','speOX','/uas/login','HDkCy','vORkz','/authwall','onairos.uk','callback','BLPzD','AgIAn'];_0x4c7f=function(){return _0xeea089;};return _0x4c7f();}export const getAntiDetectionScript=_0x331aa1=>{const _0x3b0e16={'SGHhh':_0x1df1(0x1),'yctLk':function(_0x19f312,_0x395345){return _0x19f312+_0x395345;},'TaOVZ':_0x1df1(0x2),'kymBy':_0x1df1(0x3),'UYCRs':'anthropic','Fdwnc':function(_0x54c581,_0xccce9c){return _0x54c581+_0xccce9c;},'slncG':_0x1df1(0x4),'VyGiO':function(_0x1dee82,_0x59ba33){return _0x1dee82+_0x59ba33;},'sgMnc':_0x1df1(0x5)},_0x4fe260=ANTI_DETECTION_SCRIPT;switch(_0x331aa1['toLowerCase']()){case _0x3b0e16['SGHhh']:return _0x3b0e16['yctLk'](_0x3b0e16[_0x1df1(0x6)](_0x4fe260,_0x1df1(0x7)),LINKEDIN_APP_BLOCKER_SCRIPT);case _0x3b0e16[_0x1df1(0x8)]:case _0x3b0e16[_0x1df1(0x9)]:return _0x4fe260+_0x1df1(0xa);case'claude':case _0x3b0e16[_0x1df1(0xb)]:return _0x3b0e16[_0x1df1(0xc)](_0x4fe260,_0x1df1(0xd));case _0x1df1(0xe):return _0x3b0e16['Fdwnc'](_0x4fe260,_0x1df1(0xf));case _0x1df1(0x10):return _0x3b0e16['Fdwnc'](_0x4fe260,'\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 _0x1df1(0x11):return _0x4fe260+'\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';case _0x1df1(0x12):return _0x4fe260+_0x1df1(0x13);case _0x3b0e16[_0x1df1(0x14)]:return _0x3b0e16['VyGiO'](_0x4fe260,_0x1df1(0x15));case _0x3b0e16[_0x1df1(0x16)]:return _0x3b0e16[_0x1df1(0xc)](_0x4fe260,_0x1df1(0x17));default:return _0x4fe260;}};export const LLM_PLATFORM_URLS={'chatgpt':_0x1df1(0x18),'openai':_0x1df1(0x18),'claude':_0x1df1(0x19),'anthropic':'https://claude.ai/login','gemini':_0x1df1(0x1a),'grok':_0x1df1(0x1b)};export const APP_PLATFORM_URLS={'hinge':_0x1df1(0x1c),'instagram':'https://www.instagram.com','sephora':_0x1df1(0x1d),'telegram':'https://web.telegram.org/k/','netflix':_0x1df1(0x1e),'spotify':_0x1df1(0x1f)};export const getLLMPlatformUrl=_0x355775=>{const _0x22cd13=_0x355775[_0x1df1(0x20)]();return LLM_PLATFORM_URLS[_0x22cd13]||null;};export const isLLMPlatform=_0x37512e=>{const _0x40fd33={'oAFFj':_0x1df1(0x2),'ccCSS':'claude','mchMK':'anthropic','rVbGB':_0x1df1(0x21),'wrnvF':_0x1df1(0x22)},_0x3c562c=[_0x40fd33[_0x1df1(0x23)],_0x1df1(0x3),_0x40fd33[_0x1df1(0x24)],_0x40fd33[_0x1df1(0x25)],_0x40fd33[_0x1df1(0x26)],_0x40fd33[_0x1df1(0x27)]];return _0x3c562c[_0x1df1(0x28)](_0x37512e[_0x1df1(0x20)]());};export const isWebViewExtractionPlatform=_0x27e8f7=>{const _0x2fd149={'NShXv':_0x1df1(0xe),'EOuqQ':'netflix','KiGzl':_0x1df1(0x5)},_0x1fe44b=[_0x2fd149[_0x1df1(0x29)],_0x1df1(0x10),_0x1df1(0x11),_0x1df1(0x12),_0x2fd149['EOuqQ'],_0x2fd149[_0x1df1(0x2a)]];return _0x1fe44b['includes'](_0x27e8f7[_0x1df1(0x20)]());};export const isTelegramPlatform=_0x2d3379=>{const _0x1e3a7={'zrkFX':function(_0x52917d,_0x525f85){return _0x52917d===_0x525f85;},'izFCg':_0x1df1(0x12)};return _0x1e3a7['zrkFX'](_0x2d3379[_0x1df1(0x20)](),_0x1e3a7[_0x1df1(0x2b)]);};export const isHingePlatform=_0x77a89=>{const _0x1b17c5={'hhyoS':function(_0xe0da45,_0x5f5521){return _0xe0da45===_0x5f5521;},'etLFe':'hinge'};return _0x1b17c5[_0x1df1(0x2c)](_0x77a89[_0x1df1(0x20)](),_0x1b17c5['etLFe']);};export const isInstagramPlatform=_0x2198d9=>{const _0x26bf6b={'Tgpcc':function(_0x67e0a0,_0x28566b){return _0x67e0a0===_0x28566b;},'lOHQv':_0x1df1(0x10)};return _0x26bf6b[_0x1df1(0x2d)](_0x2198d9['toLowerCase'](),_0x26bf6b[_0x1df1(0x2e)]);};export const isSephoraPlatform=_0x3614b9=>{return _0x3614b9[_0x1df1(0x20)]()===_0x1df1(0x11);};export const isNetflixPlatform=_0xed9802=>{const _0x522d22={'pgeCE':function(_0x125f3e,_0x2826bc){return _0x125f3e===_0x2826bc;}};return _0x522d22[_0x1df1(0x2f)](_0xed9802[_0x1df1(0x20)](),'netflix');};export const isSpotifyPlatform=_0x17e15d=>{const _0x1a6492={'Qtstf':'spotify'};return _0x17e15d[_0x1df1(0x20)]()===_0x1a6492[_0x1df1(0x30)];};export const getAppPlatformUrl=_0x187c13=>{const _0x4d80f2=_0x187c13[_0x1df1(0x20)]();return APP_PLATFORM_URLS[_0x4d80f2]||null;};export const getPlatformUserAgent=_0x2170e6=>{const _0x10dde6={'cCWxW':_0x1df1(0x31),'ywHpq':_0x1df1(0x32),'YbMlL':_0x1df1(0x3),'QHdEE':_0x1df1(0x33),'zNyvv':'anthropic','Cgsuz':_0x1df1(0x34),'oRBFv':'google','tbWEF':_0x1df1(0x21),'llPRX':'twitter','ESlEh':_0x1df1(0x22),'XDKGn':_0x1df1(0x35),'eadKJ':_0x1df1(0xe),'oXJrg':'instagram','jOTpV':'sephora','lBIRy':_0x1df1(0x12),'JxlIs':_0x1df1(0x36),'YmlKO':'netflix'},_0xcd6983=_0x10dde6[_0x1df1(0x37)];switch(_0x2170e6[_0x1df1(0x20)]()){case _0x1df1(0x1):return _0x10dde6[_0x1df1(0x38)];case'chatgpt':case _0x10dde6[_0x1df1(0x39)]: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 _0x10dde6['QHdEE']:case _0x10dde6[_0x1df1(0x3a)]:return _0x10dde6[_0x1df1(0x38)];case _0x10dde6['Cgsuz']:case _0x10dde6[_0x1df1(0x3b)]:case _0x10dde6[_0x1df1(0x3c)]:return _0x1df1(0x3d);case'x':case _0x10dde6[_0x1df1(0x3e)]:case _0x10dde6[_0x1df1(0x3f)]:return _0x10dde6['XDKGn'];case _0x10dde6[_0x1df1(0x40)]:return _0x10dde6[_0x1df1(0x38)];case _0x10dde6[_0x1df1(0x41)]:return _0x10dde6['ywHpq'];case _0x10dde6[_0x1df1(0x42)]:return _0x10dde6[_0x1df1(0x38)];case _0x10dde6[_0x1df1(0x43)]:return _0x10dde6['JxlIs'];case _0x10dde6['YmlKO']:return _0x10dde6['ywHpq'];case _0x1df1(0x5):return _0x10dde6['ywHpq'];default:return _0xcd6983;}};export const isLoggedInUrl=(_0x394bc1,_0x299f8a)=>{const _0x20008b={'PKZIi':_0x1df1(0x2),'veaGl':_0x1df1(0x3),'wevrU':_0x1df1(0x44),'zvhoE':_0x1df1(0x45),'UIXOj':_0x1df1(0x46),'svbnI':function(_0x42f647,_0x48a440){return _0x42f647===_0x48a440;},'DmFJK':_0x1df1(0x47),'FiKoH':_0x1df1(0x33),'exMlv':_0x1df1(0x48),'czIAv':function(_0x2dc804,_0x243ce4){return _0x2dc804===_0x243ce4;},'lfzHT':_0x1df1(0x49),'ALxJR':_0x1df1(0x21),'UIHlK':_0x1df1(0x4a),'YVJfq':_0x1df1(0x4b),'hYRkJ':'x.com/i/grok','yEBnw':_0x1df1(0xe),'cIurd':_0x1df1(0x4c),'paNYO':_0x1df1(0x4d),'NNCoS':'/accounts/login','bwsVn':_0x1df1(0x4e),'vklHM':_0x1df1(0x4f),'ZBdgv':'/explore/','LzAOH':_0x1df1(0x11),'uiVoi':_0x1df1(0x50),'opcZB':_0x1df1(0x51),'KduyX':_0x1df1(0x52),'CdhWc':_0x1df1(0x53),'bLaEC':'telegram','FevAi':'web.telegram.org','BCHMo':_0x1df1(0x54),'fhWOq':_0x1df1(0x55),'SLNBq':_0x1df1(0x4),'PQjoe':_0x1df1(0x56),'naJtY':_0x1df1(0x57),'LUnjg':'/latest','HSZHD':_0x1df1(0x5),'auFHK':_0x1df1(0x58),'bHzaw':_0x1df1(0x59),'QaRrm':_0x1df1(0x5a),'HKBWY':_0x1df1(0x5b),'pyqCO':'/album','SUpuV':'/search','wWAng':function(_0x1a83a4,_0xdd1862){return _0x1a83a4===_0xdd1862;},'OQbBg':_0x1df1(0x5c)},_0x5a5441=_0x299f8a[_0x1df1(0x20)](),_0x10e931=_0x394bc1[_0x1df1(0x20)]();switch(_0x5a5441){case _0x20008b[_0x1df1(0x5d)]:case _0x20008b[_0x1df1(0x5e)]:return _0x10e931[_0x1df1(0x28)](_0x20008b[_0x1df1(0x5f)])&&!_0x10e931[_0x1df1(0x28)](_0x20008b['zvhoE'])&&!_0x10e931['includes'](_0x20008b['UIXOj'])&&(_0x20008b[_0x1df1(0x60)](_0x10e931,'https://chat.openai.com/')||_0x10e931[_0x1df1(0x28)](_0x20008b[_0x1df1(0x61)])||_0x10e931[_0x1df1(0x28)](_0x1df1(0x62)));case _0x20008b[_0x1df1(0x63)]:case _0x1df1(0x64):return _0x10e931[_0x1df1(0x28)](_0x20008b[_0x1df1(0x65)])&&!_0x10e931[_0x1df1(0x28)](_0x20008b['UIXOj'])&&!_0x10e931[_0x1df1(0x28)](_0x20008b[_0x1df1(0x66)])&&(_0x20008b[_0x1df1(0x67)](_0x10e931,'https://claude.ai/')||_0x10e931[_0x1df1(0x28)](_0x20008b[_0x1df1(0x61)])||_0x10e931['includes'](_0x20008b[_0x1df1(0x68)]));case _0x20008b[_0x1df1(0x69)]:return _0x10e931[_0x1df1(0x28)](_0x20008b[_0x1df1(0x6a)])&&!_0x10e931[_0x1df1(0x28)](_0x20008b[_0x1df1(0x66)])&&!_0x10e931[_0x1df1(0x28)](_0x20008b[_0x1df1(0x6b)]);case _0x1df1(0x22):return _0x10e931[_0x1df1(0x28)](_0x20008b[_0x1df1(0x6c)])&&!_0x10e931[_0x1df1(0x28)]('/login');case _0x20008b['yEBnw']:return _0x10e931[_0x1df1(0x28)]('hinge.co')&&!_0x10e931[_0x1df1(0x28)]('/login')&&!_0x10e931[_0x1df1(0x28)](_0x20008b[_0x1df1(0x66)])&&!_0x10e931[_0x1df1(0x28)](_0x20008b[_0x1df1(0x6d)]);case'instagram':return _0x10e931['includes'](_0x20008b[_0x1df1(0x6e)])&&!_0x10e931['includes'](_0x20008b[_0x1df1(0x6f)])&&!_0x10e931[_0x1df1(0x28)](_0x1df1(0x70))&&(_0x10e931===_0x20008b['bwsVn']||_0x10e931[_0x1df1(0x28)](_0x20008b['vklHM'])||_0x10e931['includes'](_0x20008b[_0x1df1(0x71)]));case _0x20008b[_0x1df1(0x72)]:return _0x10e931[_0x1df1(0x28)](_0x20008b[_0x1df1(0x73)])&&!_0x10e931[_0x1df1(0x28)](_0x20008b['UIXOj'])&&!_0x10e931['includes'](_0x1df1(0x4b))&&(_0x10e931[_0x1df1(0x28)](_0x20008b['opcZB'])||_0x10e931[_0x1df1(0x28)](_0x20008b[_0x1df1(0x74)])||_0x10e931[_0x1df1(0x28)](_0x20008b[_0x1df1(0x75)]));case _0x20008b[_0x1df1(0x76)]:return _0x10e931[_0x1df1(0x28)](_0x20008b[_0x1df1(0x77)])&&!_0x10e931[_0x1df1(0x28)](_0x20008b[_0x1df1(0x66)])&&(_0x10e931['includes']('#')||_0x10e931[_0x1df1(0x78)](_0x20008b[_0x1df1(0x79)])||_0x10e931[_0x1df1(0x78)](_0x1df1(0x7a))||_0x10e931[_0x1df1(0x78)](_0x20008b[_0x1df1(0x7b)]));case _0x20008b[_0x1df1(0x7c)]:return _0x10e931[_0x1df1(0x28)](_0x1df1(0x7d))&&!_0x10e931[_0x1df1(0x28)](_0x20008b['UIXOj'])&&!_0x10e931[_0x1df1(0x28)](_0x20008b[_0x1df1(0x6b)])&&(_0x10e931[_0x1df1(0x28)](_0x20008b['PQjoe'])||_0x10e931['includes'](_0x20008b[_0x1df1(0x7e)])||_0x10e931['includes']('/title')||_0x10e931['includes'](_0x1df1(0x7f))||_0x10e931[_0x1df1(0x28)](_0x20008b[_0x1df1(0x80)]));case _0x20008b[_0x1df1(0x81)]:return _0x10e931[_0x1df1(0x28)](_0x20008b[_0x1df1(0x82)])&&!_0x10e931[_0x1df1(0x28)]('/login')&&!_0x10e931[_0x1df1(0x28)](_0x20008b['bHzaw'])&&(_0x10e931[_0x1df1(0x28)](_0x20008b[_0x1df1(0x83)])||_0x10e931['includes'](_0x20008b[_0x1df1(0x84)])||_0x10e931[_0x1df1(0x28)](_0x1df1(0x85))||_0x10e931[_0x1df1(0x28)](_0x20008b[_0x1df1(0x86)])||_0x10e931[_0x1df1(0x28)](_0x1df1(0x87))||_0x10e931[_0x1df1(0x28)](_0x20008b[_0x1df1(0x88)])||_0x20008b[_0x1df1(0x89)](_0x10e931,_0x20008b['OQbBg']));default:return![];}};export const isLinkedInPlatform=_0x195d84=>{const _0x271dc8={'gvcGY':function(_0x3ce342,_0x3252c4){return _0x3ce342===_0x3252c4;},'RlaqC':_0x1df1(0x1)};return _0x271dc8[_0x1df1(0x8a)](_0x195d84['toLowerCase'](),_0x271dc8[_0x1df1(0x8b)]);};export const isLinkedInProfilePage=_0x4ffd6e=>{const _0x3f555d={'yglXN':_0x1df1(0x8c),'LXMmy':_0x1df1(0x8d)},_0x55969a=_0x4ffd6e[_0x1df1(0x20)]();return _0x55969a[_0x1df1(0x28)](_0x3f555d[_0x1df1(0x8e)])||_0x55969a['includes'](_0x3f555d[_0x1df1(0x8f)]);};export const isLinkedInLoginPage=_0x675daa=>{const _0x1d88f3={'ZdYeP':_0x1df1(0x46),'speOX':_0x1df1(0x90),'HDkCy':_0x1df1(0x91),'vORkz':'/uas/challenge'},_0x22e03d=_0x675daa[_0x1df1(0x20)]();return _0x22e03d[_0x1df1(0x28)](_0x1d88f3['ZdYeP'])||_0x22e03d['includes'](_0x1d88f3[_0x1df1(0x92)])||_0x22e03d['includes'](_0x1df1(0x93))||_0x22e03d['includes'](_0x1d88f3[_0x1df1(0x94)])||_0x22e03d['includes'](_0x1d88f3[_0x1df1(0x95)])||_0x22e03d[_0x1df1(0x28)](_0x1df1(0x96));};export const isLinkedInOAuthCallback=_0x417a2d=>{const _0x401994={'BLPzD':_0x1df1(0x97),'AgIAn':_0x1df1(0x98)},_0x492b3b=_0x417a2d['toLowerCase']();return _0x492b3b[_0x1df1(0x28)](_0x401994[_0x1df1(0x99)])&&_0x492b3b[_0x1df1(0x28)](_0x401994[_0x1df1(0x9a)]);};
|
|
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
|