Skip to main content

Hairgap

Basic protocol to send files using the hairgap binary. The goal is to send random files through a unidirectionnal data-diode using UDP connections.

Build Status Documentation Status PyPI version LGTM Grade

By default, hairgap can only send a file, without its name nor metadata. This Python library implements a basic protocol to send complete directories with checksums.

This protocol is customizable and the sender can add some attributes (a Dict[str, str]) to each transfer.

  • We assume that the hairgap binary is installed and in the PATH environment variable.
  • The MAC adress of the destination must be known from the sender machine. You can inject this information into the ARP cache of the sender machine:
DESTINATION_IP="the IP address of the destination machine"
DESTINATION_MAC="the MAC address of the destination machine"
arp -s ${DESTINATION_IP} ${DESTINATION_MAC}

First, you must start the receiver on the destination side:

python3 -m pip install hairgap

DESTINATION_IP="the IP address of the destination machine"
pyhairgap receive ${DESTINATION_IP} directory/

Then you can send directories:

python3 -m pip install hairgap

DESTINATION_IP="the IP address of the destination machine"
pyhairgap send ${DESTINATION_IP} directory/

Hairgap binaries

You need to compile hairgap binaires yourself since no official package exists. However, a Python package (hairgap-binaries) has been created to distribute precompiled binaries for Linux x86_64. This package is automatically detected and used.

python3 -m pip install hairgap-binaries

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hairgap-1.2.5.tar.gz (18.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hairgap-1.2.5-py3-none-any.whl (26.6 kB view details)

Uploaded Python 3

File details

Details for the file hairgap-1.2.5.tar.gz.

File metadata

  • Download URL: hairgap-1.2.5.tar.gz
  • Upload date:
  • Size: 18.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for hairgap-1.2.5.tar.gz
Algorithm Hash digest
SHA256 aca0b58ac9ec6074885745a69ae13b899109edecba7002fadf37bc44248d0d75
MD5 cbfb81fdcd9bf45fa03bba20cb0c6cb7
BLAKE2b-256 a2ac3afbccbf5558c5b5fc43fff789bd497febce686e8498b0893c26172819d6

See more details on using hashes here.

File details

Details for the file hairgap-1.2.5-py3-none-any.whl.

File metadata

  • Download URL: hairgap-1.2.5-py3-none-any.whl
  • Upload date:
  • Size: 26.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for hairgap-1.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 d95e9829530f2c2d9634909877056ef908939e579afd12a621ab2bd17a59aa63
MD5 87c64e0e20c1ead465844447a8f8b5d9
BLAKE2b-256 a7fb37d46fbdbfdcacd5a78c9d629ec443aa13400ef556fc4c16f90f547a651b

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.2.5 This release

2 files

1.2.4

2 files

1.2.3

2 files

1.2.2

2 files

1.2.1

2 files

1.2.0

2 files

1.1.8

2 files

1.1.7

2 files

1.1.6

1 file

1.1.4

1 file

1.1.3

1 file

1.1.2

1 file

1.1.0

1 file

1.0.0

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page