No project description provided
Project description
tgfs
Use telegram as file storage, with a command line tool and WebDAV server. Refer to the wiki page for more detail.
Tested on Windows, Ubuntu, MacOS
Installation
Through PYPI
$ pip install tgfs
Through Git
$ yarn install && yarn build
$ alias tgfs="yarn start:prod"
Use it as a WebDAV server
$ tgfs -w
or
$ tgfs --webdav
Tested WebDAV Clients:
cmd usage
-
ls
$ tgfs cmd ls /
-
mkdir
$ tgfs cmd mkdir /documents
$ tgfs cmd mkdir -p /documents/pictures
-
cp
$ tgfs cmd cp ~/some-file /
-
rm
$ tgfs cmd rm /some-file
$ tgfs cmd rm -r /some-folder
Step by Step Guide to Set up config
For feature development purpose, any configuration is unstable at the current stage. You may need to reconfigure following any update.
Automatically:
A config file will be auto-generated when you run the program for the first time. Just follow the instructions to create a Telegram app and a private channel to store the files.
Manually:
Preparation
- Duplicate the
example-config.yamlfile and name itconfig.yaml
Set up account details (why do I need this?)
- Go to Here, login with your phone number and create a Telegram app.
- Copy the
api_idandapi_hashfrom the Telegram app page (step 2) to the config file (telegram -> account -> api_id / api_hash)
Set up the channel to store files
- Create a new Telegram private channel (New Channel in the menu on the left)
- There should be a message like "Channel created". Right click the message and copy the post link.
- The format of the link should be like
https://t.me/c/1234567/1, where1234567is the channel id. Copy the channel id to the config file (telegram -> private_file_channel)
Set up a Telegram bot (why do I need this?)
- Go to BotFather, send
/newbot, and follow the steps to create a bot. - Paste the bot token given by BotFater to the config file (
telegram -> bot -> token) - Go to your file channel (created in the previous step), add your bot to subscriber, and promote it to admin, with permission to send/edit/delete messages.
Config fields explanation
-
telegram
- account/bot:
- session_file: The file path to store the session data. If you want to use multiple accounts, you can set different session files for each account.
- login_timeout: Time to wait before login attempt aborts (in milliseconds).
- account/bot:
-
tgfs
- users: the users authenticated by tgfs, used by both webdav authentication and monitor
- download
- chunk_size_kb: The chunk size in KB when downloading files. Bigger chunk size means less requests.
-
webdav
- host: The host of the WebDAV server listening on.
- port: The port of the WebDAV server listening on.
- path: The root path for the WebDAV server. For example, setting this value to /webdav makes the WebDAV link
http://[host]:[port]/webdav.
FAQ
Q: Why do I need a bot when my account is also able to send messages?
Frequently sending messages may get your account banned, so using a bot is the best way to manage the risk. You can create another bot when it is banned.
Q: Why do I need an account API then?
The functionality of bot API is limited. For example, a bot can neither read history messages, nor send files exceeding 50MB. The account API is used when a bot cannot do the job.
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 tgfs-0.1.0.tar.gz.
File metadata
- Download URL: tgfs-0.1.0.tar.gz
- Upload date:
- Size: 27.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.3 CPython/3.11.4 Windows/10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
75a2b66de9d6522e609f13c249c18f1d74ce329d7609c5b46420333fab1a60c2
|
|
| MD5 |
fb7acc8cd880f2f92c9097ed02b2b715
|
|
| BLAKE2b-256 |
4490f66f880451e105bb17080890f6758980eb093bf2d5f8f121563cd2e63a4a
|
File details
Details for the file tgfs-0.1.0-py3-none-any.whl.
File metadata
- Download URL: tgfs-0.1.0-py3-none-any.whl
- Upload date:
- Size: 38.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.3 CPython/3.11.4 Windows/10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f239c477aedcb3a72e6c7958a76ea2e3d4c28be63b9c13fec5ee9358ce02f852
|
|
| MD5 |
bd458ade3d21940744da1bff5a495aed
|
|
| BLAKE2b-256 |
77ae5f1dd0863e96264c5a65e8283c4bda4c9f13895c3f4a70de9549b99ebb47
|