Skip to content

Commit a47102e

Browse files
Update README.md
1 parent f47f3a3 commit a47102e

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

README.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Proxy RiskScore Checker
2+
3+
## Description
4+
ProxyRiskScoreChecker is a Golang-based command-line utility designed to validate the reliability, anonymity, and security of proxy servers. It verifies the functionality of proxies and subsequently queries the IPQualityScore (IPQS) API to determine their risk or fraud score. Only highly secure and clean proxies (with a risk score of exactly 0) are saved. This tool is invaluable for ensuring your proxy endpoints are not blacklisted, associated with botnets, or otherwise flagged for malicious activity.
5+
6+
## Public API or Exposed Interface
7+
8+
This module is designed as a standalone command-line application. Its primary interfaces are file input/output and environment variables.
9+
10+
### Environment Variables
11+
API_KEY: Your IPQualityScore API key must be set in the environment before execution.
12+
Example: export API_KEY="your_api_key_here"
13+
14+
### Interactive Prompts
15+
Upon running the program, the user is prompted for:
16+
1. Strictness Level: A value between 0-3 to define how aggressively the IPQS API evaluates the proxy risk. Defaults to 0.
17+
2. Proxy File Name: The text file containing proxies to be evaluated. Defaults to proxies.txt if left blank.
18+
19+
### Input and Output
20+
Input: A newline-separated text file of proxies. Supported protocols: http, https, socks5. Supports proxy authentication.
21+
Output (validproxys.txt): Contains the subset of input proxies that successfully connect and route traffic.
22+
Output (proxies_risk_score_0.txt): Contains the ultimately verified proxies that both connect successfully and yield an IPQS fraud score of 0.
23+
24+
## Relevant Business Logic
25+
The application processes proxies in multiple stages:
26+
1. Parsing and Conversion: Identifies the proxy protocol and authentication details (if any), formatting the string into a standard URL structure. If no protocol is specified, it defaults to http.
27+
2. Live Validation: Connects through the configured proxy to http://ipinfo.io/json to determine the proxy's active outbound IP address. Proxies that timeout or fail to return a valid IP payload are discarded.
28+
3. Risk Scoring: For each successful IP address retrieved, the app calls the IPQualityScore API endpoint using the provided API_KEY and strictness level.
29+
4. Filtering: Parses the JSON response from IPQS for the fraud_score attribute. Any proxy returning a score greater than 0 is discarded. Only proxies with a fraud_score of 0 are appended to the final output list.

0 commit comments

Comments
 (0)