Skip to content

Kuucheen/KC-Checker

Repository files navigation

logo


KC Checker

Experience the speed of a blazingly fast proxy checker
where checking is done with style

downloads license issues

preview


Features

  • Multi-Threaded
  • Keyword website check
  • Verify whether the proxy can access a specific website
  • Sleek and intuitive UI for a beautiful user experience
  • Highly customizable settings to tailor the tool to your needs

Requirements

Important

Your terminal needs to support true color, and using different fonts in your terminal may cause display errors.

These are tested terminals on different operating systems:

System Tested Notes
Windows 11
Works fine
Windows 10
Works without true color
Linux (ubuntu)
Works fine
Mac OS
Should work fine

Getting started

Download latest release & unzip the file

Windows
Double click on KC-Checker.exe

Linux
Open terminal and enter

chmod +x KC-Checker

Now run it with

./KC-Checker

Or build it yourself

  1. Install Prerequisites:

  2. Clone the Project: Open your terminal and run: git clone https://github.com/Kuucheen/KC-Checker.git

  3. (OPTIONAL) Set Up GeoLite2 Database: If you want to determine the country and type (ISP, Datacenter, or Residential) of the proxies, you'll need to download the GeoLite2 Country and GeoLite2 ASN Database from MaxMind.

    • After downloading, replace the existing databases in the helper directory.
    • Ensure they have the same names: GeoLite2-ASN.mmdb and GeoLite2-Country.mmdb.

    Note: These databases are not included in the repository due to their licensing restrictions. However, they are bundled in the prebuilt version.


Build

Using provided scripts

Windows

Double click on start.bat

Linux

Open terminal in the directory and make the script executeable

chmod +x start.sh

Run it with

./start.sh

Now you have an executable. You can run it like described in Getting Started

Using terminal

Navigate to the directory

cd KC-Checker

Install dependencies

go get .

Build with

go build .

Now you have an executable. You can run it like described in Getting Started

How to Use

Navigation: Use the arrow keys on your keyboard to navigate through the program's interface. Here’s a quick guide to the controls:

Key Description
↑ Up Move up
↓ Down Move down
← Left Move left
→ Right Move right
↵ Enter Select/Confirm

Saving Proxies: When you save the proxies at the end of a checking progress, they will always be stored in the output folder.

Customize Settings

Note

For most users, the default settings will probably be sufficient.

Details for settings.json
  1. threads:
    Maximum number of threads

  2. retries:
    Number of retries for a request

  3. timeout:
    Timeout duration for requests in ms

  4. privacy_mode:
    If set to true, the proxies will be blured with "*" while checking

  5. copyToClipboard:
    If set to true, all proxies checked will be copied to clipboard when saving them to a file

  6. autoSelect:
    When setting one or more protocols are set to true, it will automatically start checking with the selected protocols.

  7. autoSave:
    timeBetweenSafes: Seconds between the autoSave
    ip:port: If set to true it will automatically save the proxies with these format every timeBetweenSafes seconds
    protocol://ip:port: Same here
    ip:port;time: Same here
    custom: You can set a custom autoSave format here. If its not empty it will save it with this format. At the end of a checking process theres an option for "CUSTOM", where you can build your own output. You can put the output you built there in here.

  8. timeBetweenRefresh:
    This is how often the screen updates in ms. If you experience high CPU usage, it is recommended to set it higher.

  9. iplookup:
    A website that returns the ip. This is needed to know if the proxies are Transparent. The website will only be used once when starting the checker.

  10. judges_threads:
    Maximum threads for selecting the judge

  11. judges_timeout:
    Timeout duration of judges in ms

  12. judges:
    url: This is the url the proxy will connect to while checking
    regex: The proxy will only be valid if the regex is found. When "default" is used it will check the headers. Headers are needed to determine the anonymity level of the proxies.
    If there are multiple judges the checker will use the fastest one

  13. blacklisted:
    Websites that contain blacklisted ips. These ips won't be checked

  14. bancheck:
    If a website URL is provided, the program verifies whether the proxy can successfully access the site. Proxies that have been checked against the website will be organized and stored in the banchecked directory.

  15. keywords:
    The program inspects the content of the website (in the bancheck option) accessed through the proxy to determine if it contains the specified keywords or phrases. If the proxy successfully reaches the site and the desired keywords are found it will safe them in the banchecked directory. If the keywords are not found they will not be safed in the banchecked directory (even when the proxy was able to reach the site).

  16. transport:
    These are the settings used for making a request. Only touch this option if you know what you are doing.

You can blacklist custom proxies by adding them in blacklisted.txt

License

The code for this project is licensed under the MIT License.

The GeoLite2 databases used by this project are provided by MaxMind and are licensed under the Creative Commons Attribution-ShareAlike 4.0 International License.

Other

this tool is made for educational purposes only

If you need help with anything join our discord server

Help me keep my projects open source by sponsoring me