Как в Synology получить список файлов в директории и прямую ссылку на файл

Всем привет!!!

Если вам нужно делиться прямыми ссылками на файлы или получить список файлов в директории для просмотра или скачивания, то вам нужно сделать пару настроек, о которых я и расскажу.

Введение

В Synology DSM есть много способов делиться файлами. Самый распространенный и самый правильный это через Synology Drive. В этом варианте можно выбрать как будет формироваться ссылка на файл по домену, по квикконекту, по IP или еще как-то. Эти настройки доступны в консоли администратора Synology Drive. Так же Synology Drive позволяет делиться не только файлами, но и папками. В этом случаи вы видите act папки и файлы, которые лежат внутри расшаренной директории и можно скачивать как всю папку, так и отдельные файлы из нее. Следующий способ делиться файлами через File Station. Тут уже ничего настраивать нельзя и ссылка на файл формируется через квикконект.

У этих двух способов есть один общий момент. Они не формируют прямую ссылку на файл, а вместо этого формируется страница, в которой можно скачать нужный файл или даже папку. Так же поступают все другие облачные хранилища: Яндекс драйв, гугл, dropbox и так далее.

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

Файлами могут быть какие угодно: картинки, видео, архивы, офисные документы и прочие различные проекты.

Этот способ не работает через квикконект. Для доступа к файлам и папкам через интернет по прямым ссылкам нужен общедоступный белый IP адрес.

Необходимые пакеты

Для начала нужно установить из центра пакетов Web Station и веб сервер Apache 2.4

Дальше есть два варианта развития событий:

У этих вариантов будут одинаковые настройки, но начало отличается

  • У вас есть сайт на Synology или доменное имя
  • У вас есть DDNS или просто по IP адресу

Подготовка способа по DDNS или IP

Начнем со второго варианта, когда у вас либо DDNS, либо вообще только общедоступный белый IP адрес. (Хотя ничего не мешает на любой IP навешать DDNS имя)

Откройте Web Station, на вкладке веб-служба отредактируйте службу по умолчанию. В открывшемся окне включите личный веб сайт, а внутренний веб сервер нужно обязательно выбрать Apache.

После этого у каждого пользователя в его папке home появится папка www. В ней-то и будут лежать файлы, которыми мы будем делиться, но как чуть по позже, так как это одинаково со следующим способом.

Подготовка способа через сайт

Теперь вариант с доменным именем или веб сайтом. Допустим у вас есть сайт или доменное имя. Я решил, что буду делиться файлами через доменное имя третьего уровня например shara.bafista.ru.

Откройте Web Station и на вкладке веб-служба создайте новую веб службу. В открывшемся окне можно выбрать статический веб-сайт

На следующем этапе нужно придумать имя веб службы, придумать описание, выбрать папку и обязательно указать веб сервер Apache

Папку можно выбрать где угодно, там где вам нужно.

На заключительном этапе все проверьте и нажмите создать

Затем перейдите на веб-портал и создайте новый. Тут нужно выбрать портал веб-служб

В следующем окне нужно выбрать нашу службу, в моем случаи это shara-files, erpfnm тип на основе имени и указать имя вашего домена, на котором будут ваши прямые ссылки на файлы.

Общие настройки

Теперь в директории www вашего пользователя или директории вашего сайта нужно создать файл .htaccess следующего содержания:

DefaultLanguage ru

# Кодировка текста
IndexOptions +Charset=UTF-8

# разрешение выдачи листинга
Options +Indexes

# игнорировать файлы
IndexIgnore *.php myfile*

Сразу после этого можно открыть ваш сайт для прямых ссылок на файлы или папку www вашего пользователя http://IP/~username/ в моем случаи это https://xpe423.synology.me/~sbaf/ (я использовал DDNS от Synology), где вы сразу увидите все файлы в этой папке и сможете скопировать их прямые ссылки.

Думаю естественно, что в случаи с IP должен быть ваш общедоступный белый адрес на роутере или это может быть IP адрес вашего Synology, если вы используете это только внутри вашей домашней сети или организации

Не забывайте сделать проброс портов 80 и 443 на роутере, если нужен доступ через интернет

Доработки результата

Теперь можно это все дело украсить. Для этого в данной директории создайте два файла

HEADER.html – этот файл отвечает за заголовки и верхнею часть сайта

<!DOCTYPE html>
<html lang="ru">
<head>
   <!-- Тег <head> содержит служебную информацию -->
   <title>Листинг папки пользователя sbaf</title>
   <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
</head>

<body> <h1>Файлы из папки www </h1></body>
</html>

README.html – этот файл отвечает за нижнею часть сайта

<h3>Вы можете скачать и посмотреть файлы </h3>

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

Теперь вы знаете как в Synology получить список файлов в директории и прямые ссылку на файл

Мне помогли:

Подписаться
Уведомить о
guest
4 Комментарий
Старые
Новые
Межтекстовые Отзывы
Посмотреть все комментарии