Fix URL auto-completion in re-track and analyze forms
- Add useLocation and useEffect to TrackingPage to pre-fill URL and method from navigation state - Add useLocation and useEffect to AnalysisPage to pre-fill URL from navigation state - Users can now click 'Re-track URL' or 'Analyze URL' from check detail pages and forms are automatically populated - Improves user workflow by eliminating manual URL retyping - Maintains type safety with proper TypeScript interfaces for location state
This commit is contained in:
@@ -3289,3 +3289,60 @@
|
|||||||
{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:04:36.713Z","url":"/v2/analyze/check/cmej4hi4q000bo5ddeox6i6vw"}
|
{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:04:36.713Z","url":"/v2/analyze/check/cmej4hi4q000bo5ddeox6i6vw"}
|
||||||
{"contentLength":"5041","duration":18,"headers":{"accept":"application/json, text/plain, */*","accept-encoding":"gzip, br","accept-language":"en-GB,en;q=0.9","cf-connecting-ip":"83.******.45","cookie":"_ga**********$h0","host":"api.urltrackertool.com","origin":"htt**********com","referer":"htt**********om/","user-agent":"Moz**********.36","x-forwarded-for":"83.**********221","x-forwarded-proto":"*****","x-real-ip":"172********221"},"ip":"::ffff:10.0.0.5","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":200,"timestamp":"2025-08-23T20:04:36.726Z","url":"/v2/track/cmej4hi4q000bo5ddeox6i6vw","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"}
|
{"contentLength":"5041","duration":18,"headers":{"accept":"application/json, text/plain, */*","accept-encoding":"gzip, br","accept-language":"en-GB,en;q=0.9","cf-connecting-ip":"83.******.45","cookie":"_ga**********$h0","host":"api.urltrackertool.com","origin":"htt**********com","referer":"htt**********om/","user-agent":"Moz**********.36","x-forwarded-for":"83.**********221","x-forwarded-proto":"*****","x-real-ip":"172********221"},"ip":"::ffff:10.0.0.5","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":200,"timestamp":"2025-08-23T20:04:36.726Z","url":"/v2/track/cmej4hi4q000bo5ddeox6i6vw","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"}
|
||||||
{"contentLength":"5380","duration":20,"headers":{"accept":"application/json, text/plain, */*","accept-encoding":"gzip, br","accept-language":"en-GB,en;q=0.9","cf-connecting-ip":"83.******.45","cookie":"_ga**********$h0","host":"api.urltrackertool.com","origin":"htt**********com","referer":"htt**********om/","user-agent":"Moz**********.36","x-forwarded-for":"83.**********221","x-forwarded-proto":"*****","x-real-ip":"172********221"},"ip":"::ffff:10.0.0.5","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":200,"timestamp":"2025-08-23T20:04:36.733Z","url":"/v2/analyze/check/cmej4hi4q000bo5ddeox6i6vw","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"}
|
{"contentLength":"5380","duration":20,"headers":{"accept":"application/json, text/plain, */*","accept-encoding":"gzip, br","accept-language":"en-GB,en;q=0.9","cf-connecting-ip":"83.******.45","cookie":"_ga**********$h0","host":"api.urltrackertool.com","origin":"htt**********com","referer":"htt**********om/","user-agent":"Moz**********.36","x-forwarded-for":"83.**********221","x-forwarded-proto":"*****","x-real-ip":"172********221"},"ip":"::ffff:10.0.0.5","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":200,"timestamp":"2025-08-23T20:04:36.733Z","url":"/v2/analyze/check/cmej4hi4q000bo5ddeox6i6vw","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"}
|
||||||
|
{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:11:47.733Z","url":"/v2/checks/recent?limit=20"}
|
||||||
|
{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:11:47.741Z","url":"/v2/projects"}
|
||||||
|
{"duration":120,"headers":{"accept":"application/json, text/plain, */*","accept-encoding":"gzip, br","accept-language":"en-GB,en;q=0.9","cf-connecting-ip":"83.******.45","cookie":"_ga**********$h0","host":"api.urltrackertool.com","origin":"htt**********com","referer":"htt**********om/","user-agent":"Moz**********.36","x-forwarded-for":"83.**********148","x-forwarded-proto":"*****","x-real-ip":"172********148"},"ip":"::ffff:10.0.0.5","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":304,"timestamp":"2025-08-23T20:11:47.852Z","url":"/v2/checks/recent?limit=20","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"}
|
||||||
|
{"duration":115,"headers":{"accept":"application/json, text/plain, */*","accept-encoding":"gzip, br","accept-language":"en-GB,en;q=0.9","cf-connecting-ip":"83.******.45","cookie":"_ga**********$h0","host":"api.urltrackertool.com","origin":"htt**********com","referer":"htt**********om/","user-agent":"Moz**********.36","x-forwarded-for":"83.**********148","x-forwarded-proto":"*****","x-real-ip":"172********148"},"ip":"::ffff:10.0.0.5","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":304,"timestamp":"2025-08-23T20:11:47.855Z","url":"/v2/projects","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"}
|
||||||
|
{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:12:03.018Z","url":"/api/v1/auth/me"}
|
||||||
|
{"duration":15,"headers":{"accept":"application/json, text/plain, */*","accept-encoding":"gzip, br","accept-language":"en-GB,en;q=0.9","cf-connecting-ip":"83.******.45","cookie":"_ga**********$h0","host":"api.urltrackertool.com","origin":"htt**********com","referer":"htt**********om/","user-agent":"Moz**********.36","x-forwarded-for":"83.**********148","x-forwarded-proto":"*****","x-real-ip":"172********148"},"ip":"::ffff:10.0.0.5","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":304,"timestamp":"2025-08-23T20:12:03.032Z","url":"/api/v1/auth/me","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"}
|
||||||
|
{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:12:07.614Z","url":"/v2/projects"}
|
||||||
|
{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:12:07.621Z","url":"/v2/checks/recent?limit=20"}
|
||||||
|
{"duration":19,"headers":{"accept":"application/json, text/plain, */*","accept-encoding":"gzip, br","accept-language":"en-GB,en;q=0.9","cf-connecting-ip":"83.******.45","cookie":"_ga**********$h0","host":"api.urltrackertool.com","origin":"htt**********com","referer":"htt**********om/","user-agent":"Moz**********.36","x-forwarded-for":"83.**********175","x-forwarded-proto":"*****","x-real-ip":"172********175"},"ip":"::ffff:10.0.0.5","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":304,"timestamp":"2025-08-23T20:12:07.632Z","url":"/v2/projects","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"}
|
||||||
|
{"duration":26,"headers":{"accept":"application/json, text/plain, */*","accept-encoding":"gzip, br","accept-language":"en-GB,en;q=0.9","cf-connecting-ip":"83.******.45","cookie":"_ga**********$h0","host":"api.urltrackertool.com","origin":"htt**********com","referer":"htt**********om/","user-agent":"Moz**********.36","x-forwarded-for":"83.**********175","x-forwarded-proto":"*****","x-real-ip":"172********175"},"ip":"::ffff:10.0.0.5","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":304,"timestamp":"2025-08-23T20:12:07.647Z","url":"/v2/checks/recent?limit=20","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"}
|
||||||
|
{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:12:10.662Z","url":"/api/v1/auth/me"}
|
||||||
|
{"duration":11,"headers":{"accept":"application/json, text/plain, */*","accept-encoding":"gzip, br","accept-language":"en-GB,en;q=0.9","cf-connecting-ip":"83.******.45","cookie":"_ga**********$h0","host":"api.urltrackertool.com","origin":"htt**********com","referer":"htt**********om/","user-agent":"Moz**********.36","x-forwarded-for":"83.**********175","x-forwarded-proto":"*****","x-real-ip":"172********175"},"ip":"::ffff:10.0.0.5","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":304,"timestamp":"2025-08-23T20:12:10.672Z","url":"/api/v1/auth/me","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"}
|
||||||
|
{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:12:49.142Z","url":"/v2/projects"}
|
||||||
|
{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:12:49.148Z","url":"/v2/checks/recent?limit=20"}
|
||||||
|
{"duration":19,"headers":{"accept":"application/json, text/plain, */*","accept-encoding":"gzip, br","accept-language":"en-GB,en;q=0.9","cf-connecting-ip":"83.******.45","cookie":"_ga**********$h0","host":"api.urltrackertool.com","origin":"htt**********com","referer":"htt**********om/","user-agent":"Moz**********.36","x-forwarded-for":"83.**********175","x-forwarded-proto":"*****","x-real-ip":"172********175"},"ip":"::ffff:10.0.0.5","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":304,"timestamp":"2025-08-23T20:12:49.161Z","url":"/v2/projects","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"}
|
||||||
|
{"duration":33,"headers":{"accept":"application/json, text/plain, */*","accept-encoding":"gzip, br","accept-language":"en-GB,en;q=0.9","cf-connecting-ip":"83.******.45","cookie":"_ga**********$h0","host":"api.urltrackertool.com","origin":"htt**********com","referer":"htt**********om/","user-agent":"Moz**********.36","x-forwarded-for":"83.**********175","x-forwarded-proto":"*****","x-real-ip":"172********175"},"ip":"::ffff:10.0.0.5","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":304,"timestamp":"2025-08-23T20:12:49.181Z","url":"/v2/checks/recent?limit=20","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"}
|
||||||
|
{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:12:53.780Z","url":"/v2/track/cmejnn7iw000so5dd25vvb1hl"}
|
||||||
|
{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:12:53.786Z","url":"/v2/analyze/check/cmejnn7iw000so5dd25vvb1hl"}
|
||||||
|
{"contentLength":"9005","duration":28,"headers":{"accept":"application/json, text/plain, */*","accept-encoding":"gzip, br","accept-language":"en-GB,en;q=0.9","cf-connecting-ip":"83.******.45","cookie":"_ga**********$h0","host":"api.urltrackertool.com","origin":"htt**********com","referer":"htt**********om/","user-agent":"Moz**********.36","x-forwarded-for":"83.**********148","x-forwarded-proto":"*****","x-real-ip":"172********148"},"ip":"::ffff:10.0.0.5","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":200,"timestamp":"2025-08-23T20:12:53.808Z","url":"/v2/track/cmejnn7iw000so5dd25vvb1hl","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"}
|
||||||
|
{"contentLength":"9306","duration":31,"headers":{"accept":"application/json, text/plain, */*","accept-encoding":"gzip, br","accept-language":"en-GB,en;q=0.9","cf-connecting-ip":"83.******.45","cookie":"_ga**********$h0","host":"api.urltrackertool.com","origin":"htt**********com","referer":"htt**********om/","user-agent":"Moz**********.36","x-forwarded-for":"83.**********148","x-forwarded-proto":"*****","x-real-ip":"172********148"},"ip":"::ffff:10.0.0.5","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":200,"timestamp":"2025-08-23T20:12:53.816Z","url":"/v2/analyze/check/cmejnn7iw000so5dd25vvb1hl","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"}
|
||||||
|
{"level":"info","message":"SIGTERM received, shutting down gracefully","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:16:24.504Z"}
|
||||||
|
{"level":"info","message":"🚀 Redirect Intelligence v2 API Server running on http://localhost:3334","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:16:27.647Z"}
|
||||||
|
{"level":"info","message":"📖 API Documentation: http://localhost:3334/api/docs","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:16:27.652Z"}
|
||||||
|
{"level":"info","message":"🏥 Health Check: http://localhost:3334/health","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:16:27.653Z"}
|
||||||
|
{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:16:34.634Z","url":"/health"}
|
||||||
|
{"contentLength":"100","duration":12,"headers":{"accept":"*/*","host":"localhost:3334","user-agent":"cur*****1.0"},"ip":"::ffff:127.0.0.1","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":200,"timestamp":"2025-08-23T20:16:34.645Z","url":"/health","userAgent":"curl/7.81.0"}
|
||||||
|
{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:17:04.115Z","url":"/v2/track/cmejnn7iw000so5dd25vvb1hl"}
|
||||||
|
{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:17:04.157Z","url":"/v2/analyze/check/cmejnn7iw000so5dd25vvb1hl"}
|
||||||
|
{"duration":170,"headers":{"accept":"application/json, text/plain, */*","accept-encoding":"gzip, br","accept-language":"en-GB,en;q=0.9","cf-connecting-ip":"83.******.45","cookie":"_ga**********$h0","host":"api.urltrackertool.com","origin":"htt**********com","referer":"htt**********om/","user-agent":"Moz**********.36","x-forwarded-for":"83.**********179","x-forwarded-proto":"*****","x-real-ip":"172********179"},"ip":"::ffff:10.0.0.5","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":304,"timestamp":"2025-08-23T20:17:04.284Z","url":"/v2/track/cmejnn7iw000so5dd25vvb1hl","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"}
|
||||||
|
{"contentLength":"9306","duration":140,"headers":{"accept":"application/json, text/plain, */*","accept-encoding":"gzip, br","accept-language":"en-GB,en;q=0.9","cf-connecting-ip":"83.******.45","cookie":"_ga**********$h0","host":"api.urltrackertool.com","origin":"htt**********com","referer":"htt**********om/","user-agent":"Moz**********.36","x-forwarded-for":"83.**********178","x-forwarded-proto":"*****","x-real-ip":"172********178"},"ip":"::ffff:10.0.0.5","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":200,"timestamp":"2025-08-23T20:17:04.297Z","url":"/v2/analyze/check/cmejnn7iw000so5dd25vvb1hl","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"}
|
||||||
|
{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:17:04.355Z","url":"/api/v1/auth/me"}
|
||||||
|
{"duration":13,"headers":{"accept":"application/json, text/plain, */*","accept-encoding":"gzip, br","accept-language":"en-GB,en;q=0.9","cf-connecting-ip":"83.******.45","cookie":"_ga**********$h0","host":"api.urltrackertool.com","origin":"htt**********com","referer":"htt**********om/","user-agent":"Moz**********.36","x-forwarded-for":"83.**********179","x-forwarded-proto":"*****","x-real-ip":"172********179"},"ip":"::ffff:10.0.0.5","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":304,"timestamp":"2025-08-23T20:17:04.367Z","url":"/api/v1/auth/me","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"}
|
||||||
|
{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:17:10.985Z","url":"/v2/track"}
|
||||||
|
{"contentLength":"0","duration":2,"headers":{"accept":"*/*","accept-encoding":"gzip, br","accept-language":"en-GB,en;q=0.9","cf-connecting-ip":"83.******.45","host":"api.urltrackertool.com","origin":"htt**********com","referer":"htt**********om/","user-agent":"Moz**********.36","x-forwarded-for":"83.**********221","x-forwarded-proto":"*****","x-real-ip":"172********221"},"ip":"::ffff:10.0.0.5","level":"info","message":"Request completed","method":"OPTIONS","service":"redirect-intelligence-api","statusCode":200,"timestamp":"2025-08-23T20:17:10.987Z","url":"/v2/track","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"}
|
||||||
|
{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:17:11.190Z","url":"/v2/track"}
|
||||||
|
{"level":"info","maxHops":10,"message":"Starting enhanced redirect tracking: https://footprints-ai.profi.ro/campaigns-smart/dXRtX3NvdXJjZT1mb290cHJpbnRzLWFpLnByb2ZpJnV0bV9tZWRpdW09bW9iaWxlQXBwJnV0bV9jYW1wYWlnbj1JTkcrLStDcmVkaXQrY2FyZCtjdStjaGVmK2RlK3NhdnVyYXQrJTVCMTQuMDgrLSszMS4wOCU1RCZ1dG1faWQ9YjE1c29zODdnOA==","method":"GET","projectId":"cmeizda0t000kxqf4v8hnhqxt","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:17:11.226Z","userId":"cmeizda0i000fxqf4mysy7x6m"}
|
||||||
|
{"finalUrl":"https://ing.ro/lp/credit-card?sup=OTHE&ini=other&cha=17&cam=23465&utm_source=other&utm_medium=dirbuy_video&utm_campaign=ire_PAT-52056_ro_2025_rtl_credit-card_display-video_LIB-SHOP-25_na_na&utm_content=placement-name-j6p_PAT-52056-PAM-58206_ro_2025_rtl_credit-card_intrst_aw_see_direct-display_footprintsai_direct_dis_1x1_na_na_cpm_LIB-SHOP-25-MPL-07-ProfiâMobile-AppâSponsored-Post-creative-name-ro_credit-card_1x1_LIB-SHOP-25-MPL-07-ProfiâMobile-AppâSponsored-Post_na&dclid=CMntw4_goY8DFb1S9ggduVwGDw&gad_source=7","level":"info","message":"Starting enhanced analysis for check cmeopahx80001gq9jgs2wnrk4","securityEnabled":true,"seoEnabled":true,"service":"redirect-intelligence-api","sslEnabled":true,"timestamp":"2025-08-23T20:17:12.743Z"}
|
||||||
|
{"level":"info","message":"Starting SSL analysis for: ing.ro:443","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:17:12.744Z"}
|
||||||
|
{"level":"info","message":"Starting SEO analysis for: https://ing.ro/lp/credit-card?sup=OTHE&ini=other&cha=17&cam=23465&utm_source=other&utm_medium=dirbuy_video&utm_campaign=ire_PAT-52056_ro_2025_rtl_credit-card_display-video_LIB-SHOP-25_na_na&utm_content=placement-name-j6p_PAT-52056-PAM-58206_ro_2025_rtl_credit-card_intrst_aw_see_direct-display_footprintsai_direct_dis_1x1_na_na_cpm_LIB-SHOP-25-MPL-07-ProfiâMobile-AppâSponsored-Post-creative-name-ro_credit-card_1x1_LIB-SHOP-25-MPL-07-ProfiâMobile-AppâSponsored-Post_na&dclid=CMntw4_goY8DFb1S9ggduVwGDw&gad_source=7","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:17:12.747Z"}
|
||||||
|
{"level":"info","message":"Starting security analysis for: https://ing.ro/lp/credit-card?sup=OTHE&ini=other&cha=17&cam=23465&utm_source=other&utm_medium=dirbuy_video&utm_campaign=ire_PAT-52056_ro_2025_rtl_credit-card_display-video_LIB-SHOP-25_na_na&utm_content=placement-name-j6p_PAT-52056-PAM-58206_ro_2025_rtl_credit-card_intrst_aw_see_direct-display_footprintsai_direct_dis_1x1_na_na_cpm_LIB-SHOP-25-MPL-07-ProfiâMobile-AppâSponsored-Post-creative-name-ro_credit-card_1x1_LIB-SHOP-25-MPL-07-ProfiâMobile-AppâSponsored-Post_na&dclid=CMntw4_goY8DFb1S9ggduVwGDw&gad_source=7","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:17:12.752Z"}
|
||||||
|
{"daysToExpiry":323,"level":"info","message":"SSL analysis completed for: ing.ro:443","securityScore":100,"service":"redirect-intelligence-api","timestamp":"2025-08-23T20:17:12.873Z","valid":true}
|
||||||
|
{"hasTitle":true,"level":"info","message":"SEO analysis completed for: https://ing.ro/lp/credit-card?sup=OTHE&ini=other&cha=17&cam=23465&utm_source=other&utm_medium=dirbuy_video&utm_campaign=ire_PAT-52056_ro_2025_rtl_credit-card_display-video_LIB-SHOP-25_na_na&utm_content=placement-name-j6p_PAT-52056-PAM-58206_ro_2025_rtl_credit-card_intrst_aw_see_direct-display_footprintsai_direct_dis_1x1_na_na_cpm_LIB-SHOP-25-MPL-07-ProfiâMobile-AppâSponsored-Post-creative-name-ro_credit-card_1x1_LIB-SHOP-25-MPL-07-ProfiâMobile-AppâSponsored-Post_na&dclid=CMntw4_goY8DFb1S9ggduVwGDw&gad_source=7","noindex":true,"robotsStatus":"found","score":69,"service":"redirect-intelligence-api","timestamp":"2025-08-23T20:17:13.635Z"}
|
||||||
|
{"headersScore":70,"level":"info","message":"Security analysis completed for: https://ing.ro/lp/credit-card?sup=OTHE&ini=other&cha=17&cam=23465&utm_source=other&utm_medium=dirbuy_video&utm_campaign=ire_PAT-52056_ro_2025_rtl_credit-card_display-video_LIB-SHOP-25_na_na&utm_content=placement-name-j6p_PAT-52056-PAM-58206_ro_2025_rtl_credit-card_intrst_aw_see_direct-display_footprintsai_direct_dis_1x1_na_na_cpm_LIB-SHOP-25-MPL-07-ProfiâMobile-AppâSponsored-Post-creative-name-ro_credit-card_1x1_LIB-SHOP-25-MPL-07-ProfiâMobile-AppâSponsored-Post_na&dclid=CMntw4_goY8DFb1S9ggduVwGDw&gad_source=7","mixedContent":"NONE","safeBrowsing":"safe","score":90,"service":"redirect-intelligence-api","timestamp":"2025-08-23T20:17:13.691Z"}
|
||||||
|
{"level":"info","message":"Enhanced analysis completed for check cmeopahx80001gq9jgs2wnrk4","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:17:13.875Z"}
|
||||||
|
{"checkId":"cmeopahx80001gq9jgs2wnrk4","level":"info","loopDetected":false,"message":"Enhanced redirect tracking completed: https://footprints-ai.profi.ro/campaigns-smart/dXRtX3NvdXJjZT1mb290cHJpbnRzLWFpLnByb2ZpJnV0bV9tZWRpdW09bW9iaWxlQXBwJnV0bV9jYW1wYWlnbj1JTkcrLStDcmVkaXQrY2FyZCtjdStjaGVmK2RlK3NhdnVyYXQrJTVCMTQuMDgrLSszMS4wOCU1RCZ1dG1faWQ9YjE1c29zODdnOA==","redirectCount":2,"service":"redirect-intelligence-api","status":"OK","timestamp":"2025-08-23T20:17:13.903Z","totalTimeMs":1251}
|
||||||
|
{"checkId":"cmeopahx80001gq9jgs2wnrk4","isAnonymous":false,"level":"info","message":"Enhanced tracking completed: https://footprints-ai.profi.ro/campaigns-smart/dXRtX3NvdXJjZT1mb290cHJpbnRzLWFpLnByb2ZpJnV0bV9tZWRpdW09bW9iaWxlQXBwJnV0bV9jYW1wYWlnbj1JTkcrLStDcmVkaXQrY2FyZCtjdStjaGVmK2RlK3NhdnVyYXQrJTVCMTQuMDgrLSszMS4wOCU1RCZ1dG1faWQ9YjE1c29zODdnOA==","projectId":"cmeizda0t000kxqf4v8hnhqxt","redirectCount":2,"service":"redirect-intelligence-api","status":"OK","timestamp":"2025-08-23T20:17:13.903Z","userId":"cmeizda0i000fxqf4mysy7x6m"}
|
||||||
|
{"contentLength":"11159","duration":2716,"headers":{"accept":"application/json, text/plain, */*","accept-encoding":"gzip, br","accept-language":"en-GB,en;q=0.9","cf-connecting-ip":"83.******.45","content-length":"384","content-type":"application/json","cookie":"_ga**********$h0","host":"api.urltrackertool.com","origin":"htt**********com","referer":"htt**********om/","user-agent":"Moz**********.36","x-forwarded-for":"83.**********148","x-forwarded-proto":"*****","x-real-ip":"172********148"},"ip":"::ffff:10.0.0.5","level":"info","message":"Request completed","method":"POST","service":"redirect-intelligence-api","statusCode":200,"timestamp":"2025-08-23T20:17:13.905Z","url":"/v2/track","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"}
|
||||||
|
{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:17:14.004Z","url":"/v2/track/cmeopahx80001gq9jgs2wnrk4"}
|
||||||
|
{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:17:14.008Z","url":"/v2/analyze/check/cmeopahx80001gq9jgs2wnrk4"}
|
||||||
|
{"contentLength":"9006","duration":25,"headers":{"accept":"application/json, text/plain, */*","accept-encoding":"gzip, br","accept-language":"en-GB,en;q=0.9","cf-connecting-ip":"83.******.45","cookie":"_ga**********$h0","host":"api.urltrackertool.com","origin":"htt**********com","referer":"htt**********om/","user-agent":"Moz**********.36","x-forwarded-for":"83.**********148","x-forwarded-proto":"*****","x-real-ip":"172********148"},"ip":"::ffff:10.0.0.5","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":200,"timestamp":"2025-08-23T20:17:14.028Z","url":"/v2/track/cmeopahx80001gq9jgs2wnrk4","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"}
|
||||||
|
{"contentLength":"10532","duration":32,"headers":{"accept":"application/json, text/plain, */*","accept-encoding":"gzip, br","accept-language":"en-GB,en;q=0.9","cf-connecting-ip":"83.******.45","cookie":"_ga**********$h0","host":"api.urltrackertool.com","origin":"htt**********com","referer":"htt**********om/","user-agent":"Moz**********.36","x-forwarded-for":"83.**********148","x-forwarded-proto":"*****","x-real-ip":"172********148"},"ip":"::ffff:10.0.0.5","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":200,"timestamp":"2025-08-23T20:17:14.040Z","url":"/v2/analyze/check/cmeopahx80001gq9jgs2wnrk4","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"}
|
||||||
|
{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:19:02.875Z","url":"/v2/projects"}
|
||||||
|
{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:19:02.961Z","url":"/v2/checks/recent?limit=20"}
|
||||||
|
{"contentLength":"13531","duration":78,"headers":{"accept":"application/json, text/plain, */*","accept-encoding":"gzip, br","accept-language":"en-GB,en;q=0.9","cf-connecting-ip":"83.******.45","cookie":"_ga**********$h0","host":"api.urltrackertool.com","origin":"htt**********com","referer":"htt**********om/","user-agent":"Moz**********.36","x-forwarded-for":"83.**********174","x-forwarded-proto":"*****","x-real-ip":"172********174"},"ip":"::ffff:10.0.0.5","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":200,"timestamp":"2025-08-23T20:19:03.039Z","url":"/v2/checks/recent?limit=20","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"}
|
||||||
|
{"contentLength":"298","duration":209,"headers":{"accept":"application/json, text/plain, */*","accept-encoding":"gzip, br","accept-language":"en-GB,en;q=0.9","cf-connecting-ip":"83.******.45","cookie":"_ga**********$h0","host":"api.urltrackertool.com","origin":"htt**********com","referer":"htt**********om/","user-agent":"Moz**********.36","x-forwarded-for":"83.**********175","x-forwarded-proto":"*****","x-real-ip":"172********175"},"ip":"::ffff:10.0.0.5","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":200,"timestamp":"2025-08-23T20:19:03.084Z","url":"/v2/projects","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"}
|
||||||
|
{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:19:58.490Z","url":"/api/v1/auth/me"}
|
||||||
|
{"duration":19,"headers":{"accept":"application/json, text/plain, */*","accept-encoding":"gzip, br","accept-language":"en-GB,en;q=0.9","cf-connecting-ip":"83.******.45","cookie":"_ga**********$h0","host":"api.urltrackertool.com","origin":"htt**********com","referer":"htt**********om/","user-agent":"Moz**********.36","x-forwarded-for":"83.**********221","x-forwarded-proto":"*****","x-real-ip":"172********221"},"ip":"::ffff:10.0.0.5","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":304,"timestamp":"2025-08-23T20:19:58.509Z","url":"/api/v1/auth/me","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"}
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
2
apps/web/dist/index.html
vendored
2
apps/web/dist/index.html
vendored
@@ -15,7 +15,7 @@
|
|||||||
|
|
||||||
gtag('config', 'G-ZDZ26XYN2P');
|
gtag('config', 'G-ZDZ26XYN2P');
|
||||||
</script>
|
</script>
|
||||||
<script type="module" crossorigin src="/assets/index-Z8hwuOIA.js"></script>
|
<script type="module" crossorigin src="/assets/index-DL4PyATX.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="root"></div>
|
<div id="root"></div>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* Analysis Page - Comprehensive analysis and reporting interface
|
* Analysis Page - Comprehensive analysis and reporting interface
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { useState } from 'react';
|
import { useState, useEffect } from 'react';
|
||||||
import {
|
import {
|
||||||
Box,
|
Box,
|
||||||
Heading,
|
Heading,
|
||||||
@@ -42,6 +42,7 @@ import { useForm } from 'react-hook-form';
|
|||||||
import { zodResolver } from '@hookform/resolvers/zod';
|
import { zodResolver } from '@hookform/resolvers/zod';
|
||||||
import { z } from 'zod';
|
import { z } from 'zod';
|
||||||
import { useMutation } from '@tanstack/react-query';
|
import { useMutation } from '@tanstack/react-query';
|
||||||
|
import { useLocation } from 'react-router-dom';
|
||||||
import {
|
import {
|
||||||
FiShield,
|
FiShield,
|
||||||
FiSearch,
|
FiSearch,
|
||||||
@@ -72,6 +73,7 @@ interface AnalysisResults {
|
|||||||
export function AnalysisPage() {
|
export function AnalysisPage() {
|
||||||
const [analysisResults, setAnalysisResults] = useState<AnalysisResults | null>(null);
|
const [analysisResults, setAnalysisResults] = useState<AnalysisResults | null>(null);
|
||||||
const toast = useToast();
|
const toast = useToast();
|
||||||
|
const location = useLocation();
|
||||||
|
|
||||||
const cardBg = useColorModeValue('white', 'gray.800');
|
const cardBg = useColorModeValue('white', 'gray.800');
|
||||||
const borderColor = useColorModeValue('gray.200', 'gray.700');
|
const borderColor = useColorModeValue('gray.200', 'gray.700');
|
||||||
@@ -79,6 +81,7 @@ export function AnalysisPage() {
|
|||||||
const {
|
const {
|
||||||
register,
|
register,
|
||||||
handleSubmit,
|
handleSubmit,
|
||||||
|
setValue,
|
||||||
formState: { errors },
|
formState: { errors },
|
||||||
} = useForm<AnalysisFormData>({
|
} = useForm<AnalysisFormData>({
|
||||||
resolver: zodResolver(analysisSchema),
|
resolver: zodResolver(analysisSchema),
|
||||||
@@ -89,6 +92,14 @@ export function AnalysisPage() {
|
|||||||
|
|
||||||
// const analysisType = watch('analysisType'); // For future use
|
// const analysisType = watch('analysisType'); // For future use
|
||||||
|
|
||||||
|
// Pre-fill form if URL is passed via navigation state
|
||||||
|
useEffect(() => {
|
||||||
|
const state = location.state as { url?: string } | null;
|
||||||
|
if (state?.url) {
|
||||||
|
setValue('url', state.url);
|
||||||
|
}
|
||||||
|
}, [location.state, setValue]);
|
||||||
|
|
||||||
const analysisMutation = useMutation({
|
const analysisMutation = useMutation({
|
||||||
mutationFn: async (data: AnalysisFormData) => {
|
mutationFn: async (data: AnalysisFormData) => {
|
||||||
switch (data.analysisType) {
|
switch (data.analysisType) {
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
* Advanced form for tracking URLs with analysis options
|
* Advanced form for tracking URLs with analysis options
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { useState } from 'react';
|
import { useState, useEffect } from 'react';
|
||||||
import {
|
import {
|
||||||
Box,
|
Box,
|
||||||
Heading,
|
Heading,
|
||||||
@@ -43,7 +43,7 @@ import { useForm } from 'react-hook-form';
|
|||||||
import { zodResolver } from '@hookform/resolvers/zod';
|
import { zodResolver } from '@hookform/resolvers/zod';
|
||||||
import { z } from 'zod';
|
import { z } from 'zod';
|
||||||
import { useMutation } from '@tanstack/react-query';
|
import { useMutation } from '@tanstack/react-query';
|
||||||
import { useNavigate } from 'react-router-dom';
|
import { useNavigate, useLocation } from 'react-router-dom';
|
||||||
|
|
||||||
import { trackingApi, TrackRequestV2 } from '../services/api';
|
import { trackingApi, TrackRequestV2 } from '../services/api';
|
||||||
import { TrackingResults } from '../components/Tracking/TrackingResults';
|
import { TrackingResults } from '../components/Tracking/TrackingResults';
|
||||||
@@ -68,6 +68,7 @@ export function TrackingPage() {
|
|||||||
const [trackingResult, setTrackingResult] = useState<any>(null);
|
const [trackingResult, setTrackingResult] = useState<any>(null);
|
||||||
const toast = useToast();
|
const toast = useToast();
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
|
const location = useLocation();
|
||||||
const { isAuthenticated } = useAuth();
|
const { isAuthenticated } = useAuth();
|
||||||
|
|
||||||
const {
|
const {
|
||||||
@@ -91,6 +92,17 @@ export function TrackingPage() {
|
|||||||
const maxHops = watch('maxHops');
|
const maxHops = watch('maxHops');
|
||||||
const timeout = watch('timeout');
|
const timeout = watch('timeout');
|
||||||
|
|
||||||
|
// Pre-fill form if URL is passed via navigation state
|
||||||
|
useEffect(() => {
|
||||||
|
const state = location.state as { url?: string; method?: string } | null;
|
||||||
|
if (state?.url) {
|
||||||
|
setValue('url', state.url);
|
||||||
|
if (state.method) {
|
||||||
|
setValue('method', state.method as 'GET' | 'POST' | 'HEAD');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, [location.state, setValue]);
|
||||||
|
|
||||||
const trackingMutation = useMutation({
|
const trackingMutation = useMutation({
|
||||||
mutationFn: async (data: TrackRequestV2) => {
|
mutationFn: async (data: TrackRequestV2) => {
|
||||||
return await trackingApi.trackUrlV2(data);
|
return await trackingApi.trackUrlV2(data);
|
||||||
|
|||||||
Reference in New Issue
Block a user