Encrypted cloud storage Protocol based on a Telegram API
Project description
❕ This repository contains a set of classes and functions used to manage TGBOX.Try the tgbox-cli if you’re interested in working implementation!
import tgbox, tgbox.api.sync
# This two will not work. Get your own at https://my.telegram.org
API_ID, API_HASH = 1234567, '00000000000000000000000000000000'
tc = tgbox.api.TelegramClient(api_id=API_ID, api_hash=API_HASH)
tc.start() # This method will prompt you for Phone, Code & Password
print(phrase := tgbox.keys.Phrase.generate()) # Your secret Box Phrase
basekey = tgbox.keys.make_basekey(phrase) # Will Require 1GB of RAM
box = tgbox.api.make_box(tc, basekey) # Will make Encrypted File Storage
# Will upload selected file to the RemoteBox, cache information
# in LocalBox and return the tgbox.api.abstract.BoxFile object
abbf = box.push(input('File to upload (path): '))
# Retrieving some info from the BoxFile
print('File size:', abbf.size, 'bytes')
print('File name:', abbf.file_name)
downloaded = abbf.download() # Downloading your file from Remote.
print(downloaded) # Will print path to downloaded file object
box.done() # Work is done. Close all connections!
❔ This code block heavily utilize the magic tgbox.api.sync module and high-level functionsfrom the tgbox.api.abstract module for showcase. For actual Async code, see Examples.
Motivation
Although Telegram started as security-oriented Messenger, in recent years developers shifted its focus from privacy enhancements to social-network features & cryptocurrency integration. You may like or dislike that, but fact is obvious — Telegram can expand on its privacy-focused roots and add some more cool things — like Encrypted Cloud Storage. While core developers are busy with their “gifts”, we may make something on our own by utilizing Telegram Client API, and here is my vision on it.
Target
This unofficial, and not affiliated with Telegram library targets to be a Proof of Concept of the Encrypted Cloud Storage inside the Telegram Messenger. You can not use it directly inside your Telegram App (like Desktop or Android client). It’s a standalone Python library for developers and alike.
Abstract
In the scope of this project we name “encrypted cloud storage” as Box and the API to it as tgbox. The Box consists of two parts: the RemoteBox (place where we store your encrypted files) and the LocalBox (place where we store cache information). They define a basic primitives. You can share your Box and separate Files with other users absolutely secure (even through insecure communication canals — e2e) — only You and Requester will have decryption key. You can create an unlimited amount of Box objects, Upload & Download speed is faster than in official Telegram clients and maximum file size is around 2GB for Regular users and around 4GB for Premium ones.
Documentation
See ReadTheDocs for main information and help.
You can also build Documentation from the source
git clone https://github.com/NonProject/tgbox --branch=indev
cd tgbox && python3 -m pip install .[doc] # Install with doc
cd docs && make html && firefox _build/html/index.html
Third party & thanks to
Resources
Official developer channel: @nontgbox
Example TGBOX container: @nontgbox_non
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 Distribution
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
File details
Details for the file tgbox-1.8.0.1.tar.gz.
File metadata
- Download URL: tgbox-1.8.0.1.tar.gz
- Upload date:
- Size: 265.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ba24e523836bfc790322ac372fc47cbd48dbd44e4abe80abca96903df5aa7782
|
|
| MD5 |
04546a9e83425c3b35ff2559314c1dc0
|
|
| BLAKE2b-256 |
6d50da8a0d5d662daf21f7f136bd234f10b66055168f34d8bcc8cf3a39531320
|
File details
Details for the file tgbox-1.8.0.1-py3-none-any.whl.
File metadata
- Download URL: tgbox-1.8.0.1-py3-none-any.whl
- Upload date:
- Size: 267.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
441fb1d36fbb70d850b81ad6162a3bc41be22731c61032d3b933bfa4edfda0f2
|
|
| MD5 |
723cceb1d240c475dbba3edee9000b78
|
|
| BLAKE2b-256 |
ae09e258cd0764237e9ababc057232b556f28c78eef1fcb6e0f482ee03f30a74
|