Linux-only Python bindings for the onionlink Tor v3 onion-service client
Project description
onionlink
onionlink is a small Rust Tor v3 onion-service client with Python bindings. It talks directly to Tor relays, builds the minimum circuits needed for v3 onion-service access, and can exchange raw bytes or a simple HTTP request with the service.
Security and anonymity are explicit non-goals. This is a protocol experiment and interoperability tool, not a replacement for Tor Browser, Arti, or the Tor daemon.
What It Implements
- Downloads and parses the live microdescriptor consensus.
- Hydrates relay microdescriptors to obtain Ed25519 identities and ntor keys.
- Derives the v3 onion-service blinded key and subcredential.
- Selects HSDirs and fetches the v3 descriptor over a guarded
EXTEND2circuit. - Decrypts unprotected v3 onion-service descriptors.
- Parses introduction points, including link specifiers, intro ntor keys, auth keys, and service encryption keys.
- Establishes a rendezvous point over a guarded
EXTEND2circuit. - Sends
INTRODUCE1over a guarded intro-point circuit. - Completes hs-ntor from
RENDEZVOUS2. - Opens a stream to
:<port>and sends/receives relay data.
Dependencies
- Rust 1.83 or newer
- Python 3.10 or newer for the Python package
maturinfor Python wheel builds
On Arch Linux:
sudo pacman -S rust python python-pip
On Debian/Ubuntu-style systems:
sudo apt install build-essential curl python3 python3-pip
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Build
cargo build --workspace
Build Linux Python wheels with Docker:
docker build --target wheels --output type=local,dest=dist .
This writes Python 3.10+ manylinux wheels into dist/, including cp313t
and cp314t free-threaded wheels. The wheel build is Linux-only and uses
maturin to build the PyO3 extension.
Build a wheel directly on a Linux host with the native dependencies installed:
python -m pip wheel . -w dist
Run deterministic Rust parity tests:
cargo test --workspace
Run Python API tests after installing the test extra:
python -m pip install -e '.[test]'
PYTHONPATH=src python -m pytest
Python Client
The Python package exposes an OOP session API. A Session downloads the
microdescriptor consensus and hydrates relay microdescriptors once, then reuses
that directory state for multiple onion-service requests. Request methods release
the Python GIL while doing network work, so one initialized session can be used
from asyncio.to_thread, a ThreadPoolExecutor, or regular worker threads.
from concurrent.futures import ThreadPoolExecutor
from onionlink import Session
session = Session(timeout_ms=30_000, verbose=False)
def fetch(onion: str) -> bytes:
return session.get(onion, port=80, path="/").body
onions = [
"archiveiya74codqgiixo33q62qlrqtkgmcitqx5u2oeqnmn5bpcbiyd.onion",
]
with ThreadPoolExecutor(max_workers=4) as pool:
for body in pool.map(fetch, onions):
print(body[:200])
For native asyncio call sites, use AsyncSession. It keeps the synchronous
API available and uses the native PyO3/Tokio awaitables when the compiled
extension is available:
import asyncio
from onionlink import AsyncSession
async def main() -> None:
async with AsyncSession(timeout_ms=30_000) as session:
response = await session.get(
"archiveiya74codqgiixo33q62qlrqtkgmcitqx5u2oeqnmn5bpcbiyd.onion",
port=80,
path="/",
)
print(response.status_code, response.body[:200])
asyncio.run(main())
Cancelling an awaited async request stops waiting for its result, but the
underlying native blocking task can continue until the request finishes or the
configured timeout_ms is reached.
The PyO3 extension declares gil_used = false, and native bootstrap/request
work detaches from the Python runtime while running. Free-threaded wheels are
therefore built for py313t and py314t without re-enabling the GIL on import.
Raw request bytes are also supported:
from onionlink import Session
session = Session(bootstrap="128.31.0.39:9131", timeout_ms=30_000)
response = session.raw_request(
"exampleexampleexampleexampleexampleexampleexampleexampleexampleexample.onion",
1234,
b"hello\n",
)
Use request() for full HTTP control:
from onionlink import Session
session = Session(timeout_ms=30_000)
response = session.request(
"POST",
"exampleexampleexampleexampleexampleexampleexampleexampleexampleexample.onion",
port=80,
path="/api/items",
params={"trace": "1"},
headers={"Accept": "application/json"},
json={"name": "test"},
response_limit=8 * 1024 * 1024,
)
response.raise_for_status()
print(response.status_code, response.header("content-type"))
print(response.text)
Session constructor arguments:
bootstrap: HTTP directory cache ashost:port.consensus_file: optional localconsensus-microdescfile.timeout_ms: TCP/TLS read timeout.verbose: print native bootstrap and rendezvous progress to stderr.
Request methods:
request(method, onion, *, port=80, path="/", params=None, headers=None, body=None, data=None, json=None, form=None, host=None, http_version="HTTP/1.0", response_limit=4194304) -> Responseget/head/post/put/patch/delete/options(onion, **request_options) -> Responseraw_request(onion, port, payload=b"", response_limit=4194304) -> bytes
AsyncSession exposes the same request methods as awaitables, plus
await AsyncSession.create(...) for eager initialization and
async with AsyncSession(...) for context-manager style initialization.
Response exposes status_code, reason, headers, body, raw,
http_version, ok, text, encoding, header(name), and
raise_for_status().
Usage
cargo run -p onionlink-cli -- <service-v3-address>.onion <port> [options]
Fetch / over HTTP from the container:
docker run --rm onionlink \
archiveiya74codqgiixo33q62qlrqtkgmcitqx5u2oeqnmn5bpcbiyd.onion 80 \
--http-get / \
--verbose
Send raw text:
cargo run -p onionlink-cli -- <service-v3-address>.onion 1234 --send "hello"
Forward standard input:
printf 'hello\n' | cargo run -p onionlink-cli -- <service-v3-address>.onion 1234 --stdin
Options
--bootstrap host:portselects the HTTP directory cache used for bootstrap. The default is128.31.0.39:9131.--consensus-file pathuses a local microdescriptor consensus instead of downloading one.--timeout-ms nsets TCP/TLS read timeouts. The default is30000.--http-get [path]sends a simple HTTP/1.0 GET after connecting. Ifpathis omitted,/is used.--send textsends raw text after the stream opens.--stdinforwards standard input after the stream opens.--verboseenables progress logging for bootstrap, descriptor, intro, rendezvous, and stream activity.
Logging uses env_logger. --verbose defaults the CLI log level to info; set
RUST_LOG for more control, for example:
RUST_LOG=onionlink_core=debug,onionlink=info cargo run -p onionlink-cli -- <service-v3-address>.onion 80 --http-get /
If no send mode is provided, --http-get / is used by default.
Limitations
The implementation intentionally omits substantial parts of a real Tor client:
- no consensus, directory, relay, descriptor, or certificate signature validation;
- no relay-family, guard, path-bias, or anonymity-aware path selection;
- no bridges, pluggable transports, proxies, IPv6 dialing, or DNS helpers;
- no onion-service client authorization;
- no proof-of-work support for protected services;
- no authenticated SENDMEs or modern congestion-control behavior;
- no stream isolation, SOCKS server, circuit pooling, or persistent state;
- no traffic shaping or padding.
The client uses direct TLS connections to selected relays and short guarded circuits only where current relays require them, such as HSDir descriptor fetches, rendezvous establishment, and intro-point delivery.
Notes
The default bootstrap source is a public Tor directory authority/cache endpoint. Live behavior depends on relay reachability, descriptor availability, and the onion service accepting a connection at the requested port.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file onionlink-0.1.1-cp314-cp314t-win_amd64.whl.
File metadata
- Download URL: onionlink-0.1.1-cp314-cp314t-win_amd64.whl
- Upload date:
- Size: 1.0 MB
- Tags: CPython 3.14t, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a0848bc2d6c788f248f6d912e30569a843c0032d5a026e75328805a9e178d47b
|
|
| MD5 |
965ba47a6a74d4c4bf2e1ab5c57ea6cc
|
|
| BLAKE2b-256 |
53f54e72b37040c2fa3c92b70b9cd725802df06f48653a8ccf0bdfddca25e81b
|
Provenance
The following attestation bundles were made for onionlink-0.1.1-cp314-cp314t-win_amd64.whl:
Publisher:
publish-pypi.yml on RustedBytes/onionlink-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
onionlink-0.1.1-cp314-cp314t-win_amd64.whl -
Subject digest:
a0848bc2d6c788f248f6d912e30569a843c0032d5a026e75328805a9e178d47b - Sigstore transparency entry: 1437045126
- Sigstore integration time:
-
Permalink:
RustedBytes/onionlink-rs@524ae504578c8c990f756b60647489b05fbad60c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/RustedBytes
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@524ae504578c8c990f756b60647489b05fbad60c -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file onionlink-0.1.1-cp314-cp314t-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: onionlink-0.1.1-cp314-cp314t-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.14t, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7dfe454260f99eaa9d49b711c8609f0c21076d6a8c2f43571a91d28766966652
|
|
| MD5 |
a68eac39a55853625aaa38ddeb12dc03
|
|
| BLAKE2b-256 |
ca86757c7cde82fc6651705c145b448ee566110e4ac2cc17eb47023340d4cacd
|
Provenance
The following attestation bundles were made for onionlink-0.1.1-cp314-cp314t-manylinux_2_28_x86_64.whl:
Publisher:
publish-pypi.yml on RustedBytes/onionlink-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
onionlink-0.1.1-cp314-cp314t-manylinux_2_28_x86_64.whl -
Subject digest:
7dfe454260f99eaa9d49b711c8609f0c21076d6a8c2f43571a91d28766966652 - Sigstore transparency entry: 1437045116
- Sigstore integration time:
-
Permalink:
RustedBytes/onionlink-rs@524ae504578c8c990f756b60647489b05fbad60c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/RustedBytes
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@524ae504578c8c990f756b60647489b05fbad60c -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file onionlink-0.1.1-cp314-cp314t-macosx_11_0_arm64.whl.
File metadata
- Download URL: onionlink-0.1.1-cp314-cp314t-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.14t, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0405c44d0adcea8ddd85ad1d8332c8a7ce81d504101db96b1570482bbcf0629d
|
|
| MD5 |
de5b2c0fcec0f6a43e90c340bcac75b2
|
|
| BLAKE2b-256 |
b26b1ec0d569dbf92439991697689d9afe156d02677303c3bce13e74124d9973
|
Provenance
The following attestation bundles were made for onionlink-0.1.1-cp314-cp314t-macosx_11_0_arm64.whl:
Publisher:
publish-pypi.yml on RustedBytes/onionlink-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
onionlink-0.1.1-cp314-cp314t-macosx_11_0_arm64.whl -
Subject digest:
0405c44d0adcea8ddd85ad1d8332c8a7ce81d504101db96b1570482bbcf0629d - Sigstore transparency entry: 1437045132
- Sigstore integration time:
-
Permalink:
RustedBytes/onionlink-rs@524ae504578c8c990f756b60647489b05fbad60c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/RustedBytes
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@524ae504578c8c990f756b60647489b05fbad60c -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file onionlink-0.1.1-cp314-cp314-win_amd64.whl.
File metadata
- Download URL: onionlink-0.1.1-cp314-cp314-win_amd64.whl
- Upload date:
- Size: 1.0 MB
- Tags: CPython 3.14, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ef28d23b1dfefa0ec29282a617a3cd5dd8d41e5a69bd4a1a0132920b4fe74017
|
|
| MD5 |
26edcac13e177bce1ad67076c80a9c02
|
|
| BLAKE2b-256 |
7876e8b93b39e6abe846b09139b663b456a887518da07a6c958b5fed832735f5
|
Provenance
The following attestation bundles were made for onionlink-0.1.1-cp314-cp314-win_amd64.whl:
Publisher:
publish-pypi.yml on RustedBytes/onionlink-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
onionlink-0.1.1-cp314-cp314-win_amd64.whl -
Subject digest:
ef28d23b1dfefa0ec29282a617a3cd5dd8d41e5a69bd4a1a0132920b4fe74017 - Sigstore transparency entry: 1437045141
- Sigstore integration time:
-
Permalink:
RustedBytes/onionlink-rs@524ae504578c8c990f756b60647489b05fbad60c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/RustedBytes
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@524ae504578c8c990f756b60647489b05fbad60c -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file onionlink-0.1.1-cp314-cp314-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: onionlink-0.1.1-cp314-cp314-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.14, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ed1c133600403228f5a9dcc377653612bf6f0c52042e291d39528856e0e741e1
|
|
| MD5 |
5fedeec52b28898b5914a65640be51be
|
|
| BLAKE2b-256 |
78260825005b268ce36de980bad486df3f6b3ccdee5607d4da9a19cc798a37a1
|
Provenance
The following attestation bundles were made for onionlink-0.1.1-cp314-cp314-manylinux_2_28_x86_64.whl:
Publisher:
publish-pypi.yml on RustedBytes/onionlink-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
onionlink-0.1.1-cp314-cp314-manylinux_2_28_x86_64.whl -
Subject digest:
ed1c133600403228f5a9dcc377653612bf6f0c52042e291d39528856e0e741e1 - Sigstore transparency entry: 1437045176
- Sigstore integration time:
-
Permalink:
RustedBytes/onionlink-rs@524ae504578c8c990f756b60647489b05fbad60c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/RustedBytes
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@524ae504578c8c990f756b60647489b05fbad60c -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file onionlink-0.1.1-cp314-cp314-macosx_11_0_arm64.whl.
File metadata
- Download URL: onionlink-0.1.1-cp314-cp314-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.14, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
90e02524133bb97087089aa13038e686665895186701c608afc0ddb3ca9a308b
|
|
| MD5 |
68f2665f5cc14bd11523d51254bb93f0
|
|
| BLAKE2b-256 |
5cff08740aca391d01091c4a4fa4f4baba99c4b9d74bf34b20972dce52c92e36
|
Provenance
The following attestation bundles were made for onionlink-0.1.1-cp314-cp314-macosx_11_0_arm64.whl:
Publisher:
publish-pypi.yml on RustedBytes/onionlink-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
onionlink-0.1.1-cp314-cp314-macosx_11_0_arm64.whl -
Subject digest:
90e02524133bb97087089aa13038e686665895186701c608afc0ddb3ca9a308b - Sigstore transparency entry: 1437045149
- Sigstore integration time:
-
Permalink:
RustedBytes/onionlink-rs@524ae504578c8c990f756b60647489b05fbad60c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/RustedBytes
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@524ae504578c8c990f756b60647489b05fbad60c -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file onionlink-0.1.1-cp313-cp313t-win_amd64.whl.
File metadata
- Download URL: onionlink-0.1.1-cp313-cp313t-win_amd64.whl
- Upload date:
- Size: 1.0 MB
- Tags: CPython 3.13t, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d75631eb7354de96e3131c8e1b243de8c5251be4b83f930924b934a2cd20e897
|
|
| MD5 |
fe275d5f6f334e58bbfcfdf6fa6a936a
|
|
| BLAKE2b-256 |
4116dbc75fd9f2f3556af1e91e306b71f1af820f4e8860490497275062a9f3ae
|
Provenance
The following attestation bundles were made for onionlink-0.1.1-cp313-cp313t-win_amd64.whl:
Publisher:
publish-pypi.yml on RustedBytes/onionlink-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
onionlink-0.1.1-cp313-cp313t-win_amd64.whl -
Subject digest:
d75631eb7354de96e3131c8e1b243de8c5251be4b83f930924b934a2cd20e897 - Sigstore transparency entry: 1437045143
- Sigstore integration time:
-
Permalink:
RustedBytes/onionlink-rs@524ae504578c8c990f756b60647489b05fbad60c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/RustedBytes
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@524ae504578c8c990f756b60647489b05fbad60c -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file onionlink-0.1.1-cp313-cp313t-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: onionlink-0.1.1-cp313-cp313t-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.13t, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b19e638e743bd1150153133b4dc28a3438eb0352ce07b9a50ddae910ec18fba6
|
|
| MD5 |
4842c0a4b51441c7e73f12460d2b8107
|
|
| BLAKE2b-256 |
eee364694ff79147793f81207600b85f631ce745a8b84071c1bad6aefe998dbb
|
Provenance
The following attestation bundles were made for onionlink-0.1.1-cp313-cp313t-manylinux_2_28_x86_64.whl:
Publisher:
publish-pypi.yml on RustedBytes/onionlink-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
onionlink-0.1.1-cp313-cp313t-manylinux_2_28_x86_64.whl -
Subject digest:
b19e638e743bd1150153133b4dc28a3438eb0352ce07b9a50ddae910ec18fba6 - Sigstore transparency entry: 1437045107
- Sigstore integration time:
-
Permalink:
RustedBytes/onionlink-rs@524ae504578c8c990f756b60647489b05fbad60c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/RustedBytes
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@524ae504578c8c990f756b60647489b05fbad60c -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file onionlink-0.1.1-cp313-cp313t-macosx_11_0_arm64.whl.
File metadata
- Download URL: onionlink-0.1.1-cp313-cp313t-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.13t, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4cf57a698ed481464ab66110f0fb7c6b88d9fda65c6bbafd6e09cbd897dc0137
|
|
| MD5 |
8f79fda5ab27f568e1fa60c30104d241
|
|
| BLAKE2b-256 |
386709903cc848b63c4dd02c754cddc7e5e6eac9fa18e95a31d10c0230635fa3
|
Provenance
The following attestation bundles were made for onionlink-0.1.1-cp313-cp313t-macosx_11_0_arm64.whl:
Publisher:
publish-pypi.yml on RustedBytes/onionlink-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
onionlink-0.1.1-cp313-cp313t-macosx_11_0_arm64.whl -
Subject digest:
4cf57a698ed481464ab66110f0fb7c6b88d9fda65c6bbafd6e09cbd897dc0137 - Sigstore transparency entry: 1437045117
- Sigstore integration time:
-
Permalink:
RustedBytes/onionlink-rs@524ae504578c8c990f756b60647489b05fbad60c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/RustedBytes
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@524ae504578c8c990f756b60647489b05fbad60c -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file onionlink-0.1.1-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: onionlink-0.1.1-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 1.0 MB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c2cc6b1309fa7e46a0550a7d6c56c0fd698e530f4914131839b0876a72bf6726
|
|
| MD5 |
518fce3fbb6f8c33d587cb52967f1380
|
|
| BLAKE2b-256 |
ce4f80c60a50b49f7e1b4ed83798c54e2ca383dbbef1d542d1f6006493f10a33
|
Provenance
The following attestation bundles were made for onionlink-0.1.1-cp313-cp313-win_amd64.whl:
Publisher:
publish-pypi.yml on RustedBytes/onionlink-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
onionlink-0.1.1-cp313-cp313-win_amd64.whl -
Subject digest:
c2cc6b1309fa7e46a0550a7d6c56c0fd698e530f4914131839b0876a72bf6726 - Sigstore transparency entry: 1437045160
- Sigstore integration time:
-
Permalink:
RustedBytes/onionlink-rs@524ae504578c8c990f756b60647489b05fbad60c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/RustedBytes
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@524ae504578c8c990f756b60647489b05fbad60c -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file onionlink-0.1.1-cp313-cp313-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: onionlink-0.1.1-cp313-cp313-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.13, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c378e5b4356be101134ae7bb8c27c64a910ee948d7fd20045bd0bf937c3717d6
|
|
| MD5 |
b68601bca089720ec84e1a479d08ed32
|
|
| BLAKE2b-256 |
2fbf6dae3e55af73138b58ede417cda4341c9c208c7d3877664b6154a5d9fae3
|
Provenance
The following attestation bundles were made for onionlink-0.1.1-cp313-cp313-manylinux_2_28_x86_64.whl:
Publisher:
publish-pypi.yml on RustedBytes/onionlink-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
onionlink-0.1.1-cp313-cp313-manylinux_2_28_x86_64.whl -
Subject digest:
c378e5b4356be101134ae7bb8c27c64a910ee948d7fd20045bd0bf937c3717d6 - Sigstore transparency entry: 1437045165
- Sigstore integration time:
-
Permalink:
RustedBytes/onionlink-rs@524ae504578c8c990f756b60647489b05fbad60c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/RustedBytes
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@524ae504578c8c990f756b60647489b05fbad60c -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file onionlink-0.1.1-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: onionlink-0.1.1-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
75ad7da79942fdaef928732cd00279f254c63993acb76190c4c72e3235a92393
|
|
| MD5 |
8c3fe24636a80922b5d3dfaa1c3b3362
|
|
| BLAKE2b-256 |
8478b9c5c0b970f3b4e495369630416aca64da38faf9c84e6d9e310c6d13f8ab
|
Provenance
The following attestation bundles were made for onionlink-0.1.1-cp313-cp313-macosx_11_0_arm64.whl:
Publisher:
publish-pypi.yml on RustedBytes/onionlink-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
onionlink-0.1.1-cp313-cp313-macosx_11_0_arm64.whl -
Subject digest:
75ad7da79942fdaef928732cd00279f254c63993acb76190c4c72e3235a92393 - Sigstore transparency entry: 1437045129
- Sigstore integration time:
-
Permalink:
RustedBytes/onionlink-rs@524ae504578c8c990f756b60647489b05fbad60c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/RustedBytes
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@524ae504578c8c990f756b60647489b05fbad60c -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file onionlink-0.1.1-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: onionlink-0.1.1-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 1.0 MB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bd709daa7dd32cca59036f1fe1188fb020965de0d10246229a37bfc54a51fff0
|
|
| MD5 |
4f398dc251a69dd0529ef9bddc0dfd59
|
|
| BLAKE2b-256 |
9d28384a707bbe08b7f733daf765e6b9fdc3658dc63f8c822c33f9e51f366ecb
|
Provenance
The following attestation bundles were made for onionlink-0.1.1-cp312-cp312-win_amd64.whl:
Publisher:
publish-pypi.yml on RustedBytes/onionlink-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
onionlink-0.1.1-cp312-cp312-win_amd64.whl -
Subject digest:
bd709daa7dd32cca59036f1fe1188fb020965de0d10246229a37bfc54a51fff0 - Sigstore transparency entry: 1437045135
- Sigstore integration time:
-
Permalink:
RustedBytes/onionlink-rs@524ae504578c8c990f756b60647489b05fbad60c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/RustedBytes
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@524ae504578c8c990f756b60647489b05fbad60c -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file onionlink-0.1.1-cp312-cp312-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: onionlink-0.1.1-cp312-cp312-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.12, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
34e4f5719541f556899f5e85d2c1961f3c2e75958fda5b8b987bd3b27d308094
|
|
| MD5 |
74817b125738f4dc6805280c52e6cf9f
|
|
| BLAKE2b-256 |
9050c0000e5b5b5dc420be830af74a638cfc7f4f2277a368656a65fda960677f
|
Provenance
The following attestation bundles were made for onionlink-0.1.1-cp312-cp312-manylinux_2_28_x86_64.whl:
Publisher:
publish-pypi.yml on RustedBytes/onionlink-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
onionlink-0.1.1-cp312-cp312-manylinux_2_28_x86_64.whl -
Subject digest:
34e4f5719541f556899f5e85d2c1961f3c2e75958fda5b8b987bd3b27d308094 - Sigstore transparency entry: 1437045124
- Sigstore integration time:
-
Permalink:
RustedBytes/onionlink-rs@524ae504578c8c990f756b60647489b05fbad60c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/RustedBytes
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@524ae504578c8c990f756b60647489b05fbad60c -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file onionlink-0.1.1-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: onionlink-0.1.1-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
463d69c54557338858ba39f03732c925cd9db1b395a5036996dd900bc00b1465
|
|
| MD5 |
2e096445521dcccb6423cdaf7fc2495f
|
|
| BLAKE2b-256 |
ab7315060a4c6fa449d66e2a79a7642010172662049d50489a3f09ed379f24ed
|
Provenance
The following attestation bundles were made for onionlink-0.1.1-cp312-cp312-macosx_11_0_arm64.whl:
Publisher:
publish-pypi.yml on RustedBytes/onionlink-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
onionlink-0.1.1-cp312-cp312-macosx_11_0_arm64.whl -
Subject digest:
463d69c54557338858ba39f03732c925cd9db1b395a5036996dd900bc00b1465 - Sigstore transparency entry: 1437045163
- Sigstore integration time:
-
Permalink:
RustedBytes/onionlink-rs@524ae504578c8c990f756b60647489b05fbad60c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/RustedBytes
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@524ae504578c8c990f756b60647489b05fbad60c -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file onionlink-0.1.1-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: onionlink-0.1.1-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 1.0 MB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f5e8613bc281e7d365eedcf9e02dda33a232d9a1284aceb0e9b672ca35de540a
|
|
| MD5 |
a3a0b37556b2e74b90512bc5f5d70653
|
|
| BLAKE2b-256 |
fd037dc91c6b00646d6f22196a03d33282a0703db481f16ce1f16fc71fe63296
|
Provenance
The following attestation bundles were made for onionlink-0.1.1-cp311-cp311-win_amd64.whl:
Publisher:
publish-pypi.yml on RustedBytes/onionlink-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
onionlink-0.1.1-cp311-cp311-win_amd64.whl -
Subject digest:
f5e8613bc281e7d365eedcf9e02dda33a232d9a1284aceb0e9b672ca35de540a - Sigstore transparency entry: 1437045155
- Sigstore integration time:
-
Permalink:
RustedBytes/onionlink-rs@524ae504578c8c990f756b60647489b05fbad60c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/RustedBytes
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@524ae504578c8c990f756b60647489b05fbad60c -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file onionlink-0.1.1-cp311-cp311-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: onionlink-0.1.1-cp311-cp311-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.11, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dbc6eb237f3929f0bdcaa1da8d10d7dd7394265fc090788ab70a871651cba11f
|
|
| MD5 |
bb0b5a7c2175a48c0e7109aaf0ac486b
|
|
| BLAKE2b-256 |
cd27ab679e04c89d3ade34a7f6b0571bac99a92fa6984649e0bf5fe8c0198923
|
Provenance
The following attestation bundles were made for onionlink-0.1.1-cp311-cp311-manylinux_2_28_x86_64.whl:
Publisher:
publish-pypi.yml on RustedBytes/onionlink-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
onionlink-0.1.1-cp311-cp311-manylinux_2_28_x86_64.whl -
Subject digest:
dbc6eb237f3929f0bdcaa1da8d10d7dd7394265fc090788ab70a871651cba11f - Sigstore transparency entry: 1437045152
- Sigstore integration time:
-
Permalink:
RustedBytes/onionlink-rs@524ae504578c8c990f756b60647489b05fbad60c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/RustedBytes
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@524ae504578c8c990f756b60647489b05fbad60c -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file onionlink-0.1.1-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: onionlink-0.1.1-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
33173796bcffb4355b5e1fd09486f528fc5ae111d3d4444cc65e11e4d1e0e941
|
|
| MD5 |
768273c08fa653a10a9cf0d9f7505823
|
|
| BLAKE2b-256 |
823e015fdd42d7ad8d4c6a530f925ecc0d25b960dedc1844cb2eaebd434bcf1c
|
Provenance
The following attestation bundles were made for onionlink-0.1.1-cp311-cp311-macosx_11_0_arm64.whl:
Publisher:
publish-pypi.yml on RustedBytes/onionlink-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
onionlink-0.1.1-cp311-cp311-macosx_11_0_arm64.whl -
Subject digest:
33173796bcffb4355b5e1fd09486f528fc5ae111d3d4444cc65e11e4d1e0e941 - Sigstore transparency entry: 1437045112
- Sigstore integration time:
-
Permalink:
RustedBytes/onionlink-rs@524ae504578c8c990f756b60647489b05fbad60c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/RustedBytes
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@524ae504578c8c990f756b60647489b05fbad60c -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file onionlink-0.1.1-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: onionlink-0.1.1-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 1.0 MB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a43839f313991979f105a288620d7d3d863480a9e7b8bf65504ba90922019d09
|
|
| MD5 |
9ad6a81e71da842ad3a91667a865e890
|
|
| BLAKE2b-256 |
fa44d1da6758d5258b0fef1a79b900ddd8e322c305a558cdf309f0c7de6e320b
|
Provenance
The following attestation bundles were made for onionlink-0.1.1-cp310-cp310-win_amd64.whl:
Publisher:
publish-pypi.yml on RustedBytes/onionlink-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
onionlink-0.1.1-cp310-cp310-win_amd64.whl -
Subject digest:
a43839f313991979f105a288620d7d3d863480a9e7b8bf65504ba90922019d09 - Sigstore transparency entry: 1437045120
- Sigstore integration time:
-
Permalink:
RustedBytes/onionlink-rs@524ae504578c8c990f756b60647489b05fbad60c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/RustedBytes
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@524ae504578c8c990f756b60647489b05fbad60c -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file onionlink-0.1.1-cp310-cp310-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: onionlink-0.1.1-cp310-cp310-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.10, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
acd9ea85cd4a7379039aec94fcd54bef6cac172a25b6e461c32c25c414dd518c
|
|
| MD5 |
7b6a06d030b5bef0d7f524c4d3efe2e2
|
|
| BLAKE2b-256 |
f75b2ce260ace4f47777cd8fe040a28b8e4ebb912bf15d34fbb27a00e135475d
|
Provenance
The following attestation bundles were made for onionlink-0.1.1-cp310-cp310-manylinux_2_28_x86_64.whl:
Publisher:
publish-pypi.yml on RustedBytes/onionlink-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
onionlink-0.1.1-cp310-cp310-manylinux_2_28_x86_64.whl -
Subject digest:
acd9ea85cd4a7379039aec94fcd54bef6cac172a25b6e461c32c25c414dd518c - Sigstore transparency entry: 1437045138
- Sigstore integration time:
-
Permalink:
RustedBytes/onionlink-rs@524ae504578c8c990f756b60647489b05fbad60c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/RustedBytes
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@524ae504578c8c990f756b60647489b05fbad60c -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file onionlink-0.1.1-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: onionlink-0.1.1-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3d56a0f55057a19958a9d5dd349fbda8128572d50360ca3e08d206ec12c4f819
|
|
| MD5 |
32044a95377ccf6593708e91fc6827b1
|
|
| BLAKE2b-256 |
95d732e6b81f211174a8861911b16eac18816c5b7e1fee95da1ae36bba3590b7
|
Provenance
The following attestation bundles were made for onionlink-0.1.1-cp310-cp310-macosx_11_0_arm64.whl:
Publisher:
publish-pypi.yml on RustedBytes/onionlink-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
onionlink-0.1.1-cp310-cp310-macosx_11_0_arm64.whl -
Subject digest:
3d56a0f55057a19958a9d5dd349fbda8128572d50360ca3e08d206ec12c4f819 - Sigstore transparency entry: 1437045114
- Sigstore integration time:
-
Permalink:
RustedBytes/onionlink-rs@524ae504578c8c990f756b60647489b05fbad60c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/RustedBytes
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@524ae504578c8c990f756b60647489b05fbad60c -
Trigger Event:
workflow_dispatch
-
Statement type: