diff --git a/package.json b/package.json index 95c7d64..3cfce36 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ "@types/react": "^18.2.15", "@types/react-dom": "^18.2.7", "@types/react-router-dom": "^5.3.3", + "@types/react-simple-maps": "^3.0.0", "@types/styled-components": "^5.1.26", "axios": "^1.4.0", "chrome-aws-lambda": "^10.1.0", @@ -19,9 +20,9 @@ "got": "^13.0.0", "jest-styled-components": "^7.1.1", "netlify-cli": "^15.9.1", - "netlify-plugin-chromium": "^1.1.4", "perf_hooks": "^0.0.1", "psl": "^1.9.0", + "puppeteer": "^20.9.0", "puppeteer-core": "^20.9.0", "react": "^18.2.0", "react-dom": "^18.2.0", @@ -62,9 +63,6 @@ "last 1 safari version" ] }, - "devDependencies": { - "@types/react-simple-maps": "^3.0.0" - }, "compilerOptions": { "allowJs": true, "outDir": "./dist" diff --git a/src/components/Results/Hsts.tsx b/src/components/Results/Hsts.tsx index 3b8ec45..5ff0fe5 100644 --- a/src/components/Results/Hsts.tsx +++ b/src/components/Results/Hsts.tsx @@ -1,6 +1,6 @@ import { Card } from 'components/Form/Card'; -import Row, { ExpandableRow, RowProps } from 'components/Form/Row'; +import Row, { RowProps } from 'components/Form/Row'; const cardStyles = ''; diff --git a/src/components/Results/Sitemap.tsx b/src/components/Results/Sitemap.tsx index 58deff2..8780a36 100644 --- a/src/components/Results/Sitemap.tsx +++ b/src/components/Results/Sitemap.tsx @@ -1,6 +1,5 @@ import { Card } from 'components/Form/Card'; -import Heading from 'components/Form/Heading'; import Row, { ExpandableRow } from 'components/Form/Row'; import colors from 'styles/colors'; diff --git a/src/components/Results/TechStack.tsx b/src/components/Results/TechStack.tsx index 62b7997..5352ce0 100644 --- a/src/components/Results/TechStack.tsx +++ b/src/components/Results/TechStack.tsx @@ -2,7 +2,6 @@ import styled from 'styled-components'; import { Card } from 'components/Form/Card'; import Heading from 'components/Form/Heading'; -import Row, { ExpandableRow, RowProps } from 'components/Form/Row'; import colors from 'styles/colors'; const cardStyles = ` diff --git a/src/components/misc/LocationMap.tsx b/src/components/misc/LocationMap.tsx index 44e62d8..668c183 100644 --- a/src/components/misc/LocationMap.tsx +++ b/src/components/misc/LocationMap.tsx @@ -32,8 +32,8 @@ const MapChart = (location: Props) => { stroke={colors.primary} strokeWidth={0.5} > - {({ geographies }) => - geographies.map((geo) => ( + {({ geographies }: any) => + geographies.map((geo: any) => ( )) } diff --git a/src/pages/Results.tsx b/src/pages/Results.tsx index 19b9678..4ded93f 100644 --- a/src/pages/Results.tsx +++ b/src/pages/Results.tsx @@ -18,7 +18,6 @@ import ServerLocationCard from 'components/Results/ServerLocation'; import ServerInfoCard from 'components/Results/ServerInfo'; import HostNamesCard from 'components/Results/HostNames'; import WhoIsCard from 'components/Results/WhoIs'; -import BuiltWithCard from 'components/Results/BuiltWith'; import LighthouseCard from 'components/Results/Lighthouse'; import ScreenshotCard from 'components/Results/Screenshot'; import SslCertCard from 'components/Results/SslCert'; @@ -51,7 +50,6 @@ import useMotherHook from 'hooks/motherOfAllHooks'; import { getLocation, ServerLocation, - makeTechnologies, TechnologyGroup, parseCookies, Cookie, parseRobotsTxt, applyWhoIsResults, Whois, @@ -157,7 +155,9 @@ const Results = (): JSX.Element => { response.json() .then(data => resolve(data)) .catch(error => resolve( - { error: `Failed to process response, likely due to Netlify's 10-sec limit on lambda functions. Error: ${error}`} + { error: `Failed to get a valid response 😢. + This is likely due the target not exposing the required data, or limitations in how Netlify executes lambda functions, such as the 10-sec timeout. + Error info: ${error}`} )); }); }; @@ -247,7 +247,6 @@ const Results = (): JSX.Element => { .then(res => getLocation(res)), }); - // Get hostnames and associated domains from Shodan const [shoadnResults, updateShodanResults] = useMotherHook({ jobId: 'hosts', @@ -258,7 +257,6 @@ const Results = (): JSX.Element => { .then(res => parseShodanResults(res)), }); - // Check for open ports const [portsResults, updatePortsResults] = useMotherHook({ jobId: 'ports', @@ -432,7 +430,6 @@ const Results = (): JSX.Element => { { id: 'status', title: 'Server Status', result: serverStatusResults, Component: ServerStatusCard, refresh: updateServerStatusResults }, { id: 'ports', title: 'Open Ports', result: portsResults, Component: OpenPortsCard, refresh: updatePortsResults }, { id: 'screenshot', title: 'Screenshot', result: screenshotResult || lighthouseResults?.fullPageScreenshot?.screenshot, Component: ScreenshotCard, refresh: updateScreenshotResult }, - // { id: 'screenshot', title: 'Screenshot', result: lighthouseResults?.fullPageScreenshot?.screenshot, Component: ScreenshotCard, refresh: updateLighthouseResults }, { id: 'txt-records', title: 'TXT Records', result: txtRecordResults, Component: TxtRecordCard, refresh: updateTxtRecordResults }, { id: 'hsts', title: 'HSTS Check', result: hstsResults, Component: HstsCard, refresh: updateHstsResults }, { id: 'whois', title: 'Domain Info', result: whoIsResults, Component: WhoIsCard, refresh: updateWhoIsResults }, diff --git a/src/typings/react-simple-maps.d.ts b/src/typings/react-simple-maps.d.ts new file mode 100644 index 0000000..9841026 --- /dev/null +++ b/src/typings/react-simple-maps.d.ts @@ -0,0 +1 @@ +declare module 'react-simple-maps'; diff --git a/yarn.lock b/yarn.lock index 6682026..b0c5aba 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5706,6 +5706,16 @@ cosmiconfig@8.1.0: parse-json "^5.0.0" path-type "^4.0.0" +cosmiconfig@8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.2.0.tgz#f7d17c56a590856cd1e7cee98734dca272b0d8fd" + integrity sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ== + dependencies: + import-fresh "^3.2.1" + js-yaml "^4.1.0" + parse-json "^5.0.0" + path-type "^4.0.0" + cosmiconfig@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" @@ -11045,11 +11055,6 @@ netlify-headers-parser@7.1.2, netlify-headers-parser@^7.1.2: path-exists "^5.0.0" toml "^3.0.0" -netlify-plugin-chromium@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/netlify-plugin-chromium/-/netlify-plugin-chromium-1.1.4.tgz#d0a04ef2fbd677a19f3be94ccf47c320d2c3c334" - integrity sha512-yLgw6YePOF38URWVsHg3nBBoVSKcbMabKxziJX5i01/weyXWtFQVFvDWSOhyWkQgoMJ6zwF2UznA0Icy+m4pow== - netlify-redirect-parser@14.1.3, netlify-redirect-parser@^14.1.3: version "14.1.3" resolved "https://registry.yarnpkg.com/netlify-redirect-parser/-/netlify-redirect-parser-14.1.3.tgz#5b4a4692f563341d91375504c4a7718a1e29806d" @@ -12717,7 +12722,7 @@ puppeteer-core@19.7.5: unbzip2-stream "1.4.3" ws "8.12.1" -puppeteer-core@^20.9.0: +puppeteer-core@20.9.0, puppeteer-core@^20.9.0: version "20.9.0" resolved "https://registry.yarnpkg.com/puppeteer-core/-/puppeteer-core-20.9.0.tgz#6f4b420001b64419deab38d398a4d9cd071040e6" integrity sha512-H9fYZQzMTRrkboEfPmf7m3CLDN6JvbxXA3qTtS+dFt27tR+CsFHzPsT6pzp6lYL6bJbAPaR0HaPO6uSi+F94Pg== @@ -12729,6 +12734,15 @@ puppeteer-core@^20.9.0: devtools-protocol "0.0.1147663" ws "8.13.0" +puppeteer@^20.9.0: + version "20.9.0" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-20.9.0.tgz#7bfb9e37deab9728e13b02ea3fb499b5560c79a7" + integrity sha512-kAglT4VZ9fWEGg3oLc4/de+JcONuEJhlh3J6f5R1TLkrY/EHHIHxWXDOzXvaxQCtedmyVXBwg8M+P8YCO/wZjw== + dependencies: + "@puppeteer/browsers" "1.4.6" + cosmiconfig "8.2.0" + puppeteer-core "20.9.0" + puppeteer@~19.7.0: version "19.7.5" resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-19.7.5.tgz#d7db0dfcc80ca2cdf8eb0100bae1ce888a841389"