diff --git a/promo/logo-300.png b/promo/logo-300.png new file mode 100644 index 0000000..475e1ea Binary files /dev/null and b/promo/logo-300.png differ diff --git a/promo/logo-64.png b/promo/logo-64.png new file mode 100644 index 0000000..6856ec2 Binary files /dev/null and b/promo/logo-64.png differ diff --git a/promo/opera-promo.png b/promo/opera-promo.png new file mode 100644 index 0000000..0f5b792 Binary files /dev/null and b/promo/opera-promo.png differ diff --git a/src/Popup/Components/FooterLink.tsx b/src/Popup/Components/FooterLink.tsx index e9c15d3..c18409a 100644 --- a/src/Popup/Components/FooterLink.tsx +++ b/src/Popup/Components/FooterLink.tsx @@ -1,14 +1,24 @@ -import { Link } from 'theme-ui' +import { Box, Link } from 'theme-ui' const FooterLink = () => { return ( - - Vytal does not change your IP address. To change your IP you will need to - use a VPN such as{' '} + + Vytal does not change your IP address. To change your IP you will need a + VPN such as{' '} + { > ProtonVPN - + . + ) } diff --git a/src/Popup/Pages/AutofillPage/handleAutofillAddress.ts b/src/Popup/Pages/AutofillPage/handleAutofillAddress.ts deleted file mode 100644 index e28a755..0000000 --- a/src/Popup/Pages/AutofillPage/handleAutofillAddress.ts +++ /dev/null @@ -1,17 +0,0 @@ -const handleAutofillAddress = (value: boolean) => { - console.log(!value) - chrome.privacy.services.autofillAddressEnabled.clear({}, () => { - chrome.privacy.services.autofillAddressEnabled.set( - { - value: !value, - }, - () => { - chrome.storage.local.set({ - autofillAddress: value, - }) - } - ) - }) -} - -export default handleAutofillAddress diff --git a/src/Popup/Pages/AutofillPage/index.tsx b/src/Popup/Pages/AutofillPage/index.tsx deleted file mode 100644 index 7fc9377..0000000 --- a/src/Popup/Pages/AutofillPage/index.tsx +++ /dev/null @@ -1,147 +0,0 @@ -import { Text } from 'theme-ui' -import { useState, useEffect, ChangeEvent } from 'react' -import Page from '../../Components/Page' -import CheckBox from '../../Components/CheckBox' -// import { autofillData } from '../../../types' -import Table from '../../Components/Table' -import TableRow from '../../Components/TableRow' -import { Button } from 'theme-ui' -import addresses from '../../../utils/addresses' -import FooterLink from '../../Components/FooterLink' -import handleAutofillAddress from './handleAutofillAddress' - -interface AutofillPageProps { - tab: string - autofillData?: any - // reverseGeocoding: any -} - -const AutofillPage = ({ tab, autofillData }: AutofillPageProps) => { - const [autofillAddress, setAutofillAddress] = useState(false) - const [country, setCountry] = useState('') - const [city, setCity] = useState('') - const [region, setRegion] = useState('') - const [postCode, setPostCode] = useState('') - const [address, setAddress] = useState('') - const [phone, setPhone] = useState('9057814565') - // const [configuration, setConfiguration] = useState('default') - - useEffect(() => { - chrome.storage.local.get(['autofillAddress'], (storage) => { - storage.autofillAddress && setAutofillAddress(storage.autofillAddress) - }) - }, []) - - useEffect(() => { - // chrome.storage.local.get(['configuration', 'autofillData'], (storage) => { - // storage.configuration && setConfiguration(storage.configuration) - // if (storage.autofillData) { - // setIP(storage.autofillData) - // } else { - // Promise.resolve(getIP()).then((autofillData) => setIP(autofillData)) - // } - // }) - if (autofillData?.country) { - setCountry(autofillData.country) - // chrome.storage.local.set({ - // country: autofillData.country, - // }) - } - if (autofillData?.locality) { - setCity(autofillData.locality) - // chrome.storage.local.set({ - // city: autofillData.city, - // }) - } - if (autofillData?.administrative_area_level_1) { - setRegion(autofillData.administrative_area_level_1) - // chrome.storage.local.set({ - // region: autofillData.regionName, - // }) - } - if (autofillData?.postal_code) { - setPostCode(autofillData.postal_code) - // chrome.storage.local.set({ - // postCode: autofillData.zip, - // }) - } - if (autofillData?.street_number && autofillData?.route) { - setAddress(`${autofillData.street_number} ${autofillData.route}`) - // chrome.storage.local.set({ - // postCode: autofillData.zip, - // }) - } - // autofillData?.city && setCity(autofillData.city) - // autofillData?.regionName && setRegion(autofillData.regionName) - // autofillData?.zip && setPostCode() - // chrome.storage.local.set({ - // country: autofillData.country, - // city: autofillData.city, - // regionName: autofillData.regionName, - // zip: autofillData.zip, - // }) - }, [autofillData, setCity, setPostCode, setRegion]) - - // useEffect(() => { - // if (!postCode && reverseGeocoding?.postcode) { - // setPostCode(reverseGeocoding?.postcode) - // chrome.storage.local.set({ - // postCode: reverseGeocoding?.postcode, - // }) - // } - // if (reverseGeocoding?.house_number && reverseGeocoding?.road) { - // setAddress(`${reverseGeocoding.house_number} ${reverseGeocoding.road}`) - // chrome.storage.local.set({ - // address: `${reverseGeocoding.house_number} ${reverseGeocoding.road}`, - // }) - // } else if (reverseGeocoding?.road) { - // setAddress(reverseGeocoding.road) - // chrome.storage.local.set({ - // address: reverseGeocoding.road, - // }) - // } - // }, [postCode, reverseGeocoding, setAddress]) - - // const changeUserAgent = () => { - // // if (userAgentType !== 'custom') { - // // setUserAgentType('custom') - // // chrome.storage.local.set({ - // // userAgentType: 'custom', - // // }) - // // } - // } - - const changeCheckBoxValue = (e: ChangeEvent) => { - console.log(e.target.checked) - handleAutofillAddress(e.target.checked) - setAutofillAddress(e.target.checked) - } - - return ( - - - {/* */} - - - - - - - -
- -
- ) -} - -export default AutofillPage diff --git a/src/Popup/Pages/ConnectionPage/index.tsx b/src/Popup/Pages/ConnectionPage/index.tsx deleted file mode 100644 index 3317ee2..0000000 --- a/src/Popup/Pages/ConnectionPage/index.tsx +++ /dev/null @@ -1,55 +0,0 @@ -import { ipData } from '../../../types' -import FooterLink from '../../Components/FooterLink' -import Page from '../../Components/Page' -import Table from '../../Components/Table' -import TableRow from '../../Components/TableRow' - -interface ConnectionPageProps { - tab: string - ipData?: ipData -} - -const ConnectionPage = ({ tab, ipData }: ConnectionPageProps) => { - // let options: any - - // function success(pos: any) { - // var crd = pos.coords - // console.log('Your connection position is:') - // console.log(`Latitude : ${crd.latitude}`) - // console.log(`Longitude: ${crd.longitude}`) - // console.log(`More or less ${crd.accuracy} meters.`) - // } - - // function error(err: any) { - // console.error(`ERROR(${err.code}): ${err.message}`) - // } - // options = { - // enableHighAccuracy: false, - // timeout: 5000, - // maximumAge: 0, - // } - - // navigator.geolocation.watchPosition(success, error) - - return ( - - - - - - - - - - - -
-
- ) -} - -export default ConnectionPage diff --git a/src/Popup/Pages/LocationPage/index.tsx b/src/Popup/Pages/LocationPage/index.tsx index b06a72d..2b6203f 100644 --- a/src/Popup/Pages/LocationPage/index.tsx +++ b/src/Popup/Pages/LocationPage/index.tsx @@ -1,22 +1,21 @@ import { useState, useEffect, ChangeEvent } from 'react' -import { Flex, Label, Radio, Select } from 'theme-ui' +import { Box, Flex, Label, Radio, Select } from 'theme-ui' import Page from '../../Components/Page' import DebouncedInput from '../../Components/DebouncedInput' import detachDebugger from '../../../utils/detachDebugger' import countryLocales from '../../../utils/countryLocales' -import { ipData } from '../../../types' import configurations from '../../../utils/configurations' import FooterLink from '../../Components/FooterLink' -import Table from '../../Components/Table' -import TableRow from '../../Components/TableRow' +import { ipData } from '../../../types' +import getIp from '../../../utils/getIp' +import { RotateCw } from 'react-feather' interface LocationPageProps { tab: string - ipData?: ipData - geolocation?: GeolocationCoordinates } -const LocationPage = ({ tab, ipData, geolocation }: LocationPageProps) => { +const LocationPage = ({ tab }: LocationPageProps) => { + const [ipData, setIpData] = useState() const [locationType, setLocationType] = useState('') const [timezone, setTimezone] = useState('') const [locale, setLocale] = useState('') @@ -24,20 +23,16 @@ const LocationPage = ({ tab, ipData, geolocation }: LocationPageProps) => { const [lon, setLongitude] = useState('') const [configuration, setConfiguration] = useState('custom') - // console.log(geolocation) + useEffect(() => { + getIp().then((ipDataRes) => { + setIpData(ipDataRes) + }) + }, []) useEffect(() => { chrome.storage.local.get( ['locationType', 'configuration', 'timezone', 'locale', 'lat', 'lon'], (storage) => { - if (!storage.locationType || storage.locationType === 'default') { - setTimezone(Intl.DateTimeFormat().resolvedOptions().timeZone) - setLocale(Intl.DateTimeFormat().resolvedOptions().locale) - if (geolocation) { - setLatitude(`${geolocation.latitude}`) - setLongitude(`${geolocation.longitude}`) - } - } if (storage.locationType === 'matchIp' && ipData) { setTimezone(ipData.timezone) setLocale(countryLocales[ipData.countryCode].locale) @@ -61,7 +56,7 @@ const LocationPage = ({ tab, ipData, geolocation }: LocationPageProps) => { : setLocationType('default') } ) - }, [geolocation, ipData]) + }, [ipData]) const changeType = (e: ChangeEvent) => { detachDebugger() @@ -69,12 +64,10 @@ const LocationPage = ({ tab, ipData, geolocation }: LocationPageProps) => { chrome.storage.local.set({ locationType: e.target.value }) if (e.target.value === 'default') { - setTimezone(Intl.DateTimeFormat().resolvedOptions().timeZone) - setLocale(Intl.DateTimeFormat().resolvedOptions().locale) - if (geolocation) { - setLatitude(`${geolocation.latitude}`) - setLongitude(`${geolocation.longitude}`) - } + setTimezone('') + setLocale('') + setLatitude('') + setLongitude('') chrome.storage.local.set({ timezone: '', locale: '', @@ -94,7 +87,7 @@ const LocationPage = ({ tab, ipData, geolocation }: LocationPageProps) => { lon: ipData.lon, }) } - } else if (e.target.value === 'custom') + } else if (e.target.value === 'custom') { if (configuration !== 'custom') { setTimezone(configurations[configuration].timezone) setLocale(configurations[configuration].locale) @@ -107,6 +100,7 @@ const LocationPage = ({ tab, ipData, geolocation }: LocationPageProps) => { lon: configurations[configuration].lon, }) } + } } const changeConfiguration = (e: ChangeEvent) => { @@ -185,17 +179,46 @@ const LocationPage = ({ tab, ipData, geolocation }: LocationPageProps) => { {locationType === 'matchIp' && ( - - + + IP Address + + + {ipData + ? `${getFlagEmoji(ipData.countryCode)} ${ipData?.query}` + : 'loading...'} + + { + setIpData(undefined) + getIp().then((ipDataRes) => { + setIpData(ipDataRes) + }) + }} /> -
+ )} {locationType === 'custom' && ( <> diff --git a/src/Popup/Pages/OtherOptionsPage/index.tsx b/src/Popup/Pages/OtherOptionsPage/index.tsx deleted file mode 100644 index 4578b50..0000000 --- a/src/Popup/Pages/OtherOptionsPage/index.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import CheckBox from '../../Components/CheckBox' -import Page from '../../Components/Page' - -interface OtherOptionsPageProps { - tab: string -} - -const OtherOptionsPage = ({ tab }: OtherOptionsPageProps) => { - return ( - - - - - - - - - - - - ) -} - -export default OtherOptionsPage diff --git a/src/Popup/Pages/SettingsPage/InfoItem.tsx b/src/Popup/Pages/SettingsPage/InfoItem.tsx new file mode 100644 index 0000000..731fed7 --- /dev/null +++ b/src/Popup/Pages/SettingsPage/InfoItem.tsx @@ -0,0 +1,17 @@ +import { Box, Flex } from 'theme-ui' + +interface InfoItemProps { + title: string + children: React.ReactNode +} + +const SettingsPage = ({ title, children }: InfoItemProps) => { + return ( + + {title} + {children} + + ) +} + +export default SettingsPage diff --git a/src/Popup/Pages/SettingsPage/index.tsx b/src/Popup/Pages/SettingsPage/index.tsx index 8fae8ad..7864ce4 100644 --- a/src/Popup/Pages/SettingsPage/index.tsx +++ b/src/Popup/Pages/SettingsPage/index.tsx @@ -1,6 +1,6 @@ -import { Label, Select } from 'theme-ui' +import { Link, Text } from 'theme-ui' import Page from '../../Components/Page' -import CheckBox from '../../Components/CheckBox' +import InfoItem from './InfoItem' interface SystemPageProps { tab: string @@ -8,30 +8,62 @@ interface SystemPageProps { const SettingsPage = ({ tab }: SystemPageProps) => { return ( - - - - - + + + While spoofing data a notification bar becomes visible. Hiding the bar + can be done by using the{' '} + + --silent-debugger-extension-api + {' '} + flag.{' '} + + Instructions on how to run chrome with flags + + . + + + Vytal does not change your IP address. To change your IP you will need a + VPN such as{' '} + + NordVPN + {' '} + or{' '} + + ProtonVPN + + . + + + Vytal utilizes the debugger API to spoof data which is completely + undetectable. Other similar extensions rely on{' '} + + inferior script tag injections + + . + + + You can test and compare Vytal and other spoofing extensions on{' '} + + vytal.io + + . + ) } diff --git a/src/Popup/Pages/UserAgentPage/index.tsx b/src/Popup/Pages/UserAgentPage/index.tsx index b0948bb..b01a36c 100644 --- a/src/Popup/Pages/UserAgentPage/index.tsx +++ b/src/Popup/Pages/UserAgentPage/index.tsx @@ -14,8 +14,8 @@ const UserAgentPage = ({ tab }: UserAgentPageProps) => { const [userAgentType, setUserAgentType] = useState('default') const [operatingSystem, setOperatingSystem] = useState('Windows') const [browser, setBrowser] = useState('Chrome') - const [userAgent, setUserAgent] = useState(navigator.userAgent) - const [platform, setPlatform] = useState(navigator.platform) + const [userAgent, setUserAgent] = useState('') + const [platform, setPlatform] = useState('') useEffect(() => { chrome.storage.local.get( @@ -36,8 +36,8 @@ const UserAgentPage = ({ tab }: UserAgentPageProps) => { chrome.storage.local.set({ userAgentType: e.target.value }) if (e.target.value === 'default') { - setUserAgent(navigator.userAgent) - setPlatform(navigator.platform) + setUserAgent('') + setPlatform('') chrome.storage.local.set({ userAgent: '', platform: '', @@ -55,14 +55,18 @@ const UserAgentPage = ({ tab }: UserAgentPageProps) => { const changeOperatingSystem = async (e: ChangeEvent) => { detachDebugger() setOperatingSystem(e.target.value) - setUserAgent(userAgents[e.target.value]['userAgents'][browser]) + let browserValue = browser + if (!userAgents[e.target.value]['userAgents'][browser]) { + browserValue = Object.keys(userAgents[e.target.value]['userAgents'])[0] + setBrowser(browserValue) + } + setUserAgent(userAgents[e.target.value]['userAgents'][browserValue]) setPlatform(userAgents[e.target.value]['platform']) chrome.storage.local.set({ - userAgent: userAgents[e.target.value]['userAgents'][browser], + userAgent: userAgents[e.target.value]['userAgents'][browserValue], platform: userAgents[e.target.value]['platform'], operatingSystem: e.target.value, }) - // await attachCurrentTab() } const changeBrowser = (e: ChangeEvent) => { diff --git a/src/Popup/Pages/WebRtcPage/RadioButton.tsx b/src/Popup/Pages/WebRtcPage/RadioButton.tsx deleted file mode 100644 index a51227e..0000000 --- a/src/Popup/Pages/WebRtcPage/RadioButton.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import { ChangeEvent } from 'react' -import { Box, Label, Radio, Text } from 'theme-ui' - -interface RadioButtonProps { - value: string - name: string - description: string - webRtcPolicy: string - onChange: (e: ChangeEvent) => void -} - -const RadioButton = ({ - value, - name, - description, - webRtcPolicy, - onChange, -}: RadioButtonProps) => { - return ( - <> - - {description} - - ) -} - -export default RadioButton diff --git a/src/Popup/Pages/WebRtcPage/getWebRTCData.ts b/src/Popup/Pages/WebRtcPage/getWebRTCData.ts deleted file mode 100644 index 99f513e..0000000 --- a/src/Popup/Pages/WebRtcPage/getWebRTCData.ts +++ /dev/null @@ -1,73 +0,0 @@ -const getWebRTC = (setWebRtcIp: any) => { - // if (navigator.getUserMedia) { - const ipRegex = - /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/ - - // compatibility for firefox and chrome - let RTCPeerConnection = window.RTCPeerConnection - - // minimal requirements for data connection - const mediaConstraints = { - optional: [{ RtpDataChannels: true }], - } - - const servers = { iceServers: [{ urls: 'stun:stun.l.google.com:19302' }] } - - // construct a new RTCPeerConnection - const pc = new RTCPeerConnection(servers, mediaConstraints) - - let ips: any = [] - - // listen for candidate events - pc.onicecandidate = (ice) => { - // skip non-candidate events - if (ice.candidate) { - const ip = ipRegex.exec(ice.candidate.candidate) - if (ip !== null && ip.length > 1) { - ips.push(ip[1]) - } - } - } - - // create a bogus data channel - pc.createDataChannel('') - - // create an offer sdp - pc.createOffer( - (result) => { - // trigger the stun server request - pc.setLocalDescription( - result, - () => {}, - () => {} - ) - }, - () => {} - ) - - const waitForElement = async () => { - if (pc.localDescription) { - const lines = pc.localDescription.sdp.split('\n') - lines.forEach((line) => { - if (line.indexOf('a=candidate:') === 0) { - const ip = ipRegex.exec(line) - if (ip !== null && ip.length > 1) { - ips.push(ip[1]) - } - } - }) - ips = [...new Set(ips)] - console.log(ips) - setWebRtcIp(await Promise.all(ips)) - } else { - setTimeout(waitForElement, 1000) - } - } - - waitForElement() - // } else { - // setWebRTCData([]) - // } -} - -export default getWebRTC diff --git a/src/Popup/Pages/WebRtcPage/handleWebRtcPolicy.ts b/src/Popup/Pages/WebRtcPage/handleWebRtcPolicy.ts deleted file mode 100644 index dcceea5..0000000 --- a/src/Popup/Pages/WebRtcPage/handleWebRtcPolicy.ts +++ /dev/null @@ -1,17 +0,0 @@ -const handleWebRtcPolicy = (value: string) => { - console.log(value) - chrome.privacy.network.webRTCIPHandlingPolicy.clear({}, () => { - chrome.privacy.network.webRTCIPHandlingPolicy.set( - { - value, - }, - () => { - chrome.storage.local.set({ - webRtcPolicy: value, - }) - } - ) - }) -} - -export default handleWebRtcPolicy diff --git a/src/Popup/Pages/WebRtcPage/index.tsx b/src/Popup/Pages/WebRtcPage/index.tsx deleted file mode 100644 index 4099162..0000000 --- a/src/Popup/Pages/WebRtcPage/index.tsx +++ /dev/null @@ -1,67 +0,0 @@ -import { useState, useEffect, ChangeEvent } from 'react' -import Page from '../../Components/Page' -import handleWebRtcPolicy from './handleWebRtcPolicy' -import RadioButton from './RadioButton' -import FooterLink from '../../Components/FooterLink' - -interface SystemPageProps { - tab: string -} - -const WebRtcPage = ({ tab }: SystemPageProps) => { - const [webRtcPolicy, setWebRtcPolicy] = useState('default') - - useEffect(() => { - chrome.storage.local.get(['webRtcPolicy'], (storage) => { - storage.webRtcPolicy && setWebRtcPolicy(storage.webRtcPolicy) - }) - }, []) - - const changeRadioValue = (e: ChangeEvent) => { - handleWebRtcPolicy(e.target.value) - setWebRtcPolicy(e.target.value) - } - - return ( - - - - - - - ) -} - -export default WebRtcPage diff --git a/src/Popup/Popup.tsx b/src/Popup/Popup.tsx index 327bf8b..03de210 100644 --- a/src/Popup/Popup.tsx +++ b/src/Popup/Popup.tsx @@ -1,64 +1,22 @@ -import { useState, useEffect } from 'react' +import { useState } from 'react' import { ThemeProvider, Flex, Box } from 'theme-ui' import { theme } from '../theme' -import { - Wifi, - MapPin, - FileText, - MessageSquare, - Globe, - Settings, -} from 'react-feather' +import { MapPin, Globe, Info } from 'react-feather' import TabItem from './TabItem' import LocationPage from './Pages/LocationPage' import UserAgentPage from './Pages/UserAgentPage' import SettingsPage from './Pages/SettingsPage' -import AutofillPage from './Pages/AutofillPage' -import WebRtcPage from './Pages/WebRtcPage' -import ConnectionPage from './Pages/ConnectionPage' -import { ipData } from '../types' -import getIp from '../utils/getIp' -// import getReverseGeocoding from '../utils/getReverseGeocoding' import '../assets/global.css' -import OtherOptionsPage from './Pages/OtherOptionsPage' -import addresses from '../utils/addresses' const Popup = () => { const [tab, setTab] = useState('location') - const [ipData, setIpData] = useState() - // const [reverseGeocoding, setReverseGeocoding] = useState(undefined) - const [geolocation, setGeolocation] = useState() - const [autofillData, setAutofillData] = useState() - - useEffect(() => { - getIp().then((ipDataRes) => { - setIpData(ipDataRes) - let geoIndex = (ipDataRes.lat + 90) * 180 + ipDataRes.lon - console.log(geoIndex) - let closest = addresses.reduce((prev: any, curr: any) => { - return Math.abs(curr.geoIndex - geoIndex) < - Math.abs(prev.geoIndex - geoIndex) - ? curr - : prev - }) - setAutofillData(closest) - }) - navigator.geolocation.getCurrentPosition( - (pos) => setGeolocation(pos.coords), - (err) => console.warn(`ERROR(${err.code}): ${err.message}`), - { - enableHighAccuracy: true, - timeout: 5000, - } - ) - }, []) return ( { flexDirection: 'column', }} > - {/* setTab('connection')} - /> */} setTab('location')} /> - {/* setTab('autofill')} - /> - setTab('webRtc')} - /> */} setTab('userAgent')} /> - {/* setTab('otherOptions')} - /> */} setTab('settings')} /> - {/* window.open('https://vytal.io')} - /> */} - - - - + - - {/* - Connection tab won't be fully spoofed until after 1st or 2nd reload. - */} diff --git a/src/assets/global.css b/src/assets/global.css index 49ba1bd..552f8e9 100644 --- a/src/assets/global.css +++ b/src/assets/global.css @@ -5,10 +5,10 @@ } body { - font-family: 'Nunito'; + font-family: 'Nunito', Arial, Helvetica, sans-serif; font-weight: 500; } input { - font-family: 'Nunito'; + font-family: 'Nunito', Arial, Helvetica, sans-serif; } diff --git a/src/manifest.json b/src/manifest.json index 35dbf9b..506a75c 100755 --- a/src/manifest.json +++ b/src/manifest.json @@ -3,7 +3,7 @@ "name": "Vytal - Spoof timezone, location & user agent", "version": "2.1.0", "description": "Spoof Timezone, Geolocation, Locale and User Agent.", - "permissions": ["storage", "debugger", "privacy", "geolocation"], + "permissions": ["storage", "debugger"], "background": { "service_worker": "background.bundle.js" }, "action": { "default_popup": "popup.html", diff --git a/src/theme.ts b/src/theme.ts index 8e230c2..46456c1 100644 --- a/src/theme.ts +++ b/src/theme.ts @@ -4,8 +4,6 @@ export const theme: Theme = { colors: { text: '#333333', background: '#FDFDFD', - // primary: '#B77EEE', - // primaryDark: '#a55eea', primary: '#a55eea', primaryDark: '#9454d2', red: '#fc5c65', @@ -73,10 +71,6 @@ export const theme: Theme = { links: { footer: { color: 'text', - mb: '8px', - fontSize: '11px', - position: 'fixed', - bottom: '0', textDecoration: 'none', }, hover: { diff --git a/src/utils/attachDebugger.ts b/src/utils/attachDebugger.ts index 81fe410..b4e6f28 100644 --- a/src/utils/attachDebugger.ts +++ b/src/utils/attachDebugger.ts @@ -14,7 +14,6 @@ const attachDebugger = (tabId: number) => { 'platform', ], (storage) => { - console.log(storage) if ( storage.timezone || storage.lat || @@ -24,15 +23,6 @@ const attachDebugger = (tabId: number) => { ) { chrome.debugger.attach({ tabId: tabId }, '1.3', () => { if (!chrome.runtime.lastError) { - // chrome.debugger.sendCommand( - // { tabId: tabId }, - // 'Target.autoAttachRelated', - // { targetId: tabId, waitForDebuggerOnStart: false }, - // (res) => { - // console.log(res) - // } - // ) - if (storage.timezone) { chrome.debugger.sendCommand( { tabId: tabId },