A Usenet Indexer

Fund package maintenance!

Installs: 142

Dependents: 0

Suggesters: 0

Security: 0

Stars: 155

Watchers: 19

Forks: 48

Open Issues: 16


v1.8.1 2022-01-17 08:47 UTC


68747470733a2f2f636f6465636c696d6174652e636f6d2f6769746875622f4e4e546d75782f6e65777a6e61622d746d75782f6261646765732f6770612e737667 68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f4e4e546d75782f6e65777a6e61622d746d75782f6261646765732f6275696c642e706e673f623d646576 68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f4e4e546d75782f6e65777a6e61622d746d75782f6261646765732f7175616c6974792d73636f72652e706e673f623d646576 68747470733a2f2f7472617669732d63692e6f72672f4e4e546d75782f6e65777a6e61622d746d75782e7376673f6272616e63683d646576 Latest Stable Version License StyleCI Coverage Status 68747470733a2f2f696d672e736869656c64732e696f2f62616467652f636f64655f7374796c652d70726574746965722d6666363962342e7376673f7374796c653d666c61742d73717561726522 Become a Patron!

NNTmux automatically scans usenet, similar to the way google search bots scan the internet. It does this by collecting usenet headers and temporarily storing them in a database until they can be collated into posts/releases. It provides a web-based front-end providing search, browse, and programmable (API) functionality.

This project is a fork of the open source usenet indexer newznab plus: https://github.com/anth0/nnplus and open source nZEDb usenet indexer https://github.com/nZEDb/nZEDb

NNTmux improves upon the original design, implementing several new features including:

  • Optional multi-threaded processing (header retrieval, release creation, post-processing etc)
  • Advanced search features (name, subject, category, post-date etc)
  • Intelligent local caching of metadata
  • Optional sharing of comments with other NNTmux and newznab sites
  • Optional tmux (terminal session multiplexing) engine that provides thread, database and performance monitoring
  • Image and video samples
  • SABnzbd/NZBGet integration (web, API and pause/resume)
  • CouchPotato integration (web and API)


System Administration know-how. NNTmux is not plug-n-play software. Installation and operation requires a moderate amount of administration experience. NNTmux is designed and developed with GNU/Linux operating systems. Certain features are not available on other platforms. A competent Windows administrator should be able to run NNTmux on a Windows OS.


4GB RAM, 2 cores(threads) and 20GB disk space minimum.

If you wish to use more than 5 threads a quad core CPU is beneficial.

The overall speed of NNTmux is largely governed by performance of the database. As many of the database tables should be held within system RAM as possible. See Database Section below.


PHP 7.2+ (and various modules)
MySQL 5.6+ (Postgres is not supported)

The installation guides have more detailed software requirements.


Most (if not all) distributions ship MySQL with a default configuration that will perform well on a Raspberry Pi. If you wish to store more that 500K releases, these default settings will quickly lead to poor performance. Expect this.

As a general rule of thumb the database will need a minimum of 1-2G buffer RAM for every million releases you intend to store. That RAM should be assigned to this parameter:

  • innodb_buffer_pool_size

Use mysqltuner.pl for recommendations for these and other important tuner parameters. Also refer to the nZEDb project's wiki page: https://github.com/nZEDb/nZEDb/wiki/Database-tuning. This is particularly important before you start any large imports or backfills.


Follow NNTmux Ubuntu install guide:


For composer install and getting NNTmux follow this guide:



Run the docker init command

./cli/docker init

Copy .env.example -> .env, configure .env, mandatory fields:

  • DB_*
  • SPHINX_HOST=manticore
  • SPHINX_PORT=9306
  • NNTP_*
  • ADMIN_*
  • APP_TZ
  • APP_KEY=base64:wbvPP9pBOwifnwu84BeKAVzmwM4TLvcVFowLcPAi6nA= # or generate one!!!
  • REDIS_HOST=redis
  • REDIS_PORT=6379

Copy docker-compose.override.yml.dist to docker-compose.override.yml and remove any services that you don't want to run locally. Make any other adjustments to suit your needs.

Copy over localized configuration from docker/php-overrides.ini to docker/php-overrides.local.ini and any other adjustments you'd like to make.

Copy your composer's auth.json file (can probably be found in ~/.composer/auth.json) to docker/composer-auth.json.

Run the installation script

docker-compose run --rm web docker/install.sh

For routing, you can use a proxy container like nginx-proxy. The default configuration is to route the indexer to nntmux.local. You'll also need to add the following to your /etc/hosts file:  nntmux.local

Now, you can start the web container:

docker-compose up -d web

# Tail the logs starting with the most recent 15 lines. Look for errors and resolve any issues.
docker-compose logs --tail=15 --follow web

Open http://nntmux.local and sign in as the admin user with the credentials configured in the .env file. Configure site and tmux settings.

Start the tmux container:

docker-compose up -d tmux

# Attach to tmux
./cli/docker tmux-attach

There are other commands available in cli/docker (i.e. to stop the tmux session -- you should do this before stopping the tmux container!).


Support is given on irc.synirc.net #tmux channel.


NNTmux is GPL v3. See LICENSE.txt for the full license.

Other licenses by various software used by NNTmux:

Net_NNTP => W3C

Zip file creation class => No license specified.

simple_html_dom.php => MIT

All external libraries will have their full licenses in their respectful folders.