NZB is an XML-based file format for retrieving posts from NNTP (Usenet) servers. The format was conceived by the developers of the Newzbin.com Usenet Index. NZB is effective when used with search-capable websites. These websites create NZB files out of what is needed to be downloaded. Using this concept, headers would not be downloaded hence the NZB method is quicker and more bandwidth-efficient.
Each Usenet message has a unique identifier called the "Message ID". When a large file is posted to a Usenet newsgroup, it is usually divided into multiple messages (called segments or parts) each having its own Message-ID. An nzb-capable Usenet client will read the Message-ID from the NZB file, download them and decode the messages back into a binary file (usually using yEnc or Uuencode).
The following is an example of a NZB 1.0 file.
<?xml version="1.0"?> <!DOCTYPE nzb PUBLIC "-//newzBin//DTD NZB 1.0//EN" "http://www.newzbin.com/DTD/nzb/nzb-1.0.dtd"> <nzb xmlns="http://www.newzbin.com/DTD/2003/nzb"> <file subject="Linux Debian-3.1r5-i386-binary- CD1 Lucky Strike.par2 (1/1)" date="1175058765" poster="Yenc@power-post.org (Lucky Strike)"> <groups> <group>alt.binaries.cd.image.linux</group> </groups> <segments> <segment bytes="423495" number="1">email@example.com</segment> <segment bytes="423450" number="2">firstname.lastname@example.org</segment> <!-- ... --> </segments> </file> <!-- ... --> </nzb>