Как дать доступ к папке на компьютере по ссылке

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

Обновлено:

Содержание

В чём проблема

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

Как это решает DevProxy

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

Файлы никуда не загружаются: их отдаёт ваш компьютер в тот момент, когда получатель нажимает «Скачать». Всё, что лежит за пределами выбранной папки, по ссылке недоступно.

Что понадобится

  • Программа DevProxy и ключ доступа с готовым вариантом «Сайт или API». Как их получить, описано в статье «Как начать пользоваться DevProxy».
  • Папка, которую вы хотите показать.
  • Около десяти минут на первую настройку. Доступ к файлам защищён строже, чем показ сайта, поэтому компьютер один раз регистрируется в кабинете. Дальше папки добавляются за минуту.

Все команды ниже выполняются в PowerShell (Windows) или «Терминале» (macOS и Linux).

Шаг 1. Зарегистрируйте компьютер в кабинете

Откройте в кабинете раздел «Ключи доступа» и перейдите на вкладку «Автоматизация». Впишите название компьютера, например «Домашний компьютер», и нажмите «Зарегистрировать».

Регистрация компьютера в кабинете
Регистрация компьютера в кабинете

Появится секрет устройства. Нажмите «Скачать файл настройки»: браузер сохранит файл devproxy-device.json в папку «Загрузки». Секрет показывается один раз, поэтому скачайте файл сразу, а потом нажмите «Готово».

Секрет и файл устройства
Секрет и файл устройства

Переложите файл в папку с настройками программы:

  • Windows: Move-Item "$HOME\Downloads\devproxy-device.json" "$env:APPDATA\DevProxy\"
  • macOS и Linux: mv ~/Downloads/devproxy-device.json ~/.config/devproxy/ && chmod 600 ~/.config/devproxy/devproxy-device.json

Шаг 2. Выдайте компьютеру ключ

На той же вкладке ниже есть блок «Ключи этого устройства». Отметьте два права: «Запуск и остановка» и «Создание и изменение». Остальные отметки не нужны. Впишите название ключа, например «Папка по ссылке», и нажмите «Выдать ключ».

Права ключа устройства
Права ключа устройства

Кабинет покажет ключ, который начинается с dpk_. Скопируйте его и сохраните в файл owner.key рядом с настройками, подставив свой ключ вместо КЛЮЧ_УСТРОЙСТВА:

  • Windows: Set-Content -NoNewline "$env:APPDATA\DevProxy\owner.key" "КЛЮЧ_УСТРОЙСТВА"
  • macOS и Linux: (umask 077; printf '%s' 'КЛЮЧ_УСТРОЙСТВА' > ~/.config/devproxy/owner.key)

Этот ключ работает только вместе с файлом устройства на этом компьютере. Никому его не отправляйте.

Шаг 3. Разрешите доступ к папке

Программа покажет по ссылке только ту папку, которую вы разрешили сами. Выполните команду, указав путь к своей папке:

devproxy roots add --path "D:\Фото с праздника"

На macOS и Linux путь пишется так: --path "/Users/ivan/Pictures/Праздник". Команда напечатает длинный номер вида 3475711d-913b-42d2-98d1-c63064b3e9ae. Скопируйте его, он понадобится в следующем шаге.

Шаг 4. Запишите настройки

Откройте файл настроек (как это сделать, написано в общей статье) и замените его содержимое на этот текст:

server: https://control.devtunnels.ru
token: ВАШ_КЛЮЧ
reconnect: true
tunnels:
  - name: foto
    kind: http
    purpose: fileAccess
    role: creator
    rootId: 3475711d-913b-42d2-98d1-c63064b3e9ae
    fileAccessMode: download
automation:
  enabled: true
  deviceFile: devproxy-device.json
  ownerStartupKeyFile: owner.key

Вместо ВАШ_КЛЮЧ вставьте обычный ключ доступа из первой статьи (он начинается с dpx_), а в строке rootId укажите номер из третьего шага. Слово foto станет началом адреса.

Строка fileAccessMode решает, что можно делать получателю:

ЗначениеЧто может получатель
viewТолько смотреть: список файлов, фотографии и текст в браузере
downloadСмотреть и скачивать любые файлы

Сохраните файл.

Шаг 5. Запустите программу и отправьте ссылку

Выполните:

devproxy start

В окне появятся строки про код локальной панели и подключение для ИИ-помощников. Для этой задачи они не нужны.

Откройте в кабинете раздел «Туннели» и скопируйте адрес туннеля foto. Отправьте его получателю. Он увидит вашу папку:

Папка глазами получателя
Папка глазами получателя

Значок глаза открывает файл для просмотра, стрелка скачивает его. На странице просмотра тоже есть кнопка «Скачать».

Просмотр файла
Просмотр файла

Как показать другую папку

Разрешите её командой из третьего шага и замените номер в строке rootId. Можно показать несколько папок сразу: добавьте в раздел tunnels ещё одну запись с другим названием и своим номером. Каждая папка занимает одно место в тарифе, как обычный туннель.

Важно знать

  • Папку может открыть любой, у кого есть ссылка. Не кладите в неё то, что не готовы показать посторонним.
  • Изменять, загружать и удалять файлы по ссылке нельзя. Получатель может только смотреть и, если вы разрешили, скачивать.
  • Компьютер с папкой должен быть включён, а программа DevProxy запущена. Закончили: нажмите Ctrl+C в окне программы, и ссылка перестанет работать.
  • Скачанные файлы расходуют трафик тарифа. Бесплатных 5 ГБ в месяц хватит, например, на несколько альбомов фотографий.
  • Одноразовые ссылки и ссылки со сроком действия на отдельный файл пока создаются только через локальный API и MCP, то есть с помощью программ-помощников.

Если что-то не получилось

  • Программа пишет «File channels require a device file and a private owner startup key». Проверьте, что файлы devproxy-device.json и owner.key лежат в одной папке с файлом настроек. На macOS и Linux у обоих файлов должны быть права только для вас: выполните chmod 600 для каждого.
  • Программа пишет «File channel settings or approved root are unavailable». Номер в строке rootId не совпадает с разрешённой папкой. Список разрешённых папок показывает команда devproxy roots list.
  • В событиях есть строка «file channel stopped (file_channel_permit_denied)». У ключа устройства не хватает прав. Выдайте новый ключ с отметками «Запуск и остановка» и «Создание и изменение» и сохраните его в owner.key.
  • Вместо папки сообщение «Папка сейчас недоступна». Папку переименовали, перенесли или удалили. Разрешите её заново командой из третьего шага.

Попробуйте бесплатно

Бесплатного тарифа хватает на все сценарии из инструкций.

Создать аккаунт

Другие инструкции