npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

alscan-js

v0.5.3

Published

An access log scanner.

Readme

alscan

An Access log scanner

The 0.5 version is a re-write.

The old callback ridden JavaScript version has been redone using an async/await style. The new version uses TypeScript. In fact, it is designed to be executed directly by Node (v22.18 and later) directly, rather than being compiled first.

Several of the old (problematic) libraries have been removed. This makes the dependabot quiet.

The hopelessly out-of-date user agent database has been removed. This makes some existing options less than useful. Not much use in sorting results based upon the user agent source, when they are all Unknown.

How the time of a reboot is determined has changed. The prior version scanned the wtmp file. This is a binary format file that varied between linux and MacOS. The libraries necessary to read and parse the file have security issues that do not look to be resolved quickly. So, I modified the code to read from the file /proc/uptime. This file can be parsed easily. However, it only exists on linux systems. On other systems, the reboot time remains undefined. This limits functionality, but removes the security issues.

Summary

The alscan tool is used to extract data from web server access logs. It creates a report based upon the contents of the logs and the options specified on the command-line.

More information about the tool is available at its home page.

The tool is released under the Apache 2.0 License.

It is compatible with the Apache web server's combined and the common log formats.

The software is designed for Linux and other Unix-like systems.