This project has been archived by its maintainers, and is no longer receiving any updates.
OnlySQ Cloud Drive (Linux)
OnlySQ Drive - это неофициальное Linux-приложение и CLI-инструмент, который монтирует OnlySQ Cloud как каталог в файловой системе через FUSE.
Windows-версия: onlysq-drive
После настройки у пользователя появляется полноценный каталог рядом с остальными дисками, с которым можно работать как с обычным:
- загружать файлы в облако через файловый менеджер или терминал,
- скачивать и открывать файлы,
- удалять их,
- копировать публичную ссылку через контекстное меню,
- автоматически поднимать монтирование после входа через systemd.
Особенности
-
Каталог рядом с остальными дисками OnlySQ Cloud монтируется в
/run/media/$USER/OnlySQCloudи отображается в боковой панели файлового менеджера. -
Поддержка всех основных файловых менеджеров Dolphin (KDE), Nautilus (GNOME), Thunar (XFCE), Nemo (Cinnamon), Caja (MATE).
-
Простая установка через pip Проект ставится как обычный Python-пакет и управляется CLI-командой
onlysq-drive. -
Автозапуск при входе После настройки каталог поднимается автоматически через systemd user service.
-
Контекстное меню "Copy public link" Можно быстро копировать публичную ссылку на файл прямо из файлового менеджера.
-
Локальный индекс и кэш Приложение хранит индекс файлов и кэш на ПК, чтобы быстрее показывать содержимое и восстанавливать его после перезапуска системы.
-
SQLite внутри Для метаданных используется локальная база, без необходимости поднимать отдельный сервер или БД.
-
CLI-управление Всё настраивается и обслуживается понятными командами:
setup,doctor,stats,mount,configи т.д.
Как это работает
OnlySQ Drive создаёт пользовательскую файловую систему через FUSE3 и монтирует её как каталог.
Когда ты создаёшь или копируешь файл в этот каталог, приложение:
- сохраняет файл во временный локальный кэш,
- загружает его в OnlySQ Cloud,
- сохраняет метаданные в локальный индекс,
- делает файл доступным для дальнейшего открытия, скачивания и удаления.
Важно
Сейчас API OnlySQ Cloud предоставляет базовые операции загрузки, скачивания и удаления файла. Из-за этого клиент хранит локальный индекс файлов у пользователя. Это значит:
- на этом же ПК после перезагрузки всё сохраняется,
- но на другом ПК дерево файлов автоматически не восстановится без переноса локального индекса.
Стек
- Python 3.10+
- FUSE3 (libfuse3)
- pyfuse3 + trio
- SQLite
- requests
- systemd (user service)
- KDE / GTK shell integration
Установка
Требования
- Linux (с поддержкой FUSE3)
- Python 3.10+
- Системные пакеты:
fuse3(илиlibfuse3-dev),pkg-config
Из PyPI
pip install onlysq-drive-linux
Из исходников
pip install .
Быстрый старт
Установка зависимостей + пакета + настройка
Arch Linux / CachyOS / Manjaro
sudo pacman -S --noconfirm python python-pip fuse3 pkgconf \
&& pip install onlysq-drive-linux \
&& onlysq-drive setup --label "OnlySQ Cloud"
Ubuntu / Debian
sudo apt-get update && sudo apt-get install -y python3 python3-pip libfuse3-dev fuse3 pkg-config \
&& pip install onlysq-drive-linux \
&& onlysq-drive setup --label "OnlySQ Cloud"
Fedora
sudo dnf install -y python3 python3-pip fuse3-devel fuse3 pkgconf-pkg-config \
&& pip install onlysq-drive-linux \
&& onlysq-drive setup --label "OnlySQ Cloud"
После этого:
- появляется каталог рядом с остальными дисками,
- диск отображается в боковой панели файлового менеджера,
- ставится автозапуск через systemd,
- добавляется контекстное меню "Copy public link",
- после следующего входа каталог поднимается автоматически.
Проверка
onlysq-drive doctor
onlysq-drive stats
Использование
Смонтировать вручную
onlysq-drive mount
Эта команда полезна для ручного теста. Для постоянной работы лучше использовать
setupилиinstall-autostart.
Проверить состояние
onlysq-drive doctor
Посмотреть статистику
onlysq-drive stats
Посмотреть содержимое виртуальной папки
onlysq-drive ls
onlysq-drive ls /folder
Информация о файле
onlysq-drive info /example.txt
Скопировать публичную ссылку
onlysq-drive copy-link /example.txt
Скачать файл
onlysq-drive pull /example.txt ~/Downloads/example.txt
Удалить файл
onlysq-drive rm /example.txt
Все команды CLI
Инициализация и настройка
onlysq-drive init
Создаёт:
- конфиг,
- SQLite-индекс,
- директорию кэша.
Пример:
onlysq-drive init --label "OnlySQ Cloud"
onlysq-drive setup
Полная первичная настройка:
init- создание точки монтирования
- установка контекстного меню
- добавление в боковую панель файлового менеджера
- установка автозапуска через systemd
Пример:
onlysq-drive setup --label "OnlySQ Cloud"
Диагностика и обслуживание
onlysq-drive doctor
Показывает:
- версию Python,
- платформу,
- путь к конфигу,
- точку монтирования,
- доступность pyfuse3 и fusermount3.
onlysq-drive stats
Показывает:
- количество файлов,
- количество папок,
- общий размер,
- состояние индекса.
Работа с виртуальным каталогом
onlysq-drive mount
Монтирует каталог вручную.
onlysq-drive ls [path]
Показывает содержимое папки.
onlysq-drive info <path>
Показывает информацию по файлу или папке.
onlysq-drive pull <virtual_path> <local_path>
Скачивает файл из облака/кэша.
onlysq-drive rm <path>
Удаляет файл или пустую папку.
onlysq-drive copy-link <path>
Копирует публичную ссылку файла в буфер обмена.
Конфиг
onlysq-drive config show
Показывает текущий конфиг.
onlysq-drive config set <key> <value>
Меняет поле в конфиге.
Примеры:
onlysq-drive config show
onlysq-drive config set mountpoint /run/media/$USER/OnlySQCloud
onlysq-drive config set volume_label "OnlySQ Cloud"
Интеграция с системой
onlysq-drive install-context-menu
Добавляет пункт в контекстное меню файлового менеджера:
- OnlySQ: Copy public link
Поддержка: Dolphin, Nautilus, Nemo, Caja.
onlysq-drive uninstall-context-menu
Удаляет этот пункт.
onlysq-drive install-autostart
Создаёт systemd user service для автоматического монтирования при входе.
onlysq-drive uninstall-autostart
Удаляет systemd user service.
Полное удаление локальных данных
onlysq-drive purge --yes
Удаляет:
- конфиг,
- SQLite-индекс,
- кэш,
- systemd service,
- записи в боковой панели файлового менеджера.
Пример:
onlysq-drive purge --yes
Автозапуск после перезагрузки
Если выполнен:
onlysq-drive install-autostart
или
onlysq-drive setup ...
то после входа пользователя каталог будет монтироваться автоматически.
Управление:
# Статус
systemctl --user status onlysq-drive
# Остановить
systemctl --user stop onlysq-drive
# Запустить
systemctl --user start onlysq-drive
# Логи
journalctl --user -u onlysq-drive -f
Где хранятся данные
Конфиг
~/.config/onlysq-drive/config.json
Индекс
~/.local/share/onlysq-drive/index.sqlite3
Кэш
~/.cache/onlysq-drive/files/
Логи автозапуска
~/.local/share/onlysq-drive/logs/autostart.log
Структура проекта
onlysq-drive/
├─ pyproject.toml
├─ README.md
└─ src/
└─ onlysq_drive/
├─ __init__.py
├─ cli.py # CLI entry point
├─ launcher.py # Autostart launcher
├─ mount.py # FUSE mounting via pyfuse3
├─ fs_ops.py # FUSE filesystem operations
├─ cloud_client.py # HTTP client for OnlySQ Cloud API
├─ index_db.py # SQLite file index
├─ config.py # JSON config dataclass
├─ autostart.py # systemd user service management
├─ shell_integration.py # Context menu (Dolphin/Nautilus/Nemo/Caja)
├─ sidebar.py # Sidebar bookmarks (GTK bookmarks)
├─ drive_icon.py # No-op on Linux
├─ clipboard.py # xclip/xsel/wl-copy clipboard
├─ paths.py # XDG path helpers
└─ vpaths.py # Virtual path normalization
Ограничения
- Это неофициальный клиент OnlySQ Cloud.
- Проект зависит от FUSE3 (libfuse3).
- Восстановление дерева файлов основано на локальном индексе.
- Если удалить локальный индекс, на другом ПК структура не восстановится.
Удаление
Удалить автозапуск и интеграции
onlysq-drive uninstall-autostart
onlysq-drive uninstall-context-menu
Удалить локальные данные
onlysq-drive purge --yes
Удалить пакет
pip uninstall onlysq-drive-linux
Лицензия
Проект распространяется под лицензией MIT.
Disclaimer
Это неофициальное приложение. Все права на бренд, API и платформу принадлежат OnlySQ.
Metadata
Release files for onlysq-drive-linux 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| onlysq_drive_linux-1.0.0.tar.gz | 30.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| onlysq_drive_linux-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 60.8 kB
Release files / onlysq_drive_linux-1.0.0.tar.gz
| Download URL | onlysq_drive_linux-1.0.0.tar.gz |
|---|---|
| Size | 30.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2337d2fece1bd1e0507e5f5231120b9415d6040c226a2bb4f3cd6a4bb6d18576
|
|
BLAKE2b-256 checksum How to use checksums |
6a50f9747a4493e5483a811c3f20d19822743229585f0d7c607f98b18882ef50
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.14
|
Release files / onlysq_drive_linux-1.0.0-py3-none-any.whl
| Download URL | onlysq_drive_linux-1.0.0-py3-none-any.whl |
|---|---|
| Size | 30.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0948617f300c1f032a5a2a7ffbfc74abe6a53e2e7861a4d8f55d099e6ccf7074
|
|
BLAKE2b-256 checksum How to use checksums |
1c11d5d8ef5c703eacf81c00d1252e77114fd4b6e20ddcbfafcddfb2cb9c85c2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.14
|