fognode - headless secure encrypted data transmission. TLS + X25519 + AESGCM + PBKDF2.
Project description
fognode
headless secure encrypted data transmission.
Encrypted channel library for headless projects. Built for speed and zero-trust networking.
Stack: TLS 1.2+ · X25519 · AESGCM-256 · HMAC-SHA256 · PBKDF2 · HKDF
Install
pip install fognode
Quick start (aiogram-style)
Server
from fognode import App, Cipher
app = App(
host="0.0.0.0",
port=9443,
user="alice",
password="secret",
cipher=Cipher.AESGCM,
)
@app.on_message()
async def echo(ctx):
await ctx.answer(f"echo: {ctx.message.text}")
@app.on_command("ping")
async def ping(ctx):
await ctx.answer("pong")
@app.on_connect()
async def on_connect(ctx):
print(f"+ {ctx.user}")
if __name__ == "__main__":
app.run()
Client
from fognode import App, Cipher
app = App.client(
connect_string="alice@oak-pine-stone-field:9443",
password="secret",
cipher=Cipher.AESGCM,
)
@app.on_message()
async def on_message(ctx):
print(f"{ctx.message.user}: {ctx.message.text}")
if __name__ == "__main__":
app.run()
Classic API
from fognode import start_server, client_connect
ip, code, fp = start_server("0.0.0.0", 9443, "alice", "secret")
print(f"Connect: alice@{code}:9443")
Structure
src/fognode/
├── app.py # App class (aiogram-style)
├── cipher.py # Cipher enum
├── context.py # Context for handlers
├── message.py # Message dataclass
├── router.py # Router for handlers
├── filters/ # Command, Text filters
├── handlers/ # HandlerObject
├── types/ # exceptions, constants, protocol
├── crypto/ # primitives, kdf, cert, channel
├── ciphers/ # aesgcm, chacha20, x25519, hkdf, pbkdf2, hmac
├── wire/ # framing
├── auth/ # handshake
├── core/ # server, client, session, state
├── decorators.py # retry, rate_limited, timed
├── exceptions.py # errors
├── utils/ # ipwords, ratelimit, net
└── cli/ # entrypoint
MIT © reekeer
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
fognode-0.2.2.tar.gz
(31.6 kB
view details)
Built Distribution
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
fognode-0.2.2-py3-none-any.whl
(35.0 kB
view details)
File details
Details for the file fognode-0.2.2.tar.gz.
File metadata
- Download URL: fognode-0.2.2.tar.gz
- Upload date:
- Size: 31.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a5d2e41cf025fb5297a2d43e10de3bd1c2bc946822d2b511a42d0f706c25407d
|
|
| MD5 |
04f18d90713461bc3aaa1b57af3f24e3
|
|
| BLAKE2b-256 |
daad59c33ad50055db9eefc2a56616908cb5c37f3011c0d5878a4f7aad21a31b
|
File details
Details for the file fognode-0.2.2-py3-none-any.whl.
File metadata
- Download URL: fognode-0.2.2-py3-none-any.whl
- Upload date:
- Size: 35.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
191b7416fc9e1db3e96f7922921ce9f23c58cac9dd2dbeedf492c65dcb455aa4
|
|
| MD5 |
e0859c138993f87ddbeed24b6596d596
|
|
| BLAKE2b-256 |
f7126fee726203812ba313cca6c30a1570a80a209b62f17ac43c4a5ef20bf55d
|