Hangar.La tienda de software del Amiga

curl-8.23.0 8.23.0

curl 8.23.0 + libcurl, HTTPS via AmiSSL

Short:        curl 8.23.0 + libcurl, HTTPS via AmiSSL
Author:       Daniel Stenberg et al. (curl), Matthias Muench (Port)
Uploader:     curl amigaworld de (Matthias Muench)
Type:         comm/tcp
Version:      8.23.0
Replaces:     comm/tcp/curl-8.23.0.lha
Requires:     bsdsocket.library v4 TCP/IP stack, AmiSSL 5.27+ (68020+ builds)
Architecture: m68k-amigaos >= 3.0.0
Distribution: Aminet

curl 8.23.0 for AmigaOS 3
=========================

curl transfers data with URLs: HTTP(S), FTP(S), and many more protocols,
from the Shell or from scripts. This is curl 8.23.0 (released 14.10.2026)
with its static library libcurl, built with GCC 13.4 for five CPU levels.

  * HTTPS and the other TLS protocols through AmiSSL 5 (68020 and up),
    certificates checked against AmiSSL:Certs
  * no FPU needed in any build
  * works with a 4 KB Shell stack (curl sets up 64 KB itself)
  * AmigaDOS paths everywhere: volumes, assigns, "/" for the parent
    directory, file:///RAM:file URLs
  * Ctrl-C stops a running transfer
  * fast: 10.6 MB/s over HTTP on a Vampire V4SA (wire speed of its
    100 MBit port), HTTPS prefers ChaCha20, about twice as fast as AES
    on a 680x0
  * no ixemul, no usergroup.library

Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs
ipns mqtt mqtts pop3 pop3s rtsp smtp smtps telnet tftp ws wss
(the 68000 build has no TLS, so none of the "s" variants).


Installation
------------

Copy the curl for your CPU to C:

  CPU                              copy
  68000 / 68010                    C/curl.000   (no TLS)
  68020                            C/curl.020
  68030                            C/curl.030
  68040 / 68LC040                  C/curl.040
  68060 / 68LC060                  C/curl.060
  68080 (Vampire)                  C/curl.060   (curl.040 works as well)

for example

  Copy curl/C/curl.060 C:curl

The 68020-68060 builds need AmiSSL 5.27 or newer (amisslmaster.library
v5). With an older AmiSSL 5 they stop at startup with a message from
AmiSSL.

Memory: a running curl needs about 1 MB without TLS. With TLS it needs
about 1.3 MB if AmiSSL is already in memory and up to 4.6 MB if curl has
to load it. A machine with 4 MB of Fast RAM is not enough for HTTPS.


Usage notes
-----------

  curl https://aminet.net/
  curl -O https://example.com/file.lha
  curl -L -o RAM:page.html https://example.com/
  curl --output-dir Work:Download -O https://example.com/file.lha

  * Character set: curl does not convert anything. What you type is sent
    as Latin-1 (-d, -H, -u, -F, file names); umlauts in URLs become %FC
    etc. UTF-8 pages show up garbled in the Shell window.
  * Progress meter: it is 79 characters wide. In a narrower Shell window
    every update goes to a new line - use a wider window, -# or -s.
  * Requesters: a missing volume (-o NOVOL:x) or a full disk opens the
    usual system requester; in a script curl waits until it is answered.
  * Environment: http_proxy, HOME, CURL_HOME, CURL_CA_BUNDLE etc. are
    read from ENV: (SetEnv). .curlrc is looked for in $HOME/$CURL_HOME.
  * File names from -O and -J (URL, Content-Disposition) are cut after
    the last "/", "\" or ":", so a server cannot write to S:, LIBS: or
    another volume.
  * No IPv6, no HTTP/2, no --compressed (no zlib), no IDN.


For programmers
---------------

Libs/libcurl.a.<cpu> are static libraries built with clib2; your program
has to use clib2 as well (-mcrt=clib2), libnix does not work. Headers are
in Include/, the AmiSSL link libraries (one build for all TLS CPUs) in
Libs/.

  m68k-amigaos-gcc -m68020 -msoft-float -mcrt=clib2 -Icurl/Include \
      -o prog prog.c curl/Libs/libcurl.a.020 \
      -Lcurl/Libs -lamisslstubs -lamisslauto -lnet -lm \
      -Wl,--allow-multiple-definition

  * the 68000 build needs no -lamisslstubs/-lamisslauto
  * 68030/040/060: compile with the CPU flag, link with -m68020 (only the
    libm020 multilib is FPU-free)
  * call curl_global_init() once at program start (not thread-safe)
  * use the headers of the AmiSSL 5.27 SDK

Docs/README.txt (German) has all details of the port and the build.


Port changes
------------

curl already supports AmigaOS (bsdsocket.library, AmiSSL backend). Eight
small patches (Build/port/patches) fix what testing found on AmigaOS 3:

  * -O/-J: names like "RAM:x" or "S:x" from the server were absolute
  * cookie jar, HSTS and alt-svc files were never written (AmigaDOS
    Rename() does not replace an existing file)
  * Ctrl-C was ignored during transfers
  * --output-dir RAM: failed, "dir/" wrote to the wrong directory
  * file:///RAM:file asked for a volume named "/RAM"
  * -z <file> sent the year 2106 (clib2 time_t is unsigned)
  * downloads bypass clib2's fwrite(), which handled every byte on its
    own and halved the download speed
  * with AmiSSL, ChaCha20-Poly1305 is offered first (TLS 1.3 and 1.2);
    AES stays available, your own --ciphers/--tls13-ciphers win

Build fixes: realpath() is disabled (clib2 wrote its result to address 0
when called with a NULL buffer, which froze the machine on --cacert);
the AmiSSL autoinit is built with -fno-inline (it passed a broken tag
list, every TLS build crashed); clib2's stdarg.h uses the GCC builtins
(va_start was broken with GCC 13). Build/ has the scripts, the patches
and the container files for the toolchain.


Speed
-----

Vampire V4 Standalone (68080, Roadshow 1.15, 100 MBit), curl.060:

  HTTP, 10 MB to NIL:           10.6 MB/s
  HTTP, 10 MB to RAM:           8.6 MB/s
  HTTPS aminet.net              814 KB/s
  HTTPS Cloudflare              646 KB/s
  HTTPS GitHub                  551 KB/s

HTTPS speed depends on the CPU only (AmiSSL does the crypto). Servers
that insist on their own cipher order still use AES (about 370 KB/s
here). A TLS handshake takes about 0.5 s on the 68080.


Tested
------

  * AmigaOS 3.2 in Amiberry with AmiSSL 5.27: 68000 build on a 68000
    (A500 Kickstart, ECS), 68020/030/040 builds on matching CPUs; a test
    suite with 70 tests per build: AmigaDOS paths and volumes, character
    set (raw bytes checked at the server), date and time zone, console,
    Shell quoting, return codes, Ctrl-C, memory leaks, parallel
    instances, network errors and time-outs, proxy from ENV:,
    dict/gopher/FTP, TLS 1.2/1.3. All passed (Docs/AMIGATEST.txt).
  * Vampire V4 Standalone (68080, AmigaOS 3.2.3, Roadshow 1.15, AmiSSL
    5.27): basic network/TLS test with all builds, full suite with the
    68060 build. All passed.
  * no memory lost after 20 HTTP, 10 HTTPS calls and after Ctrl-C

Not yet tested on a real 68000-68060, with other TCP/IP stacks than
Roadshow (AmiTCP, Miami, Genesis), or on Kickstart 3.0/3.1.
Reports welcome.


History
-------

8.23.0 (15.10.2026)  first release


License
-------

curl: curl license (MIT style), see COPYING, (c) Daniel Stenberg and
contributors. The TLS builds contain the AmiSSL link stubs, Apache
License 2.0, see LICENSE.AmiSSL. Amiga patches and build files (c) 2026
Matthias Muench, under the curl license.

Gratis

Descargar 4.1 MB

Desde el Amiga: abre Hangar y busca curl-8.23.0.

AutorDaniel Stenberg et al. (curl), Matthias Muench (Port)
Categoríacomm/tcp
Tamaño4.1 MB
Fecha2026-11-01
Param68k-amigaos >= 3.0.0
Necesitabsdsocket.library v4 TCP/IP stack, AmiSSL 5.27+ (68020+ builds)
OrigenAminet