"It's a Snark!" was the sound that first came to their ears, And seemed almost too good to be true. Then followed a torrent of laughter and cheers: Then the ominous words "It's a Boo-"-- from The Hunting Of The Snark by Lewis Carroll
Snark is a client for downloading and sharing files distributed withthe BitTorrent protocol. It is mainly used for exploring the BitTorrentprotocol and experimenting with the the GNU Compiler for Java (gcj).But it can also be used as a regular BitTorrent Client.
Snark can also act as a torrent creator, micro http server for deliveringmetainfo.torrent files and has an integrated Tracker for making sharing offiles as easy as possible.
When given the option--share Snark will automaticallycreate a .torrent file, start a very simple webserver to distributethe metainfo.torrent file and a local tracker that other BitTorrentclients can connect to.
Copyright (C) 2003 Mark J. Wielaard Snark is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
The GNU Compiler for java (gcj) version 3.3 or later.(Earlier versions have a faulty SHA message digest implementation.)On Debian GNU/Linux based distributions just install the gcj-3.3 package.Edit the GCJ variable in the Makefile if your gcj binary is not gcj-3.3.
Typing 'make' will create the native snark binary and a snark.jar filefor use with traditional java byte code interpreters.
It is possible to compile the sources with other java compilerslike jikes or kjc to produce the snark.jar file. Edit the JAVAC andJAVAC_FLAGS variables on top of the Makefile for this. And typemake snark.jar to create a jar file that can be used by traditionaljava bytecode interpreters like kaffe:kaffe -jar snark.jar.You will need at least version 1.1 of kaffe for all functionality to workcorrectly (--share does not work with older versions).
When trying out theexperimental Gnome frontendyou also need thejava-gnomebindings. On Debian GNU/Linux systems install the packagelibgnome0-java. You can try it out by typing 'make snark-gnome' andthen runsnark-gnome.sh like you would with the normal command lineclient.
To use the program start it with:
snark [--debug [level]] [--no-commands] [--port <port>] [--share (<ip>|<host>)] (<url>|<file>|<dir>) --debug Shows some extra info and stacktraces. level How much debug details to show (defaults to 3, with --debug to 4, highest level is 6). --no-commands Don't read interactive commands or show usage info. --port The port to listen on for incomming connections (if not given defaults to first free port between 6881-6889). --share Start torrent tracker on <ip> address or <host> name. <url> URL pointing to .torrent metainfo file to download/share. <file> Either a local .torrent metainfo file to download or (with --share) a file to share. <dir> A directory with files to share (needs --share).
Since this is an early beta release there are probably still some bugsin the program. To help find them run the program with the--debugoption which shows more information on what it going on. You can also givethe level of debug output you want. Zero will give (almost) no output at all.Everything above debug level 4 is probably to much (only really useful tosee what goes on on the protocol/network level).
To simple start downloading/sharing a file. Either download the .torrent file to disk and start snark with:
./snark somefile.torrent
Or give it the complete URL:
./snark http://somehost.example.com/cd-images/bbc-lnx.iso.torrent
To start seeding/sharing a local file:
./snark --share my-host.example.com some-file
Snark will respond with:
Listening on port: 6881 Trying to create metainfo torrent for 'some-file' Creating torrent piece hashes: ++++++++++ Torrent available on http://my-host.example.com:6881/metainfo.torrent
You can now point other people to the above URL so they can share the file with their own BitTorrent client.
While the program is running in text mode you can currently give thefollowing commands:info,list andquit.
Interactive commands are disabled when the--no-commands flag is given.This is sometimes desirable for running snark in the background.
Version | Release date | GZIPped TAR file |
---|---|---|
0.5 - The Beaver's Lesson | 27 June 2003 | snark-0.5.tar.gz |
0.4 - The Hunting | 1 June 2003 | snark-0.4.tar.gz |
0.3 - The Bakers Tale | 10 May 2003 | snark-0.3.tar.gz |
0.2 - The Bellman's Speech | 5 May 2003 | snark-0.2.tar.gz |
0.1 - The Landing | 27 April 2003 | snark-0.1.tar.gz |
Latest precompiled jar file for use with traditional byte code interpreters:snark.jar.
Latest staticly linked executables for GNU/Linux x86snark-static-i686-pc-linux-gnu.gz
Last updated: 27 June 2003.