ArguX is a Python script that scans public cameras gathered from Insecam to locate objects of interest through utilizing YOLOv4 object detection model. The name is inspired by Greek mythology, where Argus Panoptes (Ἀὁγος Πανόπτης, "All-seeing Argos") is a many-eyed giant capable of seeing everything.
- Multithreaded for scanning multiple streams simultaneously.
- Provides the detected camera's IP address, geolocation, and the model's confidence level in identifying the specified object.
- Filter searches by country.
- Option to open detected camera streams directly in your web browser.
-
Clone the repository:
git clone https://github.com/erfangolpour/ArguX.git
-
Install the required dependencies:
pip install -r requirements.txt
-
Download the YOLOv4 weights file (245 MB):
- yolov4.weights
- Google Drive mirror: yolov4.weights
Place the file in the
YOLO
directory.
Run the script with the following options:
usage: ArguX.py [-h] [-n NUMBER] -o {person,bicycle,car,...} [-w WORKERS] [-c COUNTRY]
ArguX - A tool for scanning public security cameras
Options:
-h, --help Show this help message and exit.
-n NUMBER, --number NUMBER
Maximum number of cameras to scan (default: 100).
-o {person,bicycle,car,...}
Specify the object to search for (refer to YOLOv4 - Darknet/coco.names for options).
-w WORKERS, --workers WORKERS
Limit the number of multiprocessing pool workers.
-c COUNTRY, --country COUNTRY
Filter results by country.
You can find the list of searchable objects here.
The following settings can be customized in the script:
MIN_CONFIDENCE
: Minimum confidence threshold for object detection (default: 0.6).OPTIMIZED_MAX_WORKERS
: Default number of worker threads (CPU cores minus one).REQUEST_TIMEOUT
: Timeout duration for web requests in seconds (default: 10).USER_AGENT
: User agent string for web requests.
Contributions are welcome! If you encounter any issues or have ideas for improvement, feel free to open an issue or submit a pull request.
This project is licensed under the GPLv3 License.
Special thanks to:
- The YOLO object detection model.
- The Insecam website for public camera streams.
- The tqdm library for progress bar visualization.