.. _obtaining:

Obtaining iperf3
================

Binary Distributions
--------------------

Note that ESnet does not distribute binary packages of iperf3.  All of
the packages listed in this section are provided by third parties, who
are solely responsible for their contents.  This is an incomplete list
of binary packages:

* FreeBSD:  `benchmarks/iperf3
  <http://freshports.org/benchmarks/iperf3>`_ in the FreeBSD Ports Collection
* Fedora / CentOS: `iperf3
  <https://apps.fedoraproject.org/packages/iperf3/>`_ and
  `iperf3-devel
  <https://apps.fedoraproject.org/packages/iperf3-devel>`_ in Fedora
  19 and 20 and in Fedora EPEL 5, 6, and 7.  iperf3 is included as a
  part of RedHat Enterprise Linux 7.4 and later (as well as CentOS 7.4
  and later).
* Ubuntu:  `iperf3 <https://launchpad.net/ubuntu/+source/iperf3>`_,
  is available in Trusty (backports), and as a part of the main
  release in Vivid and newer.
* macOS:  via HomeBrew.
* Windows:  `iperf3 binaries for Windows
  <https://iperf.fr/iperf-download.php#windows>`_ are available from
  iperf.fr (and other sources).

Source Distributions
--------------------

Source distributions of iperf are available as compressed (gzip)
tarballs at:

https://downloads.es.net/pub/iperf/

**Note:**  Due to a software packaging error, the 3.0.2 release
tarball was not compressed, even though its filename had a ``.tar.gz``
suffix.

**Note:**  GitHub, which currently hosts the iperf3 project, supports
a "Releases" feature, which can automatically generate ``.zip`` or ``.tar.gz``
archives, on demand, from tags in the iperf3 source tree.  These tags are
created during the release engineering process to mark the exact
version of files making up a release.

In theory, the ``.tar.gz`` files produced by GitHub contain the same
contents as what are in the official tarballs, note that the tarballs
themselves will be different due to internal timestamps or other
metadata.  Therefore these files will *not* match the published SHA256
checksums and no guarantees can be made about the integrity of the
files.  The authors of iperf3 always recommend downloading source
distributions from the the directory above (or a mirror site), and
verifying the SHA256 checksums before using them for any purpose, to
ensure the files have not been tampered with.

Source Code Repository
----------------------

The iperf3 project is hosted on GitHub at:

https://github.com/esnet/iperf

The iperf3 source code repository can be checked out directly from
GitHub using:

``git clone https://github.com/esnet/iperf.git``

Primary development for iperf3 takes place on CentOS 7 Linux, FreeBSD 11,
and macOS 10.12. At this time, these are the only officially supported
platforms, however there have been some reports of success with
NetBSD, OpenBSD, Windows, Solaris, Android, and iOS.