HOWTO submit path info to top1000

Mini top1000 survival written by Dmitry Kiselev. dmitry-at-dmitry-dot-net. January 2005.

ISC INN 2.x

After INN distribution installed You can see ninpaths executable in <inn-dir>/bin directory. Verify this fact with command:
  # ls bin/ninpaths
  bin/ninpaths
  #
OK, it in the right place. Lets fire it up! Open etc/newsfeeds file with any text editor and find line like OUTGOING SPECIAL FEED EXAMPLES. In some lines below You may see commented line with ninpaths. Remove comment or, if no line found, add it by hands:
  inpaths!:*:Tc,WP:/usr/local/news/bin/ninpaths -p -d /var/log/news/path/inpaths.%d
Be sure to specify correct path to ninpaths program. In my example it is /usr/local/news/bin/. Specify some path where collected data will be temporary stored. In my example it is /var/log/news/path/. Good idea to store this data in path directory under logs-directory used by INN. Check value of pathlog variable in etc/inn.conf file. Do not change inpaths.%d filename because it refered in this form from other program.

Locate sendinpaths shell-script in inn-dir/bin:
  # ls bin/sendinpaths
  bin/sendinpaths
  #
Open it with text editor and edit values of variables report and keep. First of them set how frequently (in days) You submit path info in top1000 and second - how many days info stored on You disk. Also check first cd command to point to directory where ninpath data saved. In my example it is:
  cd ${MOST_LOGS}/path
  report=1
  keep=10
Data saved in /var/log/news/path, submitted daily and erased after ten days.

Now You must just launch sendinpaths daily. Do it by adding according crontab entry for news user. Enter command:
  # crontab -e -u news

  or

  # crontab -e news
...and add line:
  0    2   *   *   *   /usr/local/news/bin/sendinpaths
Bingo! That's it! Next day You should see Your site name in participants list


Diablo news feeder

Easest and fastest way to compile INN ninpaths program. Get latest INN distribution, unpack and build it but don't install. After successful completion copy ninpaths from backends/ninpaths to Your diablo dbin directory. Because diablo can't pass arguments for child processes, write tiny wrapper script for ninpath launch and store it in dbin folder:
  #!/bin/sh
  /news/dbin/ninpaths -p -d /var/log/news/path/inpaths.%d
Then add following line in diablo.conf file:
  path_pathlog            |/news/dbin/ninpaths-wrapper
Download this patched sendinpaths script and edit variables at the begin of file.
  # Add site path entry here. For example: "news2.volia.net"
  ME=<site-path-entry>
  # How frequently path info submited to top1000 (days)
  report=1
  # Now many days keep data on disk
  keep=10
  # Where mail(1) program located.
  MAILCMD=/usr/bin/mail
  # Where ninpath INN program located.
  NINPATHS=$BIN/ninpaths
  # Where ninpaths data located. diablo.conf path_log and "path" sub-dir.
  cd ${LOGS}/path
Then open crontab for news user:
  # crontab -e -u news

  or

  # crontab -e news
...and add line for sendinpaths daily launching:
  0    2   *   *   *   ~news/dbin/sendinpaths
Well-done! Next day You should see Your site name in participants list