83663 packages online


No screenshot available
Short:Amiga 68k BitTorrent client with AREXX
Author:David Zvekic <david.zvekic at>
Uploader:David Zvekic <david zvekic gmail com>
Requires:16MB ram, 68020+/Vampire
Architecture:m68k-amigaos >= 2.0.4
Download: - View contents

DizzyTorrent is a functional BitTorrent client implemented for the Amiga 68k 
that operates on real classic hardware, and can be controlled with
or without a GUI and with AREXX. 

DizzyTorrent is also tested to work on PPC AmigaOS4.1, and MorphOS 3.9+.

Please do not use this program for copyright infringement or the distribution 
of any data which may be prohibited or unlawful. DizzyTorrent is intended for 
the distribution/downloading of legal content archives such as public domain 
classic movies, software distributions, or materials specifically allowed by 
copyright holders.

Full Documentation in AmigaGuide format:




DizzyTorrent is copyright (c) David Zvekic 2016-2018. 

Permission is granted to copy and distribute this entire archive provided that
it is not modified, no fee is charged beyond the reasonable cost of
distribution, no misrepresentation is made regarding authorship, and this 
copyright notice remains intact.

The source code of DizzyTorrent is not provided in this archive and all rights
are reserved to the Author, David Zvekic.

DizzyTorrent is based on the BitTorrent protocol specification but no part is 
derived from any BitTorrent software, object or source code. 

Portions of DizzyTorrent are derived from the TLSF Memory Allocation 
Implementation by Matthew Conte and adapted for use with AmigaOS, Motorolla 
68020 and DizzyTorrent.  This use is governed by a BSD style license which only
requires credit to the author, and no distribution of source code. 
Please see LICENSE.txt for credit and license details.
DizzyTorrent Version History
1.11  October 6 2018
    * Reduced CPU usage - minor bug introduced a busy-wait not apparent on my
      test systems. 
1.10  September 30 2018
    * Since v1.07 CHOKE messages were sent inappropriately, causing some peers
      to not receive data from DizzyTorrent even though local client
      is sending. fixed
    * client may not recognize that a peer has needed pieces to share unless
      peer has 100% of pieces (since 1.07)  - fixed.
    * Example dz.config file has Delay setting set too high for newer improved
      throttling mechanism this would cause very slow performance on fast
      machines. Internal default delay of 0 is now almost always the best.

1.09  September 16 2018
    * Fixed buffer overrun bug that would cause application crash on torrents
      with more than aproximately 60 trackers, or 110 files.
1.08  September 1 2018
    * resource balancing, performance, and stability improvements.
    * Fixed occasional crash when shutting down program while downloading. 
    * Improved support for BEP-20 PeerID Convention using -DZxxxx- PeerID.
    * Improved support for BEP-10 Extension Protocol - now transmiting Client
      Version 'v' as well as 'reqq' messages.
    * file was accidentaly saved with CRLF text format. Not 
      correct AmigaOS LF format. This made it unreadable by Multiview.
    * New AREXX command - SetThrottleDelay, SetMaxPeers
1.07  August 28 2018
    * resource balancing, performance, and stability improvements.
    * Significantly reduced OS memory fragmentation during process lifecycle.  
    * fixed 5 memory leaks.
    * DizzyTorrent could try to connect to itself when behind a NAT. fixed.
    * PeerID was not properly randomized. fixed.
    * Bug preventing upload to other peers fixed. 
    * Program will now exit automatically if launched with NOGUI and ARexx is 
      not available. (without AREXX or GUI there is no way to control program)
    * Added BanPeer,UnbanPeer,KillPeer,KillAllPeers, MemReport Arexx commands.
    * Added more information to GetPeerStatus : ProcessCycles
    * Added more information to GetTorrentStatus : InvocationTime
    * Bug which let DizzyTorrent stay connected to an idle peer without 
      any KeepAlive messages fixed.
    * Improved accuracy of bandwidth throttling mechanism.
1.06  August 2 2018
    * AREXX GetTorrentStatus(), GetFileStatus(), GetTorrentFiles() was only
      updating if the mainwindow is not hidden.
    * 'About' window now displays ARexx port name.  
    * DizzyTorrent AREXX reference improvements, errata.
    * Use ReadArgs( )to parse command line switches. Amiga User Interface Style
      Guide compliant.
    * New command line switch PORTNAME to set AREXX portname
    * New command line switch NOGUI to start with no GUI active.
    * New command line switch SETTINGS to override default settings file 
    * Changes in AREXX Api to use standard Amiga templates.
    * Removed some some overlap in AREXX Api.
    * Added AREXX HELP, DizzyTorrent command.
    * AREXX API now returns error details in RC2 variable.
    * Created /arexx/ subdirectory and ARexx program dz-status.rexx to allow
      checking status of DizzyTorrent when there is no GUI
    * DizzyTorrent AREXX can now be addressed with the ADDRESS command and no
      longer automatically loads itself as a function library.
1.05  July 18 2018
    * Virtually all functionality can be controlled via AREXX, including 
      hidden mode to remove GUI to run as a background resident process.
    * Moved Documentation into AmigaGuide format
    * Readme file now only contains history.
1.04  April 5 2018
    * OS4.1 FE when the last byte in a file lines up with the piece boundary, 
      program could not complete the download. 1.03 showed error. Earlier
      versions become slower and appeared to stop downloading. Fixed.
	* GUI - Torrent comments now adjust wrap width when window it resized.
    * Hitting cancel on file requestor would cause program to exit without
      closing shared libraries - fixed.
    * Morphos 3.9+: SetSocketSignal caused undefined side effects on MorphOS. 
      Replaced with SocketBaseTagList. MorphOS reported that 
      graphics.library can't be opened.
	* Morphos: Proportional gadget didn't work due to different treatment of
      excessive PGA_Visible attributed. Fixed. 
    * Minor improvements to GUI cpu efficiency.
1.03  March 30 2018
    * Fixed Bug: Peers that didn't complete a handshake could stay alive 
    * Fixed Bug: a number of illegal memory accesses - (caused grim reapers in 
	  OS4.1. Probably caused less frequent problems in OS2 and 3 as well).
    * Some rules regarding gadgets that OS4 enforces which I can't find 
      documentation of in 3.x, are now followed, removing some grim reapers.
    * Main window now opens only after the torrent file is read and processed.
    * A 1-time memory allocation at program launch was missing an associated 
      deallocation - losing as much ram as the filesize of the torrent file. 
    * Peer info page was rendering information about 'suspended peers', 
      which have no current TCP connection. Removed this information.
    * Improved handling of in-memory peer list.
	* CTRL-C was incorrectly interrupting sockets.
    * Trackers are polled less frequently, slightly reducing overhead in
      torrents with many trackers.	
    * ixemul.library is no longer used or required - increasing stability in
      OS4 when 2 or more instances are running.
    * Automatically sets own stacksize to 32kb if necessary.
    * Errors generated when run from Workbench will automatically open a
      console window rather than be invisible.
    * Added sha_taskname configuration setting
1.02 Amiga OS 4 Improved Compatability (Feb 28 2018)
    * Fixed bug that caused crash in OS4 if menu was activated but no item was 
    * Fixed a bug that cause crash in OS4 if About Window, or Add Peer window
      was closed with close gadget.
    * Fixed graphical bug in menus that caused menu to appear grayed out 
      invisible (especially in OS4).
    * Increased Stack size in .info file to 32000 bytes.
    * Change default task priority in info file to -10
    * dz_FS and dz_SHA1 tasks now copy the parent priority.
    * DizzyTorrent now appears Amiga OS4.1 compatible (requires Ixemul).
1.01 (hotfix) (February 4 2018)
    * 1.0 added a bug that when when launched from CLI, DizzyTorrent could 
      unlock the current directory, this can cause the shell to freeze or 
	  act abnormally after DizzyTorrent terminates. fixed
    * When launched from Icon, DizzyTorrent would leak a lock on the starting
      directory. This would prevent you from deleting that directory without
      rebooting. fixed.	  
1.0 First Official Release (February 3 2018)
    * DizzyTorrent now has a tool icon.
    * All configuration settings can be set as Tooltypes.
    * Select a torrent and double click tool to launch DizzyTorrent directly 
      from workbench and start torrenting.
    * Uncommon crash on exiting DizzyTorrent introduced in 1.0b7-fixed.
    * "About" window with copyright info.
    * AppIcon uses DizzyTorrent logo.
    * Improved protothread control to make GUI more responsive to user.
    * GUI fixed to work with non-proportional fonts.
    * Some optimizations.
    * font configuration can now be set to "default" to use default screen font.
    * font sizes can be set to -1 to use default screen font size.
    * "Add Peer" window now opens centered on screen.
    * GUI scroller gadget now reacts continuously in realtime.
    * Improved layout of files info page.
1.0 Beta 9 (hotfix) (January 25 2018)
    * Slightly tweaked load balancing for better performance across wider range
      of systems.

1.0 Beta 8 (January 24 2018)
    * DizzyTorrent would terminate immediately with a bencoding error if 
      loading a torrent that had 0 trackers. Fixed.
    * Show count of Trackers on torrent view page.
    * A bug in parsing of torrent announce-lists, caused lists to be reloaded
      repeatedly leading to slow load times and memory waste when loading a 
      torrent with a very long announce-list. Fixed.
    * Performance improvements.
    * Passing invalid torrent specification on command line returns with more
      sensible error message "Could not find torrent".
    * Beta 7 would output random number seed on start. Removed. 
1.0 Beta 7 (January 16 2018)
    * removed all linkage to pthread library. Smaller binary. Less memory 
      usage. Faster.  No dependancy on any LGPL software.
    * DizzyTorrent now uses non-blocking sockets for UDP. DizzyTorrent can 
      abort while awaiting response. Unresponsive UDP Trackers caused 
      DizzyTorrent to become unresponsive while waiting for UDP to timeout. 
    * Better gui response during Announce.
    * A torrent with many trackers (dozens), will cause DizzyTorrent to use
      too many sockets and lead to system instability. Now DizzyTorrent only 
      works on [throttle]concurrent_announce trackers simultaneously, and 
      works its way through the list sequentially.
    * create new [throttle]concurrent_announce setting in dz.config.  Default
      is 5.
    * Now seems to work on OS 4.0 JIT emulation.  
1.0 Beta 6 (January 6 2018)
    * optimization reduces protocol overhead and slightly reduces cpu usage.
    * Dizzytorrent was not properly indicating when an unsupported tracker URL 
      protocol was detected. (https tracker specifically)
    * Handles trackers returning a failure with a non bencoded 
    "Invalid Request" html page.
    * Implemented BEP-24 to discover external IP - but unverified.
    * Implemented BEP-10 Extension protocol.
    * Displays peer client version, if peer used extension handshake.
    * Improve calculation for the proportional gadget and minor layout change.

1.0 Beta 5 (Dec 27 2017)
    * More SHA1 optimization, about 44% faster SHA1 than beta 4. (SHA1 on 512KB
    block takes 1.43 seconds vs 2.59 seconds on 50mhz 68030.) 
    * End game strategy improved to reduce redundant download blocks.
    * Improvements to automatic load moderating to have a better balance of 
    concurrent peers matched to cpu utilization.
    * Improvement to bandwidth throttling.
    * Improvements to block request scheduling to reduce protocol overhead.
    * Fixed bug where throttling would result in closure of peers. 
    * optimized throughput metering code.
    * Overall downloading with beta5 on a 50mhz 030 using plipbox and AmiTCP 3 
    is about 12% faster than Beta4.
1.0 Beta 4 (Dec 18 2017)
    * Performance improvements connecting to HTTP Trackers
    * Minor SHA1 optimization
    * graphics text rendering bug on Torrent Details page
1.0 Beta 3 (Dec 13 2017)
    * Improved operation with torrents with many Trackers.
    * Improved operation with trackers with many unreachable peers
    * File progress display bug fixed
    * aminet back up so hopefully this version can be listed. 
1.0 Beta 2 (Dec 12 2017)
    * DZ would hang when accessing a UDP tracker
    * Interval timer wrong for UDP tracker
1.0 Beta 1 (December 10 2017)
    * Presented at World of Commodore Toronto 2017

Contents of comm/tcp/dizzytorrent1.11.lha
---------- ----------- ------- ------- ------ ---------- ------------ ----------
[unknown]                 1236    3479  35.5% -lh5- b339 Aug  2 00:36 dizzytorrent1.11/arexx/dz-status.rexx
[unknown]               470935 1161996  40.5% -lh5- d417 Oct  6 15:43 dizzytorrent1.11/DizzyTorrent
[unknown]                17574   47969  36.6% -lh5- 548d Oct  6 16:27 dizzytorrent1.11/
[unknown]                 5317    8124  65.4% -lh5- 5023 Oct  6 16:32 dizzytorrent1.11/
[unknown]                 5733   13982  41.0% -lh5- b547 Oct  6 16:36 dizzytorrent1.11/dizzytorrent1.11.readme
[unknown]                 1704    5152  33.1% -lh5- 826c Sep 30 02:38 dizzytorrent1.11/dz.config
[unknown]                 1367    2914  46.9% -lh5- 9d6a Sep 30 02:37 dizzytorrent1.11/LICENSE.txt
---------- ----------- ------- ------- ------ ---------- ------------ ----------
 Total         7 files  503866 1243616  40.5%            Oct  6 19:11

Aminet © 1992-2021 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>