{"id":37405283,"url":"https://github.com/raitocz/pinger","last_synced_at":"2026-01-16T05:49:41.503Z","repository":{"id":62532888,"uuid":"106784146","full_name":"raitocz/pinger","owner":"raitocz","description":"Tiny PHP library used to ping desired URLs","archived":false,"fork":false,"pushed_at":"2020-08-07T10:00:37.000Z","size":14,"stargazers_count":0,"open_issues_count":6,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-18T09:56:00.095Z","etag":null,"topics":["flood","ping","pinger","polls","spam"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/raitocz.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-10-13T06:00:21.000Z","updated_at":"2022-02-28T18:22:35.000Z","dependencies_parsed_at":"2022-11-02T14:33:14.093Z","dependency_job_id":null,"html_url":"https://github.com/raitocz/pinger","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/raitocz/pinger","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raitocz%2Fpinger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raitocz%2Fpinger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raitocz%2Fpinger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raitocz%2Fpinger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/raitocz","download_url":"https://codeload.github.com/raitocz/pinger/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raitocz%2Fpinger/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28477423,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T03:13:13.607Z","status":"ssl_error","status_checked_at":"2026-01-16T03:11:47.863Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["flood","ping","pinger","polls","spam"],"created_at":"2026-01-16T05:49:41.376Z","updated_at":"2026-01-16T05:49:41.452Z","avatar_url":"https://github.com/raitocz.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pinger\n[![Travis branch](https://img.shields.io/travis/raitocz/pinger/master.svg?style=flat-square)](https://github.com/raitocz/pinger)\n[![Packagist Pre Release](https://img.shields.io/packagist/vpre/raitocz/pinger.svg?style=flat-square)](https://github.com/raitocz/pinger)\n[![license](https://img.shields.io/github/license/raitocz/pinger.svg?style=flat-square)](https://github.com/raitocz/pinger)\n\n- [Installation](#installation)\n- [Introduction](#introduction)\n- [Basic usage](#basic-usage)\n\n## Installation\n\n`composer require raitocz/pinger`\n\n## Introduction\n\n**This project is under development, it is recommended to wait with usage for stable release (soon).**\n\nTiny PHP library used to ping desired URLs. You can use proxy list to ping as from different computer making this tool\nhandy when you wan to test the server load from different IPs. Use at your own risk, you can DDoS yourself or get\nblacklisted for attacking another server.\n\nThe user agent is generated from random numbers so the server is tricked to be believing that each request came from\ndifferent computer (although from same IP if no proxy list specified).\n\nThis script is working well for example with unprotected polls for adding votes (ones where links are not generated\nfor each page reload) as this was the reason why it was created \u0026 later transformed to this library.\n\n## Warnings\n\nThis script can also clog your computer fast as it is making each request as separate PHP process, so too fast settings\ncan flood your RAM. That's why the Wait time is in Seconds. Although you can set it for example to 0.000001 I highly \ndon't recommend that. Setting it to 0.1 will flood free 16GB RAM in few seconds, for example.\n\nPlease also note the limitations of Windows systems for usleep() which is used: \nhttp://php.net/manual/en/function.usleep.php\n\n\n## Basic usage\n\nSimplest request to one url 100x each second:\n\n```php\n// As object:\n$pinger = new Pinger();\n$pinger-\u003esetUrls(array('http://localhost/'))\n    -\u003esetRepeat(100)\n    -\u003esetWait(1)\n    -\u003estart();\n    \n// As static method:\nPinger::run(array('http://localhost/'), 100, 1);\n```\n\nHere are examples of diferent modes (used only static method for shorter code):\n\n#### Random mode (default)\n```php\n$urls = array(\n    'http://localhost/1',\n    'http://localhost/02',\n    'http://localhost/003',\n    'http://localhost/0004',    \n);\n\nPinger::run($urls, 2, 1, Pinger::MODE_RANDOM);\n```\nresult:\n```text\nping: http://localhost/003\nping: http://localhost/0004\nping: http://localhost/003\nping: http://localhost/1\nping: http://localhost/0004\nping: http://localhost/1\nping: http://localhost/02\nping: http://localhost/02\n```\n\n#### Random mode No repeat\n```php\n$urls = array(\n    'http://localhost/1',\n    'http://localhost/02',\n    'http://localhost/003',\n    'http://localhost/0004',    \n);\n\nPinger::run($urls, 2, 1, Pinger::MODE_RANDOM_NOREPEAT);\n```\nresult:\n```text\nping: http://localhost/1\nping: http://localhost/003\nping: http://localhost/0004\nping: http://localhost/02\nping: http://localhost/003\nping: http://localhost/0004\nping: http://localhost/1\nping: http://localhost/02\n```\n\n#### Batch URL\n```php\n$urls = array(\n    'http://localhost/1',\n    'http://localhost/02',\n    'http://localhost/003',\n    'http://localhost/0004',    \n);\n\nPinger::run($urls, 2, 1, Pinger::MODE_BATCH_URL);\n```\nresult:\n```text\nping: http://localhost/1\nping: http://localhost/1\nping: http://localhost/02\nping: http://localhost/02\nping: http://localhost/003\nping: http://localhost/003\nping: http://localhost/0004\nping: http://localhost/0004\n```\n\n#### Batch Array\n```php\n$urls = array(\n    'http://localhost/1',\n    'http://localhost/02',\n    'http://localhost/003',\n    'http://localhost/0004',    \n);\n\nPinger::run($urls, 2, 1, Pinger::MODE_BATCH_ARRAY);\n```\nresult:\n```text\nping: http://localhost/1\nping: http://localhost/02\nping: http://localhost/003\nping: http://localhost/0004\nping: http://localhost/1\nping: http://localhost/02\nping: http://localhost/003\nping: http://localhost/0004\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraitocz%2Fpinger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraitocz%2Fpinger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraitocz%2Fpinger/lists"}