Change layout to more go-style-ish, replace some modules
* Deejay files, split them to achieve go-style project layout * Replace logrus with log/slog module to reduce dependencies * Replace gopkg.in/ini.v1 with github.com/wlevene/ini to make sure all modules BSD licensed * Update linter config && fix tons of linter warnings * Update .gitignore * Update README.md
This commit is contained in:
34
README.md
34
README.md
@@ -2,13 +2,12 @@
|
||||
|
||||
## Что это?
|
||||
|
||||
Своего рода API, делающий запросы в img#.reactor.cc. Вторая инкарнация, на сей
|
||||
раз на гошке.
|
||||
Своего рода API, делающий запросы в img#.reactor.cc. Вторая инкарнация, на сей раз на гошке.
|
||||
|
||||
## Зачем это нужно?
|
||||
|
||||
Сайт reactor.cc не даёт возможности постить на внешние ресурсы ссылки без
|
||||
указания правильного referer-а. :)
|
||||
Сайт reactor.cc не даёт возможности постить на внешние ресурсы ссылки на видосики без указания правильного referer-а. :)
|
||||
А поскольку referer - это заголовок, идеальным решением выглядит проксирование запроса.
|
||||
|
||||
Эта прокся призвана частично решить эту проблему через создание линков вида
|
||||
|
||||
@@ -20,25 +19,28 @@
|
||||
|
||||
## Как это работает?
|
||||
|
||||
При обращении к сгенерённому урлу, апи идёт на целевой сайт, делает запрос,
|
||||
а ответ стримит клиенту.
|
||||
При обращении к сгенерённому урлу, апи идёт на целевой сайт, делает запрос, а ответ стримит клиенту.
|
||||
|
||||
Из нюансов, запрос просиходит с указанием заголовка Range: 0-, что автоматически не даёт возможности делать
|
||||
range-запросы, то есть, скачивать видосики в несколько потоков). Впрочем, видосики всё ровно маленькие и нет
|
||||
необходимости качать их в много потоков.
|
||||
|
||||
Теоретически, можно поддержать range-запросы, однако, для этого надо поддержать запрос с методом HEAD, для узнавания
|
||||
длины файла, но мне откровенно лень. Для этого надо проводить r&d на предмет нюансов таких запросов.
|
||||
|
||||
## Как это запустить?
|
||||
|
||||
Предполагается сборка гошкой версии 1.22.x и скорее всего возможна сборка
|
||||
более новыми версиями.
|
||||
Предполагается сборка гошкой версии 1.24.x и скорее всего возможна сборка более новыми версиями.
|
||||
|
||||
Команда make сгенерирует в текущем каталоге бинарник joyproxy, тут же рядом
|
||||
есть joyproxy_sample.ini, который следует скопировать в joyproxy.ini и
|
||||
исправить для своего случая.
|
||||
Команда make сгенерирует в текущем каталоге бинарник joyproxy, тут же рядом есть joyproxy_sample.ini, который следует
|
||||
скопировать в joyproxy.ini и исправить для своего случая.
|
||||
|
||||
После этого сервис можно запускать.
|
||||
|
||||
Joyproxy2 работает как foreground-приложение и возможен его запуск из-под
|
||||
супервизора systemd, daemon-tools, runit, openrc, supervisord итп, которые
|
||||
умеют работать с foreground-приложениями как с сервисами. Если init хочет
|
||||
именно домонизированный сервис, то можно воспользоваться утилитой [daemonize](https://github.com/bmc/daemonize).
|
||||
Joyproxy2 работает как foreground-приложение и возможен его запуск из-под супервизора systemd, daemon-tools, runit,
|
||||
openrc, supervisord итп, которые умеют работать с foreground-приложениями как с сервисами. Если init хочет именно
|
||||
демонизированный сервис, то можно воспользоваться утилитой [daemonize](https://github.com/bmc/daemonize).
|
||||
|
||||
## Кому сказать спасибо?
|
||||
|
||||
Авторам, редакторам и тем, кто поддерживает `reactor.cc`
|
||||
Авторам, редакторам и тем, кто поддерживает `reactor.cc`. Пацаны стараются ради нас, спасибо им.
|
||||
|
||||
Reference in New Issue
Block a user