danieljancar / proxy-request-checker

Checks provided whitelists, blacklists, etc. for your proxy configuration by making requests to the provided links.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Proxy Checker in Go

Check if your network or proxy are working as expected, by checking the status code of a request to a website.

Getting Started

Prerequisites

Configuration

The config/links/links-config.json file contains the proxies to be checked.

[
  {
    "url": "https://xxx.xxx.xxx.xxx:xxxx",
    "expectedStatus": 200
  }
]

Note: Make sure to create the links-config.json file, based on the links-config.example.json file, if it does not exist.


The .env file contains the configuration for the proxy checker. The format is as follows, make sure to create a .env file, based on the .env.example file, if it does not exist.

Note: Find more information about the configuration in the docs/configuration.md file.

Usage

Go Run

To run the proxy checker on the fly, run the following command:

/projects/proxy-request-checker >
$ go run cmd/main.go

Binary

To run the proxy checker as a binary, run the following commands:

/projects/proxy-request-checker >
$ go build -o bin/proxy-checker cmd/main.go
/projects/proxy-request-checker >
$ bin/proxy-checker

Note: Run the binary on the project root directory to avoid any issues with the config files, that might not be found.

The report is saved to the reports folder by default.

Known Issues

  • If running the binary, the report is not saved to the specified file path, also the links.json file is not found, if the binary isn't run from the project root directory. #3

Contributing

I welcome contributions from everyone. Before you get started, please take a moment to review the guidelines.

Branches

This project uses the following branches:

  • master - The main branch. This branch is used for production releases.
  • develop - The development branch. This branch is used for development and testing.

Commit Messages

When you commit, make sure to follow the Contributing Guide for commit messages. This will help keep the commit messages clean and consistent across the project. If you don't follow the guide, your pull request will be rejected.

License

This project is licensed under the MIT license. By contributing to this project, you agree that your contributions will be released under the same license. Also, you agree to the Contributor Covenant Code of Conduct and Developer Certificate of Origin.

Disclaimer

This project is for educational purposes only. I am not responsible for any misuse of this project

About

Checks provided whitelists, blacklists, etc. for your proxy configuration by making requests to the provided links.

License:MIT License


Languages

Language:Go 96.7%Language:Shell 3.3%