LINUX.ORG.RU
ФорумAdmin

Как можно сделать символьную ссылку на файлы из интернета

 , , ,


0

1

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

Дело в том, что у меня есть общий web-сервер, где мне не доступны команды для работы с видеофайлами (ffmpeg, например).

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

У меня так же имеется сервер, где хранятся видео, которые имели очень большой размер, но были сжаты до приемлемого.

И вот сейчас у меня появилась мысль, скачивать все видео, что есть на общем web-сервере к себе на сервер, удалять их и оставлять ссылки на скаченные видео. Только проблема в том, что ln так делать не умеет :(

P.S. Сейчас пришла в голову мысль, делать облачное монтирование :)



Последнее исправление: SaintAnd (всего исправлений: 1)

Ничего не понятно. Зачем тебе ссылки?

firkax ★★★★★
()

и оставлять ссылки на скаченные видео. Только проблема в том, что ln так делать не умеет

Символьные ссылки это просто текст. Там может быть что угодно.

$ ln -s 'https://www.linux.org.ru/forum/admin/16894968' link-to-the-thread
$ ls -l
итого 0
lrwxrwxrwx 1 rinat rinat 45 июн 16 17:03 link-to-the-thread -> https://www.linux.org.ru/forum/admin/16894968
$ 

Вот с открытием таких ссылок могут быть проблемы, это да.

i-rinat ★★★★★
()
Ответ на: комментарий от pfg

Хах, это не универ, я там не учился. Это попытка съэкономить место и время. Спасибо за ссылку :)

SaintAnd
() автор топика
Ответ на: комментарий от i-rinat

Пока ещё не смог реализовать ни один метод.

К примеру, на сайте есть материал с таким кодом:

<video src="video/video.mp4" type='video/mp4>
</video>

И я создавал символьные ссылки

ln -s 'https://samplelib.com/lib/preview/mp4/sample-5s.mp4' video.mp4

Создавал файлы video.mp4 с таким:

[InternetShortcut]
URL=https://samplelib.com/lib/preview/mp4/sample-5s.mp4 

и таким содержимым:

<!doctype html>
<script>
  window.location.replace('https://samplelib.com/lib/preview/mp4/sample-5s.mp4')
</script>

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

SaintAnd
() автор топика
Последнее исправление: SaintAnd (всего исправлений: 2)
Ответ на: комментарий от anc

Вы серьезно? Вам же написали

Это я и так понимал. Написал это на всякий случай, чтобы потом не было лишних вопросов у других участников форума. Мол, почему этот вариант не попробовал?

Вообщем, я пока в поиске решения.

SaintAnd
() автор топика
Ответ на: комментарий от anc

Вы же сами написали про монтирование в топике.

Этот сервер не имеет утилиту davfs2, поэтому мне приходится искать обходные пути.

SaintAnd
() автор топика
Последнее исправление: SaintAnd (всего исправлений: 1)
Ответ на: комментарий от SaintAnd

Если это веб-сервер, то возможно получится как-то накостылять отправку HTTP 301. На PHP, например. PHP зачастую на таких «халявных» серверах есть.

i-rinat ★★★★★
()
Ответ на: комментарий от anc

Тем, что они вырезаны под чистую. Нет ни sshfs ни ftpfs ни smbfs. Чего-то ещё не нашёл. Вообщем, пока печаль. Не думал, что на столько сильно его ограничат. Придётся тогда переходить на VDS и прочее, если будет сильно раздражать это…

SaintAnd
() автор топика
Ответ на: комментарий от i-rinat

Да, тут не просто php есть, но и различные его версии реализованы. В php не сильно разбираюсь, и не думал, что он на такое способен, но если там можно использовать такие «трюки», то покапаю в том направлении, что вы указали. Спасибо!

SaintAnd
() автор топика
Ответ на: комментарий от anc

Верно мыслишь.

Дело в том, что у меня есть общий web-сервер, где мне не доступны команды для работы с видеофайлами (ffmpeg, например).

SaintAnd
() автор топика
Последнее исправление: SaintAnd (всего исправлений: 1)

Пришла мне сейчас в голову странная мысль, сделать символьную ссылку на файлы из интернета… У меня так же имеется сервер …

Не мучайся - заведи себе в облаке public-корзину типа Amazon S3 или Google Cloud Storage, настрой там CORS на твой веб сервер и складывай туда что тебе нужно. Обойдется где-то ~$0.020 за гигабайт. Cколько-то первых гигов обычно бесплатно (Free Tier).

vinvlad ★★
()
Ответ на: комментарий от vinvlad

Не мучайся - заведи себе в облаке public-корзину типа Amazon S3 или Google Cloud Storage, настрой там CORS на твой веб сервер и складывай туда что тебе нужно. Обойдется где-то ~$0.020 за гигабайт. Cколько-то первых гигов обычно бесплатно (Free Tier).

Хорошо, возьму себе на заметку. Нужно будет подумать об этом.

SaintAnd
() автор топика
Ответ на: комментарий от naKovoNapalBaran

2 веб сервер зеркало

Не понял до конца мысль. Сделать второй веб-сервер зеркалом для первого?

Может быть это и удастся сделать на этом ограниченном общем сервере. Спасибо за идею.

SaintAnd
() автор топика
22 мая 2023 г.

Нашёл способ.

  1. Видеофайл перемещаем на нужный сервер: bash rsync myfile.mp4 example.ru:/var/www/EXAMPLE.ru/myfile.mp4

  2. Создаём каталог с названием перемещённого файла: bash mkdir myfile.mp4

  3. Кладём в каталог index.html с редиректом на файл: bash echo <meta http-equiv="refresh" content="0; https://www.EXAMPLE.ru/VIDEO.mp4"> > myfile.mp4/index.html

SaintAnd
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.