External Publication
Visit Post

Browser Support • Re: Cloudflare Verification Loop issues

Pale Moon forum - Forum index [Unofficial] April 28, 2026
Source

You still cannot exclude that the Cloudflare tool won't get confused, if you visit certain websites with cookies set by your extension, and other websites without such cookies, still using the exact same browser from the same location.

First of all, Cloudflare check no longer works for me on any website, so I access all websites that use Cloudflare check using the add-on "Bypass Cloudflare with Backup Browser Cookies". Therefore, there is no risk for the "Cloudflare tool" to "get confused".

Second, when I use the add-on "Bypass Cloudflare with Backup Browser Cookies" with cookies taken from Firefox, those pages open directly, without triggering Cloudflare check. This behavior is identical to a scenario where Cloudflare doesn't even exist. To prove this statement, I ran some tests ( with https://www.portablefreeware.com/ ) in which I intercepted "WebRequest" using the JavaScript file "get_all_requests_for__challenges_cloudflare_com.uc.js" placed in "chrome" folder.

get_all_requests_for__challenges_cloudflare_com.uc.js

CODE:

Components.utils.import("resource://gre/modules/Services.jsm");var utf8_Converter_for__challenges_cloudflare_com = Components.classes["@mozilla.org/intl/utf8converterservice;1"].getService(Components.interfaces.nsIUTF8ConverterService);Components.utils.import("resource://gre/modules/WebRequest.jsm");Components.utils.import("resource://gre/modules/MatchPattern.jsm");function get_Operating_System_for__challenges_cloudflare_com() { var os = Services.appinfo.OS.toLowerCase();if (os.startsWith("win")) {return "Windows";} else if (os == "linux") {return "Linux";} else{return "";}}function write_data_to_file__append_text_for__challenges_cloudflare_com(str_URL){try{var data_from_test__unicode = utf8_Converter_for__challenges_cloudflare_com.convertURISpecToUTF8(str_URL, "UTF-8");data_from_test__unicode = data_from_test__unicode + "\n\n";var directoryService = Components.classes["@mozilla.org/file/directory_service;1"].getService(Components.interfaces.nsIProperties);var ProfilesDir = directoryService.get("ProfD", Components.interfaces.nsIFile);var ProfilesDir_Path = ProfilesDir.path;var operating_system = get_Operating_System_for__challenges_cloudflare_com();if(operating_system == "Windows"){ProfilesDir_Path = ProfilesDir_Path.replace(/\\/g,'\\');} else if(operating_system == ""){alert("ERROR! \n\nUnknown Operating System! ");return;}ProfilesDir.append('requests_for__challenges_cloudflare_com');if(!ProfilesDir.exists()){// Linux Permissions = (7 << 6) | (5 << 3) | 5 /* 0755 */ProfilesDir.create(Components.interfaces.nsIFile.DIRECTORY_TYPE, (7 << 6) | (5 << 3) | 5 /* 0755 */);}var write_data__file_path = "";if(operating_system == "Windows"){write_data__file_path = ProfilesDir_Path + "\\requests_for__challenges_cloudflare_com\\challenges_cloudflare_com__requests.txt";} else if(operating_system == "Linux"){write_data__file_path = ProfilesDir_Path + "/requests_for__challenges_cloudflare_com/challenges_cloudflare_com__requests.txt";}// new file objectvar obj_write_data_file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);// set file with pathobj_write_data_file.initWithPath(write_data__file_path);// if file doesn't exist, createif(!obj_write_data_file.exists()) {obj_write_data_file.create(0x00, 0644);}// "obj_write_data_file" is nsIFile, "data_from_test__unicode" is a stringvar fileOutputStream = Components.classes["@mozilla.org/network/file-output-stream;1"].createInstance(Components.interfaces.nsIFileOutputStream);// fileOutputStream.init(obj_write_data_file, 0x02 | 0x08 | 0x20, 0666, 0); // use 0x02 | 0x10 to open file for appending// fileOutputStream.init(obj_write_data_file, 0x02 | 0x10, 0666, 0);fileOutputStream.init(obj_write_data_file, 0x02 | 0x10, 0666, 0);var converter = Components.classes["@mozilla.org/intl/converter-output-stream;1"].createInstance(Components.interfaces.nsIConverterOutputStream);converter.init(fileOutputStream, "UTF-8", 0, 0);converter.writeString(data_from_test__unicode);fileOutputStream.close();converter.close();return;} catch(err){alert("ERROR in Write DATA = " + err.message);return;}}function get_all_requests_for__challenges_cloudflare_com(e) {var str_URL = e.url;try{// console.log('e.url : ', str_URL);write_data_to_file__append_text_for__challenges_cloudflare_com(str_URL);write_data_to_file__append_text_for__challenges_cloudflare_com('\nNext "request" !!!\n');} catch(err){console.log('ERROR in "get_all_requests_for__challenges_cloudflare_com" : ', err.message);}}// var pattern_get_all_challenges_cloudflare_com_URLs = new MatchPattern(["<all_urls>"]);var pattern_get_all_challenges_cloudflare_com_URLs = new MatchPattern("https://challenges.cloudflare.com/*");WebRequest.onBeforeRequest.addListener( get_all_requests_for__challenges_cloudflare_com, { urls: pattern_get_all_challenges_cloudflare_com_URLs } );

In the first test, I used MatchPattern = https://challenges.cloudflare.com/*, and in the second test, I used MatchPattern = all_urls. The test results were written to the file "challenges_cloudflare_com__requests.txt" in the new folder "requests_for__challenges_cloudflare_com" created by JavaScript in the folder "Profiles\XXXXXXX.default".

When I used MatchPattern = https://challenges.cloudflare.com/* there were no "WebRequests", and when I used MatchPattern = all_urls there were no "WebRequests" to the Cloudflare servers.

Screenshots:


EDIT:

Important !

If you're using a Javascript file with the .uc.js "extension" in the "chrome" folder (such as "get_all_requests_for__challenges_cloudflare_com.uc.js"), you need to copy the following CSS code into "userChrome.css" file in order for the code in that Javascript file to be activated:

CODE:

hbox#fullscr-toggler { -moz-binding: url(data:text/plain;charset=utf-8;base64,PD94bWwgdmVyc2lvbj0iMS4wIj8+CjwhLS0gQ29weXJpZ2h0IChjKSAyMDE3IEhhZ2dhaSBOdWNoaQpBdmFpbGFibGUgZm9yIHVzZSB1bmRlciB0aGUgTUlUIExpY2Vuc2U6Cmh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUCiAtLT4KCjwhLS0gUnVuIHVzZXJDaHJvbWUuanMvdXNlckNocm9tZS54dWwgYW5kIC51Yy5qcy8udWMueHVsLy5jc3MgZmlsZXMgIC0tPgo8YmluZGluZ3MgeG1sbnM9Imh0dHA6Ly93d3cubW96aWxsYS5vcmcveGJsIj4KICAgIDxiaW5kaW5nIGlkPSJqcyI+CiAgICAgICAgPGltcGxlbWVudGF0aW9uPgogICAgICAgICAgICA8Y29uc3RydWN0b3I+PCFbQ0RBVEFbCiAgICAgICAgICAgICAgICBpZih3aW5kb3cudXNlckNocm9tZUpzTW9kKSByZXR1cm47CiAgICAgICAgICAgICAgICB3aW5kb3cudXNlckNocm9tZUpzTW9kID0gdHJ1ZTsKCiAgICAgICAgICAgICAgICB2YXIgY2hyb21lRmlsZXMgPSBGaWxlVXRpbHMuZ2V0RGlyKCJVQ2hybSIsIFtdKS5kaXJlY3RvcnlFbnRyaWVzOwogICAgICAgICAgICAgICAgdmFyIHh1bEZpbGVzID0gW107CiAgICAgICAgICAgICAgICB2YXIgc3NzID0gQ2NbJ0Btb3ppbGxhLm9yZy9jb250ZW50L3N0eWxlLXNoZWV0LXNlcnZpY2U7MSddLmdldFNlcnZpY2UoQ2kubnNJU3R5bGVTaGVldFNlcnZpY2UpOwoKICAgICAgICAgICAgICAgIHdoaWxlKGNocm9tZUZpbGVzLmhhc01vcmVFbGVtZW50cygpKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGZpbGUgPSBjaHJvbWVGaWxlcy5nZXROZXh0KCkuUXVlcnlJbnRlcmZhY2UoQ2kubnNJRmlsZSk7CiAgICAgICAgICAgICAgICAgICAgdmFyIGZpbGVVUkkgPSBTZXJ2aWNlcy5pby5uZXdGaWxlVVJJKGZpbGUpOwoKICAgICAgICAgICAgICAgICAgICBpZihmaWxlLmlzRmlsZSgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGUgPSAibm9uZSI7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKC8oXnVzZXJDaHJvbWV8LnVjKS5qcyQvaS50ZXN0KGZpbGUubGVhZk5hbWUpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlID0gInVzZXJjaHJvbWUvanMiOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYoLyhedXNlckNocm9tZXwudWMpLnh1bCQvaS50ZXN0KGZpbGUubGVhZk5hbWUpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlID0gInVzZXJjaHJvbWUveHVsIjsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKC8uYXMuY3NzJC9pLnRlc3QoZmlsZS5sZWFmTmFtZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGUgPSAiYWdlbnRzaGVldCI7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZigvXig/ISh1c2VyQ2hyb21lfHVzZXJDb250ZW50KS5jc3MkKS4rLmNzcyQvaS50ZXN0KGZpbGUubGVhZk5hbWUpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlID0gInVzZXJzaGVldCI7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgaWYodHlwZSAhPSAibm9uZSIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCItLS0tLS0tLS0tXCAiICsgZmlsZS5sZWFmTmFtZSArICIgKCIgKyB0eXBlICsgIikiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYodHlwZSA9PSAidXNlcmNocm9tZS9qcyIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2VydmljZXMuc2NyaXB0bG9hZGVyLmxvYWRTdWJTY3JpcHRXaXRoT3B0aW9ucyhmaWxlVVJJLnNwZWMsIHt0YXJnZXQ6IHdpbmRvdywgaWdub3JlQ2FjaGU6IHRydWV9KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZih0eXBlID09ICJ1c2VyY2hyb21lL3h1bCIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeHVsRmlsZXMucHVzaChmaWxlVVJJLnNwZWMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKHR5cGUgPT0gImFnZW50c2hlZXQiKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKCFzc3Muc2hlZXRSZWdpc3RlcmVkKGZpbGVVUkksIHNzcy5BR0VOVF9TSEVFVCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzc3MubG9hZEFuZFJlZ2lzdGVyU2hlZXQoZmlsZVVSSSwgc3NzLkFHRU5UX1NIRUVUKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZih0eXBlID09ICJ1c2Vyc2hlZXQiKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKCFzc3Muc2hlZXRSZWdpc3RlcmVkKGZpbGVVUkksIHNzcy5VU0VSX1NIRUVUKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNzcy5sb2FkQW5kUmVnaXN0ZXJTaGVldChmaWxlVVJJLCBzc3MuVVNFUl9TSEVFVCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBjYXRjaChlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coIiMjIyMjIyMjIyMgRVJST1I6ICIgKyBlICsgIiBhdCAiICsgZS5saW5lTnVtYmVyICsgIjoiICsgZS5jb2x1bW5OdW1iZXIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coIi0tLS0tLS0tLS0vICIgKyBmaWxlLmxlYWZOYW1lKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uIGxvYWRYVUwoKSB7CiAgICAgICAgICAgICAgICAgICAgaWYoeHVsRmlsZXMubGVuZ3RoID4gMCkgewogICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2FkT3ZlcmxheSh4dWxGaWxlcy5zaGlmdCgpLCBudWxsKTsKICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChsb2FkWFVMLCA1KTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LCAwKTsKICAgICAgICAgICAgXV0+PC9jb25zdHJ1Y3Rvcj4KICAgICAgICA8L2ltcGxlbWVudGF0aW9uPgogICAgPC9iaW5kaW5nPgo8L2JpbmRpbmdzPg==);}

Discussion in the ATmosphere

Loading comments...