This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.
Consider using release 1.3.1 instead.
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
SCHEMES: dict[str, SchemeInfo] # registry of known schemes (today: crypt1)
Tests
python -m unittest discover -s tests -v
Metadata
Release files for incy-crypto-link 1.3.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.3.0.tar.gz | 15.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| incy_crypto_link-1.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 28.8 kB
Release files / incy_crypto_link-1.3.0.tar.gz
| Download URL | incy_crypto_link-1.3.0.tar.gz |
|---|---|
| Size | 15.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a4d338b4ef6fb1e78df0a30f84e45ff43bf793451ea754e10430cdae3c2c9b38
|
|
BLAKE2b-256 checksum How to use checksums |
6d54e4c32939f87f2a366e8f471b73837fae86956f3e35d224a526c5d6afe60b
|
| 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.3.0-py3-none-any.whl
| Download URL | incy_crypto_link-1.3.0-py3-none-any.whl |
|---|---|
| Size | 13.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8af0d9701e4c8d7d0fcc31d3a818b1e35b278c9ed6beddfbdeb16ee191eba38d
|
|
BLAKE2b-256 checksum How to use checksums |
8d9589ac31dd3f974a38848e94c5f71f08dea33181907f3357f6c936d22b1307
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|