How Usenet Carries Files
Usenet was designed in 1980 for short text messages, and news servers still move everything as text. A photo, a program or any other file is binary data rather than text, so before it can travel it has to be converted into text-safe characters. That’s why files on Usenet are often called binaries, and the groups that carry them are binary groups.
Why big files are split into many articles
News servers limit how big a single article can be, so a large file is split across many articles, sometimes hundreds or even thousands of them. Each piece is posted separately, with its own Message-ID and a part number in its subject line, such as “(12/240)”, and your newsreader puts the pieces back in order. Splitting also means a dropped connection costs you one small piece rather than the whole file.
A short history of files on Usenet
In the early days, people encoded files with uuencode, written by Mary Ann Horton at UC Berkeley in 1980, and later with Base64 from the MIME standard for email. Both make a file about a third bigger. In 2001 Jürgen Helbing released yEnc, which adds only 1 to 2 percent, and by 2003 it had become the standard way to post files on Usenet.
Back to contentsEncoding Files with yEnc
Encoding swaps each byte of a file for characters that travel safely as text. yEnc does this with very little waste: a 100 MB file becomes roughly 101 to 102 MB of articles, instead of 133 MB or more with the older methods. Your newsreader encodes files when you post and decodes them when you download, so you never have to handle yEnc yourself.
yEnc posts can also carry a checksum, called a CRC32, which lets your newsreader spot a piece that was damaged on the way.
Learn moreWhat yEnc looks like inside an article
Open a yEnc article as plain text and you’ll see a line starting =ybegin with the file’s name and size, many lines of random-looking characters, and a closing =yend line. Those characters are the file’s bytes, shifted by a fixed amount so they’re safe to send as text, with a few special characters marked so servers don’t misread them.
Repairing Files with PAR2
Sometimes a few articles never arrive. They may have expired, been removed, or never reached your provider’s server. PAR2 files, short for parity archives, solve this. The person posting a file adds a set of recovery files, and your newsreader can use them to rebuild pieces that are missing or damaged.
PAR2 divides the original files into blocks and creates recovery blocks from them. As long as you have at least as many recovery blocks as there are missing blocks, the files can be repaired. Posters usually include enough recovery data to cover a small share of losses, and your newsreader downloads only as much of it as it needs. Parchive, the system behind PAR2, was created to make file sharing on Usenet reliable, and its second version was published in September 2002.
Tools that repair files
SABnzbd and NZBGet check and repair downloads automatically. If you ever need to repair files yourself, MultiPar for Windows (the successor to the older QuickPar) and par2cmdline, which runs on Windows, macOS and Linux, are free.
Key takeaway
yEnc packs files into articles with almost no waste, and PAR2 recovery files can rebuild pieces that go missing, so a few lost articles don’t ruin a download.
Where NZB Files Fit In
New to NZB files? Our NZB file tutorial shows how to open one, step by step.
An NZB file is a small text file in XML format that lists the Message-ID of every article belonging to a posted file. It doesn’t contain the file itself, just directions to it, a bit like a shopping list. Your newsreader reads the list and asks your provider’s server for each article by its Message-ID.
Before NZB files, you had to download the headers of a whole group and pick out every part by hand. With an NZB file, your newsreader skips that step, which is faster and uses far less data.
NZB files usually come from whoever posted the files, and posting tools can create one automatically. Only use NZB files from sources you trust, for files you have the right to download.
Learn moreThe parts of an NZB file
| Part | What it holds |
|---|---|
| file | One posted file, with the poster’s name, the date and the subject line |
| groups | The newsgroups the file was posted to |
| segment | One article: its size in bytes, its part number and its Message-ID |
Our overview shows a conceptual example of a complete NZB file.
How Your Newsreader Downloads a File
- Read the NZBYour newsreader lists every article it needs.
- Fetch the articlesIt downloads them from your provider over several connections at once.
- Decode and checkEach piece is decoded from yEnc and checked for damage.
- Repair and unpackPAR2 fills any gaps, then the files are unpacked and ready.
Download speed depends on your internet line and the number of connections your newsreader opens; Fast Usenet allows up to 50. Whether every piece is there depends on your provider’s retention and completion, which our overview explains in servers, retention and completion.
Putting the pieces back together
Posters often pack files into an archive before posting, sometimes split into several numbered pieces. Downloaders like SABnzbd and NZBGet unpack these automatically after any repair, so you end up with the original files and the leftover pieces are tidied away.
Unpacking by hand
If your newsreader doesn’t unpack automatically, a free archive tool such as 7-Zip on Windows can open most archive formats.
Back to contentsPosting Your Own Files
Posting files works the same way in reverse. A posting tool, or a newsreader that can post files, encodes them with yEnc, splits them into articles, adds PAR2 recovery files and posts everything to a suitable binary group. Many tools also create an NZB file you can share, so others can download your post in one step.
People use this to share files they have the right to share, such as their own photos and projects, open-source software and public-domain material. At Fast Usenet, posting is switched on by request to prevent abuse, so contact our support team first, and try a small test post before a large one. Our guide to posting and netiquette covers good manners.
Back to contentsFrequently Asked Questions
What is a binary newsgroup?
A newsgroup for files rather than discussion. Their names usually include “binaries”, and their posts are files encoded as text and split into many articles.
What is yEnc?
The encoding Usenet has used for files since the early 2000s. It turns a file into text-safe characters while adding only 1 to 2 percent to its size.
What are PAR2 files for?
Repair. If some articles of a download are missing or damaged, your newsreader can use the PAR2 recovery files posted with it to rebuild the missing pieces.
Why does a download sometimes fail?
Usually because some articles are missing, perhaps older than your provider’s retention or never fully received. PAR2 can repair small gaps, but if too much is missing, the file can’t be rebuilt.
Which newsreader should I use for files?
A downloader made for NZB files, such as SABnzbd or NZBGet, which are both free and open source, or GrabIt for Windows, which Fast Usenet members get with search included. Our newsreaders page compares them.
English
Deutsch
Nederlands
Español
Français