Skip to main content
Archived

This project has been archived by its maintainers, and is no longer receiving any updates.

OnlySQ Cloud Drive (Linux)

PyPI version Version Python Linux FUSE3

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 и монтирует её как каталог. Когда ты создаёшь или копируешь файл в этот каталог, приложение:

  1. сохраняет файл во временный локальный кэш,
  2. загружает его в OnlySQ Cloud,
  3. сохраняет метаданные в локальный индекс,
  4. делает файл доступным для дальнейшего открытия, скачивания и удаления.

Важно

Сейчас 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 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)

Source distribution for onlysq-drive-linux 1.0.0
File Size Uploaded
onlysq_drive_linux-1.0.0.tar.gz 30.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for onlysq-drive-linux 1.0.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

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