Skip to main content

CLI&Drive is an extension for Windows systems that allows you to use OnlySQ Cloud as a Windows drive (for example `O:`) using WinFsp + winfspy

Project description

OnlySQ Cloud Drive

PyPI version Version Python Windows WinFsp

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

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

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

Особенности

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

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

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

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

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

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

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


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

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

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

Важно

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

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

Полная настройка одной командой

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

После этого будет:

  • создан конфиг,
  • создан локальный индекс,
  • установлен пункт контекстного меню,
  • установлен автозапуск при входе в 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

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

winget install -e --id WinFsp.WinFsp
pip install onlysq_drive-1.0.0-py3-none-any.whl
onlysq-drive setup --mount O: --label "OnlySQ Cloud"
onlysq-drive doctor

После этого:

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

Лицензия

Проект распространяется под лицензией 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.0.0.tar.gz (27.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.0.0-py3-none-any.whl (26.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: onlysq_drive-1.0.0.tar.gz
  • Upload date:
  • Size: 27.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.0.0.tar.gz
Algorithm Hash digest
SHA256 69a90a1f3c932bd055172df98759d72096a14f075a6b40dad38a0cd79c007fda
MD5 216db588ec89158ccf6e6aba35b8398d
BLAKE2b-256 7a7793c7a7307bd9dbbaa205eb993d2b611a4df6c3bbbf24c220e7bd481a7526

See more details on using hashes here.

File details

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

File metadata

  • Download URL: onlysq_drive-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 26.2 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.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9a60f6430ff98a321a2573a47a202acc4e5e8eecc85421e348c1f30656a7f89a
MD5 f8f6157bd22ba400f230107823e0d374
BLAKE2b-256 2b5b4c829c70f07b990cc38b355f8d01cfbee1c8dfebbf6681beb0dfb6ff25cb

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