{"_id":"@aleksikallio/pinger","_rev":"3-5a56cf31519e22fc4423a5390ffa8445","name":"@aleksikallio/pinger","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"@aleksikallio/pinger","version":"1.0.0","keywords":["ping","network","logger","csv","cli","monitoring"],"author":{"url":"https://codefox.fi","name":"Aleksi Kallio","email":"aleksi@codefox.fi"},"license":"MIT","_id":"@aleksikallio/pinger@1.0.0","maintainers":[{"name":"aleksikallio","email":"aleksi@codefox.fi"}],"homepage":"https://github.com/kallioaleksi/pinger#readme","bugs":{"url":"https://github.com/kallioaleksi/pinger/issues"},"bin":{"pinger":"pinger.ts"},"dist":{"shasum":"d2d3ee605662d5bf21ad594addd3c916a9e0afa7","tarball":"https://registry.npmjs.org/@aleksikallio/pinger/-/pinger-1.0.0.tgz","fileCount":7,"integrity":"sha512-RYq1eaEsQElz8UPt7NKuGSeBFKqlzL2JQj9tu9RtBcb6iNhy73fojQAtHWhLUwQ8LBmid2NbzkZN0ED/rUf8lg==","signatures":[{"sig":"MEQCIGd7SnHTVWyJASDNCIJzetMjNUoxY28dSZqqqr562QHKAiBF4qf2fBFTFafwlvg4MOLfhvWy/U7D49h+Wl1JZETA8Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15025},"type":"module","engines":{"bun":">=1.0.0"},"gitHead":"5410ca4e3e58bf8ba15f0bc5d0088230a0ac8119","scripts":{"start":"bun run pinger.ts"},"_npmUser":{"name":"aleksikallio","email":"aleksi@codefox.fi"},"repository":{"url":"git+https://github.com/kallioaleksi/pinger.git","type":"git"},"_npmVersion":"11.10.0","description":"Continuous ping logger with rotating CSV output and a modern terminal UI","directories":{},"_nodeVersion":"22.16.0","dependencies":{"ora":"^9.3.0","commander":"^14.0.3","crayon.js":"^3.3.3"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest"},"_npmOperationalInternal":{"tmp":"tmp/pinger_1.0.0_1771531099181_0.5579051143102711","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@aleksikallio/pinger","version":"1.0.2","keywords":["ping","network","logger","csv","cli","monitoring"],"author":{"url":"https://codefox.fi","name":"Aleksi Kallio","email":"aleksi@codefox.fi"},"license":"MIT","_id":"@aleksikallio/pinger@1.0.2","maintainers":[{"name":"aleksikallio","email":"aleksi@codefox.fi"}],"homepage":"https://github.com/kallioaleksi/pinger#readme","bugs":{"url":"https://github.com/kallioaleksi/pinger/issues"},"bin":{"pinger":"pinger.ts"},"dist":{"shasum":"5761a88fc99e2092655b218ea18edc71e2a09af1","tarball":"https://registry.npmjs.org/@aleksikallio/pinger/-/pinger-1.0.2.tgz","fileCount":7,"integrity":"sha512-/j9H/2f339Vx2j/Lp28NPn2d6+wMSXjkivi9pvIh8KIe8NFgf47Gdvdwp+lyFgz7dZOPkcxwk26ngzNXy1fhGQ==","signatures":[{"sig":"MEQCICr1L86nd0gLWw4m6rte6hyZjORjlEy7+eTCp1AeuLXeAiB2IbY9wRZd/Fjgq1VWLxWuqnSrFTBJCnqIQLoPD82JTw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15025},"type":"module","engines":{"bun":">=1.0.0"},"gitHead":"7d7ad9229e8fb134f568e4e798f413f39e89662c","scripts":{"start":"bun run pinger.ts"},"_npmUser":{"name":"aleksikallio","email":"aleksi@codefox.fi"},"repository":{"url":"git+https://github.com/kallioaleksi/pinger.git","type":"git"},"_npmVersion":"11.10.0","description":"Continuous ping logger with rotating CSV output and a modern terminal UI","directories":{},"_nodeVersion":"22.16.0","dependencies":{"ora":"^9.3.0","commander":"^14.0.3","crayon.js":"^3.3.3"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest"},"_npmOperationalInternal":{"tmp":"tmp/pinger_1.0.2_1771531423911_0.38989982850317517","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@aleksikallio/pinger","version":"1.1.0","author":{"name":"Aleksi Kallio","email":"aleksi@codefox.fi","url":"https://codefox.fi"},"type":"module","description":"Continuous ping logger with rotating CSV output and a modern terminal UI","keywords":["ping","network","logger","csv","cli","monitoring"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/kallioaleksi/pinger.git"},"bin":{"pinger":"pinger.ts"},"engines":{"bun":">=1.0.0"},"scripts":{"start":"bun run pinger.ts"},"devDependencies":{"@types/bun":"latest"},"dependencies":{"commander":"^14.0.3","crayon.js":"^3.3.3","ora":"^9.3.0"},"gitHead":"34174dbf1743b67faa19cb5b211eae7b330101be","_id":"@aleksikallio/pinger@1.1.0","bugs":{"url":"https://github.com/kallioaleksi/pinger/issues"},"homepage":"https://github.com/kallioaleksi/pinger#readme","_nodeVersion":"22.16.0","_npmVersion":"11.10.0","dist":{"integrity":"sha512-ACnFsEGYoAm0D0GWxCTXVI8Xzjv+ObzPO5ZiegA4ODA6ZsBStwSdCFlu+qlJnoM22sJDFPSdu1tJrDZnOZx0PQ==","shasum":"c7c601179267ce6a18f968b4d0cadb1814be145c","tarball":"https://registry.npmjs.org/@aleksikallio/pinger/-/pinger-1.1.0.tgz","fileCount":7,"unpackedSize":19393,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICZxZbSZGWhdYt0uGZR5MqDwTEMu9vIyrH1Z4q+zC8W3AiEA5vICEe3EQYZC0/SElp8jnXdh+AOO8VZFgQfx02fVvdc="}]},"_npmUser":{"name":"aleksikallio","email":"aleksi@codefox.fi"},"directories":{},"maintainers":[{"name":"aleksikallio","email":"aleksi@codefox.fi"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pinger_1.1.0_1771532487248_0.5760168583975307"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-19T19:58:19.072Z","modified":"2026-02-19T20:21:27.527Z","1.0.0":"2026-02-19T19:58:19.322Z","1.0.2":"2026-02-19T20:03:44.079Z","1.1.0":"2026-02-19T20:21:27.413Z"},"bugs":{"url":"https://github.com/kallioaleksi/pinger/issues"},"author":{"name":"Aleksi Kallio","email":"aleksi@codefox.fi","url":"https://codefox.fi"},"license":"MIT","homepage":"https://github.com/kallioaleksi/pinger#readme","keywords":["ping","network","logger","csv","cli","monitoring"],"repository":{"type":"git","url":"git+https://github.com/kallioaleksi/pinger.git"},"description":"Continuous ping logger with rotating CSV output and a modern terminal UI","maintainers":[{"name":"aleksikallio","email":"aleksi@codefox.fi"}],"readme":"# @aleksikallio/pinger\n\nContinuous ping logger with rotating CSV output and a modern terminal UI.\n\n## Quick Start\n\n```bash\nnpx @aleksikallio/pinger -H 8.8.8.8\n```\n\n## Installation\n\n```bash\n# Global install with bun\nbun install -g @aleksikallio/pinger\n\n# Or with npm\nnpm install -g @aleksikallio/pinger\n```\n\n## Options\n\n| Short | Long                 | Description                   | Default           |\n| ----- | -------------------- | ----------------------------- | ----------------- |\n| `-H`  | `--host <addr>`      | Ping target                   | `8.8.8.8`         |\n| `-i`  | `--interval <time>`  | Ping interval                 | `1s`              |\n| `-s`  | `--session <time>`   | CSV file rotation interval    | `10m`             |\n| `-d`  | `--duration <time>`  | Total runtime (0 = unlimited) | `0`               |\n| `-o`  | `--output <dir>`     | Log output directory          | `/var/log/pinger` |\n| `-I`  | `--interface <name>` | Network interface             | _(none)_          |\n\nTime values accept a number with an optional unit: `ms`, `s`, `m`, `h`. A bare number is treated as milliseconds.\n\n## Examples\n\nPing Google DNS every 2 seconds, stop after 5 minutes:\n\n```bash\npinger -H 8.8.8.8 -i 2s -d 5m\n```\n\nPing a local gateway on a specific interface, log to a custom directory:\n\n```bash\npinger -H 192.168.1.1 -I eth0 -o ./logs\n```\n\nRun indefinitely with 30-minute CSV rotation:\n\n```bash\npinger -H 1.1.1.1 -s 30m\n```\n\n## CSV Output Format\n\nFiles are written to the output directory with names like `pinger-20260219T140000.csv`. A new file is created every session interval.\n\nFormat is semicolon-delimited with no header row:\n\n```\ndate;time;ping;packet_loss\n```\n\n- Time includes milliseconds (e.g. `21:58:03.142`)\n- Decimal separator is comma (European format, e.g. `12,3`)\n- Packet loss is `true` or `false`; ping column is empty on loss\n\nExample rows:\n\n```\n2026-02-19;14:00:01.234;12,3;false\n2026-02-19;14:00:02.235;;true\n```\n\n## Requirements\n\n- Bun >= 1.0\n- System `ping` command (`/sbin/ping` on macOS, `/bin/ping` on Linux)\n\n## License\n\nMIT\n","readmeFilename":"README.md"}