{"id":22795,"date":"2026-03-13T06:04:54","date_gmt":"2026-03-13T06:04:54","guid":{"rendered":"http:\/\/localhost\/capskip\/?page_id=22795"},"modified":"2026-10-31T00:48:34","modified_gmt":"2026-10-31T00:48:34","slug":"setup-guide","status":"publish","type":"page","link":"https:\/\/capskip.com\/zh\/setup-guide\/","title":{"rendered":"CapSkip \u5b89\u88c5 &amp; \u4f7f\u7528\u6307\u5357"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"22795\" class=\"elementor elementor-22795\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9b928b2 e-flex e-con-boxed e-con e-parent\" data-id=\"9b928b2\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-b6297bb e-con-full e-flex e-con e-child\" data-id=\"b6297bb\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e2a2ed9 animated-fast elementor-invisible elementor-widget elementor-widget-elementskit-heading\" data-id=\"e2a2ed9\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;css&quot;,&quot;_animation&quot;:&quot;fadeIn&quot;,&quot;_animation_delay&quot;:100}\" data-widget_type=\"elementskit-heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"ekit-wid-con\" ><div class=\"ekit-heading elementskit-section-title-wraper text_left   ekit_heading_tablet-   ekit_heading_mobile-\"><h1 class=\"ekit-heading--title elementskit-section-title \">Getting Started with CapSkip<\/h1>\t\t\t\t<div class='ekit-heading__description'>\n\t\t\t\t\t<p>A complete step-by-step guide to configure, and start solving CAPTCHAs.<\/p>\n\t\t\t\t<\/div>\n\t\t\t<\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-507cdd8 elementor-widget elementor-widget-html\" data-id=\"507cdd8\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"getting-started\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"csa csa-hero\"><ol class=\"csa-steps\"><li><span class=\"csa-n\">1<\/span><div><b>Download and install<\/b><p>Download the Windows application, install CapSkip and launch it.<\/p><a class=\"csa-btn\" href=\"https:\/\/capskip.com\/download-capskip\/\" target=\"_blank\" rel=\"nofollow noopener\">Download CapSkip<\/a><\/div><\/li><li><span class=\"csa-n\">2<\/span><div><b>Log in<\/b><p>Click <strong>Login<\/strong> and enter the username and password from your license email. If you forget your password, click <strong>Reset it here<\/strong> in the login window.<\/p><a class=\"csa-btn ghost\" href=\"https:\/\/capskip.com\/#pricing\" target=\"_blank\" rel=\"noopener\">Get Your License Now<\/a><\/div><\/li><li><span class=\"csa-n\">3<\/span><div><b>Check the status bar<\/b><p>Once you are logged in, the status bar at the bottom of the window shows your license type, how many connections it is using out of the number it allows, and whether CapSkip is connected.<\/p><\/div><\/li><\/ol><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f14bae0 e-flex e-con-boxed e-con e-parent\" data-id=\"f14bae0\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;none&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-260b664 e-con-full elementor-hidden-tablet elementor-hidden-mobile e-flex e-con e-child\" data-id=\"260b664\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-cb72303 e-con-full ekit-sticky--top e-flex e-con e-child\" data-id=\"cb72303\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;ekit_sticky_offset&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:100,&quot;sizes&quot;:[]},&quot;ekit_sticky_until&quot;:&quot;last&quot;,&quot;ekit_sticky&quot;:&quot;top&quot;,&quot;ekit_sticky_offset_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;ekit_sticky_offset_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;ekit_sticky_on_desktop&quot;:&quot;desktop&quot;,&quot;ekit_sticky_effect_offset&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:0,&quot;sizes&quot;:[]},&quot;ekit_sticky_effect_offset_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;ekit_sticky_effect_offset_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ec9d1e0 sticky-navigation animated-fast elementor-hidden-tablet elementor-hidden-mobile elementor-invisible elementor-widget elementor-widget-elementskit-stylish-list\" data-id=\"ec9d1e0\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeIn&quot;,&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"elementskit-stylish-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"ekit-wid-con\">\t\t<ul class=\"ekit-stylish-list \" >\n\t\t\t\t\t\t\t<li class=\"ekit-stylish-list-content-wrapper elementor-repeater-item-dbd1c0d\" >\n\t\t\t\t\t\t\t\t\t\t\t<a class=\"ekit-wrapper-link\" href=\"#overview\" aria-label=\"Application Overview\"><\/a>\n\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content-icon\">\n\t\t\t\t\t\t\t\t<svg class=\"csi csi-fa\" style=\"fill:none!important\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M5.25 3.5h3.5a1.75 1.75 0 0 1 1.75 1.75v3.5a1.75 1.75 0 0 1-1.75 1.75h-3.5a1.75 1.75 0 0 1-1.75-1.75v-3.5a1.75 1.75 0 0 1 1.75-1.75zM15.25 3.5h3.5a1.75 1.75 0 0 1 1.75 1.75v3.5a1.75 1.75 0 0 1-1.75 1.75h-3.5a1.75 1.75 0 0 1-1.75-1.75v-3.5a1.75 1.75 0 0 1 1.75-1.75zM5.25 13.5h3.5a1.75 1.75 0 0 1 1.75 1.75v3.5a1.75 1.75 0 0 1-1.75 1.75h-3.5a1.75 1.75 0 0 1-1.75-1.75v-3.5a1.75 1.75 0 0 1 1.75-1.75z\"\/><path class=\"a\" d=\"M15.25 13.5h3.5a1.75 1.75 0 0 1 1.75 1.75v3.5a1.75 1.75 0 0 1-1.75 1.75h-3.5a1.75 1.75 0 0 1-1.75-1.75v-3.5a1.75 1.75 0 0 1 1.75-1.75z\"\/><\/svg>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content-text\">\n\t\t\t\t\t\t\t<span class=\"ekit-stylish-list-content-title\">Application Overview<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-divider\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<li class=\"ekit-stylish-list-content-wrapper elementor-repeater-item-6bd8330\" >\n\t\t\t\t\t\t\t\t\t\t\t<a class=\"ekit-wrapper-link\" href=\"#monitor\" aria-label=\"Monitor Tab\"><\/a>\n\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content-icon\">\n\t\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"csi csi-fa\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.75\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2\"><\/path><\/svg>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content-text\">\n\t\t\t\t\t\t\t<span class=\"ekit-stylish-list-content-title\">Monitor Tab<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-divider\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<li class=\"ekit-stylish-list-content-wrapper elementor-repeater-item-68b9424\" >\n\t\t\t\t\t\t\t\t\t\t\t<a class=\"ekit-wrapper-link\" href=\"#connection-settings\" aria-label=\"Connection Settings\"><\/a>\n\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content-icon\">\n\t\t\t\t\t\t\t\t<svg class=\"csi csi-fa\" style=\"fill:none!important\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M9 3v4M15 3v4M6.5 7h11v3.5a5.5 5.5 0 0 1-11 0z\"\/><path class=\"a\" d=\"M12 16v5\"\/><\/svg>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content-text\">\n\t\t\t\t\t\t\t<span class=\"ekit-stylish-list-content-title\">Connection Settings<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-divider\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<li class=\"ekit-stylish-list-content-wrapper elementor-repeater-item-54477fc\" >\n\t\t\t\t\t\t\t\t\t\t\t<a class=\"ekit-wrapper-link\" href=\"#captcha-types\" aria-label=\"Captcha Types\"><\/a>\n\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content-icon\">\n\t\t\t\t\t\t\t\t<svg class=\"csi csi-fa\" style=\"fill:none!important\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M4 7h8.5M17.5 7H20M4 17h2.5M11.5 17H20M12.5 7a2.5 2.5 0 1 0 5 0 2.5 2.5 0 1 0-5 0\"\/><path class=\"a\" d=\"M6.5 17a2.5 2.5 0 1 0 5 0 2.5 2.5 0 1 0-5 0\"\/><\/svg>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content-text\">\n\t\t\t\t\t\t\t<span class=\"ekit-stylish-list-content-title\">Captcha Types<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-divider\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<li class=\"ekit-stylish-list-content-wrapper elementor-repeater-item-736516b\" >\n\t\t\t\t\t\t\t\t\t\t\t<a class=\"ekit-wrapper-link\" href=\"#image-captcha-settings\" aria-label=\"Image Captcha\"><\/a>\n\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content-icon\">\n\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"24\" height=\"24\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/capskip-app-image-captcha.svg\" class=\"attachment-full size-full\" alt=\"\" \/>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content-text\">\n\t\t\t\t\t\t\t<span class=\"ekit-stylish-list-content-title\">Image Captcha<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-divider\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<li class=\"ekit-stylish-list-content-wrapper elementor-repeater-item-dcf51fe\" >\n\t\t\t\t\t\t\t\t\t\t\t<a class=\"ekit-wrapper-link\" href=\"#recaptcha-settings\" aria-label=\"reCAPTCHA\"><\/a>\n\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content-icon\">\n\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"24\" height=\"24\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/capskip-app-recaptcha.svg\" class=\"attachment-full size-full\" alt=\"\" \/>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content-text\">\n\t\t\t\t\t\t\t<span class=\"ekit-stylish-list-content-title\">reCAPTCHA<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-divider\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<li class=\"ekit-stylish-list-content-wrapper elementor-repeater-item-e55ac41\" >\n\t\t\t\t\t\t\t\t\t\t\t<a class=\"ekit-wrapper-link\" href=\"#cloudflare-settings\" aria-label=\"Cloudflare\"><\/a>\n\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content-icon csi-own\"><svg class=\"csv csi-fa\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path fill=\"#f6821f\" d=\"M20.91 18.86H4.78C2.16 18.86 0 16.85 0 14.36c0-2.34 1.88-4.31 4.31-4.5A7.45 7.45 0 0 1 17.81 9.06a4.59 4.59 0 0 1 1.5-.23c2.44 0 4.45 1.88 4.64 4.22.05.19.05.42.05.61 0 2.86-2.44 5.2-3.09 5.2z\"\/><path fill=\"#fbad41\" d=\"M4.31 9.86A7.45 7.45 0 0 1 17.81 9.06c-2.25-.47-4.59.19-6.28 1.83-.94.94-1.55 2.11-1.78 3.38H0c0-2.34 1.88-4.31 4.31-4.41z\"\/><\/svg>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content-text\">\n\t\t\t\t\t\t\t<span class=\"ekit-stylish-list-content-title\">Cloudflare<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-divider\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<li class=\"ekit-stylish-list-content-wrapper elementor-repeater-item-462f0c4\" >\n\t\t\t\t\t\t\t\t\t\t\t<a class=\"ekit-wrapper-link\" href=\"#hcaptcha-settings\" aria-label=\"hCaptcha\"><\/a>\n\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content-icon\">\n\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"24\" height=\"24\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/capskip-app-hcaptcha.svg\" class=\"attachment-full size-full\" alt=\"\" \/>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content-text\">\n\t\t\t\t\t\t\t<span class=\"ekit-stylish-list-content-title\">hCaptcha<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-divider\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<li class=\"ekit-stylish-list-content-wrapper elementor-repeater-item-f7839ee\" >\n\t\t\t\t\t\t\t\t\t\t\t<a class=\"ekit-wrapper-link\" href=\"#aws-waf-settings\" aria-label=\"AWS WAF\"><\/a>\n\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content-icon\">\n\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"24\" height=\"24\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/capskip-app-awswaf.svg\" class=\"attachment-full size-full\" alt=\"\" \/>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content-text\">\n\t\t\t\t\t\t\t<span class=\"ekit-stylish-list-content-title\">AWS WAF<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-divider\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<li class=\"ekit-stylish-list-content-wrapper elementor-repeater-item-140cc22\" >\n\t\t\t\t\t\t\t\t\t\t\t<a class=\"ekit-wrapper-link\" href=\"#geetest-settings\" aria-label=\"GeeTest\"><\/a>\n\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content-icon csi-own\"><svg class=\"csv csi-fa\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path fill=\"#3a67f2\" d=\"M18.98 13.17c-.72 0-1.45.01-2.17-.01-.29-.01-.42.1-.52.37-1.1 2.84-4.41 3.87-6.9 2.17-1.58-1.08-2.31-3.16-1.76-4.98.6-1.95 2.31-3.26 4.29-3.27 2-.01 3.62 1.08 4.34 2.94.12.31.28.41.61.41 2.17-.01 4.34-.01 6.51-.01.59 0 .58.01.61.61.1 2.44-.46 4.71-1.73 6.79-1.51 2.48-3.660 4.2-6.41 5.13-2.44.83-4.94.92-7.39.09C3.83 21.850 1 18.64.18 13.8c-.59-3.5.33-6.68 2.58-9.42C4.79 1.91 7.43.47 10.61.09c2.48-.3 4.82.16 7.03 1.32.24.12.42.14.66.01a3.66 3.66 0 0 1 5.32 2.87c.17 1.55-.46 2.77-1.790 3.55-1.4.82-2.82.72-4.1-.26-1.21-.93-1.65-2.22-1.32-3.72.07-.33 0-.47-.29-.6-3.35-1.44-6.58-1.23-9.59.82-2.45 1.67-3.83 4.05-4.1 7.03-.29 3.18.8 5.85 3.12 8.01 1.54 1.44 3.4 2.25 5.52 2.44 3.15.29 5.81-.75 7.99-3.01 1.33-1.38 2.13-3.05 2.47-4.94.06-.34-.02-.45-.37-.44-.72.02-1.45 0-2.17 0ZM14.21 12A2.2 2.2 0 0 0 11.6 9.82a2.2 2.2 0 0 0-1.74 1.71 2.2 2.2 0 0 0 2.13 2.65A2.19 2.19 0 0 0 14.21 12h0Zm7.09-7.31a1.3 1.3 0 0 0-1.29-1.33c-.72-.01-1.36.6-1.36 1.32 0 .71.62 1.33 1.35 1.33a1.3 1.3 0 0 0 1.3-1.32V4.69Z\"\/><\/svg>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content-text\">\n\t\t\t\t\t\t\t<span class=\"ekit-stylish-list-content-title\">GeeTest<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-divider\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<li class=\"ekit-stylish-list-content-wrapper elementor-repeater-item-704e09f\" >\n\t\t\t\t\t\t\t\t\t\t\t<a class=\"ekit-wrapper-link\" href=\"#altcha-settings\" aria-label=\"ALTCHA\"><\/a>\n\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content-icon csi-own\"><svg class=\"csv csi-fa\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path fill=\"#1d1dc9\" d=\"M0 12A12 12 0 1 0 24 12 12 12 0 1 0 0 12Z\"\/><path fill=\"#fff\" d=\"M1.86 12A10.14 10.14 0 1 0 22.14 12 10.14 10.14 0 1 0 1.86 12Z\"\/><path fill=\"#1d1dc9\" d=\"M3.9 12A8.1 8.1 0 1 0 20.1 12 8.1 8.1 0 1 0 3.9 12ZM19.59 10.12 22.39 11.19A10.42 10.42 0 0 1 22.34 13.31 8.4 8.4 0 0 0 19.81 12.41 7.82 7.82 0 0 0 19.59 10.12Z\"\/><path fill=\"#fff\" d=\"M15.94 8.72 18.45 6.64A8.38 8.38 0 0 1 20.22 10.36ZM6.93 12A5.07 5.07 0 0 0 17.07 12L15.04 12A3.05 3.05 0 0 1 8.96 12Z\"\/><\/svg>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content-text\">\n\t\t\t\t\t\t\t<span class=\"ekit-stylish-list-content-title\">ALTCHA<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-divider\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<li class=\"ekit-stylish-list-content-wrapper elementor-repeater-item-45a80ea\" >\n\t\t\t\t\t\t\t\t\t\t\t<a class=\"ekit-wrapper-link\" href=\"#captchafox-settings\" aria-label=\"CaptchaFox\"><\/a>\n\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content-icon csi-own\"><svg class=\"csv csi-fa\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path fill=\"#ff9b21\" d=\"M0 12a12 11.95 0 1 0 24 0 12 11.95 0 1 0-24 0z\"\/><path fill=\"#fff\" fill-rule=\"evenodd\" d=\"M3.79 13.32l2.31.81 6.11 5.64 5.02-5.1 2.99-1.48-1.36-2.01.81-6.04-4.34 4.83H8.8L4.88 5.14l.32 5.89L3.79 13.32z\"\/><\/svg>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content-text\">\n\t\t\t\t\t\t\t<span class=\"ekit-stylish-list-content-title\">CaptchaFox<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-divider\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<li class=\"ekit-stylish-list-content-wrapper elementor-repeater-item-4108343\" >\n\t\t\t\t\t\t\t\t\t\t\t<a class=\"ekit-wrapper-link\" href=\"#capy-settings\" aria-label=\"Capy\"><\/a>\n\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content-icon csi-own\"><svg class=\"csv csi-fa\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path fill=\"#0da0d7\" d=\"M0 12a12 12 0 1 0 24 0 12 12 0 1 0-24 0z\"\/><path fill=\"#fff\" d=\"M14.93 4.7V7.45C14.43 7.26 13.75 6.86 13.19 6.95 10.67 7.37 10.78 13.5 11.44 15.28 11.730 16.04 12.26 16.81 13.08 17.04 13.66 17.2 14.4 16.77 14.93 16.58V19.33C13.41 19.76 11.88 20.17 10.43 19.24 9.57 18.68 9 17.76 8.66 16.8 7.59 13.78 7.4 6.08 10.88 4.52 12.24 3.92 13.6 4.27 14.93 4.7Z\"\/><\/svg>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content-text\">\n\t\t\t\t\t\t\t<span class=\"ekit-stylish-list-content-title\">Capy<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-divider\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<li class=\"ekit-stylish-list-content-wrapper elementor-repeater-item-14472f5\" >\n\t\t\t\t\t\t\t\t\t\t\t<a class=\"ekit-wrapper-link\" href=\"#friendly-captcha-settings\" aria-label=\"Friendly Captcha\"><\/a>\n\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content-icon csi-own\"><svg class=\"csv csi-fa\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path fill=\"none\" stroke=\"#ffab00\" stroke-width=\"3.6\" d=\"M20.71 4.79A10.2 10.2 0 1 0 20.71 19.21\"\/><path fill=\"none\" stroke=\"#ffc400\" stroke-width=\"3.6\" d=\"M6.28 19.21A10.2 10.2 0 0 0 20.71 19.21\"\/><path fill=\"#ffab00\" d=\"M8.1 12a1.8 1.8 0 1 0 3.6 0 1.8 1.8 0 1 0-3.6 0zM15.3 12a1.8 1.8 0 1 0 3.6 0 1.8 1.8 0 1 0-3.6 0z\"\/><\/svg>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content-text\">\n\t\t\t\t\t\t\t<span class=\"ekit-stylish-list-content-title\">Friendly Captcha<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-divider\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<li class=\"ekit-stylish-list-content-wrapper elementor-repeater-item-22d86c7\" >\n\t\t\t\t\t\t\t\t\t\t\t<a class=\"ekit-wrapper-link\" href=\"#datadome-settings\" aria-label=\"DataDome\"><\/a>\n\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content-icon\">\n\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"24\" height=\"24\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/capskip-app-datadome.svg\" class=\"attachment-full size-full\" alt=\"\" \/>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content-text\">\n\t\t\t\t\t\t\t<span class=\"ekit-stylish-list-content-title\">DataDome<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-divider\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<li class=\"ekit-stylish-list-content-wrapper elementor-repeater-item-1f12a5b\" >\n\t\t\t\t\t\t\t\t\t\t\t<a class=\"ekit-wrapper-link\" href=\"#proxy-configuration\" aria-label=\"Proxy Configuration\"><\/a>\n\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content-icon\">\n\t\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"csi csi-fa\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.75\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M10.586 5.414l-5.172 5.172M18.586 13.414l-5.172 5.172M6 12h12M10 20a2 2 0 1 0 4 0 2 2 0 1 0-4 0M10 4a2 2 0 1 0 4 0 2 2 0 1 0-4 0M18 12a2 2 0 1 0 4 0 2 2 0 1 0-4 0M2 12a2 2 0 1 0 4 0 2 2 0 1 0-4 0\"><\/path><\/svg>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content-text\">\n\t\t\t\t\t\t\t<span class=\"ekit-stylish-list-content-title\">Proxy Configuration<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-divider\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<li class=\"ekit-stylish-list-content-wrapper elementor-repeater-item-92657ff\" >\n\t\t\t\t\t\t\t\t\t\t\t<a class=\"ekit-wrapper-link\" href=\"#api-key-validation\" aria-label=\"API Key Validation\"><\/a>\n\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content-icon\">\n\t\t\t\t\t\t\t\t<svg class=\"csi csi-fa\" style=\"fill:none!important\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M3.5 16.5a4 4 0 1 0 8 0 4 4 0 1 0-8 0M10.4 13.6 20 4\"\/><path class=\"a\" d=\"M17 7l2.5 2.5M14.5 9.5l2 2\"\/><\/svg>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content-text\">\n\t\t\t\t\t\t\t<span class=\"ekit-stylish-list-content-title\">API Key Validation<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-divider\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<li class=\"ekit-stylish-list-content-wrapper elementor-repeater-item-ef19be5\" >\n\t\t\t\t\t\t\t\t\t\t\t<a class=\"ekit-wrapper-link\" href=\"#app-settings\" aria-label=\"App Settings\"><\/a>\n\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content-icon\">\n\t\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"csi csi-fa\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.75\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M4 3h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2zM8 21h8M12 17v4\"><\/path><\/svg>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content-text\">\n\t\t\t\t\t\t\t<span class=\"ekit-stylish-list-content-title\">App Settings<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-divider\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<li class=\"ekit-stylish-list-content-wrapper elementor-repeater-item-d148d16\" >\n\t\t\t\t\t\t\t\t\t\t\t<a class=\"ekit-wrapper-link\" href=\"#help-diagnostics\" aria-label=\"Help &amp; Diagnostics\"><\/a>\n\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content-icon\">\n\t\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"csi csi-fa\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.75\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M2 12a10 10 0 1 0 20 0 10 10 0 1 0-20 0M4.93 4.93l4.24 4.24M14.83 9.17l4.24-4.24M14.83 14.83l4.24 4.24M9.17 14.83l-4.24 4.24M8 12a4 4 0 1 0 8 0 4 4 0 1 0-8 0\"><\/path><\/svg>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-content-text\">\n\t\t\t\t\t\t\t<span class=\"ekit-stylish-list-content-title\">Help &amp; Diagnostics<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t<div class=\"ekit-stylish-list-divider\"><\/div>\n\t\t\t\t\t\t\t\t\t<\/ul>\n\t<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ada0bbf cs-nav-css elementor-widget elementor-widget-html\" data-id=\"ada0bbf\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n\/* ================================================================\n   CapSkip - Setup Guide page only (page-id-22795)\n   Left navigation: per section marks, hover and current section.\n   Ported from \/api-docs\/ so both documentation pages read as one\n   component. The widget is hidden so it adds no flex gap to the\n   row container, which the \/api-docs\/ copy does add. A stylesheet\n   still applies from a hidden ancestor, and the script has run by\n   then, so hiding it costs nothing.\n   ================================================================ *\/\n\n.page-id-22795 .cs-nav-css{display:none !important;}\n\n.page-id-22795 .sticky-navigation li{position:relative;}\n.page-id-22795 .sticky-navigation .ekit-stylish-list-content{\n  display:flex; align-items:center; gap:11px;\n  padding:6px 11px; border-radius:10px;\n  transition:background-color .18s ease;\n}\n\n\/* The widget ships margin-bottom:15px on every row and 4.8px on the divider, so\n   each separator sat three times closer to the item below it than the one above.\n   Equal margins put the line in the middle of the gap. *\/\n.page-id-22795 .sticky-navigation .ekit-stylish-list-content-wrapper{\n  margin-bottom:5px !important;\n}\n.page-id-22795 .sticky-navigation .ekit-stylish-list-divider{\n  margin-bottom:5px !important;\n}\n.page-id-22795 .sticky-navigation .ekit-stylish-list-divider:last-child{\n  margin-bottom:0 !important;\n}\n\n\/* A fixed slot, so seventeen different glyphs still leave the titles on one\n   vertical line. The widget's own 20px radius and 1px 7px margin are dropped;\n   6px to the right of an 11px gap reproduces the \/api-docs\/ spacing. *\/\n.page-id-22795 .sticky-navigation .ekit-stylish-list-content-icon{\n  flex:0 0 22px; width:22px; height:22px;\n  display:flex; align-items:center; justify-content:center;\n  background-repeat:no-repeat; background-position:center; background-size:contain;\n  border-radius:0 !important;\n  margin:0 6px 0 0 !important;\n}\n\/* Elementor compiles the icon size to 22px, which fills the slot edge to edge.\n   18px inside a 22px box is what the \/api-docs\/ stylesheet asks for. *\/\n.page-id-22795 .sticky-navigation .ekit-stylish-list-content-icon > svg{\n  width:18px !important; height:18px !important;\n}\n.page-id-22795 .sticky-navigation .ekit-stylish-list-content-title{\n  font-weight:600; line-height:1.35;\n  transition:color .18s ease;\n}\n\n\/* One palette. The kit flips icons to its purple on hover, which is fine on\n   \/api-docs\/ where all but two rows are background images, but would light up\n   fourteen of seventeen rows here. The glyphs hold the docs blue throughout. *\/\n.page-id-22795 .sticky-navigation .ekit-stylish-list-content-icon > svg,\n.page-id-22795 .sticky-navigation li:hover .ekit-stylish-list-content-icon > svg{\n  fill:#2F3BD9 !important; color:#2F3BD9 !important;\n}\n\n\/* Service marks. The inline glyph is hidden and the real logo painted behind it,\n   so the SVG is fetched once and cached instead of inlined into the HTML. *\/\n.page-id-22795 .sticky-navigation .elementor-repeater-item-e55ac41 .ekit-stylish-list-content-icon > svg,\n.page-id-22795 .sticky-navigation .elementor-repeater-item-140cc22 .ekit-stylish-list-content-icon > svg{display:none !important;}\n\n.page-id-22795 .sticky-navigation .elementor-repeater-item-e55ac41 .ekit-stylish-list-content-icon{background-image:url(\"https:\/\/capskip.com\/images\/cloudflare.svg\");}\n.page-id-22795 .sticky-navigation .elementor-repeater-item-140cc22 .ekit-stylish-list-content-icon{background-image:url(\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/09\/geetest-logo.svg\");}\n\n\/* Rows that show the app's own icon file (Image Captcha, reCAPTCHA) render an <img>;\n   sized like the inline marks around them. *\/\n.page-id-22795 .sticky-navigation .ekit-stylish-list-content-icon > img{width:18px !important;height:18px !important;display:block;}\n\n\/* ---------- label containment ----------\n   Each row is a flex container, and a flex item defaults to min-width:auto, so a\n   row refused to shrink below its text's max-content width and grew past the\n   208px list. Nothing clipped it, so German ran 44px into the article column\n   (Protokollierung & Debugging measures 222px in a 141px slot). English never\n   overflowed, which is why it went unnoticed. min-width:0 lets the text shrink\n   and wrap; max-width caps the row at the list width whatever the kit's\n   align-items does. *\/\n.page-id-22795 .sticky-navigation .ekit-stylish-list{align-items:stretch;}\n.page-id-22795 .sticky-navigation li.ekit-stylish-list-content-wrapper,\n.page-id-22795 .sticky-navigation .ekit-stylish-list-content{\n  min-width:0; max-width:100%;\n}\n.page-id-22795 .sticky-navigation .ekit-stylish-list-content-text{min-width:0;}\n.page-id-22795 .sticky-navigation .ekit-stylish-list-content-title{\n  overflow-wrap:break-word;   \/* nothing escapes, even a single long compound *\/\n  hyphens:auto;               \/* prefer a real hyphenation point where one exists *\/\n}\n\n\/* Reclaim the 40px of horizontal padding that sat between the 248px column and\n   the 208px list (10px on each of the column and the sticky container). The\n   label slot goes from 141px to 181px, which keeps most translations on one\n   line. Vertical padding is left alone. *\/\n.page-id-22795 .elementor-element-260b664,\n.page-id-22795 .elementor-element-cb72303{\n  padding-left:0 !important; padding-right:0 !important;\n}\n\n\/* hover and current section *\/\n.page-id-22795 .sticky-navigation li:hover .ekit-stylish-list-content{background:#f6f7fb;}\n.page-id-22795 .sticky-navigation li.cs-nav-active .ekit-stylish-list-content{background:#eef0fe;}\n.page-id-22795 .sticky-navigation li.cs-nav-active .ekit-stylish-list-content-title{\n  color:#2f3bd9 !important; font-weight:700;\n}\n.page-id-22795 .sticky-navigation li.cs-nav-active::before{\n  content:\"\"; position:absolute; left:0; top:50%; transform:translateY(-50%);\n  width:3px; height:20px; border-radius:0 2px 2px 0; background:#2f3bd9;\n}\n<\/style>\n\n<script>\n(function(){\n  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', run);\n  else run();\n\n  \/* Highlights the menu entry for the section you are currently reading. *\/\n  function run(){\n    if (!document.body.classList.contains('page-id-22795')) return;\n    var nav = document.querySelector('.sticky-navigation');\n    if (!nav) return;\n\n    var entries = [];\n    nav.querySelectorAll('a.ekit-wrapper-link[href^=\"#\"]').forEach(function(a){\n      var target = document.getElementById(a.getAttribute('href').slice(1));\n      var li = a.closest('li');\n      if (target && li) entries.push({ li: li, target: target });\n    });\n    if (!entries.length) return;\n\n    var ticking = false;\n\n    function update(){\n      ticking = false;\n      \/* the last section whose heading has passed the reading line wins;\n         above the first heading nothing is highlighted *\/\n      var current = null;\n      entries.forEach(function(e){\n        if (e.target.getBoundingClientRect().top <= 150) current = e;\n      });\n      entries.forEach(function(e){\n        e.li.classList.toggle('cs-nav-active', e === current);\n      });\n    }\n\n    function onScroll(){\n      if (ticking) return;\n      ticking = true;\n      window.requestAnimationFrame(update);\n    }\n\n    window.addEventListener('scroll', onScroll, { passive: true });\n    window.addEventListener('resize', onScroll, { passive: true });\n    update();\n  }\n})();\n<\/script>\n<style>\n\/* \"Return cf_clearance cookies\" (dbfae80) is a REST-inserted clone of 425fbaa; Elementor never recompiled\n   post-22795.css for it, so these are copies of 425fbaa's compiled rules. *\/\n.elementor-22795 .elementor-element.elementor-element-dbfae80 .ekit-heading__title-has-border::before{background-color:transparent;width:5px;height:100%;top:0px;background-image:linear-gradient(180deg, var( --e-global-color-secondary ) 0%, var( --e-global-color-primary ) 100%);}\n.elementor-22795 .elementor-element.elementor-element-dbfae80 .ekit-heading__title-has-border{padding-left:30px;}\n.elementor-22795 .elementor-element.elementor-element-dbfae80 .ekit-heading__title-has-border ~ *{padding-left:30px;}\n.elementor-22795 .elementor-element.elementor-element-dbfae80 .ekit-heading__subtitle-has-border{margin-left:30px;}\n.elementor-22795 .elementor-element.elementor-element-dbfae80 .elementskit-section-title-wraper .elementskit-section-title > span{color:#000000;}\n.elementor-22795 .elementor-element.elementor-element-dbfae80 .elementskit-section-title-wraper .elementskit-section-title:hover > span{color:#000000;}\n<\/style>\n<style>\n\/* ---------- csa: Setup Guide laid out like the CapSkip app (2026-11-06) ---------- *\/\n.page-id-22795 .csa:not([id=\"csa\"]){--ink:#111827;--mut:#6b7280;--line:#e5e7eb;--soft:#f3f4f6;--blue:#3b82f6;--blue-d:#1d4ed8;color:var(--ink);}\n.page-id-22795 .csa:not([id=\"csa\"]) a{color:var(--blue-d);}\n\n\/* the app's Monitor \/ Settings switch *\/\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin:6px 0 4px;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-tabs{flex:1 1 360px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:6px;box-shadow:0 10px 26px -20px rgba(0,0,0,.35);}\n.page-id-22795 .csa:not([id=\"csa\"]) a.csa-tab{display:block;text-align:center;font-weight:700;font-size:16px;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:11px;background:#fff;}\n.page-id-22795 .csa:not([id=\"csa\"]) a.csa-tab.on{background:var(--blue);border-color:var(--blue);color:#fff;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-bar-r{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--mut);}\n.page-id-22795 .csa:not([id=\"csa\"]) button.csa-all{font:600 13px inherit;font-family:inherit;cursor:pointer;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:9px;padding:7px 11px;}\n.page-id-22795 .csa:not([id=\"csa\"]) button.csa-all:hover{border-color:var(--blue);color:var(--blue-d);}\n\n\/* rows *\/\n.page-id-22795 .csa:not([id=\"csa\"]) details.csa-row{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;scroll-margin-top:110px;}\n.page-id-22795 .csa:not([id=\"csa\"]) details.csa-row[open]{box-shadow:0 18px 40px -32px rgba(17,24,39,.45);}\n.page-id-22795 .csa:not([id=\"csa\"]) summary{list-style:none;display:flex;align-items:center;gap:14px;padding:14px 18px;cursor:pointer;}\n.page-id-22795 .csa:not([id=\"csa\"]) summary::-webkit-details-marker{display:none;}\n.page-id-22795 .csa:not([id=\"csa\"]) summary:hover{background:#fafbfc;}\n.page-id-22795 .csa:not([id=\"csa\"]) summary:focus-visible{outline:2px solid var(--blue);outline-offset:-2px;border-radius:14px;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-ico{flex:0 0 40px;width:40px;height:40px;box-sizing:border-box;padding:8px;border-radius:11px;background:#eff6ff;object-fit:contain;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-t{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-title{font-weight:800;font-size:17px;line-height:1.3;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-sum{font-size:13.5px;color:var(--mut);margin-top:2px;line-height:1.45;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-cta{flex:0 0 auto;width:9px;height:9px;border-right:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:rotate(45deg);margin:0 6px 4px 8px;transition:transform .2s ease;}\n.page-id-22795 .csa:not([id=\"csa\"]) details[open] > summary .csa-cta{transform:rotate(-135deg);margin-bottom:-4px;}\n\n\/* row body: screenshot beside the text, like opening a row in the app *\/\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-body{border-top:1px solid #f1f2f4;padding:20px 22px 24px;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-body.has-shot{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:28px;align-items:start;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-shot{position:sticky;top:110px;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-shot p{margin:0;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-shot img,.page-id-22795 .csa:not([id=\"csa\"]) .csa-fig img{display:block;max-width:100%;height:auto;border:1px solid var(--line);border-radius:10px;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-fig{margin:6px 0 16px;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-fig p{margin:0;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-text{min-width:0;line-height:1.65;color:#374151;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-text p{margin:0 0 10px;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-text ul,.page-id-22795 .csa:not([id=\"csa\"]) .csa-text ol{margin:0 0 12px 20px;padding:0;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-text li{margin-bottom:6px;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-intro{margin-bottom:6px;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-sub{padding-top:14px;margin-top:12px;border-top:1px solid #f1f2f4;scroll-margin-top:110px;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-intro + .csa-sub{border-top:0;margin-top:2px;padding-top:6px;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-sub h3{font-size:16px;font-weight:800;margin:0 0 6px;color:var(--ink);}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-sub h6{font-size:15px;margin:10px 0 4px;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-text strong{color:var(--ink);}\n\n@media (max-width:900px){\n  .page-id-22795 .csa:not([id=\"csa\"]) .csa-body.has-shot{grid-template-columns:minmax(0,1fr);gap:16px;}\n  .page-id-22795 .csa:not([id=\"csa\"]) .csa-shot{position:static;}\n}\n@media (max-width:640px){\n  .page-id-22795 .csa:not([id=\"csa\"]) summary{padding:12px 14px;gap:12px;}\n  .page-id-22795 .csa:not([id=\"csa\"]) .csa-body{padding:16px;}\n  .page-id-22795 .csa:not([id=\"csa\"]) .csa-bar-r span{display:none;}\n}\n\n\/* no side menu: the Monitor \/ Settings switch is the navigation, content centred like the app window *\/\n.page-id-22795 .elementor-element-260b664{display:none !important;}\n.page-id-22795 .elementor-element-4c788ed{flex:1 1 100% !important;width:100% !important;max-width:1240px !important;margin:0 auto !important;padding:0 !important;}\n.page-id-22795 .elementor-element-589af1f,.page-id-22795 .elementor-element-80c6792{width:100% !important;max-width:none !important;}\n.page-id-22795 .elementor-element-80c6792{padding-left:0 !important;padding-right:0 !important;}\n.page-id-22795 .csa-panel:not([id=\"csa-panel\"]){display:flex;flex-direction:column;gap:12px;}\n.page-id-22795 .csa-panel:not([id=\"csa-panel\"])[hidden]{display:none;}\n.page-id-22795 .csa-panel:not([id=\"csa-panel\"])[hidden=\"until-found\"]{display:block;}\n\/* jumps land below the sticky switch *\/\n\n\n\/* ---------- hero: getting started, switch on the bottom edge ---------- *\/\n.page-id-22795 .elementor-element-9b928b2{overflow:visible !important;padding-bottom:0 !important;}\n.page-id-22795 .elementor-element-b6297bb{overflow:visible !important;padding-bottom:0 !important;}\n.page-id-22795 .csa:not([id=\"csa\"]).csa-hero{margin-top:18px;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-steps li{display:flex;gap:14px;align-items:flex-start;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:18px;color:#d5dae3;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-steps b{display:block;color:#fff;font-size:16px;margin-bottom:4px;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-steps p{margin:0 0 12px;font-size:14px;line-height:1.55;color:#c9ced8;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-steps p:last-child{margin-bottom:0;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-steps strong{color:#fff;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-n{flex:0 0 30px;height:30px;border-radius:50%;background:#2ad06e;color:#0a0e14;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:14px;}\n.page-id-22795 .csa:not([id=\"csa\"]) a.csa-btn{display:inline-flex;align-items:center;background:#2ad06e;color:#0a0e14 !important;font-weight:800;font-size:14px;text-decoration:none;border-radius:10px;padding:9px 14px;}\n.page-id-22795 .csa:not([id=\"csa\"]) a.csa-btn.ghost{background:transparent;color:#fff !important;border:1px solid rgba(255,255,255,.35);}\n\/* the switch straddles the hero's bottom border *\/\n.page-id-22795 #app-tabs{margin-top:-98px;position:relative;z-index:5;}\n.page-id-22795 .csa:not([id=\"csa\"]).csa-hero-tabs .csa-bar{max-width:none;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:18px;padding:8px;box-shadow:0 22px 50px -26px rgba(10,14,20,.55);}\n.page-id-22795 .csa:not([id=\"csa\"]).csa-hero-tabs .csa-tabs{border:0;box-shadow:none;padding:0;}\n.page-id-22795 .csa:not([id=\"csa\"]).csa-hero-tabs .csa-bar-r{padding-right:6px;}\n.page-id-22795 .elementor-element-589af1f{padding-top:70px !important;}\n.page-id-22795 .csa:not([id=\"csa\"]).csa-hero{margin-bottom:36px;}\n\/* pinned copy once the hero has scrolled away *\/\n.csa-pin{position:fixed;left:0;right:0;top:64px;z-index:999;display:flex;justify-content:center;padding:8px 16px;background:#fff;border-bottom:1px solid #e5e7eb;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s;}\n.csa-pin.on{opacity:1;visibility:visible;transform:none;transition:opacity .18s ease,transform .18s ease;}\n.csa-pin .csa-bar{width:100%;max-width:1240px;margin:0;}\n.csa-pin .csa-tabs{flex:0 1 420px;}\n.csa-pin a.csa-tab{padding:8px !important;font-size:14px !important;}\nbody:not(.page-id-22795) .csa-pin{display:none;}\n\n\/* ---------- tab intros ---------- *\/\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-pintro{color:#374151;line-height:1.65;margin:2px 0 4px;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-pintro p{margin:0 0 12px;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-groups{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:4px 0 12px;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-groups a{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:13px;line-height:1.45;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-groups a:hover{border-color:var(--blue);}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-groups b{font-size:15px;color:var(--blue-d);}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-groups span{color:var(--mut);}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-tour{font-size:14px;color:var(--mut);}\n\n\/* ---------- long rows: wide screenshot, then text, sub-topics in two columns ---------- *\/\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-body.stack{display:block;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-shotwide{background:#f3f4f6;border-radius:14px;padding:18px;display:flex;justify-content:center;margin-bottom:18px;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-shotwide .csa-shot{position:static;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-shotwide img{max-height:520px;width:auto;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-body.stack .csa-intro{max-width:820px;line-height:1.65;color:#374151;margin-bottom:4px;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-subs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:36px;line-height:1.65;color:#374151;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-subs .csa-sub{margin-top:0;padding:16px 0 4px;border-top:1px solid #eceef2;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-subs .csa-fig{grid-column:1 \/ -1;background:#f3f4f6;border-radius:14px;padding:18px;display:flex;justify-content:center;margin:14px 0;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-subs .csa-fig img{max-height:480px;width:auto;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-subs p{margin:0 0 10px;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-subs ul,.page-id-22795 .csa:not([id=\"csa\"]) .csa-subs ol{margin:0 0 12px 20px;padding:0;}\n\n@media (max-width:900px){\n  .page-id-22795 .csa:not([id=\"csa\"]) .csa-steps{grid-template-columns:minmax(0,1fr);}\n  .page-id-22795 .csa:not([id=\"csa\"]) .csa-groups{grid-template-columns:repeat(2,minmax(0,1fr));}\n  .page-id-22795 .csa:not([id=\"csa\"]) .csa-subs{grid-template-columns:minmax(0,1fr);}\n}\n@media (max-width:640px){\n  .page-id-22795 .csa:not([id=\"csa\"]).csa-hero-tabs .csa-bar-r{display:none;}\n}\n\n\/* ---------- v4: sliding switch, panel slide-in, emblem hero (2026-11-06) ---------- *\/\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-tabs{position:relative;--pad:6px;}\n.page-id-22795 .csa:not([id=\"csa\"]).csa-hero-tabs .csa-tabs,.csa-pin .csa-tabs{--pad:0px;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-tabs[data-on]::before{content:\"\";position:absolute;z-index:0;top:var(--pad);bottom:var(--pad);left:var(--pad);width:calc(50% - var(--pad) - 4px);border-radius:10px;background:var(--blue);box-shadow:0 8px 18px -10px rgba(59,130,246,.9);transition:transform .38s cubic-bezier(.65,0,.25,1);}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-tabs[data-on=\"settings\"]::before{transform:translateX(calc(100% + 8px));}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-tabs[data-on] a.csa-tab{position:relative;z-index:1;background:transparent;border-color:transparent;transition:color .25s ease;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-tabs[data-on] a.csa-tab:not(.on):hover{color:var(--blue-d);}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-tabs[data-on] a.csa-tab.on{color:#fff;}\n@keyframes csaInR{from{opacity:0;transform:translateX(36px)}to{opacity:1;transform:none}}\n@keyframes csaInL{from{opacity:0;transform:translateX(-36px)}to{opacity:1;transform:none}}\n.page-id-22795 .csa-panel:not([id=\"csa-panel\"]).csa-in-r{animation:csaInR .42s cubic-bezier(.2,.7,.2,1) both;}\n.page-id-22795 .csa-panel:not([id=\"csa-panel\"]).csa-in-l{animation:csaInL .42s cubic-bezier(.2,.7,.2,1) both;}\nbody.page-id-22795{overflow-x:clip;}\n@media (prefers-reduced-motion:reduce){\n  .page-id-22795 .csa:not([id=\"csa\"]) .csa-tabs[data-on]::before{transition:none;}\n  .page-id-22795 .csa-panel:not([id=\"csa-panel\"]).csa-in-r,.page-id-22795 .csa-panel:not([id=\"csa-panel\"]).csa-in-l{animation:none;}\n}\n\/* pinned copy: flush with the header's bottom edge, follows it without lag *\/\n.csa-pin{box-shadow:0 10px 24px -18px rgba(17,24,39,.45);}\n\n\/* hero: the docs emblem hero (capskip-docs-hero) puts title + emblem in two columns; the steps span both *\/\nbody.csdh-on.page-id-22795 .elementor-element-b6297bb > #getting-started,\nbody.csdh-on.page-id-22795 .elementor-element-b6297bb > .elementor-element:has(> .elementor-widget-container > .csa-hero){grid-column:1 \/ -1;}\n\/* card buttons sit on one line: each card's text grows, the button drops to the bottom *\/\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-steps li{align-items:stretch;background:rgba(255,255,255,.04);backdrop-filter:none;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-steps li > div{display:flex;flex-direction:column;align-items:flex-start;min-width:0;flex:1 1 auto;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-steps li > div > p{flex:1 1 auto;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-steps li > div > a.csa-btn{margin-top:auto;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-n{align-self:flex-start;}\n.page-id-22795 .csa:not([id=\"csa\"]) a.csa-btn{border:1px solid transparent;box-sizing:border-box;line-height:1.4;}\n\n\/* ---------- v5: animated rows, seamless pinned switch (2026-11-06) ---------- *\/\n.page-id-22795 .csa:not([id=\"csa\"]) details.csa-row{transition:box-shadow .3s ease;}\n.page-id-22795 .csa:not([id=\"csa\"]) details.csa-row.csa-closing{box-shadow:none;}\n.page-id-22795 .csa:not([id=\"csa\"]) details.csa-closing > summary .csa-cta{transform:rotate(45deg);margin-bottom:4px;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-cta{transition:transform .3s cubic-bezier(.2,.7,.2,1),margin .3s ease;}\n\/* the pinned copy is the same card as the switch on the hero, placed by script at its exact left and width *\/\n.csa-pin,.csa-pin.on{right:auto;padding:0;background:transparent;border:0;box-shadow:none;display:block;transform:none;transition:none;}\n.csa-pin.on{opacity:1;visibility:visible;}\n.csa-pin:not(.on){opacity:0;visibility:hidden;}\n.csa-pin .csa-bar{width:auto;max-width:none;}\n.csa-pin .csa-tabs{flex:1 1 360px;}\n.csa-pin a.csa-tab{padding:11px !important;font-size:16px !important;}\n.page-id-22795 .csa-pin.csa-hero-tabs .csa-bar{border-top-left-radius:0;border-top-right-radius:0;box-shadow:0 18px 36px -22px rgba(10,14,20,.55);}\n\n\/* ---------- v6: the app's own tab icons (Icons.xaml: Icon.Activity, Icon.Settings2; lucide, 2px round strokes) ---------- *\/\n.page-id-22795 .csa:not([id=\"csa\"]) a.csa-tab{display:flex;align-items:center;justify-content:center;gap:8px;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-ti{flex:0 0 18px;width:18px;height:18px;background-color:currentColor;-webkit-mask:var(--ico) center\/contain no-repeat;mask:var(--ico) center\/contain no-repeat;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-ti.mon{--ico:url(\"data:image\/svg+xml,%3Csvg xmlns=%22http:\/\/www.w3.org\/2000\/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M22,12 h-2.48 a2,2 0 0 0 -1.93,1.46 l-2.35,8.36 a0.25,0.25 0 0 1 -0.48,0 L9.24,2.18 a0.25,0.25 0 0 0 -0.48,0 l-2.35,8.36 A2,2 0 0 1 4.49,12 H2%22\/%3E%3C\/svg%3E\");}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-ti.set{--ico:url(\"data:image\/svg+xml,%3Csvg xmlns=%22http:\/\/www.w3.org\/2000\/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M14,17 H5 M19,7 h-9 M14,17 A3,3 0 1 0 20,17 A3,3 0 1 0 14,17 Z M4,7 A3,3 0 1 0 10,7 A3,3 0 1 0 4,7 Z%22\/%3E%3C\/svg%3E\");}\n\n\/* ---------- v8: a link for every section (copy button on rows and sub-topic headings) ---------- *\/\n.page-id-22795 .csa:not([id=\"csa\"]) button.csa-link{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;margin:0;border:0;border-radius:9px;background:transparent;color:var(--mut);cursor:pointer;opacity:.55;transition:opacity .15s ease,background-color .15s ease,color .15s ease;}\n.page-id-22795 .csa:not([id=\"csa\"]) button.csa-link::before{content:\"\";width:17px;height:17px;background-color:currentColor;-webkit-mask:url(\"data:image\/svg+xml,%3Csvg xmlns=%22http:\/\/www.w3.org\/2000\/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71%22\/%3E%3Cpath d=%22M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71%22\/%3E%3C\/svg%3E\") center\/contain no-repeat;mask:url(\"data:image\/svg+xml,%3Csvg xmlns=%22http:\/\/www.w3.org\/2000\/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71%22\/%3E%3Cpath d=%22M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71%22\/%3E%3C\/svg%3E\") center\/contain no-repeat;}\n.page-id-22795 .csa:not([id=\"csa\"]) summary:hover button.csa-link,.page-id-22795 .csa:not([id=\"csa\"]) .csa-sub:hover button.csa-link,.page-id-22795 .csa:not([id=\"csa\"]) button.csa-link:focus-visible{opacity:1;}\n.page-id-22795 .csa:not([id=\"csa\"]) button.csa-link:hover{background:#eff6ff;color:var(--blue-d);}\n.page-id-22795 .csa:not([id=\"csa\"]) button.csa-link:focus-visible{outline:2px solid var(--blue);outline-offset:1px;}\n.page-id-22795 .csa:not([id=\"csa\"]) button.csa-link.done{opacity:1;color:#16a34a;background:#ecfdf3;}\n.page-id-22795 .csa:not([id=\"csa\"]) button.csa-link.done::before{-webkit-mask-image:url(\"data:image\/svg+xml,%3Csvg xmlns=%22http:\/\/www.w3.org\/2000\/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M20 6 9 17l-5-5%22\/%3E%3C\/svg%3E\");mask-image:url(\"data:image\/svg+xml,%3Csvg xmlns=%22http:\/\/www.w3.org\/2000\/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M20 6 9 17l-5-5%22\/%3E%3C\/svg%3E\");}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-sub > h3{display:flex;align-items:center;gap:6px;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-sub > h3 button.csa-link{width:26px;height:26px;opacity:0;}\n.page-id-22795 .csa:not([id=\"csa\"]) .csa-sub > h3 button.csa-link::before{width:15px;height:15px;}\n@media (hover:none){.page-id-22795 .csa:not([id=\"csa\"]) button.csa-link,.page-id-22795 .csa:not([id=\"csa\"]) .csa-sub > h3 button.csa-link{opacity:.7;}}\n.csa-toast{position:fixed;left:50%;bottom:28px;z-index:10000;transform:translate(-50%,12px);opacity:0;pointer-events:none;background:#111827;color:#fff;font-family:inherit;font-weight:600;font-size:14px;line-height:1.3;padding:10px 16px;border-radius:10px;box-shadow:0 14px 30px -14px rgba(0,0,0,.5);transition:opacity .18s ease,transform .18s ease;max-width:calc(100vw - 32px);overflow-wrap:anywhere;}\n.csa-toast.on{opacity:1;transform:translate(-50%,0);}\n\n\/* v9: the pinned switch sits under the site header (z-index 100) so header dropdowns open above it *\/\n.csa-pin{z-index:99 !important;}\n\n<\/style>\n<script>\n(function(){\n  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', run); else run();\n  \/* The Monitor \/ Settings switch sits on the hero's bottom edge, like the app's bar. Without this script both\n     panels simply show one after the other. With it, each panel's rows are grouped and only the chosen one shows;\n     the other is hidden=\"until-found\" where supported, so Ctrl+F still finds its text and switches to it.\n     Once the hero scrolls away, a compact copy of the switch stays pinned under the site header. *\/\n  function run(){\n    if (!document.body.classList.contains('page-id-22795')) return;\n    var barW = document.getElementById('app-tabs');\n    var first = document.querySelector('.csa[data-panel]');\n    if (!barW || !first) return;\n    var until = 'onbeforematch' in document.body;\n    var firstW = first.closest('.elementor-element');\n    var panels = {};\n    var host = firstW.parentNode;\n    ['monitor', 'settings'].forEach(function(name){\n      var box = document.createElement('div');\n      box.className = 'csa-panel';\n      box.setAttribute('data-panel', name);\n      host.insertBefore(box, firstW);   \/\/ both boxes go before the first row, in order, before any row moves\n      panels[name] = box;\n    });\n    ['monitor', 'settings'].forEach(function(name){\n      var box = panels[name];\n      document.querySelectorAll('.csa[data-panel=\"' + name + '\"]').forEach(function(c){\n        var w = c.closest('.elementor-element');\n        if (w) box.appendChild(w);\n      });\n      box.addEventListener('beforematch', function(){ show(name); });\n    });\n\n    \/\/ pinned copy of the switch\n    var pin = document.createElement('div');\n    pin.className = 'csa csa-pin csa-hero-tabs';   \/\/ same card as the switch on the hero, so the hand-off is invisible\n    pin.setAttribute('aria-hidden', 'true');\n    pin.appendChild(barW.querySelector('.csa-bar').cloneNode(true));\n    pin.querySelectorAll('a').forEach(function(a){ a.setAttribute('tabindex', '-1'); });\n    \/\/ inside the theme's #page wrapper, so it stacks just under the site header (z-index 100) and the header's\n    \/\/ dropdown menus open over it, not behind it\n    (document.getElementById('page') || document.body).appendChild(pin);\n    \/\/ the bottom edge of the site header as it is drawn right now (its wrapper can fade or slide away)\n    function headerBottom(){\n      var best = 0;\n      document.querySelectorAll('.site-header-wrapper, [data-elementor-type=header], .elementor-location-header, header').forEach(function(h){\n        if (!h.offsetHeight) return;\n        var cs = getComputedStyle(h);\n        if (cs.visibility === 'hidden' || parseFloat(cs.opacity) < 0.5) return;\n        var r = h.getBoundingClientRect();\n        if (r.top <= 1 && r.bottom > best && r.bottom < 200) best = r.bottom;\n      });\n      return Math.max(0, Math.round(best));\n    }\n    \/\/ checked every frame while scrolling, so the pinned switch is always flush with the header\n    \/\/ The pinned card takes over the moment the real one's top edge reaches the header, at the same left, width\n    \/\/ and look, so the switch seems to simply stop there. No fade: a fade is what reads as lag.\n    var srcBar = barW.querySelector('.csa-bar');\n    var lastTop = -1, lastL = -1, lastW = -1;\n    function tick(){\n      var hb = headerBottom();\n      var r = srcBar.getBoundingClientRect();\n      \/\/ pinned only while the guide's rows are under it: once the last row has scrolled up past it, the footer\n      \/\/ is coming and the switch steps away\n      var end = host.getBoundingClientRect().bottom;\n      var on = r.top < hb && end > hb + r.height + 24;\n      if (on) {\n        if (hb !== lastTop) { pin.style.top = hb + 'px'; lastTop = hb; }\n        var l = Math.round(r.left), w = Math.round(r.width);\n        if (l !== lastL || w !== lastW) { pin.style.left = l + 'px'; pin.style.width = w + 'px'; lastL = l; lastW = w; }\n      }\n      if (on !== pin.classList.contains('on')) {\n        pin.classList.toggle('on', on);\n        srcBar.style.visibility = on ? 'hidden' : '';   \/\/ never two switches on screen at once\n      }\n    }\n    function onScroll(){ tick(); }   \/\/ scroll fires at most once a frame already\n    window.addEventListener('scroll', onScroll, { passive: true });\n    window.addEventListener('resize', onScroll);\n    \/\/ the header animates its own height and visibility; follow it to the end of each change\n    document.querySelectorAll('header, .site-header-wrapper').forEach(function(h){\n      h.addEventListener('transitionend', onScroll);\n      h.addEventListener('transitionrun', function(){ var n = 0; (function f(){ tick(); if (++n < 30) requestAnimationFrame(f); })(); });\n    });\n    tick();\n\n    var current = null;\n    var ORDER = ['monitor', 'settings'];\n    var still = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n    function show(name){\n      if (current === name) return;\n      var from = current;\n      current = name;\n      Object.keys(panels).forEach(function(k){\n        if (k === name) panels[k].removeAttribute('hidden');\n        else if (until) panels[k].setAttribute('hidden', 'until-found');\n        else panels[k].hidden = true;\n      });\n      \/\/ the pill slides under the chosen tab; the new panel slides in from the side it sits on\n      document.querySelectorAll('.csa-tabs').forEach(function(t){ t.setAttribute('data-on', name); });\n      document.querySelectorAll('a.csa-tab').forEach(function(t){\n        var on = t.getAttribute('data-tab') === name;\n        t.classList.toggle('on', on);\n        t.setAttribute('aria-selected', on ? 'true' : 'false');\n      });\n      if (from && !still) {\n        var box = panels[name];\n        box.classList.remove('csa-in-l', 'csa-in-r');\n        void box.offsetWidth;   \/\/ restart the animation\n        box.classList.add(ORDER.indexOf(name) > ORDER.indexOf(from) ? 'csa-in-r' : 'csa-in-l');\n        box.addEventListener('animationend', function done(){ box.classList.remove('csa-in-l', 'csa-in-r'); box.removeEventListener('animationend', done); });\n      }\n      window.dispatchEvent(new Event('resize'));\n    }\n    function offset(){ return headerBottom() + (pin.classList.contains('on') ? pin.getBoundingClientRect().height : 64) + 20; }\n    var landing = [], chosen = null;   \/\/ the row the reader opened themselves (or a link opened)\n    function stopLanding(){ if (landing.length) { landing.forEach(clearTimeout); landing = []; } }\n    ['wheel', 'touchstart', 'keydown', 'mousedown'].forEach(function(ev){\n      window.addEventListener(ev, stopLanding, { passive: true, capture: true });\n    });\n    function openFor(id){\n      var t = id && document.getElementById(id);\n      if (!t) return false;\n      var p = t.closest('.csa-panel');\n      if (!p) return false;\n      show(p.getAttribute('data-panel'));\n      var d = t.querySelector('details.csa-row') || t.closest('details.csa-row');\n      if (d && !d.open) { chosen = d; d.open = true; }\n      \/\/ land below the pinned switch; check again after images above have loaded, but only while the reader has\n      \/\/ not scrolled themselves, and only if the target really moved\n      landing.forEach(clearTimeout);\n      var want = null;\n      function land(){\n        var dest = Math.round(t.getBoundingClientRect().top + window.scrollY - offset());\n        if (want !== null && Math.abs(dest - want) < 3) return;\n        var first = want === null;\n        want = dest;\n        window.scrollTo({ top: dest, behavior: first ? 'smooth' : 'instant' });\n      }\n      landing = [setTimeout(land, 30), setTimeout(land, 450), setTimeout(land, 1200)];\n      return true;\n    }\n    document.addEventListener('click', function(e){\n      var tab = e.target.closest && e.target.closest('a.csa-tab');\n      if (tab) {\n        e.preventDefault();\n        show(tab.getAttribute('data-tab'));\n        var top = panels.monitor.getBoundingClientRect().top + window.scrollY - offset();\n        if (window.scrollY > top) window.scrollTo({ top: top });\n        return;\n      }\n      var a = e.target.closest && e.target.closest('a[href^=\"#\"]');\n      if (a && openFor(decodeURIComponent(a.getAttribute('href').slice(1)))) e.preventDefault();\n      var b = e.target.closest && e.target.closest('button.csa-all');\n      if (b && current) {\n        var open = b.getAttribute('data-open') === '1';\n        panels[current].querySelectorAll('details.csa-row').forEach(function(d){ d.open = open; });\n      }\n    }, true);\n    \/\/ rows open and close with a short height + fade animation; links, Ctrl+F and Open all still switch at once\n    document.addEventListener('click', function(e){\n      var s = e.target.closest && e.target.closest('details.csa-row > summary');\n      if (!s || still || e.defaultPrevented || e.button !== 0 || e.metaKey || e.ctrlKey || e.shiftKey || e.altKey) return;\n      var d = s.parentNode, body = d.querySelector(':scope > .csa-body');\n      chosen = d;\n      if (!body || !body.animate) return;\n      e.preventDefault();\n      var startH = d.open ? body.getBoundingClientRect().height : 0;   \/\/ mid-animation height, before cancelling\n      var opening = !d.open || d.classList.contains('csa-closing');\n      if (d._anim) { d._anim.cancel(); d._anim = null; }\n      d.classList.remove('csa-closing');\n      d.open = true;\n      \/\/ the body's padding and top border are part of what must collapse; height alone stops ~45px short and snaps\n      var cs = getComputedStyle(body);\n      var full = { h: body.offsetHeight, pt: cs.paddingTop, pb: cs.paddingBottom, bt: cs.borderTopWidth };\n      var zero = { height: '0px', paddingTop: '0px', paddingBottom: '0px', borderTopWidth: '0px', opacity: 0 };\n      var whole = { height: full.h + 'px', paddingTop: full.pt, paddingBottom: full.pb, borderTopWidth: full.bt, opacity: 1 };\n      var k = full.h ? Math.min(1, startH \/ full.h) : 0;   \/\/ part-way: scale everything to where it was\n      var from = !startH ? zero : {\n        height: startH + 'px', opacity: k,\n        paddingTop: parseFloat(full.pt) * k + 'px', paddingBottom: parseFloat(full.pb) * k + 'px', borderTopWidth: parseFloat(full.bt) * k + 'px'\n      };\n      if (!opening) d.classList.add('csa-closing');\n      body.style.overflow = 'hidden';\n      body.style.boxSizing = 'border-box';\n      var a = body.animate(opening ? [from, whole] : [startH ? from : whole, zero], {\n        duration: opening ? 340 : 240,\n        easing: opening ? 'cubic-bezier(.2,.7,.2,1)' : 'cubic-bezier(.4,0,.2,1)'\n      });\n      d._anim = a;\n      a.onfinish = function(){\n        d._anim = null;\n        body.style.overflow = '';\n        body.style.boxSizing = '';\n        if (!opening) { d.open = false; d.classList.remove('csa-closing'); }\n      };\n    });\n    \/\/ ---- a link for every section: a button on each row and each sub-topic heading copies its address ----\n    function word(k, fallback){\n      var e = document.querySelector('.csa-l10n [data-k=\"' + k + '\"]');\n      return (e && e.textContent.trim()) || fallback;\n    }\n    var COPY = word('copy', 'Copy link to this section'), DONE = word('done', 'Link copied');\n    function linkBtn(id){\n      var b = document.createElement('button');\n      b.type = 'button'; b.className = 'csa-link'; b.setAttribute('data-id', id);\n      b.setAttribute('aria-label', COPY); b.title = COPY;\n      return b;\n    }\n    document.querySelectorAll('details.csa-row').forEach(function(d){\n      var w = d.closest('.elementor-element[id]');\n      var cta = d.querySelector(':scope > summary .csa-cta');\n      if (w && cta) cta.parentNode.insertBefore(linkBtn(w.id), cta);\n    });\n    document.querySelectorAll('.csa .csa-sub[id] > h3').forEach(function(h){ h.appendChild(linkBtn(h.parentNode.id)); });\n    var toast = document.createElement('div');\n    toast.className = 'csa-toast'; toast.setAttribute('role', 'status'); toast.setAttribute('aria-live', 'polite');\n    document.body.appendChild(toast);\n    var toastT = 0;\n    function say(msg){\n      toast.textContent = msg; toast.classList.add('on');\n      clearTimeout(toastT); toastT = setTimeout(function(){ toast.classList.remove('on'); }, 1800);\n    }\n    function copy(text){\n      if (navigator.clipboard && window.isSecureContext) return navigator.clipboard.writeText(text);\n      return new Promise(function(ok, no){\n        var t = document.createElement('textarea'); t.value = text; t.setAttribute('readonly', '');\n        t.style.cssText = 'position:fixed;top:-1000px;opacity:0'; document.body.appendChild(t); t.select();\n        try { document.execCommand('copy') ? ok() : no(); } catch (e) { no(e); }\n        t.remove();\n      });\n    }\n    function setHash(id){ try { history.replaceState(null, '', location.pathname + location.search + '#' + id); } catch (e) {} }\n    document.addEventListener('click', function(e){\n      var b = e.target.closest && e.target.closest('button.csa-link');\n      if (!b) return;\n      e.preventDefault(); e.stopPropagation();   \/\/ inside a summary: copy, do not toggle the row\n      var id = b.getAttribute('data-id');\n      var url = location.origin + location.pathname + '#' + id;   \/\/ keeps the \/zh\/, \/de\/... prefix\n      setHash(id);\n      copy(url).then(function(){ b.classList.add('done'); say(DONE); setTimeout(function(){ b.classList.remove('done'); }, 1800); },\n                     function(){ say(url); });\n    }, true);\n    \/\/ opening a row by hand puts its link in the address bar, ready to copy from there too\n    document.addEventListener('toggle', function(e){\n      var d = e.target;\n      if (!d.matches || !d.matches('details.csa-row') || !d.open || d.classList.contains('csa-closing') || d !== chosen) return;\n      chosen = null;\n      var w = d.closest('.elementor-element[id]');\n      if (w && location.hash.slice(1) !== w.id && !(location.hash && w.querySelector('[id=\"' + location.hash.slice(1) + '\"]'))) setHash(w.id);\n    }, true);\n    window.addEventListener('hashchange', function(){ openFor(location.hash.slice(1)); });\n    if (!(location.hash && openFor(location.hash.slice(1)))) show('monitor');\n  }\n})();\n\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4c788ed e-con-full e-flex e-con e-child\" data-id=\"4c788ed\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-589af1f e-con-full e-flex e-con e-child\" data-id=\"589af1f\" data-element_type=\"container\" data-e-type=\"container\" id=\"section1\">\n\t\t<div class=\"elementor-element elementor-element-80c6792 e-con-full e-flex e-con e-child\" data-id=\"80c6792\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3c81135 elementor-widget elementor-widget-html\" data-id=\"3c81135\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"app-tabs\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"csa csa-hero-tabs\"><div class=\"csa-bar\"><div class=\"csa-tabs\" role=\"tablist\"><a class=\"csa-tab on\" href=\"#monitor\" data-tab=\"monitor\" role=\"tab\"><span class=\"csa-ti mon\" aria-hidden=\"true\"><\/span>Monitor<\/a><a class=\"csa-tab\" href=\"#connection-settings\" data-tab=\"settings\" role=\"tab\"><span class=\"csa-ti set\" aria-hidden=\"true\"><\/span>Settings<\/a><\/div><div class=\"csa-bar-r\"><button type=\"button\" class=\"csa-all\" data-open=\"1\">Open all<\/button><button type=\"button\" class=\"csa-all\" data-open=\"0\">Close all<\/button><\/div><\/div><span class=\"csa-l10n\" hidden><span data-k=\"copy\">Copy link to this section<\/span><span data-k=\"done\">Link copied<\/span><\/span><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-28240fd elementor-widget elementor-widget-html\" data-id=\"28240fd\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"overview\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"csa csa-pintro\" data-panel=\"monitor\"><p><strong>Monitor<\/strong> shows CAPTCHA solving activity in real time, with a section for each CAPTCHA type: Image CAPTCHA, Google reCAPTCHA, Cloudflare Turnstile, hCaptcha, AWS WAF, GeeTest, ALTCHA, CaptchaFox, Capy, Friendly Captcha and DataDome.<\/p><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d459084 elementor-widget elementor-widget-html\" data-id=\"d459084\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"monitor\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"csa\" data-panel=\"monitor\"><details class=\"csa-row\"><summary><img loading=\"lazy\" decoding=\"async\" class=\"csa-ico\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/capskip-app-monitor.svg\" alt=\"\" width=\"28\" height=\"28\"><span class=\"csa-t\"><span class=\"csa-title\">Monitor Tab<\/span><span class=\"csa-sum\">Reorder Sections &#183; Show and Hide &#183; Filter &#183; Statistics &#183; Task List<\/span><\/span><span class=\"csa-cta\" aria-hidden=\"true\"><\/span><\/summary><div class=\"csa-body stack\"><div class=\"csa-shotwide\"><div class=\"csa-shot\"><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-26306\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/capskip-monitor-tab.png\" alt=\"CapSkip Monitor tab showing several CAPTCHA sections\" width=\"759\" height=\"748\" srcset=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/capskip-monitor-tab.png 759w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/capskip-monitor-tab-12x12.png 12w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/capskip-monitor-tab-710x700.png 710w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/capskip-monitor-tab-600x591.png 600w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/capskip-monitor-tab-100x100.png 100w\" sizes=\"(max-width: 759px) 100vw, 759px\" \/><\/p><\/div><\/div><div class=\"csa-intro\"><p style=\"text-align: left;\">The Monitor tab is where you watch CAPTCHAs being solved. Every CAPTCHA type has its own section with live statistics and, for the browser and proof-of-work types, a task list.<\/p><\/div><div class=\"csa-subs\"><div class=\"csa-sub\"><h3>Reorder Sections<\/h3><p>Each section has a dotted drag handle to the left of its name. Drag a section up or down to put the CAPTCHA types you use most at the top. The order is saved and kept after you restart CapSkip.<\/p><\/div><div class=\"csa-sub\"><h3>Show and Hide<\/h3><p>Each section has a <strong>Hide<\/strong> button in its top right corner that collapses it. In the Image CAPTCHA section it hides the image, result cards and charts; in the other sections it hides the task list. The counters keep updating while a section is hidden, and hiding sections uses less CPU under heavy load. <strong>Show<\/strong> brings it back.<\/p><p>This replaces the Disable UI Updates options of earlier versions.<\/p><\/div><div class=\"csa-sub\"><h3>Filter<\/h3><p>Sections with a task list have a <strong>Filter<\/strong> menu, so you can show All Tasks, or only tasks that are Waiting, In Process or Finished.<\/p><\/div><div class=\"csa-sub\"><h3>Statistics<\/h3><p>Each section shows three tiles: <strong>Success<\/strong>, the number of solved tasks; <strong>Money Saved<\/strong>, what the same solves would have cost on a paid CAPTCHA service; and <strong>Time<\/strong>, the typical solve time.<\/p><p>The row underneath shows active threads out of the maximum and the tasks waiting in the queue. reCAPTCHA, Cloudflare Turnstile, CaptchaFox and Capy also count <strong>Bad Keys<\/strong>, tasks rejected because of an invalid site key, and reCAPTCHA and Turnstile count <strong>IP Bans<\/strong>, tasks blocked by the CAPTCHA provider, which usually means your proxies need replacing.<\/p><\/div><div class=\"csa-sub\"><h3>Task List<\/h3><p>Each task shows its page URL, how long it took, its current step, the proxy it used (Direct when no proxy was used) and a coloured status label. Right-click a task to open its URL in your browser or to show its details.<\/p><\/div><div class=\"csa-sub\"><h3>Task Details<\/h3><p>Double-click any task, or right-click it and choose <strong>Show Task Details<\/strong>, to see exactly what was sent to CapSkip: the page URL, the parameters and the raw request, each with a Copy button. This is the quickest way to check an integration.<\/p><p>For failed Cloudflare Turnstile tasks with <a href=\"#cloudflare-settings\">Debug mode<\/a> on, the window also shows what the solver saw: a screenshot of the browser, the outcome and the reason it stopped.<\/p><\/div><div class=\"csa-fig\"><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-26307\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/task-details-window.png\" alt=\"CapSkip task details window for a reCAPTCHA task\" width=\"614\" height=\"704\" srcset=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/task-details-window.png 614w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/task-details-window-10x12.png 10w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/task-details-window-600x688.png 600w\" sizes=\"(max-width: 614px) 100vw, 614px\" \/><\/p><\/div><\/div><\/div><\/details><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5dad6ca elementor-widget elementor-widget-html\" data-id=\"5dad6ca\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"image-captcha-solving\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"csa\" data-panel=\"monitor\"><details class=\"csa-row\"><summary><img loading=\"lazy\" decoding=\"async\" class=\"csa-ico\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/capskip-app-image-captcha.svg\" alt=\"\" width=\"28\" height=\"28\"><span class=\"csa-t\"><span class=\"csa-title\">Image CAPTCHA<\/span><span class=\"csa-sum\">Upload Image &#183; Screen Recognition &#183; Folder Recognition &#183; Open API<\/span><\/span><span class=\"csa-cta\" aria-hidden=\"true\"><\/span><\/summary><div class=\"csa-body stack\"><div class=\"csa-shotwide\"><div class=\"csa-shot\"><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-26308\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/image-captcha-monitor-section.png\" alt=\"Image CAPTCHA section on the CapSkip Monitor tab\" width=\"708\" height=\"272\" srcset=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/image-captcha-monitor-section.png 708w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/image-captcha-monitor-section-18x7.png 18w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/image-captcha-monitor-section-600x231.png 600w\" sizes=\"(max-width: 708px) 100vw, 708px\" \/><\/p><\/div><\/div><div class=\"csa-intro\"><p style=\"text-align: left;\">This section lets you test image CAPTCHAs and see the result instantly. It also counts every image CAPTCHA solved through the API.<\/p><\/div><div class=\"csa-subs\"><div class=\"csa-sub\"><p>After an image is processed, its Answer, Confidence, Solving Time and detected Type appear next to it. Total Requests, Solved and Failed count every image CAPTCHA processed. When <a href=\"#real-time-charts\">Real-time Charts<\/a> are on, two charts show incoming requests and the queue.<\/p><\/div><div class=\"csa-sub\"><h3>Upload Image<\/h3><p>Upload a single image file to test CAPTCHA solving manually.<\/p><\/div><div class=\"csa-sub\"><h3>Screen Recognition<\/h3><p>Select and capture an area of your screen for instant CAPTCHA recognition.<\/p><\/div><div class=\"csa-sub\"><h3>Folder Recognition<\/h3><p>Process all the images in a folder in one batch.<\/p><\/div><div class=\"csa-sub\"><h3>Open API<\/h3><p>Opens CapSkip's local API page in your browser. It shows whether the server is running, the service CapSkip is emulating, the API endpoint and whether API key validation is on, with links to the API documentation, SDKs and browser extensions.<\/p><p>The API endpoint shown there is the address your software or code sends its requests to.<\/p><\/div><\/div><\/div><\/details><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-11de7f6 elementor-widget elementor-widget-html\" data-id=\"11de7f6\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"google-recaptcha-solving\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"csa\" data-panel=\"monitor\"><details class=\"csa-row\"><summary><img loading=\"lazy\" decoding=\"async\" class=\"csa-ico\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/capskip-app-recaptcha.svg\" alt=\"\" width=\"28\" height=\"28\"><span class=\"csa-t\"><span class=\"csa-title\">Google reCAPTCHA<\/span><span class=\"csa-sum\">This section shows real-time statistics and the task list for Google reCAPTCHA tasks.<\/span><\/span><span class=\"csa-cta\" aria-hidden=\"true\"><\/span><\/summary><div class=\"csa-body has-shot\"><div class=\"csa-shot\"><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-26309\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/google-recaptcha-monitor-section.png\" alt=\"Google reCAPTCHA section on the CapSkip Monitor tab\" width=\"710\" height=\"369\" srcset=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/google-recaptcha-monitor-section.png 710w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/google-recaptcha-monitor-section-18x9.png 18w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/google-recaptcha-monitor-section-600x312.png 600w\" sizes=\"(max-width: 710px) 100vw, 710px\" \/><\/p><\/div><div class=\"csa-text\"><div class=\"csa-intro\"><p style=\"text-align: left;\">This section shows real-time statistics and the task list for Google reCAPTCHA tasks.<\/p><\/div><div class=\"csa-sub\"><p>A badge next to each URL shows the reCAPTCHA version: <strong>v2<\/strong>, <strong>v2 inv<\/strong> for invisible v2, <strong>v3<\/strong>, and <strong>ent<\/strong> for Enterprise. The Clicks column shows how many image tiles were clicked to pass a v2 challenge.<\/p><\/div><\/div><\/div><\/details><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-210bd94 elementor-widget elementor-widget-html\" data-id=\"210bd94\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"cloudflare-turnstile-solving\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"csa\" data-panel=\"monitor\"><details class=\"csa-row\"><summary><img loading=\"lazy\" decoding=\"async\" class=\"csa-ico\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/cloudflare.svg\" alt=\"\" width=\"28\" height=\"28\"><span class=\"csa-t\"><span class=\"csa-title\">Cloudflare Turnstile<\/span><span class=\"csa-sum\">This section shows real-time statistics and the task list for Cloudflare Turnstile tasks.<\/span><\/span><span class=\"csa-cta\" aria-hidden=\"true\"><\/span><\/summary><div class=\"csa-body has-shot\"><div class=\"csa-shot\"><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-26310\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/cloudflare-turnstile-section.png\" alt=\"Cloudflare Turnstile section on the CapSkip Monitor tab\" width=\"710\" height=\"370\" srcset=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/cloudflare-turnstile-section.png 710w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/cloudflare-turnstile-section-18x9.png 18w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/cloudflare-turnstile-section-600x313.png 600w\" sizes=\"(max-width: 710px) 100vw, 710px\" \/><\/p><\/div><div class=\"csa-text\"><div class=\"csa-intro\"><p style=\"text-align: left;\">This section shows real-time statistics and the task list for Cloudflare Turnstile tasks.<\/p><\/div><div class=\"csa-sub\"><p>A badge next to each URL shows the task type: <strong>Turnstile<\/strong> for a Turnstile widget, <strong>Challenge<\/strong> for a Cloudflare challenge page solved for a token, or <strong>Clearance<\/strong> for a cf_clearance cookie task.<\/p><p><a href=\"#cloudflare-settings\">Debug mode<\/a>, when it is on, lets you double-click a failed task to see a screenshot of the browser and why it stopped.<\/p><\/div><\/div><\/div><\/details><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5087f00 elementor-widget elementor-widget-html\" data-id=\"5087f00\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"hcaptcha-solving\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"csa\" data-panel=\"monitor\"><details class=\"csa-row\"><summary><img loading=\"lazy\" decoding=\"async\" class=\"csa-ico\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/capskip-app-hcaptcha.svg\" alt=\"\" width=\"28\" height=\"28\"><span class=\"csa-t\"><span class=\"csa-title\">hCaptcha<\/span><span class=\"csa-sum\">This section shows real-time statistics and the task list for hCaptcha tasks.<\/span><\/span><span class=\"csa-cta\" aria-hidden=\"true\"><\/span><\/summary><div class=\"csa-body has-shot\"><div class=\"csa-shot\"><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-27413\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/hcaptcha-monitor-section.png\" alt=\"hCaptcha section on the CapSkip Monitor tab\" width=\"711\" height=\"372\" srcset=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/hcaptcha-monitor-section.png 711w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/hcaptcha-monitor-section-18x9.png 18w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/hcaptcha-monitor-section-600x314.png 600w\" sizes=\"(max-width: 711px) 100vw, 711px\" \/><\/p><\/div><div class=\"csa-text\"><div class=\"csa-intro\"><p>This section shows real-time statistics and the task list for hCaptcha tasks.<\/p><\/div><div class=\"csa-sub\"><p>A badge next to each URL shows the kind of challenge being answered, for example <strong>Closed loops<\/strong> or <strong>Drag &amp; drop<\/strong>. It reads hCaptcha until the challenge is known.<\/p><p>A task whose site key hCaptcha rejects ends with the status <strong>Bad sitekey<\/strong>.<\/p><\/div><\/div><\/div><\/details><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-11e1790 elementor-widget elementor-widget-html\" data-id=\"11e1790\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"aws-waf-solving\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"csa\" data-panel=\"monitor\"><details class=\"csa-row\"><summary><img loading=\"lazy\" decoding=\"async\" class=\"csa-ico\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/capskip-app-awswaf.svg\" alt=\"\" width=\"28\" height=\"28\"><span class=\"csa-t\"><span class=\"csa-title\">AWS WAF<\/span><span class=\"csa-sum\">This section shows real-time statistics and the task list for AWS WAF CAPTCHA tasks.<\/span><\/span><span class=\"csa-cta\" aria-hidden=\"true\"><\/span><\/summary><div class=\"csa-body has-shot\"><div class=\"csa-shot\"><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-27408\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/aws-waf-monitor-section.png\" alt=\"AWS WAF section on the CapSkip Monitor tab\" width=\"710\" height=\"372\" srcset=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/aws-waf-monitor-section.png 710w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/aws-waf-monitor-section-18x9.png 18w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/aws-waf-monitor-section-600x314.png 600w\" sizes=\"(max-width: 710px) 100vw, 710px\" \/><\/p><\/div><div class=\"csa-text\"><div class=\"csa-intro\"><p>This section shows real-time statistics and the task list for AWS WAF CAPTCHA tasks.<\/p><\/div><div class=\"csa-sub\"><p>A badge next to each URL shows the puzzle type: <strong>Grid<\/strong> for an image grid, <strong>Toy car<\/strong> for the toy car path puzzle, or WAF until the puzzle type is known.<\/p><p>The Task column shows the current step while a task runs, including the object an image grid asks for, such as Select chairs.<\/p><\/div><\/div><\/div><\/details><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-df2674c elementor-widget elementor-widget-html\" data-id=\"df2674c\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"geetest-solving\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"csa\" data-panel=\"monitor\"><details class=\"csa-row\"><summary><img loading=\"lazy\" decoding=\"async\" class=\"csa-ico\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/09\/geetest-logo.svg\" alt=\"\" width=\"28\" height=\"28\"><span class=\"csa-t\"><span class=\"csa-title\">GeeTest<\/span><span class=\"csa-sum\">This section shows real-time statistics and the task list for GeeTest tasks.<\/span><\/span><span class=\"csa-cta\" aria-hidden=\"true\"><\/span><\/summary><div class=\"csa-body has-shot\"><div class=\"csa-shot\"><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-26311\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/geetest-section.png\" alt=\"GeeTest section on the CapSkip Monitor tab\" width=\"709\" height=\"373\" srcset=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/geetest-section.png 709w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/geetest-section-18x9.png 18w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/geetest-section-600x316.png 600w\" sizes=\"(max-width: 709px) 100vw, 709px\" \/><\/p><\/div><div class=\"csa-text\"><div class=\"csa-intro\"><p style=\"text-align: left;\">This section shows real-time statistics and the task list for GeeTest tasks.<\/p><\/div><\/div><\/div><\/details><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-de49d5b elementor-widget elementor-widget-html\" data-id=\"de49d5b\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"altcha-solving\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"csa\" data-panel=\"monitor\"><details class=\"csa-row\"><summary><img loading=\"lazy\" decoding=\"async\" class=\"csa-ico\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/09\/altcha.svg\" alt=\"\" width=\"28\" height=\"28\"><span class=\"csa-t\"><span class=\"csa-title\">ALTCHA<\/span><span class=\"csa-sum\">This section shows real-time statistics and the task list for ALTCHA proof-of-work challenges.<\/span><\/span><span class=\"csa-cta\" aria-hidden=\"true\"><\/span><\/summary><div class=\"csa-body has-shot\"><div class=\"csa-shot\"><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-26312\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/altcha-section.png\" alt=\"ALTCHA section on the CapSkip Monitor tab\" width=\"710\" height=\"373\" srcset=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/altcha-section.png 710w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/altcha-section-18x9.png 18w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/altcha-section-600x315.png 600w\" sizes=\"(max-width: 710px) 100vw, 710px\" \/><\/p><\/div><div class=\"csa-text\"><div class=\"csa-intro\"><p style=\"text-align: left;\">This section shows real-time statistics and the task list for ALTCHA proof-of-work challenges.<\/p><\/div><div class=\"csa-sub\"><p>The Number column shows the number CapSkip found to solve the challenge, which is roughly how much work the challenge cost.<\/p><\/div><\/div><\/div><\/details><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-354b4ef elementor-widget elementor-widget-html\" data-id=\"354b4ef\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"captchafox-solving\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"csa\" data-panel=\"monitor\"><details class=\"csa-row\"><summary><img loading=\"lazy\" decoding=\"async\" class=\"csa-ico\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/09\/captchafox.svg\" alt=\"\" width=\"28\" height=\"28\"><span class=\"csa-t\"><span class=\"csa-title\">CaptchaFox<\/span><span class=\"csa-sum\">This section shows real-time statistics and the task list for CaptchaFox tasks.<\/span><\/span><span class=\"csa-cta\" aria-hidden=\"true\"><\/span><\/summary><div class=\"csa-body has-shot\"><div class=\"csa-shot\"><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-26313\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/captchafox-section.png\" alt=\"CaptchaFox section on the CapSkip Monitor tab\" width=\"711\" height=\"373\" srcset=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/captchafox-section.png 711w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/captchafox-section-18x9.png 18w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/captchafox-section-600x315.png 600w\" sizes=\"(max-width: 711px) 100vw, 711px\" \/><\/p><\/div><div class=\"csa-text\"><div class=\"csa-intro\"><p style=\"text-align: left;\">This section shows real-time statistics and the task list for CaptchaFox tasks.<\/p><\/div><\/div><\/div><\/details><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f573c0f elementor-widget elementor-widget-html\" data-id=\"f573c0f\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"capy-solving\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"csa\" data-panel=\"monitor\"><details class=\"csa-row\"><summary><img loading=\"lazy\" decoding=\"async\" class=\"csa-ico\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/09\/capy.svg\" alt=\"\" width=\"28\" height=\"28\"><span class=\"csa-t\"><span class=\"csa-title\">Capy<\/span><span class=\"csa-sum\">This section shows real-time statistics and the task list for Capy puzzle tasks.<\/span><\/span><span class=\"csa-cta\" aria-hidden=\"true\"><\/span><\/summary><div class=\"csa-body has-shot\"><div class=\"csa-shot\"><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-26314\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/capy-section.png\" alt=\"Capy section on the CapSkip Monitor tab\" width=\"710\" height=\"373\" srcset=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/capy-section.png 710w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/capy-section-18x9.png 18w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/capy-section-600x315.png 600w\" sizes=\"(max-width: 710px) 100vw, 710px\" \/><\/p><\/div><div class=\"csa-text\"><div class=\"csa-intro\"><p style=\"text-align: left;\">This section shows real-time statistics and the task list for Capy puzzle tasks.<\/p><\/div><div class=\"csa-sub\"><p>The Position column shows where the puzzle piece was placed.<\/p><\/div><\/div><\/div><\/details><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8d7ce35 elementor-widget elementor-widget-html\" data-id=\"8d7ce35\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"friendly-captcha-solving\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"csa\" data-panel=\"monitor\"><details class=\"csa-row\"><summary><img loading=\"lazy\" decoding=\"async\" class=\"csa-ico\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/09\/FriendlyCaptcha-transparent.svg\" alt=\"\" width=\"28\" height=\"28\"><span class=\"csa-t\"><span class=\"csa-title\">Friendly Captcha<\/span><span class=\"csa-sum\">This section shows real-time statistics and the task list for Friendly Captcha v1 and v2 tasks.<\/span><\/span><span class=\"csa-cta\" aria-hidden=\"true\"><\/span><\/summary><div class=\"csa-body has-shot\"><div class=\"csa-shot\"><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-26315\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/friendlycaptcha-section.png\" alt=\"Friendly Captcha section on the CapSkip Monitor tab\" width=\"711\" height=\"372\" srcset=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/friendlycaptcha-section.png 711w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/friendlycaptcha-section-18x9.png 18w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/friendlycaptcha-section-600x314.png 600w\" sizes=\"(max-width: 711px) 100vw, 711px\" \/><\/p><\/div><div class=\"csa-text\"><div class=\"csa-intro\"><p style=\"text-align: left;\">This section shows real-time statistics and the task list for Friendly Captcha v1 and v2 tasks.<\/p><\/div><div class=\"csa-sub\"><p>The Hashes column shows how much proof-of-work each solve took. For Friendly Captcha v2 this also reflects how hard the service made the puzzle for that address.<\/p><\/div><\/div><\/div><\/details><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3647a52 elementor-widget elementor-widget-html\" data-id=\"3647a52\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"datadome-solving\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"csa\" data-panel=\"monitor\"><details class=\"csa-row\"><summary><img loading=\"lazy\" decoding=\"async\" class=\"csa-ico\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/capskip-app-datadome.svg\" alt=\"\" width=\"28\" height=\"28\"><span class=\"csa-t\"><span class=\"csa-title\">DataDome<\/span><span class=\"csa-sum\">This section shows real-time statistics and the task list for DataDome tasks.<\/span><\/span><span class=\"csa-cta\" aria-hidden=\"true\"><\/span><\/summary><div class=\"csa-body has-shot\"><div class=\"csa-shot\"><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-27411\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/datadome-monitor-section.png\" alt=\"DataDome section on the CapSkip Monitor tab\" width=\"712\" height=\"373\" srcset=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/datadome-monitor-section.png 712w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/datadome-monitor-section-18x9.png 18w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/datadome-monitor-section-710x372.png 710w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/datadome-monitor-section-600x314.png 600w\" sizes=\"(max-width: 712px) 100vw, 712px\" \/><\/p><\/div><div class=\"csa-text\"><div class=\"csa-intro\"><p>This section shows real-time statistics and the task list for DataDome tasks.<\/p><\/div><div class=\"csa-sub\"><p>A badge next to each URL shows the challenge type: <strong>Slider<\/strong>, <strong>Puzzle<\/strong> or <strong>Device check<\/strong>. It reads DataDome until the challenge type is known.<\/p><p>A task blocked by DataDome ends with the status <strong>IP ban<\/strong>, which usually means the proxy needs replacing.<\/p><\/div><\/div><\/div><\/details><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e70d36e elementor-widget elementor-widget-html\" data-id=\"e70d36e\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"csa csa-pintro\" data-panel=\"settings\"><p><strong>Settings<\/strong> is grouped into five sections:<\/p><div class=\"csa-groups\"><a href=\"#connection-settings\"><b>Connection<\/b><span>the service CapSkip emulates, the port it listens on, and the hosts file.<\/span><\/a><a href=\"#captcha-types\"><b>Captcha types<\/b><span>one row for each CAPTCHA type, with its threads, timeouts, retries, proxies and options.<\/span><\/a><a href=\"#api-key-validation\"><b>API access<\/b><span>API key validation, key credits, request limits and remote key management.<\/span><\/a><a href=\"#app-settings\"><b>App<\/b><span>theme, language, startup, safe display mode, close to tray and software updates.<\/span><\/a><a href=\"#help-diagnostics\"><b>Help &amp; diagnostics<\/b><span>the guided tour, diagnostic reports, charts, logging, image debugging and resetting settings.<\/span><\/a><\/div><p class=\"csa-tour\">The first time you open CapSkip after installing it, a short guided tour offers to walk you through the settings you need to start solving. You can run it again at any time from <a href=\"#getting-started-tour\">Getting Started<\/a>.<\/p><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-175f915 elementor-widget elementor-widget-html\" data-id=\"175f915\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"connection-settings\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"csa\" data-panel=\"settings\"><details class=\"csa-row\"><summary><img loading=\"lazy\" decoding=\"async\" class=\"csa-ico\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/03\/capskip-app-plug.svg\" alt=\"\" width=\"28\" height=\"28\"><span class=\"csa-t\"><span class=\"csa-title\">Connection Settings<\/span><span class=\"csa-sum\">Service Emulator &#183; Port &#183; Hosts File<\/span><\/span><span class=\"csa-cta\" aria-hidden=\"true\"><\/span><\/summary><div class=\"csa-body stack\"><div class=\"csa-shotwide\"><div class=\"csa-shot\"><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-26316\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/connection-settings-section.png\" alt=\"CapSkip Connection settings: service emulator, port and hosts file\" width=\"709\" height=\"191\" srcset=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/connection-settings-section.png 709w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/connection-settings-section-18x5.png 18w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/connection-settings-section-600x162.png 600w\" sizes=\"(max-width: 709px) 100vw, 709px\" \/><\/p><\/div><\/div><div class=\"csa-intro\"><p style=\"text-align: left;\">The Connection section sets which CAPTCHA service CapSkip emulates and where it listens for API requests from your software.<\/p><\/div><div class=\"csa-subs\"><div class=\"csa-sub\"><h3>Service Emulator<\/h3><p>The Service Emulator lets CapSkip replicate the API of popular CAPTCHA solving services, so you can connect CapSkip to third-party software without modifying that software.<\/p><p>Supported services: 2captcha.com, rucaptcha.com, Anti-Captcha, CapMonster Cloud, CapSolver, DeathByCaptcha, SolveCaptcha, NextCaptcha, EzCaptcha and Captchas.io.<\/p><p>When you select a service, CapSkip answers requests in exactly that service's format. If your software already supports 2Captcha, for example, select 2captcha.com in CapSkip, point your software at CapSkip's address and keep the rest of its configuration as it is.<\/p><p>If your software cannot change the address it sends requests to, use the <a href=\"#hosts-file\">Hosts file<\/a> option below, so requests meant for the real service are routed to CapSkip automatically.<\/p><p>The Service Emulator is what lets CapSkip fully replace paid CAPTCHA services while staying compatible with your existing automation tools.<\/p><\/div><div class=\"csa-sub\" id=\"ip-port-configuration\"><h3>Port<\/h3><p>The Port setting defines how CapSkip accepts API requests from your software.<\/p><ul><li><strong>Local<\/strong>: CapSkip listens only on this computer (127.0.0.1). Recommended when your software and CapSkip run on the same machine.<\/li><li><strong>Server<\/strong>: CapSkip also accepts connections from other devices on your network, or from the internet on a VPS. Recommended for VPS or dedicated server setups, where a static public IP gives the most stable remote access. Server mode requires CapSkip to run as administrator.<\/li><\/ul><p>The number field sets the port CapSkip listens on, between 1024 and 65535. Make sure no other application is using it; if one is, CapSkip warns you and suggests a free port.<\/p><\/div><div class=\"csa-sub\" id=\"hosts-file\"><h3>Hosts File<\/h3><p><strong>Add<\/strong> points the official address of the selected service at your local CapSkip, by adding an entry to the Windows hosts file.<\/p><p>Once it is added, every request your software sends to the original service is answered by CapSkip instead. Your software's configuration stays unchanged, which makes this the simplest way to integrate CapSkip when the address cannot be changed.<\/p><p><strong>Remove<\/strong> deletes that entry and restores normal access to the real service. Use it to stop routing traffic through CapSkip.<\/p><p>Changing the hosts file requires administrator privileges.<\/p><\/div><\/div><\/div><\/details><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d8f9190 elementor-widget elementor-widget-html\" data-id=\"d8f9190\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"captcha-types\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"csa\" data-panel=\"settings\"><details class=\"csa-row\"><summary><img loading=\"lazy\" decoding=\"async\" class=\"csa-ico\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/03\/capskip-ext-captcha-types.svg\" alt=\"\" width=\"28\" height=\"28\"><span class=\"csa-t\"><span class=\"csa-title\">Captcha Types<\/span><span class=\"csa-sum\">Threads, Timeouts, Retries and Proxies<\/span><\/span><span class=\"csa-cta\" aria-hidden=\"true\"><\/span><\/summary><div class=\"csa-body stack\"><div class=\"csa-shotwide\"><div class=\"csa-shot\"><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-27410\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/captcha-types-settings-card.png\" alt=\"CapSkip Captcha types settings with all eleven CAPTCHA types\" width=\"744\" height=\"640\" srcset=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/captcha-types-settings-card.png 744w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/captcha-types-settings-card-14x12.png 14w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/captcha-types-settings-card-710x611.png 710w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/captcha-types-settings-card-600x516.png 600w\" sizes=\"(max-width: 744px) 100vw, 744px\" \/><\/p><\/div><\/div><div class=\"csa-intro\"><p style=\"text-align: left;\">Every CAPTCHA type CapSkip solves has its own row in the Captcha types section. Each row shows a live summary of its current settings, such as Threads 10 \u00b7 Wait 250 s \u00b7 Row 60 s \u00b7 Retries 1 \u00b7 No proxy. Click a row to open it; opening one row closes the others.<\/p><\/div><div class=\"csa-subs\"><div class=\"csa-sub\"><h3>Threads, Timeouts, Retries and Proxies<\/h3><p>The reCAPTCHA, Cloudflare, hCaptcha, AWS WAF, GeeTest, ALTCHA, CaptchaFox, Capy, Friendly Captcha and DataDome rows all start with the same five controls:<\/p><ul><li><strong>Max. Threads<\/strong>: how many tasks of this type CapSkip solves at the same time. A higher value increases throughput but uses more CPU, RAM and proxy capacity, so set it to what your system can handle.<\/li><li><strong>Wait Timeout<\/strong>: how many seconds a task may wait in the queue for a free thread before it gives up.<\/li><li><strong>Row Timeout<\/strong>: how many seconds a single solve may take once it has started. If it takes longer, the task is stopped and marked as failed. It is 60 seconds by default for most types, and higher for the types whose solves take longer: 250 seconds for reCAPTCHA, 150 for CaptchaFox and AWS WAF, 120 for hCaptcha, Friendly Captcha and DataDome. For CaptchaFox, AWS WAF, hCaptcha, Friendly Captcha and DataDome, that default is also the lowest value you can set.<\/li><li><strong>Retries (0-3)<\/strong>: how many times CapSkip retries a failed attempt. It is 1 by default. More retries raise the success rate but can add to the total solving time. While a retry is running, the task list shows Retry 1, Retry 2 and so on in its Task column.<\/li><li><strong>Configure Proxies<\/strong>: opens the proxy settings for this CAPTCHA type. Each type has its own proxy list; see <a href=\"#proxy-configuration\">Proxy Configuration<\/a>.<\/li><\/ul><\/div><\/div><\/div><\/details><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5688a37 elementor-widget elementor-widget-html\" data-id=\"5688a37\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"image-captcha-settings\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"csa\" data-panel=\"settings\"><details class=\"csa-row\"><summary><img loading=\"lazy\" decoding=\"async\" class=\"csa-ico\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/capskip-app-image-captcha.svg\" alt=\"\" width=\"28\" height=\"28\"><span class=\"csa-t\"><span class=\"csa-title\">Image Captcha Settings<\/span><span class=\"csa-sum\">Recognition Models &#183; Auto Arithmetic Calculation &#183; Confidence Filter<\/span><\/span><span class=\"csa-cta\" aria-hidden=\"true\"><\/span><\/summary><div class=\"csa-body stack\"><div class=\"csa-shotwide\"><div class=\"csa-shot\"><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-26318\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/image-captcha-settings-section.png\" alt=\"CapSkip Image captcha settings\" width=\"698\" height=\"187\" srcset=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/image-captcha-settings-section.png 698w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/image-captcha-settings-section-18x5.png 18w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/image-captcha-settings-section-600x161.png 600w\" sizes=\"(max-width: 698px) 100vw, 698px\" \/><\/p><\/div><\/div><div class=\"csa-intro\"><p style=\"text-align: left;\">The Image captcha row controls how CapSkip reads image CAPTCHAs: which recognition models are loaded, arithmetic solving and the confidence filter.<\/p><\/div><div class=\"csa-subs\"><div class=\"csa-sub\"><h3>Recognition Models<\/h3><p><strong>Select Models<\/strong> lets you choose which AI models are loaded for image CAPTCHAs. Loading only the models you need improves performance and reduces memory use.<\/p><p>In the Model Selection window you can tick models one by one or load a preset, show only the active models, and click <strong>OK<\/strong> to apply your choice. At least one model must stay selected. Click a model to see its properties and example images.<\/p><\/div><div class=\"csa-fig\"><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-26319\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/model-selection-window.png\" alt=\"CapSkip Model Selection window\" width=\"627\" height=\"486\" srcset=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/model-selection-window.png 627w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/model-selection-window-15x12.png 15w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/model-selection-window-600x465.png 600w\" sizes=\"(max-width: 627px) 100vw, 627px\" \/><\/p><\/div><div class=\"csa-sub\"><h3>Auto Arithmetic Calculation<\/h3><p>When the model reads a sum such as \"2 + 3 = ?\", CapSkip returns the answer instead of the text. Turn it off if you need the raw text of math CAPTCHAs.<\/p><\/div><div class=\"csa-sub\" id=\"confidence-filter\"><h3>Confidence Filter<\/h3><p>The Confidence Filter controls how CapSkip handles low-confidence results. It is off by default.<\/p><p>The model gives every solved image CAPTCHA a confidence score. Turn the filter on, choose a threshold between 10% and 90%, and enter the text to return instead. When a result's confidence is below the threshold, CapSkip returns your text, for example ERROR_CAPTCHA_UNSOLVABLE, so your software can treat it as a failed solve and request a new CAPTCHA.<\/p><\/div><\/div><\/div><\/details><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2ba4936 elementor-widget elementor-widget-html\" data-id=\"2ba4936\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"recaptcha-settings\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"csa\" data-panel=\"settings\"><details class=\"csa-row\"><summary><img loading=\"lazy\" decoding=\"async\" class=\"csa-ico\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/capskip-app-recaptcha.svg\" alt=\"\" width=\"28\" height=\"28\"><span class=\"csa-t\"><span class=\"csa-title\">reCAPTCHA Settings<\/span><span class=\"csa-sum\">Threads, timeouts, retries and proxies &#183; Fast reCAPTCHA v2 solving &#183; High score mode for reCAPTCHA v3 &#183; Show tasks with invalid data<\/span><\/span><span class=\"csa-cta\" aria-hidden=\"true\"><\/span><\/summary><div class=\"csa-body stack\"><div class=\"csa-shotwide\"><div class=\"csa-shot\"><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-26320\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/recaptcha-settings-section.png\" alt=\"CapSkip reCAPTCHA settings\" width=\"701\" height=\"275\" srcset=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/recaptcha-settings-section.png 701w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/recaptcha-settings-section-18x7.png 18w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/recaptcha-settings-section-600x235.png 600w\" sizes=\"(max-width: 701px) 100vw, 701px\" \/><\/p><\/div><\/div><div class=\"csa-intro\"><p style=\"text-align: left;\">Configure Google reCAPTCHA v2 and v3 solving: threads, timeouts, retries, proxies and the reCAPTCHA options below.<\/p><\/div><div class=\"csa-subs\"><div class=\"csa-sub\"><h3>Configure Proxies<\/h3><p>Proxies are required for reliable reCAPTCHA solving. Google limits how much a single IP address can solve, so stable, clean proxies have the biggest effect on your success rate. <a href=\"#proxy-configuration\">See Proxy Setup Here<\/a><\/p><\/div><div class=\"csa-sub\"><h3>Fast reCAPTCHA v2 solving<\/h3><p>Solves reCAPTCHA v2 in less than 10 seconds. It is on by default and needs residential or mobile proxies.<\/p><p>If a fast solve does not succeed, the task continues automatically with standard image challenge solving, so leaving it on never costs you a solve. If you do not use residential or mobile proxies for reCAPTCHA, turn it off to save a few seconds per task.<\/p><p>On sites with stricter checks, Fast solving needs Google Chrome installed on the machine.<\/p><\/div><div class=\"csa-sub\"><h3>High score mode for reCAPTCHA v3<\/h3><p>Raises the reCAPTCHA v3 score on strict site keys.<\/p><p>It is off by default, because it only helps on sites that score aggressively and it uses more memory and CPU per solve. If your v3 tokens are already accepted, leave it off. Turn it on when a site rejects tokens that CapSkip delivers successfully, which usually means the score is too low rather than the solve failing.<\/p><p>Google Chrome must be installed. If it is not, the hint under the toggle says so and v3 keeps solving normally. CapSkip also falls back to normal solving whenever high score mode cannot run, so turning it on can never break solving.<\/p><\/div><div class=\"csa-sub\"><h3>Show tasks with invalid data<\/h3><p>Off by default. Turn it on and tasks whose site key or page URL is invalid are listed on the Monitor tab too, along with the reason they failed, instead of being discarded on arrival. This helps while you are wiring up an integration, when a task that disappears with only an error code is harder to debug than a visible failed row. The trade-off is a noisier list if a client keeps sending malformed requests.<\/p><\/div><\/div><\/div><\/details><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c1e24ff elementor-widget elementor-widget-html\" data-id=\"c1e24ff\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"cloudflare-settings\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"csa\" data-panel=\"settings\"><details class=\"csa-row\"><summary><img loading=\"lazy\" decoding=\"async\" class=\"csa-ico\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/cloudflare.svg\" alt=\"\" width=\"28\" height=\"28\"><span class=\"csa-t\"><span class=\"csa-title\">Cloudflare Settings<\/span><span class=\"csa-sum\">Threads, timeouts, retries and proxies &#183; Use custom browser for Cloudflare &#183; Return cf_clearance cookies &#183; Debug mode<\/span><\/span><span class=\"csa-cta\" aria-hidden=\"true\"><\/span><\/summary><div class=\"csa-body stack\"><div class=\"csa-shotwide\"><div class=\"csa-shot\"><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-26571\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/cloudflare-settings-section-v3.png\" alt=\"CapSkip Cloudflare settings\" width=\"701\" height=\"293\" srcset=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/cloudflare-settings-section-v3.png 701w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/cloudflare-settings-section-v3-18x8.png 18w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/cloudflare-settings-section-v3-600x251.png 600w\" sizes=\"(max-width: 701px) 100vw, 701px\" \/><\/p><\/div><\/div><div class=\"csa-intro\"><p style=\"text-align: left;\">Configure Cloudflare solving: threads, timeouts, retries, proxies and the options below. The threads, timeouts and retries apply to Turnstile tasks and to cf_clearance tasks alike.<\/p><\/div><div class=\"csa-subs\"><div class=\"csa-sub\"><h3>Configure Proxies<\/h3><p>Proxies are required for reliable Turnstile solving. Make sure they are stable, clean and properly configured. cf_clearance tasks do not use this list: each one runs through the proxy sent with its own API request. <a href=\"#proxy-configuration\">See Proxy Setup Here<\/a><\/p><\/div><div class=\"csa-sub\"><h3>Use custom browser for Cloudflare<\/h3><p>By default, CapSkip solves Turnstile in Chromium. Turn this on to solve it in the CapSkip Custom Browser instead, which is faster and uses less CPU, but sites with stricter checks may reject it. This option does not affect cf_clearance tasks.<\/p><\/div><div class=\"csa-sub\"><h3>Return cf_clearance cookies<\/h3><p>Lets API requests ask for the cf_clearance cookie of a site behind Cloudflare&#8217;s full-page check, the &#8220;Just a moment...&#8221; page, instead of a Turnstile token. Your tool can then fetch the site with ordinary HTTP requests.<\/p><p>It is off by default, and while it is off these requests are refused. Every request must include a proxy, because the cookie only works from the address that earned it. If your tool sends its own User-Agent, it must be Windows Chrome of the same version as the Google Chrome installed on this PC. Otherwise leave it out and use the User-Agent CapSkip returns with the cookie. <a href=\"https:\/\/capskip.com\/api-docs\/#cloudflare-cf-clearance\">See the request format in the API docs<\/a><\/p><\/div><div class=\"csa-sub\"><h3>Debug mode<\/h3><p>Records why a Cloudflare task failed, Turnstile or cf_clearance, so you can see what went wrong instead of guessing from the status column.<\/p><p>It is off by default. Turn it on, reproduce the problem, then double-click the failed task on the Monitor tab to open its details: a screenshot of what the browser was showing when the solver gave up, the stage it had reached, how long it ran, and a plain explanation of why it stopped.<\/p><p>Nothing is captured for tasks that succeed. The work happens only after a task has already failed, so leaving it on does not slow down normal solving, though each failure costs one screenshot. Screenshots are saved to %AppData%\\CapSkip\\Debug\\cloudflare, and only the newest 120 are kept.<\/p><\/div><\/div><\/div><\/details><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e49b52f elementor-widget elementor-widget-html\" data-id=\"e49b52f\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"hcaptcha-settings\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"csa\" data-panel=\"settings\"><details class=\"csa-row\"><summary><img loading=\"lazy\" decoding=\"async\" class=\"csa-ico\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/capskip-app-hcaptcha.svg\" alt=\"\" width=\"28\" height=\"28\"><span class=\"csa-t\"><span class=\"csa-title\">hCaptcha Settings<\/span><span class=\"csa-sum\">Threads, timeouts, retries and proxies &#183; High score mode for hCaptcha<\/span><\/span><span class=\"csa-cta\" aria-hidden=\"true\"><\/span><\/summary><div class=\"csa-body has-shot\"><div class=\"csa-shot\"><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-27414\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/hcaptcha-settings-section.png\" alt=\"CapSkip hCaptcha settings\" width=\"701\" height=\"192\" srcset=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/hcaptcha-settings-section.png 701w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/hcaptcha-settings-section-18x5.png 18w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/hcaptcha-settings-section-600x164.png 600w\" sizes=\"(max-width: 701px) 100vw, 701px\" \/><\/p><\/div><div class=\"csa-text\"><div class=\"csa-intro\"><p>Configure threads, timeouts, retries and proxies for hCaptcha, and the high score option below.<\/p><\/div><div class=\"csa-sub\"><h3>Configure Proxies<\/h3><p>hCaptcha is solved in a browser, so proxies matter here. It uses only the proxies you add in this row: while the list is empty, hCaptcha tasks are solved directly from your own IP address. A proxy sent with a task is always used instead of the list. See <a href=\"#proxy-configuration\">Proxy Setup Here<\/a><\/p><\/div><div class=\"csa-sub\"><h3>High score mode for hCaptcha<\/h3><p>Raises the score on strict site keys. It is on by default and needs Google Chrome installed on the machine.<\/p><p>If Google Chrome is not installed, the switch is turned off and greyed out, and the hint under it says so. hCaptcha keeps solving normally either way.<\/p><\/div><\/div><\/div><\/details><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-947b4ca elementor-widget elementor-widget-html\" data-id=\"947b4ca\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"aws-waf-settings\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"csa\" data-panel=\"settings\"><details class=\"csa-row\"><summary><img loading=\"lazy\" decoding=\"async\" class=\"csa-ico\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/capskip-app-awswaf.svg\" alt=\"\" width=\"28\" height=\"28\"><span class=\"csa-t\"><span class=\"csa-title\">AWS WAF Settings<\/span><span class=\"csa-sum\">Threads, timeouts, retries and proxies &#183; Fast solve<\/span><\/span><span class=\"csa-cta\" aria-hidden=\"true\"><\/span><\/summary><div class=\"csa-body has-shot\"><div class=\"csa-shot\"><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-27409\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/aws-waf-settings-section.png\" alt=\"CapSkip AWS WAF settings\" width=\"702\" height=\"190\" srcset=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/aws-waf-settings-section.png 702w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/aws-waf-settings-section-18x5.png 18w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/aws-waf-settings-section-600x162.png 600w\" sizes=\"(max-width: 702px) 100vw, 702px\" \/><\/p><\/div><div class=\"csa-text\"><div class=\"csa-intro\"><p>Configure threads, timeouts, retries and proxies for AWS WAF CAPTCHA, and the Fast solve option below.<\/p><\/div><div class=\"csa-sub\"><h3>Configure Proxies<\/h3><p>AWS WAF uses only the proxies you add in this row: while the list is empty, AWS WAF tasks are solved directly from your own IP address. A proxy sent with a task is always used instead of the list. See <a href=\"#proxy-configuration\">Proxy Setup Here<\/a><\/p><\/div><div class=\"csa-sub\"><h3>Fast solve<\/h3><p>Off by default. Turn it on and each solving thread may open up to 4 proxy connections at once, which makes proxied solves faster.<\/p><p>Leave it off if your proxy plan limits how many connections or threads you can open at the same time, because each thread then counts as several.<\/p><\/div><\/div><\/div><\/details><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4178fe7 elementor-widget elementor-widget-html\" data-id=\"4178fe7\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"geetest-settings\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"csa\" data-panel=\"settings\"><details class=\"csa-row\"><summary><img loading=\"lazy\" decoding=\"async\" class=\"csa-ico\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/09\/geetest-logo.svg\" alt=\"\" width=\"28\" height=\"28\"><span class=\"csa-t\"><span class=\"csa-title\">GeeTest Settings<\/span><span class=\"csa-sum\">Threads, timeouts, retries and proxies<\/span><\/span><span class=\"csa-cta\" aria-hidden=\"true\"><\/span><\/summary><div class=\"csa-body has-shot\"><div class=\"csa-shot\"><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-26322\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/geetest-settings-section.png\" alt=\"CapSkip GeeTest settings\" width=\"701\" height=\"130\" srcset=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/geetest-settings-section.png 701w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/geetest-settings-section-18x3.png 18w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/geetest-settings-section-600x111.png 600w\" sizes=\"(max-width: 701px) 100vw, 701px\" \/><\/p><\/div><div class=\"csa-text\"><div class=\"csa-intro\"><p style=\"text-align: left;\">Configure threads, timeouts, retries and proxies for GeeTest challenges.<\/p><\/div><div class=\"csa-sub\"><h3>Configure Proxies<\/h3><p>Proxies are required for reliable GeeTest solving. Make sure they are stable, clean and properly configured. <a href=\"#proxy-configuration\">See Proxy Setup Here<\/a><\/p><\/div><\/div><\/div><\/details><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-92a0b6c elementor-widget elementor-widget-html\" data-id=\"92a0b6c\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"altcha-settings\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"csa\" data-panel=\"settings\"><details class=\"csa-row\"><summary><img loading=\"lazy\" decoding=\"async\" class=\"csa-ico\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/09\/altcha.svg\" alt=\"\" width=\"28\" height=\"28\"><span class=\"csa-t\"><span class=\"csa-title\">ALTCHA Settings<\/span><span class=\"csa-sum\">Threads, timeouts, retries and proxies<\/span><\/span><span class=\"csa-cta\" aria-hidden=\"true\"><\/span><\/summary><div class=\"csa-body has-shot\"><div class=\"csa-shot\"><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-26323\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/altcha-settings-section.png\" alt=\"CapSkip ALTCHA settings\" width=\"698\" height=\"128\" srcset=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/altcha-settings-section.png 698w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/altcha-settings-section-18x3.png 18w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/altcha-settings-section-600x110.png 600w\" sizes=\"(max-width: 698px) 100vw, 698px\" \/><\/p><\/div><div class=\"csa-text\"><div class=\"csa-intro\"><p style=\"text-align: left;\">Configure threads, timeouts, retries and proxies for ALTCHA proof-of-work challenges.<\/p><\/div><div class=\"csa-sub\"><h3>Configure Proxies<\/h3><p>ALTCHA is solved locally on your CPU. Proxies are used only when a task sends a challenge URL for CapSkip to fetch. Tasks that include the challenge itself are solved without any network request, so most setups do not need proxies here.<\/p><\/div><\/div><\/div><\/details><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2c48919 elementor-widget elementor-widget-html\" data-id=\"2c48919\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"captchafox-settings\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"csa\" data-panel=\"settings\"><details class=\"csa-row\"><summary><img loading=\"lazy\" decoding=\"async\" class=\"csa-ico\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/09\/captchafox.svg\" alt=\"\" width=\"28\" height=\"28\"><span class=\"csa-t\"><span class=\"csa-title\">CaptchaFox Settings<\/span><span class=\"csa-sum\">Threads, timeouts, retries and proxies<\/span><\/span><span class=\"csa-cta\" aria-hidden=\"true\"><\/span><\/summary><div class=\"csa-body has-shot\"><div class=\"csa-shot\"><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-26324\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/captchafox-settings-section.png\" alt=\"CapSkip CaptchaFox settings\" width=\"699\" height=\"126\" srcset=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/captchafox-settings-section.png 699w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/captchafox-settings-section-18x3.png 18w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/captchafox-settings-section-600x108.png 600w\" sizes=\"(max-width: 699px) 100vw, 699px\" \/><\/p><\/div><div class=\"csa-text\"><div class=\"csa-intro\"><p style=\"text-align: left;\">Configure threads, timeouts, retries and proxies for CaptchaFox.<\/p><\/div><div class=\"csa-sub\"><h3>Configure Proxies<\/h3><p>CaptchaFox is solved in a browser, so proxies matter here. It uses only the proxies you add in this row: while the list is empty, CaptchaFox tasks are solved directly from your own IP address.<\/p><\/div><\/div><\/div><\/details><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-28fcb0a elementor-widget elementor-widget-html\" data-id=\"28fcb0a\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"capy-settings\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"csa\" data-panel=\"settings\"><details class=\"csa-row\"><summary><img loading=\"lazy\" decoding=\"async\" class=\"csa-ico\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/09\/capy.svg\" alt=\"\" width=\"28\" height=\"28\"><span class=\"csa-t\"><span class=\"csa-title\">Capy Settings<\/span><span class=\"csa-sum\">Threads, timeouts, retries and proxies<\/span><\/span><span class=\"csa-cta\" aria-hidden=\"true\"><\/span><\/summary><div class=\"csa-body has-shot\"><div class=\"csa-shot\"><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-26325\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/capy-settings-section.png\" alt=\"CapSkip Capy settings\" width=\"698\" height=\"127\" srcset=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/capy-settings-section.png 698w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/capy-settings-section-18x3.png 18w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/capy-settings-section-600x109.png 600w\" sizes=\"(max-width: 698px) 100vw, 698px\" \/><\/p><\/div><div class=\"csa-text\"><div class=\"csa-intro\"><p style=\"text-align: left;\">Configure threads, timeouts, retries and proxies for Capy puzzles.<\/p><\/div><div class=\"csa-sub\"><h3>Configure Proxies<\/h3><p>Proxies are used only to fetch Capy's puzzle images, which are the only requests a Capy solve makes.<\/p><\/div><\/div><\/div><\/details><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3c1ef8f elementor-widget elementor-widget-html\" data-id=\"3c1ef8f\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"friendly-captcha-settings\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"csa\" data-panel=\"settings\"><details class=\"csa-row\"><summary><img loading=\"lazy\" decoding=\"async\" class=\"csa-ico\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/09\/FriendlyCaptcha-transparent.svg\" alt=\"\" width=\"28\" height=\"28\"><span class=\"csa-t\"><span class=\"csa-title\">Friendly Captcha Settings<\/span><span class=\"csa-sum\">Threads, timeouts, retries and proxies<\/span><\/span><span class=\"csa-cta\" aria-hidden=\"true\"><\/span><\/summary><div class=\"csa-body has-shot\"><div class=\"csa-shot\"><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-26326\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/friendlycaptcha-settings-section.png\" alt=\"CapSkip Friendly Captcha settings\" width=\"699\" height=\"126\" srcset=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/friendlycaptcha-settings-section.png 699w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/friendlycaptcha-settings-section-18x3.png 18w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/friendlycaptcha-settings-section-600x108.png 600w\" sizes=\"(max-width: 699px) 100vw, 699px\" \/><\/p><\/div><div class=\"csa-text\"><div class=\"csa-intro\"><p style=\"text-align: left;\">Configure threads, timeouts, retries and proxies for Friendly Captcha v1 and v2.<\/p><\/div><div class=\"csa-sub\"><h3>Configure Proxies<\/h3><p>Proxies are used for every Friendly Captcha request. They are worth setting for v2: the proof-of-work it asks for rises with how much an address has been solving, so spreading v2 tasks over several proxies lowers the work per solve.<\/p><\/div><\/div><\/div><\/details><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6f4bf48 elementor-widget elementor-widget-html\" data-id=\"6f4bf48\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"datadome-settings\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"csa\" data-panel=\"settings\"><details class=\"csa-row\"><summary><img loading=\"lazy\" decoding=\"async\" class=\"csa-ico\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/capskip-app-datadome.svg\" alt=\"\" width=\"28\" height=\"28\"><span class=\"csa-t\"><span class=\"csa-title\">DataDome Settings<\/span><span class=\"csa-sum\">Threads, timeouts, retries and proxies<\/span><\/span><span class=\"csa-cta\" aria-hidden=\"true\"><\/span><\/summary><div class=\"csa-body has-shot\"><div class=\"csa-shot\"><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-27412\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/datadome-settings-section.png\" alt=\"CapSkip DataDome settings\" width=\"697\" height=\"166\" srcset=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/datadome-settings-section.png 697w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/datadome-settings-section-18x4.png 18w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/datadome-settings-section-600x143.png 600w\" sizes=\"(max-width: 697px) 100vw, 697px\" \/><\/p><\/div><div class=\"csa-text\"><div class=\"csa-intro\"><p>Configure threads, timeouts, retries and proxies for DataDome.<\/p><\/div><div class=\"csa-sub\"><h3>Configure Proxies<\/h3><p>DataDome returns a cookie, and that cookie only works from the IP address that solved it. So leave this list empty unless your software will keep browsing through these same proxies. When CapSkip solves through a proxy from this list, the result names that proxy and the User-Agent to use with the cookie.<\/p><p>A proxy sent with a task always overrides this list, and that is usually the better choice: send the proxy your software will use for the rest of the visit. While the list is empty and the task has no proxy, the task is solved from your own IP address.<\/p><\/div><\/div><\/div><\/details><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4eda608 elementor-widget elementor-widget-html\" data-id=\"4eda608\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"proxy-configuration\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"csa\" data-panel=\"settings\"><details class=\"csa-row\"><summary><img loading=\"lazy\" decoding=\"async\" class=\"csa-ico\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/capskip-app-proxy.svg\" alt=\"\" width=\"28\" height=\"28\"><span class=\"csa-t\"><span class=\"csa-title\">Proxy Configuration<\/span><span class=\"csa-sum\">Recommended &#183; Proxy List Format &#183; Adding Proxies &#183; Check Proxies &#183; Reuse Proxies<\/span><\/span><span class=\"csa-cta\" aria-hidden=\"true\"><\/span><\/summary><div class=\"csa-body stack\"><div class=\"csa-shotwide\"><div class=\"csa-shot\"><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-26327\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/proxy-configuration-settings-window.png\" alt=\"CapSkip reCAPTCHA Proxy Configuration window\" width=\"680\" height=\"266\" srcset=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/proxy-configuration-settings-window.png 680w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/proxy-configuration-settings-window-18x7.png 18w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/proxy-configuration-settings-window-600x235.png 600w\" sizes=\"(max-width: 680px) 100vw, 680px\" \/><\/p><\/div><\/div><div class=\"csa-intro\"><p style=\"text-align: left;\">Each CAPTCHA type has its own proxy configuration, opened with the Configure Proxies button in its row. The window title shows which type you are editing.<\/p><\/div><div class=\"csa-subs\"><div class=\"csa-sub\"><p>Image CAPTCHA solving does not use proxies. For reCAPTCHA, Cloudflare Turnstile, hCaptcha, AWS WAF, GeeTest and CaptchaFox, proxies decide your success rate. ALTCHA, Capy and Friendly Captcha use them only for the requests described in their own sections above. DataDome is a special case, explained in <a href=\"#datadome-settings\">DataDome Settings<\/a>.<\/p><p>Select the proxy type based on your setup:<\/p><ul><li><strong>No Proxy<\/strong>: uses your own IP address. It works for a while, but repeated requests will likely get your IP blocked.<\/li><li><strong>Tor (SOCKS5)<\/strong>: uses a local Tor service. Set the Tor SOCKS port: 9050 for the Tor daemon or Expert Bundle, 9150 for Tor Browser.<\/li><li><strong>SOCKS5 Proxy List<\/strong>: for SOCKS5 proxy lists.<\/li><li><strong>SOCKS5 with DNS (SOCKS5h) List<\/strong>: also routes DNS resolution through the proxy.<\/li><li><strong>HTTP\/HTTPS Proxy List<\/strong>: standard HTTP or HTTPS proxies.<\/li><li><strong>Single Custom Proxy<\/strong>: one dedicated proxy, entered as protocol, host, port and an optional username and password. <strong>Test Connection<\/strong> checks that it works.<\/li><\/ul><p>Choose the type that matches your proxy provider.<\/p><\/div><div class=\"csa-sub\"><h3>Recommended<\/h3><p>What decides your success rate is the reputation of the proxy's IP address, not its protocol. reCAPTCHA and Cloudflare score every address that reaches them, and they know which address ranges belong to hosting companies.<\/p><ul><li><strong>Residential and mobile proxies<\/strong> use addresses that internet providers give to homes and phones. They have the best reputation: fewer and easier challenges, higher reCAPTCHA v3 scores and fewer IP bans. Fast reCAPTCHA v2 solving needs them.<\/li><li><strong>ISP proxies<\/strong>, also sold as static residential, run in data centres but are registered to consumer internet providers. They are nearly as trusted as residential addresses, and faster and more stable.<\/li><li><strong>Datacenter proxies<\/strong> are cheap and fast, but their addresses are known to belong to hosting companies. reCAPTCHA answers them with more and harder image challenges and low v3 scores, and Fast v2 tasks fall back to the slower image challenge. Cloudflare Turnstile is usually more forgiving, but residential and ISP addresses still fail less often.<\/li><\/ul><ul><li><strong>Use private proxies.<\/strong> A shared proxy is used by other customers at the same time, and whatever they do lowers its reputation for you too. Avoid free public proxy lists: they are slow, most are already blacklisted, and whoever runs them can see the traffic that passes through.<\/li><li><strong>Keep one IP for the whole solve.<\/strong> A single solve makes many requests. If your provider gives you a rotating gateway, use sticky sessions of a few minutes instead of a new IP on every request, so the address does not change halfway through a challenge. Most providers let you create several sticky sessions; add each one as its own line so CapSkip can spread tasks across them.<\/li><li><strong>Have enough of them.<\/strong> Google and Cloudflare limit how much one address can solve. Aim for at least as many proxies as Max. Threads, so tasks running at the same time do not share an address, and add more if the Monitor tab starts counting IP bans.<\/li><li><strong>Pick any protocol.<\/strong> HTTP, HTTPS, SOCKS5 and SOCKS5h all work, and the protocol does not change how a site sees the address, so use whichever your provider offers. SOCKS5h also resolves domain names through the proxy, which helps when your own DNS is filtered.<\/li><\/ul><p>After loading a list, click <strong>Check Proxies<\/strong> to find dead proxies before they cost you failed tasks.<\/p><\/div><div class=\"csa-sub\"><h3>Proxy List Format<\/h3><p>CapSkip accepts three formats, one proxy per line. Use the one your proxy provider gives you:<\/p><ul><li><strong>host:port<\/strong><br>Use this format if you have whitelisted your own IP address in your proxy provider's dashboard.<\/li><li><strong>username:password@host:port<\/strong><br>Use this format if your proxy requires a username and password.<\/li><li><strong>host:port:username:password<\/strong><br>Use this format if your provider exports authenticated proxies with the username and password after the port. Paste the list as it is, no conversion needed.<\/li><\/ul><\/div><div class=\"csa-sub\"><h3>Adding Proxies<\/h3><p>You can add proxies in three ways:<\/p><ul><li>Paste them directly into the list<\/li><li>Load them from a URL, and optionally refresh the list from that URL automatically every 5 minutes, 30 minutes, 1 hour or 1 day<\/li><li>Load them from a file<\/li><\/ul><p>After loading, the window shows how many proxies are configured.<\/p><\/div><div class=\"csa-sub\"><h3>Check Proxies<\/h3><p><strong>Check Proxies<\/strong> tests every proxy in the list. Test threads sets how many are tested at the same time, from 1 to 100. The result shows how many work, their average response time, and which ones failed.<\/p><\/div><div class=\"csa-sub\"><h3>Reuse Proxies<\/h3><p><strong>Reuse proxies<\/strong> copies the proxy settings of another CAPTCHA type, so you do not have to paste the same list several times.<\/p><\/div><div class=\"csa-sub\"><h3>Rotate Proxy for Each Request<\/h3><p>Enable this option to use a different proxy for every new CAPTCHA request. This improves success rates and reduces the risk of IP-based rate limits.<\/p><\/div><div class=\"csa-sub\"><h3>Proxies Sent With a Task<\/h3><p>If your software sends a proxy with the task itself, for example in 2Captcha's proxy and proxytype parameters or with a task type that is not Proxyless, CapSkip solves that task through it instead of the list here, and its retries stay on that proxy too.<\/p><p>This matters for Cloudflare challenge pages. Cloudflare ties the clearance cookie to the visitor and device it was issued to, so send the proxy your software will keep browsing through, and use the clearance CapSkip returns together with the user agent that comes with it.<\/p><\/div><\/div><\/div><\/details><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0b00c8f elementor-widget elementor-widget-html\" data-id=\"0b00c8f\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"api-key-validation\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"csa\" data-panel=\"settings\"><details class=\"csa-row\"><summary><img loading=\"lazy\" decoding=\"async\" class=\"csa-ico\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/03\/capskip-app-key.svg\" alt=\"\" width=\"28\" height=\"28\"><span class=\"csa-t\"><span class=\"csa-title\">API Key Validation<\/span><span class=\"csa-sum\">Managing Keys &#183; Credits &#183; One device at a time &#183; Key Status Page &#183; Remote Key Management<\/span><\/span><span class=\"csa-cta\" aria-hidden=\"true\"><\/span><\/summary><div class=\"csa-body stack\"><div class=\"csa-shotwide\"><div class=\"csa-shot\"><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-26328\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/api-access-section.png\" alt=\"CapSkip API access settings with API Key Validation on\" width=\"709\" height=\"341\" srcset=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/api-access-section.png 709w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/api-access-section-18x9.png 18w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/api-access-section-600x289.png 600w\" sizes=\"(max-width: 709px) 100vw, 709px\" \/><\/p><\/div><\/div><div class=\"csa-intro\"><p style=\"text-align: left;\">API Key Validation, in the API access section, controls which API keys are allowed to send requests to your CapSkip instance.<\/p><\/div><div class=\"csa-subs\"><div class=\"csa-sub\"><p>When it is on, only requests that carry one of your keys are processed. Requests with an invalid or missing key are rejected.<\/p><p>When it is off, CapSkip accepts requests with any key value. The key parameter is still required by the API format, but any string is accepted.<\/p><p>This is especially useful when CapSkip runs on a VPS or server that several users or external tools can reach.<\/p><\/div><div class=\"csa-sub\"><h3>Managing Keys<\/h3><p>When validation is on, choose how to manage your keys:<\/p><ul><li><strong>Direct Input<\/strong>: click <strong>Add Key<\/strong>, give the key a name, then type a key or click Generate to create one. Keys appear in the list, where you can copy or remove them.<\/li><li><strong>From File<\/strong>: click <strong>Browse<\/strong> to pick a text file with your keys, and <strong>Refresh<\/strong> to reload it after you edit the file. <strong>Add Key<\/strong> and the remove button work in this mode too: they write the change into the file itself, and a removed key stops working at once. In a plain text file with one key per line, a new key is added as a new line without a name.<\/li><\/ul><\/div><div class=\"csa-sub\"><h3>Credits<\/h3><p>Every key has a Credits column. Click a key to see, for each CAPTCHA type, how many credits are left, how many were used and how many failed, and when the key was last used.<\/p><p><strong>Set limits<\/strong> gives the key a credit limit for each CAPTCHA type: Image to Text, reCAPTCHA, Turnstile, GeeTest, ALTCHA, CaptchaFox, Capy, Friendly Captcha, AWS WAF, DataDome and hCaptcha. Each number is the total credits ever granted for that type, not the amount left. Credits are spent on successful solves only. Leave a type on Unlimited to stop counting it.<\/p><p><strong>Requests per minute<\/strong>, in the same window, limits how many new tasks the key may send per minute, all CAPTCHA types combined. Requests over the limit are asked to retry a few seconds later. Leave it on Unlimited for no limit. Once it is set, the key shows its limit and how many requests it sent in the last minute.<\/p><p>You can also set these limits while creating a key, in the Add Key window.<\/p><p>Usage carries over when you update CapSkip.<\/p><\/div><div class=\"csa-sub\"><h3>One device at a time<\/h3><p><strong>One device at a time<\/strong> is a switch on each key. Turn it on and the key can only be used from one IP address at a time: the first address that sends a task holds the key while it has tasks running and for one minute after. New tasks from any other address are refused with ERROR_IP_NOT_ALLOWED, while checking the result of a task already sent always works.<\/p><p>It is useful when you sell or share keys and want each one used on a single machine. The key shows whether it is in use, from which address, and how many attempts from other addresses were blocked.<\/p><\/div><div class=\"csa-sub\"><h3>Key Status Page<\/h3><p>While API Key Validation is on, CapSkip also serves a key status page at <strong>\/key<\/strong> on its API address, the same address your software sends requests to. Whoever holds a key can paste it there to see its credits for each CAPTCHA type, what it can solve right now, its recent usage and its One device at a time state.<\/p><p>The key is sent once and is never stored in the browser or the address bar, and the page session ends after 30 minutes. The API start page links to it, so in Server mode your customers can check their own keys without asking you.<\/p><\/div><div class=\"csa-fig\"><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-27406\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/api-key-set-limits-window.png\" alt=\"CapSkip credit limits window for an API key\" width=\"531\" height=\"883\" srcset=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/api-key-set-limits-window.png 531w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/api-key-set-limits-window-7x12.png 7w\" sizes=\"(max-width: 531px) 100vw, 531px\" \/><\/p><\/div><div class=\"csa-sub\"><h3>Remote Key Management<\/h3><p>Lets you add, list and delete solver API keys over HTTP from another machine, instead of opening a remote desktop session to the computer running CapSkip. It is the Server mode counterpart to the key list above: the same keys, managed from wherever you administer the machine.<\/p><p>It is off by default, and it stays inactive until you both switch it on and generate a token. While it is off, the admin routes answer a plain 404, so a scan cannot even tell the feature exists.<\/p><p><strong>Generate<\/strong> creates a 256-bit random token and shows it once, with a Copy button. Copy it right away: CapSkip stores only a salted hash, so it cannot be shown again. Afterwards the row shows when the token was generated. Generating a new token replaces the old one, so any client still using the old one starts getting 401 responses.<\/p><p><strong>Revoke<\/strong> clears the stored token. The endpoints stay routed but reject everything until you generate a new one.<\/p><p>For a full walkthrough of putting these endpoints to work, see <a href=\"https:\/\/capskip.com\/provision-captcha-api-keys\/\">How to Provision CAPTCHA API Keys for Your Customers<\/a>. It covers the whole cycle: enabling Remote Key Management and generating the token, issuing a key from a subscription webhook with \/admin\/keys\/add, revoking it on cancellation with \/admin\/keys\/delete, and reconciling the live key list against your billing records with \/admin\/keys\/list.<\/p><\/div><div class=\"csa-sub\"><h3>Allowed admin IPs<\/h3><p><strong>Allowed admin IPs<\/strong> limits Remote Key Management to the addresses you list: single IPs or CIDR ranges, IPv4 or IPv6, separated by commas or new lines. Leave it empty to allow any IP.<\/p><p>A request from an address that is not on the list gets the same plain 404 as when Remote Key Management is off, so it cannot tell the feature exists.<\/p><\/div><\/div><\/div><\/details><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0c13195 elementor-widget elementor-widget-html\" data-id=\"0c13195\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"app-settings\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"csa\" data-panel=\"settings\"><details class=\"csa-row\"><summary><img loading=\"lazy\" decoding=\"async\" class=\"csa-ico\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/capskip-app-desktop.svg\" alt=\"\" width=\"28\" height=\"28\"><span class=\"csa-t\"><span class=\"csa-title\">App Settings<\/span><span class=\"csa-sum\">Theme &#183; Application Language &#183; Startup &#183; Safe Display Mode &#183; Close to Tray<\/span><\/span><span class=\"csa-cta\" aria-hidden=\"true\"><\/span><\/summary><div class=\"csa-body stack\"><div class=\"csa-shotwide\"><div class=\"csa-shot\"><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-27407\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/app-settings-section.png\" alt=\"CapSkip App settings\" width=\"714\" height=\"363\" srcset=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/app-settings-section.png 714w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/app-settings-section-18x9.png 18w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/app-settings-section-710x361.png 710w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/11\/app-settings-section-600x305.png 600w\" sizes=\"(max-width: 714px) 100vw, 714px\" \/><\/p><\/div><\/div><div class=\"csa-intro\"><p style=\"text-align: left;\">The App section holds CapSkip's general preferences.<\/p><\/div><div class=\"csa-subs\"><div class=\"csa-sub\" id=\"dark-mode\"><h3>Theme<\/h3><p><strong>Theme<\/strong> sets how CapSkip looks. <strong>Auto<\/strong> follows the light or dark setting of Windows, while <strong>Light<\/strong> and <strong>Dark<\/strong> keep that theme. Theme changes apply immediately.<\/p><\/div><div class=\"csa-sub\" id=\"application-language\"><h3>Application Language<\/h3><p>Choose your preferred interface language. CapSkip is available in English, Arabic, Chinese (Simplified), French, German, Italian, Japanese, Korean, Persian, Portuguese (Brazil), Russian and Spanish.<\/p><\/div><div class=\"csa-sub\" id=\"startup\"><h3>Startup<\/h3><p>Starts CapSkip and signs you in automatically when you sign in to Windows, so it is always running and ready to solve CAPTCHAs without starting it by hand.<\/p><\/div><div class=\"csa-sub\" id=\"safe-display-mode\"><h3>Safe Display Mode<\/h3><p>Draws CapSkip without the graphics card. Use it if CapSkip opens as a blank or empty window, which happens with some graphics drivers. It applies after you restart CapSkip.<\/p><p>When CapSkip notices that its window is not being displayed, it offers to restart in safe display mode on its own. You can turn it off again here.<\/p><\/div><div class=\"csa-sub\" id=\"close-to-tray\"><h3>Close to Tray<\/h3><p>On by default. Closing the window keeps CapSkip running in the notification area, so the API server keeps solving in the background. To quit, right-click the tray icon and choose <strong>Exit<\/strong>. <strong>Open CapSkip<\/strong> in the same menu brings the window back.<\/p><p>Starting CapSkip again while it is already running also brings back the open window instead of starting a second copy.<\/p><\/div><div class=\"csa-sub\" id=\"software-updates\"><h3>Software Updates<\/h3><p>Shows whether CapSkip is up to date and when it last checked. <strong>Check Now<\/strong> looks for a new version.<\/p><p>When an update is available, install it as soon as possible to get the latest fixes and improvements. You can see what changed in each version on the <a href=\"https:\/\/capskip.com\/changelog\/\">Changelog<\/a>.<\/p><\/div><\/div><\/div><\/details><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-90fd1bc elementor-widget elementor-widget-html\" data-id=\"90fd1bc\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"help-diagnostics\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"csa\" data-panel=\"settings\"><details class=\"csa-row\"><summary><img loading=\"lazy\" decoding=\"async\" class=\"csa-ico\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/capskip-app-lifebuoy.svg\" alt=\"\" width=\"28\" height=\"28\"><span class=\"csa-t\"><span class=\"csa-title\">Help & Diagnostics<\/span><span class=\"csa-sum\">Getting Started &#183; Diagnostic Report &#183; Automatically send a crash report &#183; Real-time Charts &#183; API Request Logging<\/span><\/span><span class=\"csa-cta\" aria-hidden=\"true\"><\/span><\/summary><div class=\"csa-body stack\"><div class=\"csa-shotwide\"><div class=\"csa-shot\"><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-26331\" src=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/help-diagnostics-settings-section.png\" alt=\"CapSkip Help and diagnostics settings\" width=\"711\" height=\"447\" srcset=\"https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/help-diagnostics-settings-section.png 711w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/help-diagnostics-settings-section-18x12.png 18w, https:\/\/capskip.com\/wp-content\/uploads\/2026\/10\/help-diagnostics-settings-section-600x377.png 600w\" sizes=\"(max-width: 711px) 100vw, 711px\" \/><\/p><\/div><\/div><div class=\"csa-intro\"><p style=\"text-align: left;\">The Help &amp; diagnostics section has the guided tour, troubleshooting tools and the options for charts, logging and resetting CapSkip.<\/p><\/div><div class=\"csa-subs\"><div class=\"csa-sub\" id=\"getting-started-tour\"><h3>Getting Started<\/h3><p><strong>Start Walkthrough<\/strong> runs the quick guided tour of the settings you need to start solving. It takes about two minutes and covers:<\/p><ul><li>Choosing the service your software or code already uses<\/li><li>Where CapSkip listens, and when you need the hosts file<\/li><li>Threads, timeouts and proxies<\/li><li>Reading the Monitor statistics<\/li><li>Installing the CapSkip browser extension for Chrome or Firefox<\/li><li>Trying it on a real CAPTCHA on our demo page<\/li><\/ul><p>The tour is offered automatically the first time you open CapSkip after installing it.<\/p><\/div><div class=\"csa-sub\" id=\"debug-troubleshooting\"><h3>Diagnostic Report<\/h3><p>Sends a diagnostic report about a problem you are seeing right now. Sensitive data, such as proxies, is masked.<\/p><p><strong>Send Report<\/strong> first opens a short Describe the Issue box. Tell us what you were trying to do, any error message you saw, how to reproduce it and when it started. CapSkip then collects the report and uploads it. If it cannot reach our server at that moment, the report is saved and sent automatically the next time it can.<\/p><\/div><div class=\"csa-sub\"><h3>Automatically send a crash report<\/h3><p>Sends a diagnostic report on its own if CapSkip closes with an unexpected error. It is on by default and can be turned off at any time.<\/p><\/div><div class=\"csa-sub\" id=\"real-time-charts\"><h3>Real-time Charts<\/h3><p>Shows live charts of incoming image CAPTCHA requests and the processing queue in the Image CAPTCHA section of the Monitor tab.<\/p><p>Turn it off to save CPU and RAM, which is recommended on a VPS or under heavy load.<\/p><\/div><div class=\"csa-sub\" id=\"logging\"><h3>API Request Logging<\/h3><p>Writes every incoming API request to a log file, for monitoring, debugging or auditing. When it is on, you can choose the log file path. If you leave it empty, logs are saved to %AppData%\\CapSkip\\Logs\\api_requests_YYYYMMDD.txt.<\/p><p>Turn it off when you do not need it, to save disk space.<\/p><\/div><div class=\"csa-sub\"><h3>Image Debugging<\/h3><p>Saves every incoming CAPTCHA image to a folder, which helps when checking incorrect results, testing new CAPTCHA types or preparing images for model improvements. If you leave the folder empty, images are saved to %AppData%\\CapSkip\\Debug\\images\\.<\/p><p>Keep it off during normal operation to avoid unnecessary disk use.<\/p><\/div><div class=\"csa-sub\" id=\"reset-settings\"><h3>Reset Settings<\/h3><p><strong>Reset to Defaults<\/strong> restores every setting to its default value, including processing options, proxy configuration and interface preferences. Use it to start fresh or to clear a configuration problem.<\/p><\/div><\/div><\/div><\/details><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1af60c9 elementor-widget-divider--view-line_icon elementor-view-stacked elementor-widget-divider--element-align-center elementor-widget elementor-widget-divider\" data-id=\"1af60c9\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon elementor-divider__element\">\n\t\t\t\t\t<svg class=\"csi csi-fa\" style=\"fill:none!important\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M5.5 6l6 6-6 6\"\/><path class=\"a\" d=\"M12.5 6l6 6-6 6\"\/><\/svg><\/div>\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Getting Started with CapSkip A complete step-by-step guide to configure, and start solving CAPTCHAs. Application Overview Monitor Tab Connection Settings Captcha Types Image Captcha reCAPTCHA Cloudflare GeeTest ALTCHA CaptchaFox Capy Friendly Captcha Proxy Configuration API Key Validation App Settings Help &amp; Diagnostics CapSkip CAPTCHA Solver is simple and straightforward to set up. First, download the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-22795","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/capskip.com\/zh\/wp-json\/wp\/v2\/pages\/22795","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/capskip.com\/zh\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/capskip.com\/zh\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/capskip.com\/zh\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/capskip.com\/zh\/wp-json\/wp\/v2\/comments?post=22795"}],"version-history":[{"count":38,"href":"https:\/\/capskip.com\/zh\/wp-json\/wp\/v2\/pages\/22795\/revisions"}],"predecessor-version":[{"id":27099,"href":"https:\/\/capskip.com\/zh\/wp-json\/wp\/v2\/pages\/22795\/revisions\/27099"}],"wp:attachment":[{"href":"https:\/\/capskip.com\/zh\/wp-json\/wp\/v2\/media?parent=22795"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}