48 lines
2.1 KiB
Markdown
48 lines
2.1 KiB
Markdown
# Joyproxy
|
|
|
|
## Что это?
|
|
|
|
Своего рода API, делающий запросы в img#.reactor.cc
|
|
|
|
## Зачем это нужно?
|
|
|
|
Сайт reactor.cc не даёт возможности постить на внешние ресурсы ссылки без
|
|
указания правильного referer-а.
|
|
|
|
Эта прокся призвана частично решить эту проблему через создание линков вида
|
|
`https://сайт/joyproxy/img1.reactor.cc/pics/post/mp4/видосик.mp4`
|
|
|
|
Сгенерировать ссылку можно запостив урл с видосиком в форму на страничке
|
|
`https://сайт/joyurl`
|
|
|
|
## Как это работает?
|
|
|
|
При обращении к сгенерённому урлу, апи вначале идёт на сайт, выкачивает
|
|
видосик во временный каталог, отдаёт видосик клиенту. Есть встроенное
|
|
ограничение на размер файла в 10Мб.
|
|
|
|
N.B. Файлы из временного каталога автоматически не вычищаются. Получается
|
|
своего рода "перманентный" кэш.
|
|
|
|
## Как это запустить?
|
|
|
|
Я это запускаю как [PSGI][1]-приложение, через [UWSGI][2].
|
|
|
|
Для запуска понадобятся:
|
|
|
|
* uwsgi версии 2.0.15 или новее
|
|
* perl-5.18 или новее (вплоть до 5.32.x)
|
|
* модули perl-HTTP-Tiny, perl-URI-URL, perl-URL-Escape, perl-local-lib.
|
|
|
|
Можно использовать модули из системы, а можно подтянуть их из CPAN-а с помощью
|
|
[cpanm][3] (но, правда, perl-local-lib всё же придётся поставить, так как без
|
|
него ничего не заработает).
|
|
|
|
## Кому сказать спасибо?
|
|
|
|
Авторам, редакторам и тем, кто поддерживает `reactor.cc`
|
|
|
|
[1]: https://uwsgi-docs.readthedocs.io/en/latest/Perl.html
|
|
[2]: https://github.com/unbit/uwsgi
|
|
[3]: https://github.com/miyagawa/cpanminus
|