Every day I like more and more simple and above all light things, and that's how Jeff Starr makes his plugins.
A few days ago I was looking for something basic to put a counter in a manual download directory and I remembered Simple Download Counter by Plugin Planet.
The plugin supports both local and external file URLs and supports any file type supported by WordPress. It is lightweight and developed with performance in mind, the total size of the plugin is less than 160 KB. It does not require Apache/.htaccess.
To start using it just install it and add the download in question in Downloads/Add New. It couldn't be easier.

1- We give the download a title so that we can identify it in the list.
2- Paste the link to the file or upload what you want to download.
3- If you want, you can add a fictitious number of downloads so that it doesn't appear as zero.
4 - Optionally, you can also add a version number (which can then be added in the shortcode).
5- You have a space to add notes that will not be public in case you need to include any other necessary details for private use that you need to remember.
6- The unique shortcode for that download is automatically generated. We can also add a category to finally publish and we will have it in the list along with the download link, its basic shortcode and the counter.

Now you can add it anywhere on the blog where you can place a shortcode.

To publicly display the updated number of downloads next to the files, or even inside a download button, you can use the shortcode"sdc_count" to which you can also add some parameters. However, you will have to translate the word "downloads" in the plugin if you want to use this attribute by default.
The shortcode can be configured to display, or not, different attributes, which you can find here.
id (required) ID of the download.
wrap (optional) markup element (p, div, span, none).
text (optional) text of the download link.
title (optional) title of the download link.
before (optional) content to display before the download link.
after (optional) content to display after the download link.
class (optional) custom class for markup (separate multiple classes with commas).
type (optional) display as "link", "button", or "none" (with none, only the before and after attributes are displayed, no link).
Clean and simple code, uses WP APIs and does not create pages or posts. It has no advertising or extraneous or unnecessary notifications. It doesn't require cookies, fully integrates with WP styles and doesn't make any mess or weird stuff in the database.