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.1.0.tar.gz
(26.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.1.0-py3-none-any.whl
(37.7 kB
view details)
File details
Details for the file fognode-0.1.0.tar.gz.
File metadata
- Download URL: fognode-0.1.0.tar.gz
- Upload date:
- Size: 26.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
16a953919554ec8495ab55502ed93be0a2864e50d54cb89b13a7016bffdee698
|
|
| MD5 |
4a77340ccbe8934973d885a43121d16a
|
|
| BLAKE2b-256 |
7c6e28e0f0b6b66938300ecb2d281199a7c69f5779a7dd444adecd2a30f6061c
|
File details
Details for the file fognode-0.1.0-py3-none-any.whl.
File metadata
- Download URL: fognode-0.1.0-py3-none-any.whl
- Upload date:
- Size: 37.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9d2f582e9432820a1b98bab74e24ed36a69c1d4e905c0040e24c6d28f1e5bfbd
|
|
| MD5 |
eda13cf9b0a6a39f25a5244fe70c5b17
|
|
| BLAKE2b-256 |
b144bb0e4b13cc894987fd54a2b15d9d686f680a2af7938b53dfa79b692e35d0
|