AminetAminet
Search:
85516 packages online
About
Recent
Browse
Search
Upload
Setup
Services

comm/tcp/GitFetch.lha

Mirror:Random
Showing: m68k-amigaos iconppc-amigaos iconppc-morphos iconi386-aros iconi386-amithlon iconppc-warpup iconppc-powerup icongeneric iconother icon
No screenshot available
Short:Fetch GitHub releases,ReAction GUI
Author: m.burgerhout at gmail.com (Mathieu Burgerhout)
Uploader:m burgerhout gmail com (Mathieu Burgerhout)
Type:comm/tcp
Version:0.1
Architecture:m68k-amigaos >= 3.5
Date:2026-08-24
Requires:OS 3.5+ for ReAction; bsdsocket.library; AmiSSL 5; a correctly set clock
Distribution:Aminet
Download:comm/tcp/GitFetch.lha - View contents
Readme:comm/tcp/GitFetch.readme
Downloads:9

GitFetch -- fetch GitHub releases on an Amiga, without any hassle
================================================================

Nearly all new Amiga software is published through GitHub releases, which
is awkward since there is no way to download the releases on the machine
itself: no browser for the platform can handle the CSS and JavaScript
Github.com relies on. Getting to the newest .lha usually means walking
over to a modern computer and transfer it back to your Amiga (what is
your method of choice?)

GitFetch does that part for you. Type a GitHub address or owner/repo,
pick a release and a file, and it lands on your hard drive.

It downloads, and nothing else. Unpacking and installing stay in your own
hands, with the tools you already trust.


WHAT IT DOES

  - a ReAction window with three lists: repositories you have saved,
    the releases in one of them, and the files in that release
  - saved repositories kept as plain text in ENVARC:, so you can edit the
    list by hand or copy it to another Amiga
  - accepts anything you paste: owner/repo, github.com/owner/repo, a full
    https address, or a link that ends in /releases/latest
  - capitals do not matter: boingball/mintprint finds boingball/MintPRINT,
    and a repository already saved is not added twice for being typed
    differently
  - choose how many releases to fetch, which keeps the traffic down
  - asks before overwriting a file, and warns when the volume looks too
    full to hold it
  - downloads run in a process of their own, so the window stays
    responsive and Stop works during a transfer; you can iconify it and
    the download carries on
  - checks the system clock before connecting, because a wrong date makes
    TLS fail in a way that says nothing about dates
  - remembers where you left the window
  - English interface, ready for translation through locale catalogs


TWO WAYS TO REACH GITHUB WITH GITFETCH

There are two options to download from your favorite repo, switchable in
the settings.

Directly, through AmiSSL. No server of your own needed. GitHub sends its
full reply (around 240 KB for 25 releases), mostly release notes that get
thrown away -- and all of it passes through TLS decryption on a 68k.

Through a proxy. A small Python script, included, using only the standard
library. It turns the same reply into about 5 KB of plain text, already
converted to the Amiga character set, and caches it so GitHub's limit of
60 requests per hour is not an issue. Faster and lighter, but it only
works while that server runs.

The setting for how many releases to fetch matters most on a direct
connection: "latest" costs a fraction of "all".

Fields that do not apply to your choice are greyed out: with a direct
connection the proxy details are irrelevant, and the other way round the
certificate check is.


REQUIREMENTS

  - AmigaOS 3.5 or newer, for the ReAction classes
  - Recommended: 68020 or better
  - A screen of 640x400 or larger
  - A TCP/IP stack: Roadshow, AmiTCP, Miami or Genesis
  - AmiSSL 5 or newer, from Aminet
  - A correctly set system clock, for the SSL negotiation to work

That last one is easy to overlook. An Amiga without a working
battery-backed clock starts in 1978, and every TLS certificate then looks
"not yet valid", so the connection fails with an error that says nothing
about dates. GitFetch checks the date before connecting and says so
plainly. It does not set the clock itself; that belongs to a proper time
program such as the NTP client built into Roadshow.

    date
    date 24-aug-26 12:00:00

If you would rather not deal with AmiSSL or the clock at all, the included
proxy needs neither.


INSTALLING

Unpack and double-click Install, or copy the GitFetch drawer wherever you
like -- it does not care where it lives. Copying by hand, set the
executable bit yourself:

    Protect GitFetch +e

The archive format does not carry that bit, and without it the Shell
refuses to start the program.

Settings live in ENVARC:GitFetch/ and survive a reboot.

Full documentation is in GitFetch.guide; open it with MultiView.


KNOWN BUGS

None yet. If you find one, please report it with your AmigaOS version,
your TCP/IP stack, and whether you were using a direct connection or the
proxy. Those three narrow it down considerably.


THANKS

Jens Maus and everyone behind AmiSSL, everyone at the Amiga Cafe
(https://amiga.cafe), RVO for my Amiga revival, Darren Banfi whose Mint
projects started this, and every (vibe) coder still keeping our old
girlfriend alive. And you for using it!


LICENCE

Freeware. Use it, share it, take it apart.

Source, issues and newer versions:

    https://github.com/MathieuSEO/GitFetch

GitFetch can fetch its own updates: that repository is in the saved list
from the start.

This archive always carries the newest version under the same name, so a
new release replaces the previous one here. Older versions stay available
on GitHub under Releases.

(c) 2026 Mathieu Burgerhout


Contents of comm/tcp/GitFetch.lha
 PERMSSN    UID  GID    PACKED    SIZE  RATIO METHOD CRC     STAMP          NAME
---------- ----------- ------- ------- ------ ---------- ------------ -------------
drwxr-xr-x   501/20          0       0 ****** -lhd- 0000 Aug 24 09:38 GitFetch/
-rwxr-xr-x   501/20      20085   35276  56.9% -lh5- 1c56 Aug 24 09:38 GitFetch/GitFetch
-rw-r--r--   501/20       4420   10403  42.5% -lh5- 1196 Aug 24 09:38 GitFetch/GitFetch.guide
-rw-r--r--   501/20        162     722  22.4% -lh5- 2e08 Aug 24 09:38 GitFetch/GitFetch.guide.info
-rw-r--r--   501/20        258     842  30.6% -lh5- ba6b Aug 24 09:38 GitFetch/GitFetch.info
-rw-r--r--   501/20        851    1805  47.1% -lh5- ce1d Aug 24 09:38 GitFetch/Install
-rw-r--r--   501/20        148     708  20.9% -lh5- e2cc Aug 24 09:38 GitFetch/Install.info
-rwxr-xr-x   501/20      16320   27076  60.3% -lh5- 45ac Aug 24 09:38 GitFetch/gftest
drwxr-xr-x   501/20          0       0 ****** -lhd- 0000 Aug 24 09:38 GitFetch/server/
-rw-r--r--   501/20       1612    3157  51.1% -lh5- 9586 Aug 24 09:38 GitFetch/server/README-proxy.en.md
-rw-r--r--   501/20       1555    2953  52.7% -lh5- e521 Aug 24 09:38 GitFetch/server/README-proxy.nl.md
-rw-r--r--   501/20       5494   16069  34.2% -lh5- 9103 Aug 24 09:38 GitFetch/server/gitfetch_proxy.py
-rw-r--r--   501/20       1910    4510  42.4% -lh5- 970d Aug 24 09:38 GitFetch/server/test_proxy.py
-rw-r--r--   501/20         94     694  13.5% -lh5- c722 Aug 24 09:38 GitFetch.info
-rw-r--r--   501/20       2599    5338  48.7% -lh5- d8e0 Aug 24 09:38 GitFetch.readme
---------- ----------- ------- ------- ------ ---------- ------------ -------------
 Total        15 files   55508  109553  50.7%            Aug 24 10:42
Page generated in 0.03 seconds
Aminet © 1992-2024 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>