incy_crypto_link (Python)
Python port of @incy/link-encoder —
encode VPN subscription URLs into incy://crypt1/<payload> deep links
that the INCY iOS, Android, and Desktop clients decode automatically.
Wire-compatible with the JS/PHP/Go ports and the client apps; a pinned test vector guards against drift.
This is obfuscation, not security. The AES-256-GCM key is derived from constants and asset bytes embedded in this package. See the main README for the full threat model.
Install
pip install incy-crypto-link
Requires Python ≥ 3.9 and cryptography.
Usage
from incy_crypto_link import encrypt_link, decrypt_link
link = encrypt_link("https://sub.your-provider.example/abc123token", name="My Provider VPN")
print(link)
# → incy://crypt1/AAECAwQFBgcICQoLNyIQL3rDwRZqnyoD8pGK…
decoded = decrypt_link(link)
print(decoded.url, decoded.name)
API
encrypt_link(url: str, name: str | None = None) -> str
decrypt_link(link: str) -> DecryptedLink # .url, .name
encrypt_link_deterministic(url: str, iv: bytes, name: str | None = None) -> str # tests only
VERSION: str
SCHEME_VERSION: str # "crypt1"
KEY_FINGERPRINT: str # SHA-256 of K1
Tests
python -m unittest discover -s tests -v
Release files for incy-crypto-link 1.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| incy_crypto_link-1.2.0.tar.gz | 15.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| incy_crypto_link-1.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 28.0 kB
Release files / incy_crypto_link-1.2.0.tar.gz
| Download URL | incy_crypto_link-1.2.0.tar.gz |
|---|---|
| Size | 15.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
53545f28bdd9e14ba5c3f7a667e66798bcd2a3c1b0baea9bff556b29f8f3c3a7
|
|
BLAKE2b-256 checksum How to use checksums |
86317804acf7a9eac253305386876e43053c8fb7dbfa894179709749b8ffe6ad
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / incy_crypto_link-1.2.0-py3-none-any.whl
| Download URL | incy_crypto_link-1.2.0-py3-none-any.whl |
|---|---|
| Size | 13.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
536c73dda90abf3691dd2b597acd750111ad27d9dc986eae03a9a59741649159
|
|
BLAKE2b-256 checksum How to use checksums |
34ee26359ededd6ad4ce9e4b4a8af5b228398e4d5f225a6d6131852b60e33ea6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|