Since I keep forgetting how to prepare my binaries from the CLI, I thought it would be better if I wrote it online for future reference. Perhaps someone will find it useful as well.
This howto I will show how you can split archives into bits and make parity files from the CLI.
You will need non-free software to do the following steps.
First we need necessary software, namely rar to archive and split the binaries, and then par2 for error correction during download.
Code: Select all
# apt-get install rar par2
I then issue the following command:
Code: Select all
$ rar a debian-8.6.0-i386-netinst.rar -v50m -m0 debian-8.6.0-i386-netinst *
Parity files will make your Usenet client able to repair downloads with errors.
You can now remove the .iso from the directory.
Issue the following command to create parity files:
Code: Select all
$ par2create "debian-8.6.0-i386-netinst" -r20 -n10 *.rar
The parity files can be verified with
Code: Select all
$ par2verify *.par2
Uploading files
There are not many options available for uploading files if you want to use open source software on GNU/Linux. One of the most popular ones with a GUI is JBinUp. It works well, uses Java, but is closed source. Other options are newspost, bur unfortunately it hasn't been under active development since more than a decade. Then there is sanguinews - a very good CLI usenet uploader for GNU/Linux.
Sanguinews is not in the official repositories, so we need build-essential and ruby-dev to install it.
Code: Select all
# apt-get install build-essential ruby-dev
Code: Select all
# gem install sanguinews
Code: Select all
$ nano ~/.sanguinews.conf
Code: Select all
# Sample config file
# Groups to post to
# Separate multiple groups with comma
groups = alt.binaries.test
# Your identity
from = witty_nickname <whatever@example.com>
# Username to use for authentication
username = your_username
# Password
password = your_password
# server to use
server = your_server
# Use SSL connection?
ssl = yes
# port
port = 563
# number of connections
connections = 10
# article size in bytes
article_size = 768000
# Wait this many seconds before trying to reconnect after unsuccessful upload
reconnect_delay = 5
# Subject prefix to use
prefix = "[sanguinews] - "
# Enable nzb creation
nzb = yes
# Use header checking? Upload will be slow but reliable.
header_check = no
# Debug information
debug = no
#######################
# headers
#######################
# X-No-Archive
xna = no
After you have finished editing everything, press Ctrl + X, and then Y to save the changes.
You can find different options for sanguinews by typing sanguinews --help
hallvor@debian-hp:~$ sanguinews --help
Code: Select all
sanguinews v0.80.1. Copyright (c) 2013-2014 Tadeus Dobrovolskij.
Comes with ABSOLUTELY NO WARRANTY. Distributed under GPL v2 license(http://www.gnu.org/licenses/gpl-2.0.txt).
sanguinews is a simple nntp(usenet) binary poster. It supports multithreading and SSL. More info in README.
Usage: sanguinews [OPTIONS] [DIRECTORY] | -f FILE1..[FILEX]
Options
-c, --config CONFIG use different config file
-C, --check check headers while uploading; slow but reliable
-f, --file FILE upload FILE, treat all additional parameters as files
-g, --groups GROUP_LIST use these groups(comma separated) for upload
-h, --help help
-p, --password PASSWORD use PASSWORD as your password(overwrites config file)
-r, --recursive process all files under each directory recursively
-u, --user USERNAME use USERNAME as your username(overwrites config file)
-v, --verbose be verbose?
-V, --version print version information and then exit
hallvor@debian-hp:~$
The files can then be uploaded with
Code: Select all
$ sanguinews -v /home/hallvor/upload/