1
0
Fork 0
mirror of https://github.com/SlavikMIPT/tgcloud.git synced 2025-03-09 15:40:14 +00:00

#version 1.1

-improved loading process
-pipe is used for interprocess communication
-readme update
-session creation is in a separate file to avoid bans/floodwaits
-refactoring
This commit is contained in:
Вячеслав Баженов 2019-07-08 08:01:07 +03:00
parent 9d619b074d
commit d67499a8b6
11 changed files with 183 additions and 222 deletions

View file

@ -1,38 +1,54 @@
# tgcloud
## UNDER DEVELOPMENT
## Opensourсe Virtual Filesystem for Telegram
Synchronizes and structures files downloaded to Telegram.
- Stores only metadata, accessing raw data only when loading files.
- Loading speed is up to 240Mbit/s per session
- Multiplatform: provides standard volumes which can be mounted on linux/win/mac...
- Opensource
### Project structure:
**tgcloud:** linux based docker container
* **redis** - updates, rpc, communication
* **tfs:** FUSE based VFS module
* [python-fuse](https://github.com/SlavikMIPT/tfs) - interface to linux kernel FS
* redis storage - FS struct, meta, telegram file_id,settings
* rq communication interface
* docker
* **file_telegram_rxtx** - telegram read/write driver
* [telethon(sync)](https://github.com/SlavikMIPT/Telethon) by [@Lonami](https://github.com/Lonami) - telegram access, multithreaded downloading/uploading
* improved and tested by [@SlavikMIPT](https://github.com/SlavikMIPT) - load speed 240Mb/s
* rq communication interface
* docker
* **polling daemon**
* [telethon(asyncio)](https://github.com/SlavikMIPT/Telethon) - updates from telegram, synchronization, hashtags
* rq communication interface
* docker
* **client**
* telegram authorization interface
* [filebrowser](https://github.com/SlavikMIPT/filebrowser) - opensource golang filebrowser
* windows service
* telegram desktop client with filebrowser
* settings, statistics, monitoring...
* rq communication interface
* docker
![Diagram](/img/ProjectDiagram.png)
## UNDER DEVELOPMENT v1.1
- `secret.py` : вставить `api_hash` и `api_id` полученные с https://my.telegram.org
- Установить Python2.7 и Python3.6
- Скачать исходный код
```
cd ~
git clone https://github.com/SlavikMIPT/tgcloud.git
```
- Установить зависимости
`sudo pip3 install -r requirements.txt`
- Создать сессию запустив **из папки с проектом**
`python3.6 telegram_create_session.py`
- Установить fuse bindings
`sudo yum install python-fuse`
- Создать папку для монтирования
`mkdir storage`
- Запустить VFS **из папки с проектом**:
с отладкой
`python2.7 dedupfs/dedupfs.py -df --block-size 20971520 -o auto_unmount -o hard_remove storage/`
в фоне
отредактировать `<username>` в `tgcloud.service`
```
sudo cp tgcloud.service /ect/systemd/system/
sudo systemctl enable tgcloud.service
sudo systemctl daemon-reload
sudo systemctl start tgcloud.service
sudo systemctl status tgcloud.service -l
```
Версия 1.1
Работает пободрее, но все еще сырой прототип - может падать.
Для тестов лучше использовать отдельный профиль.
Если забанят - пишите `recover@telegram.org` - разбанят
You are welcome to collaborate - contact
Telegram: [@SlavikMIPT](t.me/SlavikMIPT)
Channel: [@MediaTube_stream](t.me/MediaTube_stream)
Channel: [@MediaTube_stream](t.me/MediaTube_stream)