Skip to main content

CLI tool and virtual filesystem that mounts OnlySQ Cloud as a Windows drive or Linux mountpoint

Project description

OnlySQ Cloud Drive

PyPI version Version Python Windows WinFsp

OnlySQ Drive - это неофициальное Windows-приложение и CLI-инструмент, который монтирует OnlySQ Cloud как отдельный диск в Проводнике Windows.

screen_1 screen_1_linux

После настройки у пользователя появляется полноценный диск вроде O:, с которым можно работать почти как с обычным:

  • загружать файлы в облако через Проводник,
  • скачивать и открывать файлы,
  • удалять их,
  • копировать публичную ссылку через контекстное меню,
  • автоматически поднимать диск после входа в Windows без ручного запуска терминала.

Особенности

  • Отдельный диск в Проводнике Windows OnlySQ Cloud отображается как обычный диск с собственной буквой, например O:.

  • Простая установка через Python / pip Проект ставится как обычный Python-пакет и управляется CLI-командой onlysq-drive.

  • Автозапуск при входе в Windows После настройки диск может подниматься автоматически без дополнительных окон и ручных команд.

  • Контекстное меню “Copy public link” Можно быстро копировать публичную ссылку на файл прямо из Проводника.

  • Локальный индекс и кэш Приложение хранит индекс файлов и кэш на ПК, чтобы быстрее показывать содержимое и восстанавливать его после перезапуска системы.

  • SQLite внутри Для метаданных используется локальная база, без необходимости поднимать отдельный сервер или БД.

  • CLI-управление Всё настраивается и обслуживается понятными командами: setup, doctor, stats, mount, config и т.д.

screen_2


Как это работает

OnlySQ Drive создаёт пользовательскую файловую систему для Windows и монтирует её как обычный диск. Когда ты создаёшь или копируешь файл на этот диск, приложение:

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

screen_3

Важно

Сейчас API OnlySQ Cloud предоставляет базовые операции загрузки, скачивания и удаления файла. Из-за этого клиент хранит локальный индекс файлов у пользователя. Это значит:

  • на этом же ПК после перезагрузки всё сохраняется,
  • но на другом ПК дерево файлов автоматически не восстановится без переноса локального индекса.

Стек

  • Python 3.10+
  • WinFsp
  • winfspy
  • SQLite
  • requests
  • Windows Task Scheduler
  • Windows Explorer shell integration

Установка

Требования

  • Windows 10 / 11
  • Python 3.10+
  • установленный WinFsp

1. Установить WinFsp

Через winget:

winget install -e --id WinFsp.WinFsp

2. Установить пакет

Из PyPI:

pip install onlysq-drive

Из wheel-файла:

pip install onlysq_drive-1.0.0-py3-none-any.whl

Из исходников:

pip install -e .

Быстрый старт

Пример полного сценария установки (Powershell)

winget install -e --id WinFsp.WinFsp
pip install onlysq-drive
onlysq-drive setup --mount O: --label "OnlySQ Cloud"
onlysq-drive doctor
Start-ScheduledTask -TaskName "OnlySQ Drive"

После этого:

  • появляется диск O:,
  • ставится автозапуск,
  • добавляется контекстное меню,
  • после следующего входа в Windows диск продолжает работать автоматически.

Проверка

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

Скачать файл в обычную папку Windows

onlysq-drive pull /example.txt "C:\Users\User\Downloads\example.txt"

Удалить файл

onlysq-drive rm /example.txt

Все команды CLI

Инициализация и настройка

onlysq-drive init

Создаёт:

  • конфиг,
  • SQLite-индекс,
  • директорию кэша.

Пример:

onlysq-drive init --mount O: --label "OnlySQ Cloud"

onlysq-drive setup

Полная первичная настройка:

  • init
  • установка контекстного меню
  • установка автозапуска
  • опционально установка иконки диска

Пример:

onlysq-drive setup --mount O: --label "OnlySQ Cloud"

Диагностика и обслуживание

onlysq-drive doctor

Показывает:

  • версию Python,
  • платформу,
  • путь к конфигу,
  • букву диска,
  • доступность winfspy,
  • базовую диагностику окружения.

onlysq-drive stats

Показывает:

  • количество файлов,
  • количество папок,
  • общий размер,
  • состояние индекса.

Работа с виртуальным диском

onlysq-drive mount

Монтирует диск вручную.

onlysq-drive ls [path]

Показывает содержимое папки.

onlysq-drive info <path>

Показывает информацию по файлу или папке.

onlysq-drive pull <virtual_path> <local_path>

Скачивает файл из облака/кэша в обычную папку Windows.

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 mount_drive O:
onlysq-drive config set volume_label "OnlySQ Cloud"

Интеграция с Windows

onlysq-drive install-context-menu

Добавляет пункт в контекстное меню Проводника:

  • OnlySQ: Copy public link

onlysq-drive uninstall-context-menu

Удаляет этот пункт.

onlysq-drive install-autostart

Создаёт задачу автозапуска при входе пользователя в Windows.

onlysq-drive uninstall-autostart

Удаляет задачу автозапуска.

onlysq-drive install-drive-icon <icon.ico>

Устанавливает кастомную иконку для буквы диска.

onlysq-drive uninstall-drive-icon

Удаляет кастомную иконку.


Полное удаление локальных данных

onlysq-drive purge --yes

Удаляет:

  • конфиг,
  • SQLite-индекс,
  • кэш,
  • локальные служебные файлы.

Пример:

onlysq-drive purge --yes

Автозапуск после перезагрузки

Если выполнен:

onlysq-drive install-autostart

или

onlysq-drive setup ...

то после входа пользователя в Windows диск будет запускаться автоматически.

Это значит, что в обычном режиме не нужно держать терминал открытым постоянно. Пользователь один раз настраивает систему, а дальше диск поднимается сам.


Кастомная иконка диска

Можно назначить собственную иконку:

onlysq-drive install-drive-icon "C:\Icons\onlysq.ico"

Удалить иконку:

onlysq-drive uninstall-drive-icon

Лучше использовать .ico файл с несколькими размерами внутри.


Где хранятся данные

Конфиг

%APPDATA%\OnlySQDrive\config.json

Индекс

%APPDATA%\OnlySQDrive\index.sqlite3

Кэш

%LOCALAPPDATA%\OnlySQDrive\cache

Логи автозапуска

%LOCALAPPDATA%\OnlySQDrive\logs\autostart.log

Структура проекта

onlysq-drive/
├─ pyproject.toml
├─ README.md
├─ onlysq_drive/
│   ├─ __init__.py
│   ├─ cli.py
│   ├─ launcher.py
│   ├─ mount.py
│   ├─ fs_ops.py
│   ├─ cloud_client.py
│   ├─ index_db.py
│   ├─ config.py
│   ├─ autostart.py
│   ├─ context_menu.py
│   ├─ drive_icon.py
└─  └─ utils.py

Ограничения

  • Это неофициальный клиент OnlySQ Cloud.
  • Проект зависит от установленного WinFsp.
  • Сейчас восстановление дерева файлов основано на локальном индексе.
  • Если удалить локальный индекс, на другом ПК структура облачного диска автоматически не восстановится.
  • Проект ориентирован исключительно на Windows.

Удаление

Удалить автозапуск и интеграции

onlysq-drive uninstall-autostart
onlysq-drive uninstall-context-menu
onlysq-drive uninstall-drive-icon

Удалить локальные данные

onlysq-drive purge --yes

Удалить пакет

pip uninstall onlysq-drive

Лицензия

Проект распространяется под лицензией MIT.


Disclaimer

Это неофициальное приложение. Все права на бренд, API и платформу принадлежат OnlySQ.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

onlysq_drive-1.1.0.tar.gz (35.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

onlysq_drive-1.1.0-py3-none-any.whl (37.1 kB view details)

Uploaded Python 3

File details

Details for the file onlysq_drive-1.1.0.tar.gz.

File metadata

  • Download URL: onlysq_drive-1.1.0.tar.gz
  • Upload date:
  • Size: 35.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for onlysq_drive-1.1.0.tar.gz
Algorithm Hash digest
SHA256 e33db618cbd4410cdce40803a3d024aa8a652d5302790cf0eeb3b4a9d2160916
MD5 75167885403b58f82bef764b3baf5eef
BLAKE2b-256 7e23e5b23643758a5bdaa731afa8ffa444b62a76045caf2b7e3f764f1d022048

See more details on using hashes here.

File details

Details for the file onlysq_drive-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: onlysq_drive-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 37.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for onlysq_drive-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8e5549d1377cad5360dcf38ec408576dcf96817ac56b2203adc3b23922885ea8
MD5 26455cacb4d011cfc544f4c08e9fdfdd
BLAKE2b-256 3b197b12eea5cd9c8cf84a6484c39c2c09d98bd2aa5066781c4f75f3070a798d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page