Skip to main content
❕ 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 functions
from 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

Release files for tgbox 1.8.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tgbox 1.8.0.1
File Size Uploaded
tgbox-1.8.0.1.tar.gz 265.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tgbox 1.8.0.1
File Interpreter ABI Platform
tgbox-1.8.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 532.6 kB

Release files / tgbox-1.8.0.1.tar.gz

Download URL tgbox-1.8.0.1.tar.gz
Size 265.6 kB
Tags Source
SHA-256 checksum
How to use checksums
ba24e523836bfc790322ac372fc47cbd48dbd44e4abe80abca96903df5aa7782
BLAKE2b-256 checksum
How to use checksums
6d50da8a0d5d662daf21f7f136bd234f10b66055168f34d8bcc8cf3a39531320
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Release files / tgbox-1.8.0.1-py3-none-any.whl

Download URL tgbox-1.8.0.1-py3-none-any.whl
Size 267.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
441fb1d36fbb70d850b81ad6162a3bc41be22731c61032d3b933bfa4edfda0f2
BLAKE2b-256 checksum
How to use checksums
ae09e258cd0764237e9ababc057232b556f28c78eef1fcb6e0f482ee03f30a74
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Release history Release notifications | RSS feed

This release

1.8.0.1 This release

2 release files

1.8.0

2 release files

1.7

2 release files

1.6.2

2 release files

1.6.1

2 release files

1.6

2 release files

1.5.1

2 release files

1.5

2 release files

1.4

2 release files

1.3.1

2 release files

1.3

2 release files

1.2.1

2 release files

1.2

2 release files

1.1.1

1 release file

1.1

1 release file

0.4

1 release file

0.3.3

1 release file

0.3.2

1 release file

0.2

1 release file

0.1.6

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page