diff --git a/src/pages/Popup/UserAgentPage.tsx b/src/pages/Popup/UserAgentPage.tsx index 4c86a92..53401e8 100644 --- a/src/pages/Popup/UserAgentPage.tsx +++ b/src/pages/Popup/UserAgentPage.tsx @@ -6,33 +6,57 @@ import UserAgentSelect from './UserAgentSelect' const LocationPage = () => { const [type, setType] = useState('desktop') - const [operatingSystem, setOperatingSystem] = useState('linux') - const [browser, setBrowser] = useState('') + const [operatingSystem, setOperatingSystem] = useState('Windows') + const [browser, setBrowser] = useState('Chrome') const [userAgent, setUserAgent] = useState('') useEffect(() => { - chrome.storage.sync.get(['type', 'userAgent'], (result) => { - result.type && setType(result.type) - result.userAgent && setUserAgent(result.userAgent) - }) + chrome.storage.sync.get( + ['type', 'operatingSystem', 'browser', 'userAgent'], + (result) => { + result.type && setType(result.type) + result.operatingSystem && setOperatingSystem(result.operatingSystem) + result.browser && setBrowser(result.browser) + result.userAgent && setUserAgent(result.userAgent) + } + ) }, []) + useEffect(() => { + detachDebugger() + chrome.storage.sync.set({ userAgent }) + }, [userAgent]) + + useEffect(() => { + type !== 'custom' && + setUserAgent(userAgents[type][operatingSystem][browser]) + }, [operatingSystem, browser, type]) + const changeType = (e: any) => { + if (e.target.value === 'mobile') { + setOperatingSystem('Android') + } else if (e.target.value === 'desktop') { + setOperatingSystem('Windows') + } detachDebugger() chrome.storage.sync.set({ type: e.target.value }) setType(e.target.value) } const changeOperatingSystem = (e: any) => { - // detachDebugger() - // chrome.storage.sync.set({ userAgent: e.target.value }) - // chrome.storage.sync.set({ type: 'custom' }) - // setUserAgent(e.target.value) - // setType('custom') + console.log(e.target.value) + chrome.storage.sync.set({ operatingSystem: e.target.value }) + setOperatingSystem(e.target.value) + } + + const changeBrowser = (e: any) => { + chrome.storage.sync.set({ browser: e.target.value }) + setBrowser(e.target.value) } const changeUserAgent = (e: any) => { detachDebugger() + console.log(e.target.value) chrome.storage.sync.set({ userAgent: e.target.value }) chrome.storage.sync.set({ type: 'custom' }) setUserAgent(e.target.value) @@ -96,8 +120,8 @@ const LocationPage = () => { - {/* - */} )} diff --git a/src/utils/userAgents.ts b/src/utils/userAgents.ts index 5df8841..9ba0c8d 100644 --- a/src/utils/userAgents.ts +++ b/src/utils/userAgents.ts @@ -1,56 +1,56 @@ const userAgents: any = { desktop: { - windows: { - chrome: + Windows: { + Chrome: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36', - edge: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36 Edg/103.0.1264.62', - firefox: + Edge: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36 Edg/103.0.1264.62', + Firefox: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0', - brave: + Brave: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Brave Chrome/83.0.4103.116 Safari/537.36', }, - mac: { - safari: + Mac: { + Safari: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 12_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Safari/605.1.15', - chrome: + Chrome: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36', - edge: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36 Edg/103.0.1264.62', - firefox: + Edge: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36 Edg/103.0.1264.62', + Firefox: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 12.4; rv:102.0) Gecko/20100101 Firefox/102.0', - brave: + Brave: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Brave Chrome/83.0.4103.116 Safari/537.36', }, - linux: { - chrome: + Linux: { + Chrome: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36', - edge: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36 Edg/100.0.1185.44', - firefox: + Edge: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36 Edg/100.0.1185.44', + Firefox: 'Mozilla/5.0 (X11; Linux i686; rv:102.0) Gecko/20100101 Firefox/102.0', - brave: + Brave: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Brave Chrome/80.0.3987.99 Safari/537.36', }, }, mobile: { - android: { - samsung: + Android: { + Samsung: 'Mozilla/5.0 (Linux; Android 12; SAMSUNG SM-G991B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/16.0 Chrome/92.0.4515.166 Mobile Safari/537.36', - chrome: + Chrome: 'Mozilla/5.0 (Linux; Android 10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.71 Mobile Safari/537.36', - edge: 'Mozilla/5.0 (Linux; Android 10; HD1913) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.71 Mobile Safari/537.36 EdgA/100.0.1185.50', - firefox: + Edge: 'Mozilla/5.0 (Linux; Android 10; HD1913) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.71 Mobile Safari/537.36 EdgA/100.0.1185.50', + Firefox: 'Mozilla/5.0 (Android 12; Mobile; rv:68.0) Gecko/68.0 Firefox/102.0', - brave: + Brave: 'Mozilla/5.0 (Linux; Android 8.0.0; SM-G960F Build/R16NW) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Mobile Safari/537.36', }, - ios: { - safari: + iOS: { + Safari: 'Mozilla/5.0 (iPhone; CPU iPhone OS 15_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1', - chrome: + Chrome: 'Mozilla/5.0 (iPhone; CPU iPhone OS 15_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/103.0.5060.63 Mobile/15E148 Safari/604.1', - edge: 'Mozilla/5.0 (iPhone; CPU iPhone OS 15_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 EdgiOS/100.1185.50 Mobile/15E148 Safari/605.1.15', - firefox: + Edge: 'Mozilla/5.0 (iPhone; CPU iPhone OS 15_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 EdgiOS/100.1185.50 Mobile/15E148 Safari/605.1.15', + Firefox: 'Mozilla/5.0 (iPhone; CPU iPhone OS 12_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/102.0 Mobile/15E148 Safari/605.1.15', - brave: + Brave: 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_0 like Mac OS X) AppleWebKit/602.1.38 (KHTML, like Gecko) Brave/1.2.9 Mobile/14A5297c Safari/602.1.38', }, },