Laravel based usenet indexer
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Blacklight Apply fixes from StyleCI Sep 13, 2018
_install Use artisan console to install nntmux, remove the install script from… Jan 23, 2018
app Fix AniDB initialization in DetailsController Sep 11, 2018
bootstrap Remove isWin/isWindows functions and remove HAS_WHICH definition and … Jul 23, 2018
build Update patch version Aug 24, 2018
cli/data Remove isWin/isWindows functions and remove HAS_WHICH definition and … Jul 23, 2018
config Update laravel/framework to version 5.7 Sep 13, 2018
database Add soft firewall to manage access to site Aug 16, 2018
docs Rename XBOX 360 DLC to Xbox 360 DLC to be consistent with rest of the… May 17, 2018
libs Update ZipFile class Jul 23, 2018
misc Update scripts to use now() helper Sep 13, 2018
public Fix links to sendtoqueue, closes issue #623 Jun 8, 2018
resources Fix displaying errors on registration page Sep 7, 2018
routes Fix adding new roles Aug 24, 2018
storage Add cache and templates_c folders to storage/framework/smarty folder Mar 6, 2018
tests Update testing Jul 26, 2018
.editorconfig Add .editorconfig file May 21, 2018
.env.example Add soft firewall to manage access to site Aug 16, 2018
.env.scrutinizer Define database connection fro scrutinizer Mar 13, 2018
.env.travis Upgraded to laravel/framework 5.6 and adjusted libraries Feb 7, 2018
.gitattributes Update scrutinizer.yml, .gitignore and add .gitmodules Apr 28, 2016
.gitignore Uningnore folders and remove gitmodules file (unused because it is re… Mar 8, 2018
.php-cs Update .php-cs to exclude bootstrap/cache from checks Sep 5, 2017
.scrutinizer.yml Add bootstrap 4 for future usage Mar 15, 2018
.styleci.yml Update .styleci.yml to exclude database/fixtures folder from checks Jan 30, 2018
.travis.yml Update .travis.yml Mar 9, 2018
CONTRIBUTING.md Add failed count information to many of the pages as statistic info. … Sep 24, 2015
Changelog Update jrean/laravel-user-verification to version 7.0.0 Sep 13, 2018
LICENSE Add proper license Aug 11, 2017
NNBase.php Update files that use constants.php Jan 8, 2018
README.md Update README Sep 13, 2018
artisan Rename tmux back to artisan Nov 17, 2017
commit Another possible fix. Oct 13, 2015
composer.json Update jrean/laravel-user-verification to version 7.0.0 Sep 13, 2018
composer.lock Update jrean/laravel-user-verification to version 7.0.0 Sep 13, 2018
install_tmux.sh Add powerline directly from ubuntu repo and use it in tmux Sep 5, 2018
package.json Update files with laravel 5.6 changes Feb 8, 2018
phpunit.xml Update phpunit.xml, move install test to front of testsuite block Jul 27, 2018
server.php Apply fixes from StyleCI Aug 31, 2017
webpack.mix.js Update webpack.mix.js and package.json Jan 17, 2018

README.md

Latest Stable Version License StyleCI Coverage Status

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)

Prerequisites

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.

Hardware

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.

Software

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

The installation guides have more detailed software requirements.

Database

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.

Installation

Follow NNTmux Ubuntu install guide:

https://github.com/NNTmux/newznab-tmux/wiki/Ubuntu-Install-guide

For composer install and getting NNTmux follow this guide:

https://github.com/NNTmux/newznab-tmux/wiki/Installing-Composer

Support

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

Licenses

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.