diff --git a/tests/proxy_evaluation/test_results/baseline_summary.json b/tests/proxy_evaluation/test_results/baseline_summary.json new file mode 100644 index 0000000..61b3ce1 --- /dev/null +++ b/tests/proxy_evaluation/test_results/baseline_summary.json @@ -0,0 +1,28 @@ +{ + "connection_type": "BASELINE_NO_PROXY", + "timestamp": "2025-08-13T14:44:42.444407", + "main_ip": "79.194.11.162", + "metrics": { + "avg_response_time": 3.253761503431532, + "min_response_time": 0.8651783466339111, + "max_response_time": 8.90199589729309, + "accessible_sites": [ + "Google", + "TikTok", + "Instagram", + "Twitter/X", + "Gmail", + "Facebook" + ], + "blocked_sites": [], + "access_rate": 100.0, + "webdriver_detected": true, + "plugins_count": 0 + }, + "isp_info": { + "isp": "Deutsche Telekom AG", + "country": "Germany", + "city": "Hilden", + "as": "AS3320 Deutsche Telekom AG" + } +} \ No newline at end of file diff --git a/tests/proxy_evaluation/test_results/baseline_test_20250813_143756.json b/tests/proxy_evaluation/test_results/baseline_test_20250813_143756.json new file mode 100644 index 0000000..a2f74bb --- /dev/null +++ b/tests/proxy_evaluation/test_results/baseline_test_20250813_143756.json @@ -0,0 +1,174 @@ +{ + "timestamp": "2025-08-13T14:37:24.709223", + "connection_type": "NO_PROXY_BASELINE", + "tests": { + "basic_info": { + "ipify": { + "success": true, + "data": { + "ip": "134.95.7.150" + } + }, + "httpbin": { + "success": true, + "data": { + "origin": "134.95.7.150" + } + }, + "ip-api": { + "success": true, + "data": { + "status": "success", + "country": "Germany", + "countryCode": "DE", + "region": "NW", + "regionName": "North Rhine-Westphalia", + "city": "Cologne", + "zip": "50674", + "lat": 50.9318, + "lon": 6.9312, + "timezone": "Europe/Berlin", + "isp": "Universitaet zu Koeln", + "org": "Universitaet zu Koeln", + "as": "AS5520 Universitaet zu Koeln", + "query": "134.95.7.150" + } + }, + "ipinfo": { + "success": true, + "data": { + "ip": "134.95.7.150", + "city": "K\u00f6ln", + "region": "North Rhine-Westphalia", + "country": "DE", + "loc": "50.9333,6.9500", + "org": "AS5520 Universitaet zu Koeln", + "postal": "50667", + "timezone": "Europe/Berlin", + "readme": "https://ipinfo.io/missingauth" + } + } + }, + "website_access": [ + { + "site": "Google", + "url": "https://www.google.com", + "success": true, + "status_code": 200, + "response_time": 0.20235824584960938, + "final_url": "https://www.google.com/" + }, + { + "site": "TikTok", + "url": "https://www.tiktok.com", + "success": true, + "status_code": 403, + "response_time": 0.28420042991638184, + "final_url": "https://www.tiktok.com/" + }, + { + "site": "Instagram", + "url": "https://www.instagram.com", + "success": true, + "status_code": 200, + "response_time": 0.5358352661132812, + "final_url": "https://www.instagram.com/" + }, + { + "site": "Twitter/X", + "url": "https://www.x.com", + "success": true, + "status_code": 200, + "response_time": 1.0388648509979248, + "final_url": "https://x.com/" + }, + { + "site": "Gmail", + "url": "https://mail.google.com", + "success": true, + "status_code": 200, + "response_time": 0.7553877830505371, + "final_url": "https://accounts.google.com/v3/signin/identifier?continue=https%3A%2F%2Fmail.google.com%2Fmail%2Fu%2F0%2F&emr=1&followup=https%3A%2F%2Fmail.google.com%2Fmail%2Fu%2F0%2F&ifkv=AdBytiPe-_QrA6UWSORY5momqkb-TQrrbN7NeumKbCHuSOUoCykDH7GiNAa2grvMFtpiIAD9E93VJQ&osid=1&passive=1209600&service=mail&flowName=WebLiteSignIn&flowEntry=ServiceLogin&dsh=S-803668228%3A1755088650458622" + }, + { + "site": "Facebook", + "url": "https://www.facebook.com", + "success": true, + "status_code": 200, + "response_time": 0.32799315452575684, + "final_url": "https://www.facebook.com/" + } + ], + "performance": { + "success": true, + "timings": [ + 0.30414390563964844, + 1.2467386722564697, + 1.9527969360351562, + 2.9213693141937256, + 2.9632363319396973, + 0.9030735492706299, + 1.5566632747650146, + 0.47032618522644043, + 2.066563606262207, + 2.3272545337677 + ], + "average": 1.6712166309356689, + "min": 0.30414390563964844, + "max": 2.9632363319396973 + }, + "parallel_requests": { + "total_requests": 10, + "successful_requests": 10, + "unique_ips": 1, + "ips": [ + "134.95.7.150" + ] + }, + "browser": { + "websites_tested": [ + { + "site": "TikTok", + "success": true, + "status": 200, + "load_time": 0.8222441673278809 + }, + { + "site": "Instagram", + "success": true, + "status": 200, + "load_time": 0.6451137065887451 + }, + { + "site": "Google", + "success": true, + "status": 200, + "load_time": 0.4879307746887207 + } + ], + "javascript_checks": { + "webdriver": true, + "plugins": 0, + "languages": [ + "de-DE" + ], + "platform": "Win32", + "vendor": "Google Inc.", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb" + }, + "performance_metrics": [], + "browser_ip": "134.95.7.150" + }, + "headers": { + "success": true, + "headers": { + "Accept": "*/*", + "Accept-Encoding": "gzip, deflate", + "Host": "httpbin.org", + "User-Agent": "python-requests/2.32.3", + "X-Amzn-Trace-Id": "Root=1-689c8724-68420d2a73747ebb6fbffc59" + } + } + }, + "main_ip": "134.95.7.150" +} \ No newline at end of file diff --git a/tests/proxy_evaluation/test_results/baseline_test_20250813_144600.json b/tests/proxy_evaluation/test_results/baseline_test_20250813_144600.json new file mode 100644 index 0000000..78f5157 --- /dev/null +++ b/tests/proxy_evaluation/test_results/baseline_test_20250813_144600.json @@ -0,0 +1,168 @@ +{ + "timestamp": "2025-08-13T14:44:42.444407", + "connection_type": "NO_PROXY_BASELINE", + "tests": { + "basic_info": { + "ipify": { + "success": true, + "data": { + "ip": "79.194.11.162" + } + }, + "httpbin": { + "success": true, + "data": { + "origin": "79.194.11.162" + } + }, + "ip-api": { + "success": true, + "data": { + "status": "success", + "country": "Germany", + "countryCode": "DE", + "region": "NW", + "regionName": "North Rhine-Westphalia", + "city": "Hilden", + "zip": "40721", + "lat": 51.1737, + "lon": 6.9349, + "timezone": "Europe/Berlin", + "isp": "Deutsche Telekom AG", + "org": "Deutsche Telekom AG", + "as": "AS3320 Deutsche Telekom AG", + "query": "79.194.11.162" + } + }, + "ipinfo": { + "success": true, + "data": { + "ip": "79.194.11.162", + "hostname": "p4fc20ba2.dip0.t-ipconnect.de", + "city": "Hilden", + "region": "North Rhine-Westphalia", + "country": "DE", + "loc": "51.1682,6.9309", + "org": "AS3320 Deutsche Telekom AG", + "postal": "40721", + "timezone": "Europe/Berlin", + "readme": "https://ipinfo.io/missingauth" + } + } + }, + "website_access": [ + { + "site": "Google", + "url": "https://www.google.com", + "success": true, + "status_code": 200, + "response_time": 0.12415289878845215, + "final_url": "https://www.google.com/" + }, + { + "site": "TikTok", + "url": "https://www.tiktok.com", + "success": true, + "status_code": 403, + "response_time": 0.18201565742492676, + "final_url": "https://www.tiktok.com/" + }, + { + "site": "Instagram", + "url": "https://www.instagram.com", + "success": true, + "status_code": 200, + "response_time": 0.5506885051727295, + "final_url": "https://www.instagram.com/" + }, + { + "site": "Twitter/X", + "url": "https://www.x.com", + "success": true, + "status_code": 200, + "response_time": 0.7109043598175049, + "final_url": "https://x.com/" + }, + { + "site": "Gmail", + "url": "https://mail.google.com", + "success": true, + "status_code": 200, + "response_time": 0.5670645236968994, + "final_url": "https://accounts.google.com/v3/signin/identifier?continue=https%3A%2F%2Fmail.google.com%2Fmail%2Fu%2F0%2F&emr=1&followup=https%3A%2F%2Fmail.google.com%2Fmail%2Fu%2F0%2F&ifkv=AdBytiMyxu2GZt1eq0fYf2Z7GkqWW2SUwULp-QfH0qAfiW16BAJLQAid7QIF64IdjcY3yJJCb84O&osid=1&passive=1209600&service=mail&flowName=WebLiteSignIn&flowEntry=ServiceLogin&dsh=S-1356211415%3A1755089095202453" + }, + { + "site": "Facebook", + "url": "https://www.facebook.com", + "success": true, + "status_code": 200, + "response_time": 0.45809030532836914, + "final_url": "https://www.facebook.com/" + } + ], + "performance": { + "success": true, + "timings": [ + 2.0637776851654053, + 3.4852781295776367, + 5.705533266067505, + 2.5842161178588867, + 0.8651783466339111, + 2.6209042072296143, + 8.90199589729309, + 1.9371910095214844, + 1.1197788715362549 + ], + "average": 3.253761503431532, + "min": 0.8651783466339111, + "max": 8.90199589729309 + }, + "parallel_requests": { + "total_requests": 10, + "successful_requests": 10, + "unique_ips": 1, + "ips": [ + "79.194.11.162" + ] + }, + "browser": { + "websites_tested": [ + { + "site": "TikTok", + "success": true, + "status": 200, + "load_time": 0.6999237537384033 + }, + { + "site": "Instagram", + "success": true, + "status": 200, + "load_time": 0.5234816074371338 + }, + { + "site": "Google", + "success": true, + "status": 200, + "load_time": 0.3662760257720947 + } + ], + "javascript_checks": { + "webdriver": true, + "plugins": 0, + "languages": [ + "de-DE" + ], + "platform": "Win32", + "vendor": "Google Inc.", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb" + }, + "performance_metrics": [], + "browser_ip": "79.194.11.162" + }, + "headers": { + "success": false, + "error": "HTTPConnectionPool(host='httpbin.org', port=80): Read timed out. (read timeout=10)" + } + }, + "main_ip": "79.194.11.162" +} \ No newline at end of file diff --git a/tests/proxy_evaluation/test_results/browser_proxy_test_20250813_143241.json b/tests/proxy_evaluation/test_results/browser_proxy_test_20250813_143241.json new file mode 100644 index 0000000..3a26c74 --- /dev/null +++ b/tests/proxy_evaluation/test_results/browser_proxy_test_20250813_143241.json @@ -0,0 +1,130 @@ +{ + "timestamp": "2025-08-13T14:32:00.782317", + "proxy_config": { + "server": "http://brd.superproxy.io:33335", + "username": "brd-customer-hl_1ba62836-zone-isp_shared", + "password": "rr07j69m3c8h" + }, + "browser_tests": [ + { + "test": "basic_browser_connection", + "success": true, + "error": null, + "ip": "176.117.67.161", + "screenshot": "test_screenshots\\basic_connection.png" + }, + { + "test": "website_loading", + "results": [ + { + "site": "Google", + "url": "https://www.google.com", + "success": false, + "load_time": null, + "status": null, + "error": "Page.goto: net::ERR_TUNNEL_CONNECTION_FAILED at https://www.google.com/\nCall log:\n - navigating to \"https://www.google.com/\", waiting until \"domcontentloaded\"\n" + }, + { + "site": "TikTok", + "url": "https://www.tiktok.com", + "success": true, + "load_time": 1.1699237823486328, + "status": 200, + "error": null, + "final_url": "https://www.tiktok.com/explore", + "screenshot": "test_screenshots\\tiktok_loaded.png" + }, + { + "site": "Instagram", + "url": "https://www.instagram.com", + "success": true, + "load_time": 0.9921815395355225, + "status": 200, + "error": null, + "final_url": "https://www.instagram.com/", + "screenshot": "test_screenshots\\instagram_loaded.png" + }, + { + "site": "Twitter/X", + "url": "https://www.x.com", + "success": true, + "load_time": 1.962120532989502, + "status": 200, + "error": null, + "final_url": "https://x.com/", + "screenshot": "test_screenshots\\twitter_x_loaded.png" + }, + { + "site": "Gmail", + "url": "https://mail.google.com", + "success": true, + "load_time": 0.5117030143737793, + "status": 200, + "error": null, + "final_url": "https://accounts.google.com/v3/signin/identifier?continue=https%3A%2F%2Fmail.google.com%2Fmail%2Fu%2F0%2F&emr=1&followup=https%3A%2F%2Fmail.google.com%2Fmail%2Fu%2F0%2F&ifkv=AdBytiNxLIpsiDXV274wFuap0lQcTC6otQlmTL-2QtMig9Uvy08M_zxW02oQHQdEfVDcU-RAWaVuSA&osid=1&passive=1209600&service=mail&flowName=WebLiteSignIn&flowEntry=ServiceLogin&dsh=S-1642168469%3A1755088331971602", + "screenshot": "test_screenshots\\gmail_loaded.png" + } + ], + "success_rate": 80.0 + }, + { + "test": "javascript_execution", + "checks": { + "navigator": { + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/138.0.7204.23 Safari/537.36", + "platform": "Win32", + "language": "de-DE", + "webdriver": true, + "plugins": 0 + }, + "webrtc_ips": [], + "canvas_fingerprint": "data:image/png;base6..." + }, + "success": true + }, + { + "test": "cookie_storage", + "checks": { + "cookies_set": true, + "cookie_count": 1 + }, + "error": "Page.goto: net::ERR_TUNNEL_CONNECTION_FAILED at https://www.google.com/\nCall log:\n - navigating to \"https://www.google.com/\", waiting until \"load\"\n", + "success": false + }, + { + "test": "form_interaction", + "success": false, + "error": "Page.goto: net::ERR_TUNNEL_CONNECTION_FAILED at https://www.google.com/\nCall log:\n - navigating to \"https://www.google.com/\", waiting until \"load\"\n" + }, + { + "test": "performance_metrics", + "results": [ + { + "url": "https://www.google.com", + "error": "Page.goto: net::ERR_TUNNEL_CONNECTION_FAILED at https://www.google.com/\nCall log:\n - navigating to \"https://www.google.com/\", waiting until \"load\"\n", + "success": false + }, + { + "url": "https://www.tiktok.com", + "metrics": { + "domContentLoaded": 0, + "loadComplete": 2.099999999627471, + "domInteractive": 636.5, + "responseTime": 436.09999999962747 + }, + "success": true + }, + { + "url": "https://httpbin.org/html", + "metrics": { + "domContentLoaded": 0, + "loadComplete": 0, + "domInteractive": 5136.5, + "responseTime": 4818.800000000745 + }, + "success": true + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/proxy_evaluation/test_results/browser_proxy_test_20250813_144227.json b/tests/proxy_evaluation/test_results/browser_proxy_test_20250813_144227.json new file mode 100644 index 0000000..6eab7d0 --- /dev/null +++ b/tests/proxy_evaluation/test_results/browser_proxy_test_20250813_144227.json @@ -0,0 +1,130 @@ +{ + "timestamp": "2025-08-13T14:42:07.456114", + "proxy_config": { + "server": "http://brd.superproxy.io:33335", + "username": "brd-customer-hl_1ba62836-zone-isp_dedicated", + "password": "kv20xo4z0p1f" + }, + "browser_tests": [ + { + "test": "basic_browser_connection", + "success": true, + "error": null, + "ip": "109.238.198.182", + "screenshot": "test_screenshots\\basic_connection.png" + }, + { + "test": "website_loading", + "results": [ + { + "site": "Google", + "url": "https://www.google.com", + "success": false, + "load_time": null, + "status": null, + "error": "Page.goto: net::ERR_TUNNEL_CONNECTION_FAILED at https://www.google.com/\nCall log:\n - navigating to \"https://www.google.com/\", waiting until \"domcontentloaded\"\n" + }, + { + "site": "TikTok", + "url": "https://www.tiktok.com", + "success": true, + "load_time": 1.9559917449951172, + "status": 200, + "error": null, + "final_url": "https://www.tiktok.com/explore", + "screenshot": "test_screenshots\\tiktok_loaded.png" + }, + { + "site": "Instagram", + "url": "https://www.instagram.com", + "success": true, + "load_time": 1.1673967838287354, + "status": 200, + "error": null, + "final_url": "https://www.instagram.com/", + "screenshot": "test_screenshots\\instagram_loaded.png" + }, + { + "site": "Twitter/X", + "url": "https://www.x.com", + "success": true, + "load_time": 2.763400077819824, + "status": 200, + "error": null, + "final_url": "https://x.com/", + "screenshot": "test_screenshots\\twitter_x_loaded.png" + }, + { + "site": "Gmail", + "url": "https://mail.google.com", + "success": true, + "load_time": 0.792130708694458, + "status": 200, + "error": null, + "final_url": "https://accounts.google.com/v3/signin/identifier?continue=https%3A%2F%2Fmail.google.com%2Fmail%2Fu%2F0%2F&emr=1&followup=https%3A%2F%2Fmail.google.com%2Fmail%2Fu%2F0%2F&ifkv=AdBytiPKDvS0rKrsXLo-u0wdHoPGf4BgV-lpbBfB0ZvIv3v3xusPwl08QozWoYyLHzIgI5V0PhRT&osid=1&passive=1209600&service=mail&flowName=WebLiteSignIn&flowEntry=ServiceLogin&dsh=S-1727853702%3A1755088939212116", + "screenshot": "test_screenshots\\gmail_loaded.png" + } + ], + "success_rate": 80.0 + }, + { + "test": "javascript_execution", + "checks": { + "navigator": { + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/138.0.7204.23 Safari/537.36", + "platform": "Win32", + "language": "de-DE", + "webdriver": true, + "plugins": 0 + }, + "webrtc_ips": [], + "canvas_fingerprint": "data:image/png;base6..." + }, + "success": true + }, + { + "test": "cookie_storage", + "checks": { + "cookies_set": false, + "cookie_count": 0 + }, + "error": "Page.goto: net::ERR_TUNNEL_CONNECTION_FAILED at https://www.google.com/\nCall log:\n - navigating to \"https://www.google.com/\", waiting until \"load\"\n", + "success": false + }, + { + "test": "form_interaction", + "success": false, + "error": "Page.goto: net::ERR_TUNNEL_CONNECTION_FAILED at https://www.google.com/\nCall log:\n - navigating to \"https://www.google.com/\", waiting until \"load\"\n" + }, + { + "test": "performance_metrics", + "results": [ + { + "url": "https://www.google.com", + "error": "Page.goto: net::ERR_TUNNEL_CONNECTION_FAILED at https://www.google.com/\nCall log:\n - navigating to \"https://www.google.com/\", waiting until \"load\"\n", + "success": false + }, + { + "url": "https://www.tiktok.com", + "metrics": { + "domContentLoaded": 0, + "loadComplete": 2.199999999254942, + "domInteractive": 766.9000000003725, + "responseTime": 527.2000000011176 + }, + "success": true + }, + { + "url": "https://httpbin.org/html", + "metrics": { + "domContentLoaded": 0, + "loadComplete": 0, + "domInteractive": 424.80000000074506, + "responseTime": 124.19999999925494 + }, + "success": true + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/proxy_evaluation/test_results/browser_test_summary.json b/tests/proxy_evaluation/test_results/browser_test_summary.json new file mode 100644 index 0000000..c0a1a27 --- /dev/null +++ b/tests/proxy_evaluation/test_results/browser_test_summary.json @@ -0,0 +1,7 @@ +{ + "timestamp": "2025-08-13T14:42:07.456114", + "total_tests": 6, + "successful_tests": 2, + "success_rate": 33.33333333333333, + "browser_compatible": true +} \ No newline at end of file diff --git a/tests/proxy_evaluation/test_results/facebook_test_20250813_150605.json b/tests/proxy_evaluation/test_results/facebook_test_20250813_150605.json new file mode 100644 index 0000000..fb86454 --- /dev/null +++ b/tests/proxy_evaluation/test_results/facebook_test_20250813_150605.json @@ -0,0 +1,112 @@ +{ + "timestamp": "2025-08-13T15:05:52.809176", + "platform": "Facebook", + "results": { + "ISP_SHARED": { + "api": [ + { + "url": "https://www.facebook.com", + "success": true, + "status_code": 200, + "response_time": 0.711991548538208, + "final_url": "https://www.facebook.com/", + "content_length": 68978 + }, + { + "url": "https://m.facebook.com", + "success": true, + "status_code": 200, + "response_time": 0.8859601020812988, + "final_url": "https://www.facebook.com/?_rdr", + "content_length": 68989 + }, + { + "url": "https://business.facebook.com", + "success": true, + "status_code": 200, + "response_time": 0.8345270156860352, + "final_url": "https://business.facebook.com/business/loginpage/?next=https%3A%2F%2Fbusiness.facebook.com%2F%3Fnav_ref%3Dbiz_unified_f3_login_page_to_mbs&login_options%5B0%5D=FB&login_options%5B1%5D=IG&login_options%5B2%5D=SSO&config_ref=biz_login_tool_flavor_mbs", + "content_length": 222332 + }, + { + "url": "https://developers.facebook.com", + "success": true, + "status_code": 200, + "response_time": 1.3809971809387207, + "final_url": "https://developers.facebook.com/", + "content_length": 273390 + } + ], + "browser": { + "main_page": { + "success": true, + "status": 200, + "load_time": 0.79195237159729, + "url": "https://www.facebook.com/", + "title": "Facebook \u2013 Anmelden oder Registrieren" + }, + "login_form_visible": false, + "screenshot": "test_results\\facebook_isp_shared.png", + "javascript": { + "hasReact": false, + "hasFB": false, + "cookies": true, + "localStorage": true + } + } + }, + "ISP_DEDICATED": { + "api": [ + { + "url": "https://www.facebook.com", + "success": true, + "status_code": 200, + "response_time": 0.848444938659668, + "final_url": "https://www.facebook.com/", + "content_length": 161861 + }, + { + "url": "https://m.facebook.com", + "success": true, + "status_code": 200, + "response_time": 0.9293999671936035, + "final_url": "https://www.facebook.com/?_rdr", + "content_length": 161883 + }, + { + "url": "https://business.facebook.com", + "success": true, + "status_code": 200, + "response_time": 1.0148954391479492, + "final_url": "https://business.facebook.com/business/loginpage/?next=https%3A%2F%2Fbusiness.facebook.com%2F%3Fnav_ref%3Dbiz_unified_f3_login_page_to_mbs&login_options%5B0%5D=FB&login_options%5B1%5D=IG&login_options%5B2%5D=SSO&config_ref=biz_login_tool_flavor_mbs", + "content_length": 272382 + }, + { + "url": "https://developers.facebook.com", + "success": true, + "status_code": 200, + "response_time": 1.3244025707244873, + "final_url": "https://developers.facebook.com/", + "content_length": 261488 + } + ], + "browser": { + "main_page": { + "success": true, + "status": 200, + "load_time": 0.9408941268920898, + "url": "https://www.facebook.com/", + "title": "Facebook \u2013 Anmelden oder Registrieren" + }, + "login_form_visible": false, + "screenshot": "test_results\\facebook_isp_dedicated.png", + "javascript": { + "hasReact": false, + "hasFB": false, + "cookies": false, + "localStorage": true + } + } + } + } +} \ No newline at end of file diff --git a/tests/proxy_evaluation/test_results/ip_rotation_test_20250813_142319.json b/tests/proxy_evaluation/test_results/ip_rotation_test_20250813_142319.json new file mode 100644 index 0000000..1bce222 --- /dev/null +++ b/tests/proxy_evaluation/test_results/ip_rotation_test_20250813_142319.json @@ -0,0 +1,119 @@ +{ + "timestamp": "2025-08-13T14:21:46.416861", + "rotation_tests": [ + { + "test": "immediate_rotation", + "total_requests": 10, + "successful_requests": 10, + "unique_ips": 1, + "rotation_rate": 10.0, + "ip_distribution": { + "176.117.67.161": 10 + }, + "rotates_on_each_request": false + }, + { + "test": "session_persistence", + "total_requests": 10, + "successful_requests": 10, + "unique_ips": 1, + "ip_distribution": { + "176.117.67.161": 10 + }, + "has_sticky_session": true + }, + { + "test": "custom_headers", + "results": { + "session_fixed": { + "session_id": "test-session-123", + "ips": [ + "176.117.67.161", + "176.117.67.161", + "176.117.67.161" + ], + "unique_ips": 1, + "consistent": true + }, + "session_random_1": { + "session_id": "session-1755087733.988027", + "ips": [ + "176.117.67.161", + "176.117.67.161", + "176.117.67.161" + ], + "unique_ips": 1, + "consistent": true + }, + "session_random_2": { + "session_id": "session-1755087734.988027", + "ips": [ + "176.117.67.161", + "176.117.67.161", + "176.117.67.161" + ], + "unique_ips": 1, + "consistent": true + } + } + }, + { + "test": "parallel_connections", + "total_requests": 5, + "successful_requests": 5, + "unique_ips": 1, + "ips": [ + "176.117.67.161", + "176.117.67.161", + "176.117.67.161", + "176.117.67.161", + "176.117.67.161" + ] + }, + { + "test": "rotation_timing", + "results": [ + { + "interval": 0, + "ip_before": "176.117.67.161", + "ip_after": "176.117.67.161", + "changed": false + }, + { + "interval": 1, + "ip_before": "176.117.67.161", + "ip_after": "176.117.67.161", + "changed": false + }, + { + "interval": 5, + "ip_before": "176.117.67.161", + "ip_after": "176.117.67.161", + "changed": false + }, + { + "interval": 10, + "ip_before": "176.117.67.161", + "ip_after": "176.117.67.161", + "changed": false + }, + { + "interval": 30, + "ip_before": "176.117.67.161", + "ip_after": "176.117.67.161", + "changed": false + } + ] + } + ], + "analysis": { + "rotation_type": "sticky", + "characteristics": [ + "IP bleibt meist gleich", + "Unterst\u00fctzt Sticky Sessions mit HTTP Session" + ], + "recommendations": [ + "Verwende Session-Objekte f\u00fcr konsistente IPs" + ] + } +} \ No newline at end of file diff --git a/tests/proxy_evaluation/test_results/ip_rotation_test_20250813_144120.json b/tests/proxy_evaluation/test_results/ip_rotation_test_20250813_144120.json new file mode 100644 index 0000000..1dcee09 --- /dev/null +++ b/tests/proxy_evaluation/test_results/ip_rotation_test_20250813_144120.json @@ -0,0 +1,119 @@ +{ + "timestamp": "2025-08-13T14:39:50.948676", + "rotation_tests": [ + { + "test": "immediate_rotation", + "total_requests": 10, + "successful_requests": 10, + "unique_ips": 1, + "rotation_rate": 10.0, + "ip_distribution": { + "109.238.198.182": 10 + }, + "rotates_on_each_request": false + }, + { + "test": "session_persistence", + "total_requests": 10, + "successful_requests": 10, + "unique_ips": 1, + "ip_distribution": { + "109.238.198.182": 10 + }, + "has_sticky_session": true + }, + { + "test": "custom_headers", + "results": { + "session_fixed": { + "session_id": "test-session-123", + "ips": [ + "109.238.198.182", + "109.238.198.182", + "109.238.198.182" + ], + "unique_ips": 1, + "consistent": true + }, + "session_random_1": { + "session_id": "session-1755088817.230275", + "ips": [ + "109.238.198.182", + "109.238.198.182", + "109.238.198.182" + ], + "unique_ips": 1, + "consistent": true + }, + "session_random_2": { + "session_id": "session-1755088818.230275", + "ips": [ + "109.238.198.182", + "109.238.198.182", + "109.238.198.182" + ], + "unique_ips": 1, + "consistent": true + } + } + }, + { + "test": "parallel_connections", + "total_requests": 5, + "successful_requests": 5, + "unique_ips": 1, + "ips": [ + "109.238.198.182", + "109.238.198.182", + "109.238.198.182", + "109.238.198.182", + "109.238.198.182" + ] + }, + { + "test": "rotation_timing", + "results": [ + { + "interval": 0, + "ip_before": "109.238.198.182", + "ip_after": "109.238.198.182", + "changed": false + }, + { + "interval": 1, + "ip_before": "109.238.198.182", + "ip_after": "109.238.198.182", + "changed": false + }, + { + "interval": 5, + "ip_before": "109.238.198.182", + "ip_after": "109.238.198.182", + "changed": false + }, + { + "interval": 10, + "ip_before": "109.238.198.182", + "ip_after": "109.238.198.182", + "changed": false + }, + { + "interval": 30, + "ip_before": "109.238.198.182", + "ip_after": "109.238.198.182", + "changed": false + } + ] + } + ], + "analysis": { + "rotation_type": "sticky", + "characteristics": [ + "IP bleibt meist gleich", + "Unterst\u00fctzt Sticky Sessions mit HTTP Session" + ], + "recommendations": [ + "Verwende Session-Objekte f\u00fcr konsistente IPs" + ] + } +} \ No newline at end of file diff --git a/tests/proxy_evaluation/test_results/latest_test_summary.json b/tests/proxy_evaluation/test_results/latest_test_summary.json new file mode 100644 index 0000000..e032c05 --- /dev/null +++ b/tests/proxy_evaluation/test_results/latest_test_summary.json @@ -0,0 +1,7 @@ +{ + "timestamp": "2025-08-13T14:38:51.601250", + "proxy_type": "Bright Data ISP-shared", + "tests_passed": 4, + "tests_total": 6, + "working": true +} \ No newline at end of file diff --git a/tests/proxy_evaluation/test_results/proxy_test_20250813_134805.json b/tests/proxy_evaluation/test_results/proxy_test_20250813_134805.json new file mode 100644 index 0000000..1e18a5c --- /dev/null +++ b/tests/proxy_evaluation/test_results/proxy_test_20250813_134805.json @@ -0,0 +1,129 @@ +{ + "timestamp": "2025-08-13T13:47:54.185281", + "proxy_config": { + "host": "brd.superproxy.io", + "port": "33335", + "type": "ISP-shared" + }, + "tests": { + "basic_connectivity": { + "success": true, + "status_code": 200, + "response": "\nWelcome to Bright Data! Here are your proxy details\nCountry: DE\nCity: Frankfurt am Main\nRegion: HE\nPostal Code: 60326\nLatitude: 50.1049\nLongitude: 8.6295\nTimezone: Europe/Berlin\nASN number: 6830\nASN Organization name: Liberty Global B.V.\nIP version: IPv4\n\nCommon usage examples:\n\n[USERNAME]-country-us:[PASSWORD] // Target only US based proxy peers\n[USERNAME]-ip-1.1.1.1:[PASSWORD] // Target a specific proxy peer from your zone's dedicated pool\n[USERNAME]-session-[RANDOM_STRING]:[PASSWORD] // D", + "headers": { + "Server": "nginx", + "Date": "Wed, 13 Aug 2025 11:47:55 GMT", + "Content-Type": "text/plain; charset=utf-8", + "Transfer-Encoding": "chunked", + "Connection": "keep-alive", + "Cache-Control": "no-store", + "Access-Control-Allow-Origin": "*" + } + }, + "ip_info": { + "http://httpbin.org/ip": { + "success": true, + "data": { + "origin": "176.117.67.161" + } + }, + "https://api.ipify.org?format=json": { + "success": true, + "data": { + "ip": "176.117.67.161" + } + }, + "http://ip-api.com/json/": { + "success": true, + "data": { + "status": "success", + "country": "Germany", + "countryCode": "DE", + "region": "HE", + "regionName": "Hesse", + "city": "Frankfurt am Main", + "zip": "60326", + "lat": 50.1049, + "lon": 8.6295, + "timezone": "Europe/Berlin", + "isp": "Liberty Global B.V.", + "org": "Maslianikov Mykola", + "as": "AS6830 Liberty Global B.V.", + "query": "176.117.67.161" + } + }, + "https://ipinfo.io/json": { + "success": true, + "data": { + "ip": "176.117.67.161", + "city": "Frankfurt am Main", + "region": "Hesse", + "country": "DE", + "loc": "50.1025,8.6299", + "org": "AS6830 Liberty Global B.V.", + "postal": "60326", + "timezone": "Europe/Berlin", + "readme": "https://ipinfo.io/missingauth" + } + } + }, + "geo_location": { + "success": true, + "data": { + "status": "success", + "country": "Germany", + "countryCode": "DE", + "region": "HE", + "regionName": "Hesse", + "city": "Frankfurt am Main", + "zip": "60326", + "lat": 50.1049, + "lon": 8.6295, + "timezone": "Europe/Berlin", + "isp": "Liberty Global B.V.", + "org": "Maslianikov Mykola", + "as": "AS6830 Liberty Global B.V.", + "query": "176.117.67.161" + } + }, + "https_support": { + "https://www.google.com": { + "success": false, + "error": "HTTPSConnectionPool(host='www.google.com', port=443): Max retries exceeded with url: / (Caused by ProxyError('Unable to connect to proxy', OSError('Tunnel connection failed: 403 Forbidden serp domain')))" + }, + "https://www.tiktok.com": { + "success": true, + "status_code": 403, + "final_url": "https://www.tiktok.com/" + }, + "https://www.instagram.com": { + "success": true, + "status_code": 200, + "final_url": "https://www.instagram.com/" + } + }, + "performance": { + "success": true, + "timings": [ + 1.0572535991668701, + 0.6487395763397217, + 0.3804454803466797, + 1.580618143081665, + 1.341465711593628 + ], + "average": 1.001704502105713, + "min": 0.3804454803466797, + "max": 1.580618143081665 + }, + "headers": { + "success": true, + "headers": { + "Accept": "*/*", + "Accept-Encoding": "gzip, deflate", + "Host": "httpbin.org", + "User-Agent": "python-requests/2.32.3", + "X-Amzn-Trace-Id": "Root=1-689c7b76-54f7bca000a41c046a25e138" + } + } + } +} \ No newline at end of file diff --git a/tests/proxy_evaluation/test_results/proxy_test_20250813_143918.json b/tests/proxy_evaluation/test_results/proxy_test_20250813_143918.json new file mode 100644 index 0000000..7a210b8 --- /dev/null +++ b/tests/proxy_evaluation/test_results/proxy_test_20250813_143918.json @@ -0,0 +1,129 @@ +{ + "timestamp": "2025-08-13T14:38:51.601250", + "proxy_config": { + "host": "brd.superproxy.io", + "port": "33335", + "type": "ISP-shared" + }, + "tests": { + "basic_connectivity": { + "success": true, + "status_code": 200, + "response": "\nWelcome to Bright Data! Here are your proxy details\nCountry: DE\nCity: Berlin\nRegion: BE\nPostal Code: 10178\nLatitude: 52.5196\nLongitude: 13.4069\nTimezone: Europe/Berlin\nASN number: 9009\nASN Organization name: M247 Europe SRL\nIP version: IPv4\n\nCommon usage examples:\n\n[USERNAME]-country-us:[PASSWORD] // Target only US based proxy peers\n[USERNAME]-ip-1.1.1.1:[PASSWORD] // Target a specific proxy peer from your zone's dedicated pool\n[USERNAME]-session-[RANDOM_STRING]:[PASSWORD] // Different sessi", + "headers": { + "Server": "nginx", + "Date": "Wed, 13 Aug 2025 12:38:53 GMT", + "Content-Type": "text/plain; charset=utf-8", + "Transfer-Encoding": "chunked", + "Connection": "keep-alive", + "Cache-Control": "no-store", + "Access-Control-Allow-Origin": "*" + } + }, + "ip_info": { + "http://httpbin.org/ip": { + "success": true, + "data": { + "origin": "109.238.198.182" + } + }, + "https://api.ipify.org?format=json": { + "success": true, + "data": { + "ip": "109.238.198.182" + } + }, + "http://ip-api.com/json/": { + "success": true, + "data": { + "status": "success", + "country": "Germany", + "countryCode": "DE", + "region": "BE", + "regionName": "State of Berlin", + "city": "Berlin", + "zip": "10178", + "lat": 52.52, + "lon": 13.405, + "timezone": "Europe/Berlin", + "isp": "M247 Europe SRL", + "org": "SIA \"Singularity Telecom\"", + "as": "AS9009 M247 Europe SRL", + "query": "109.238.198.182" + } + }, + "https://ipinfo.io/json": { + "success": true, + "data": { + "ip": "109.238.198.182", + "city": "Berlin", + "region": "State of Berlin", + "country": "DE", + "loc": "52.5244,13.4105", + "org": "AS9009 M247 Europe SRL", + "postal": "10119", + "timezone": "Europe/Berlin", + "readme": "https://ipinfo.io/missingauth" + } + } + }, + "geo_location": { + "success": true, + "data": { + "status": "success", + "country": "Germany", + "countryCode": "DE", + "region": "BE", + "regionName": "State of Berlin", + "city": "Berlin", + "zip": "10178", + "lat": 52.52, + "lon": 13.405, + "timezone": "Europe/Berlin", + "isp": "M247 Europe SRL", + "org": "SIA \"Singularity Telecom\"", + "as": "AS9009 M247 Europe SRL", + "query": "109.238.198.182" + } + }, + "https_support": { + "https://www.google.com": { + "success": false, + "error": "HTTPSConnectionPool(host='www.google.com', port=443): Max retries exceeded with url: / (Caused by ProxyError('Unable to connect to proxy', OSError('Tunnel connection failed: 403 Forbidden serp domain')))" + }, + "https://www.tiktok.com": { + "success": true, + "status_code": 200, + "final_url": "https://www.tiktok.com/" + }, + "https://www.instagram.com": { + "success": true, + "status_code": 200, + "final_url": "https://www.instagram.com/" + } + }, + "performance": { + "success": true, + "timings": [ + 3.702012300491333, + 0.8723158836364746, + 4.399453639984131, + 8.96023964881897, + 0.9117012023925781 + ], + "average": 3.7691445350646973, + "min": 0.8723158836364746, + "max": 8.96023964881897 + }, + "headers": { + "success": true, + "headers": { + "Accept": "*/*", + "Accept-Encoding": "gzip, deflate", + "Host": "httpbin.org", + "User-Agent": "python-requests/2.32.3", + "X-Amzn-Trace-Id": "Root=1-689c8775-74aa64540633ab0c60b158cf" + } + } + } +} \ No newline at end of file