84512 packages online


No screenshot available
Short:AmigaOS BitTorrent client with MUI+AREXX
Author:David Zvekic <david.zvekic at>
Uploader:David Zvekic <david zvekic gmail com>
Requires:8MB fastram, 68020+/Vampire, MUI 3.9+
Architecture:m68k-amigaos >= 2.0.4
Download: - View contents

DizzyTorrent is an efficient BitTorrent implemention, written for the Amiga 68k 
that operates on real classic hardware, or emulation and can be controlled 
with a MUI based graphical interface or using AREXX. 

DizzyTorrent is designed for AmigaOS 3.1 but is also tested to work on PPC
AmigaOS 4.1, and MorphOS 3.9+.

Registering DizzyTorrent will help the author finance his extensive coffee 

     Implemented protocols are:
        BEP-3  The BitTorrent Protocol Specification
        BEP-6  Fast Extension
        BEP-10 Extension Protocol
        BEP-12 Multitracker Metadata Extension
        BEP-15 UDP Tracker Protocol
        BEP-20 PeerID Convention
        BEP-23 Tracker Returns Compact Peer Lists
        BEP-24 Tracker Returns External IP

      Additional Features include :
        File prioritization
        Multiple concurrent torrents
        Bandwidth, CPU and memory throttling
        Customizable GUI using MUI.
        Full Arexx scripting control and monitoring of all functions.
        Load save multiple torrent settings together as a single project.
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, Motorola 
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
2.20 Jan 19 2019
    * Performance enhancements, and assorted bug fixes, reduced memory and CPU 
      requirements when hash check disabled.
    * Improved load balancing of available peer connections between multiple
    * ARexx does not need to be explicitly started before DizzyTorrent anymore.
    * Significantly improved flow control between network, SHA1 and file
    * New Command line switch - EMPTYPROJECT
    * Hash check can be disabled when downloading torrent (at launch or any 
      time).  Significantly reduced memory and CPU requirements in this mode. 
    * Bitmap and Download Data path can be explicitly set independantly for 
      torrent when it is first opened.
    * New LOADTORRENT Arexx command.
    (Registered Users Only)
    * Validate the SHA1 hash of any torrent as a co-process. (This is most 
      useful when disk SHA1 validation was turned off, or data corruption is 

2.11 Dec 20 2018
    * German, Greek localization.
    * memory efficiency, and other performance enhancements. Lower RAM 
      requirements (tested as low as 8MB fastram).
    * Bug fixes.
    * added maxOpenRequestsPerPeer throttle setting.
    * Information dialog was wrongly titled with the word "Error".

2.10 November 26 2018
    * Support for Localization. (Italian, Swedish, Serbian, French, Finnish,
    * Open torrents on close are now automatically resumed on launch.
    * Typographical correction suggested by Samir Hawamdeh
    * Program now refuses to start if stack is less than 16384 bytes.
    * Launch argument PROJECT or TORRENTFILE may be provided.
    * Bug fixes

2.0  October 19 2018
    * DizzyTorrent is now Shareware.
    * MUI 3.9/4.0/5.0 user interface.
    * Replaced previous AREXX port with MUI based AREXX port to work like other
      MUI programs. Default name is DZREXX.1 instead of DZREXX.01
    * Multiple simultaneous torrents in 1 program instance.
    * File Download Prioritization
    * Performance Improvements
    * Fix bug in iconfication. Depending on the launch method used Program could
      always locate the .info file.
    * Save/Load Project files. Multiple torrents in 1 file.
    * Added TorrentCount,CloseTorrent ARexx function.

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 as 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 February 28 2018 (AmigaOS 4 Improved Compatibility)
    * 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 February 4 2018 (hotfix)
    * 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  February 3 2018 (First Official Release)
    * 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 AmigaOS 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/dizzytorrent2.lha
---------- ----------- ------- ------- ------ ---------- ------------ ----------
[unknown]                 1320    3545  37.2% -lh5- 1c5b Oct 19 00:35 dizzytorrent2.20/arexx/dz-status.rexx
[unknown]                 7206   13074  55.1% -lh5- e1a8 Nov 13 12:11 dizzytorrent2.20/contributions/IconSet/
[unknown]                 4686    4686 100.0% -lh0- de41 Nov 13 12:11 dizzytorrent2.20/contributions/IconSet/DizzyTorrent2_set1/
[unknown]                 6593    7444  88.6% -lh5- aa48 Nov 13 18:13 dizzytorrent2.20/contributions/IconSet/DizzyTorrent2_set1/
[unknown]                10624   14840  71.6% -lh5- 2565 Nov 13 16:26 dizzytorrent2.20/contributions/IconSet/
[unknown]                 6677    7082  94.3% -lh5- 58ca Nov 13 18:08 dizzytorrent2.20/contributions/IconSet/DizzyTorrent2_set2/
[unknown]                 8511    9122  93.3% -lh5- dfff Nov 13 18:08 dizzytorrent2.20/contributions/IconSet/DizzyTorrent2_set2/
[unknown]                   91     100  91.0% -lh5- b1dd Nov 13 18:22 dizzytorrent2.20/contributions/IconSet/Iconset.readme
[unknown]               544313 1314280  41.4% -lh5- dcc9 Jan 19 04:47 dizzytorrent2.20/DizzyTorrent
[unknown]                26382   72594  36.3% -lh5- 055e Jan 19 05:10 dizzytorrent2.20/
[unknown]                 5310    8074  65.8% -lh5- a09a Dec 19 23:58 dizzytorrent2.20/
[unknown]                 6911   17097  40.4% -lh5- bd28 Jan 19 05:18 dizzytorrent2.20/dizzytorrent2.readme
[unknown]                 1695    4853  34.9% -lh5- 62a9 Dec 19 21:06 dizzytorrent2.20/dz.config
[unknown]                 1368    2913  47.0% -lh5- c342 Jan 19 05:22 dizzytorrent2.20/LICENSE.txt
[unknown]                 1878    4127  45.5% -lh5- 83b3 Jan 18 22:14 dizzytorrent2.20/locale/dzlocale.deu
[unknown]                 1800    3852  46.7% -lh5- 03fc Jan 18 22:12 dizzytorrent2.20/locale/dzlocale.english
[unknown]                 1902    3982  47.8% -lh5- cd7f Jan 18 22:13 dizzytorrent2.20/locale/dzlocale.fin
[unknown]                 2061    4689  44.0% -lh5- 7a93 Jan 18 22:11 dizzytorrent2.20/locale/dzlocale.fra
[unknown]                 2342    4603  50.9% -lh5- 3f5e Jan 18 22:11 dizzytorrent2.20/locale/dzlocale.greek
[unknown]                 2000    4558  43.9% -lh5- 99f9 Jan 18 22:13 dizzytorrent2.20/locale/dzlocale.italiano
[unknown]                 1936    4107  47.1% -lh5- cacb Jan 18 22:13 dizzytorrent2.20/locale/dzlocale.serb
[unknown]                 1833    3834  47.8% -lh5- 3fd6 Jan 18 22:13 dizzytorrent2.20/locale/dzlocale.swe
[unknown]                 5090    7724  65.9% -lh5- 0253 Dec 19 23:58
---------- ----------- ------- ------- ------ ---------- ------------ ----------
 Total        23 files  652529 1521180  42.9%            Jan 20 19:20

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