AminetAminet
Search:
85692 packages online
• About
• Recent
• Browse
• Search
• Upload
• Setup
• Services

comm/tcp/GitFetch.lha

Mirror:Random
Showing: m68k-amigaos icongeneric 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.2
Architecture:m68k-amigaos >= 3.5
Date:2026-10-13
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:282

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'S NEW IN 0.2

  - the window reopens where you left it, and the button beside
    "Save in" works (both reported by yelworC on amiga-news.de)
  - give a repository on the command line, GitFetch owner/repo, and it
    is fetched straight away; handy from a browser's link menu
  - pop-up notifications through Herald, Ranchero or Ringhio when a
    download finishes or fails
  - Dutch and German translations; every message can now be translated
  - the source code zip of each release is offered on a direct
    connection too
  - releases with more than twelve files keep their Amiga archives and
    say how many more there are on GitHub
  - a large enough stack on every AmigaOS version


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
  - every file of a release is listed, whatever its type; when there
    are more than twelve, .lha, .lzx, .zip, .adf and friends go first
  - the source code zip GitHub offers with each release is in the list
  - start it with a repository from the Shell or a browser:
    GitFetch boingball/mintprint
  - notifications through Herald, Ranchero or Ringhio, if one runs
  - English, Dutch and German, chosen by Locale prefs or the LANGUAGE
    tooltype; more languages need only a catalog


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.

Reported working on AmigaOS 3.2, 3.9 and 4.1, on AmiKit and on PiStorm32.


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 known. One limitation: the progress bar stays at 0% while the
source code zip downloads, because GitHub does not say in advance how
large that zip will be. The download itself is fine.

If you find a bug, 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 Oct 13 13:55 GitFetch/
drwxr-xr-x   501/20          0       0 ****** -lhd- 0000 Oct 13 13:55 GitFetch/Catalogs/
drwxr-xr-x   501/20          0       0 ****** -lhd- 0000 Oct 13 13:55 GitFetch/Catalogs/deutsch/
-rw-r--r--   501/20       2053    4368  47.0% -lh5- e5d8 Oct 13 13:55 GitFetch/Catalogs/deutsch/GitFetch.catalog
drwxr-xr-x   501/20          0       0 ****** -lhd- 0000 Oct 13 13:55 GitFetch/Catalogs/nederlands/
-rw-r--r--   501/20       1984    4212  47.1% -lh5- 5a2b Oct 13 13:55 GitFetch/Catalogs/nederlands/GitFetch.catalog
-rwxr-xr-x   501/20      27084   47624  56.9% -lh5- 4a37 Oct 13 13:55 GitFetch/GitFetch
-rw-r--r--   501/20       6302   14973  42.1% -lh5- 5a3e Oct 13 13:55 GitFetch/GitFetch.guide
-rw-r--r--   501/20        162     722  22.4% -lh5- 2e08 Oct 13 13:55 GitFetch/GitFetch.guide.info
-rw-r--r--   501/20        258     842  30.6% -lh5- ba6b Oct 13 13:55 GitFetch/GitFetch.info
-rw-r--r--   501/20        851    1805  47.1% -lh5- e9ff Oct 13 13:55 GitFetch/Install
-rw-r--r--   501/20        148     708  20.9% -lh5- e2cc Oct 13 13:55 GitFetch/Install.info
-rwxr-xr-x   501/20      18205   30616  59.5% -lh5- 3335 Oct 13 13:55 GitFetch/gftest
drwxr-xr-x   501/20          0       0 ****** -lhd- 0000 Oct 13 13:55 GitFetch/server/
-rw-r--r--   501/20       1612    3157  51.1% -lh5- 9586 Oct 13 13:55 GitFetch/server/README-proxy.en.md
-rw-r--r--   501/20       1555    2953  52.7% -lh5- e521 Oct 13 13:55 GitFetch/server/README-proxy.nl.md
-rw-r--r--   501/20       6433   18633  34.5% -lh5- 1ef8 Oct 13 13:55 GitFetch/server/gitfetch_proxy.py
-rw-r--r--   501/20       2944    7437  39.6% -lh5- e818 Oct 13 13:55 GitFetch/server/test_proxy.py
-rw-r--r--   501/20         94     694  13.5% -lh5- c722 Oct 13 13:55 GitFetch.info
-rw-r--r--   501/20       3153    6714  47.0% -lh5- 3696 Oct 13 13:55 GitFetch.readme
---------- ----------- ------- ------- ------ ---------- ------------ -------------
 Total        20 files   72838  145458  50.1%            Oct 13 23:14
Page generated in 0.02 seconds
Aminet © 1992-2024 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>