Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

author.today: Работаю через https://212.224.121.254/: Сервер не успевает ответить за 5 секунд. #98

Open
alllexx88 opened this issue Feb 19, 2024 · 14 comments

Comments

@alllexx88
Copy link

Здравствуйте! На днях опять перестал работать обход CloudFlare при скачивании с author.today из Германии:

$ Elib2Ebook -u https://author.today/work/316534 -f fb2
Сайт https://api.author.today/ не доступен. Работаю через https://212.224.121.254/
Начинаю генерацию книги "https://author.today/work/316534"
Сервер не успевает ответить за 5 секунд. Попробуйте увеличить Timeout с помощью параметра -t
Сервер не успевает ответить за 5 секунд. Попробуйте увеличить Timeout с помощью параметра -t
Сервер не успевает ответить за 5 секунд. Попробуйте увеличить Timeout с помощью параметра -t
Сервер не успевает ответить за 5 секунд. Попробуйте увеличить Timeout с помощью параметра -t
^C

При украинском ipv4 впн скачивание через https://api.author.today/ работает корректно.

@OnlyFart
Copy link
Owner

OnlyFart commented Sep 5, 2024

Настал момент, когда я победил лень и снова занялся проектом)

В последней версии 2.0.6 исправлено

@alllexx88
Copy link
Author

Консольная утилита падает с ошибкой у меня. Если использую Linux portable:

Elib2EbookCli -u https://author.today/work/352963 -f fb2
Сайт https://api.author.today/ не доступен. Работаю через https://91.228.155.190/
Начинаю генерацию книги "https://author.today/work/352963"
Генерация книги https://author.today/work/352963 завершилась с ошибкой. System.InvalidOperationException: Reflection-based serialization has been disabled for this application. Either use the source generator APIs or explicitly configure the 'JsonSerializerOptions.TypeInfoResolver' property.
   at System.Text.Json.ThrowHelper.ThrowInvalidOperationException_JsonSerializerIsReflectionDisabled()
   at System.Text.Json.JsonSerializerOptions.ConfigureForJsonSerializer()
   at System.Text.Json.JsonSerializerOptions.MakeReadOnly(Boolean)
   at System.Text.Json.JsonSerializer.GetTypeInfo(JsonSerializerOptions, Type)
   at System.Text.Json.JsonSerializer.GetTypeInfo[T](JsonSerializerOptions)
   at System.Text.Json.JsonSerializer.DeserializeAsync[TValue](Stream , JsonSerializerOptions , CancellationToken )
   at System.Net.Http.Json.HttpContentJsonExtensions.ReadFromJsonAsyncCore[T](HttpContent, JsonSerializerOptions, CancellationToken)
   at Core.Logic.Getters.AuthorTodayGetter.GetBookDetails(String bookId) in /home/runner/work/Elib2Ebook/Elib2Ebook/Core/Logic/Getters/AuthorTodayGetter.cs:line 113
   at Core.Logic.Getters.AuthorTodayGetter.Get(Uri url) in /home/runner/work/Elib2Ebook/Elib2Ebook/Core/Logic/Getters/AuthorTodayGetter.cs:line 78
   at Elib2EbookCli.Program.<>c.<<Main>b__0_0>d.MoveNext() in /home/runner/work/Elib2Ebook/Elib2Ebook/Elib2EbookCli/Program.cs:line 27

Если использую не portable бинарник (с .NET core 8.0.8.sdk401):

Elib2EbookCli -u https://author.today/work/352963 -f fb2
Сайт https://api.author.today/ не доступен. Работаю через https://91.228.155.190/
Начинаю генерацию книги "https://author.today/work/352963"
Загружаю картинку https://cm.author.today/content/2024/06/07/59316bc1947946a794730d482a7866f0.jpg?width=265&height=400&rmode=max
Загружена картинка https://185.26.98.195/content/2024/06/07/59316bc1947946a794730d482a7866f0.jpg
Генерация книги https://author.today/work/352963 завершилась с ошибкой. System.NullReferenceException: Object reference not set to an instance of an object.
   at Core.Logic.Getters.AuthorTodayGetter.GetChapters(AuthorTodayBookDetails book) in /home/runner/work/Elib2Ebook/Elib2Ebook/Core/Logic/Getters/AuthorTodayGetter.cs:line 185
   at Core.Logic.Getters.AuthorTodayGetter.FillChapters(AuthorTodayBookDetails book) in /home/runner/work/Elib2Ebook/Elib2Ebook/Core/Logic/Getters/AuthorTodayGetter.cs:line 159
   at Core.Logic.Getters.AuthorTodayGetter.Get(Uri url) in /home/runner/work/Elib2Ebook/Elib2Ebook/Core/Logic/Getters/AuthorTodayGetter.cs:line 80
   at Elib2EbookCli.Program.<>c.<<Main>b__0_0>d.MoveNext() in /home/runner/work/Elib2Ebook/Elib2Ebook/Elib2EbookCli/Program.cs:line 27

Докер контейнер:

docker run --rm -v save:/Save onlyfart/elib2ebookcli -u https://author.today/work/352963 -f fb2 --save /Save
Unable to find image 'onlyfart/elib2ebookcli:latest' locally
latest: Pulling from onlyfart/elib2ebookcli
a2318d6c47ec: Pull complete 
24bb2c40e4f2: Pull complete 
3211cdec1fd8: Pull complete 
1d388b3b9a24: Pull complete 
3cfd1d4e2b67: Pull complete 
5e2885a6a1ef: Pull complete 
d539f8546879: Pull complete 
4902ecc1f23c: Pull complete 
Digest: sha256:1976d7edd6681c390b9eba1fd875bd25537e2927df9fe8270fd2318a085307cd
Status: Downloaded newer image for onlyfart/elib2ebookcli:latest
Сайт https://api.author.today/ не доступен. Работаю через https://91.228.155.190/
Начинаю генерацию книги "https://author.today/work/352963"
Загружаю картинку https://cm.author.today/content/2024/06/07/59316bc1947946a794730d482a7866f0.jpg?width=265&height=400&rmode=max
Загружена картинка https://185.26.98.195/content/2024/06/07/59316bc1947946a794730d482a7866f0.jpg
Генерация книги https://author.today/work/352963 завершилась с ошибкой. System.NullReferenceException: Object reference not set to an instance of an object.
   at Core.Logic.Getters.AuthorTodayGetter.GetChapters(AuthorTodayBookDetails book) in /app/Core/Logic/Getters/AuthorTodayGetter.cs:line 185
   at Core.Logic.Getters.AuthorTodayGetter.FillChapters(AuthorTodayBookDetails book) in /app/Core/Logic/Getters/AuthorTodayGetter.cs:line 159
   at Core.Logic.Getters.AuthorTodayGetter.Get(Uri url) in /app/Core/Logic/Getters/AuthorTodayGetter.cs:line 80
   at Elib2EbookCli.Program.<>c.<<Main>b__0_0>d.MoveNext() in /app/Elib2EbookCli/Program.cs:line 27

А вот докер контейнер с веб версией работает 😕

@OnlyFart
Copy link
Owner

OnlyFart commented Sep 6, 2024

Пробуем версию 2.0.7

А что с веб версией не так?

@OnlyFart
Copy link
Owner

OnlyFart commented Sep 6, 2024

Веб версию можно еще пощупать вот тут

Скорее всего когда то будет погашено, но пока, эксперимента ради, работает

@alllexx88
Copy link
Author

С веб версией всё хорошо, смайлик должен был показать, что я сбит с толку😅 то есть, веб версия работает, а CLI нет. 2.0.7 попробую, спасибо🙂

@alllexx88
Copy link
Author

2.0.7, все версии CLI (обычный бинарник, portable, docker) падают с одной и той же ошибкой теперь:

Elib2EbookCli -u https://author.today/work/352963 -f fb2
Сайт https://api.author.today/ не доступен. Работаю через https://185.26.98.195/
Начинаю генерацию книги "https://author.today/work/352963"
A task was canceled.
A task was canceled.
A task was canceled.
A task was canceled.
A task was canceled.
Генерация книги https://author.today/work/352963 завершилась с ошибкой. System.NullReferenceException: Object reference not set to an instance of an object.
   at Core.Logic.Getters.AuthorTodayGetter.GetBookDetails(String bookId) in /home/runner/work/Elib2Ebook/Elib2Ebook/Core/Logic/Getters/AuthorTodayGetter.cs:line 108
   at Core.Logic.Getters.AuthorTodayGetter.Get(Uri url) in /home/runner/work/Elib2Ebook/Elib2Ebook/Core/Logic/Getters/AuthorTodayGetter.cs:line 78
   at Elib2EbookCli.Program.<>c.<<Main>b__0_0>d.MoveNext() in /home/runner/work/Elib2Ebook/Elib2Ebook/Elib2EbookCli/Program.cs:line 27

@alzhur
Copy link

alzhur commented Sep 7, 2024

Перепробовал несколько релизов портативной версии утилиты (2.0.8, 2.0.7, 1.47.1) для Windows - все одинаково крашатся с ошибкой про отключенную сериализацию:

Генерация книги https://author.today/work/****** завершилась с ошибкой. System.InvalidOperationException: Reflection-based serialization has been disabled for this application. Either use the source generator APIs or explicitly configure the 'JsonSerializerOptions.TypeInfoResolver' property.
        at System.Text.Json.ThrowHelper.ThrowInvalidOperationException_JsonSerializerIsReflectionDisabled()
        at System.Text.Json.JsonSerializerOptions.ConfigureForJsonSerializer()
        at System.Text.Json.JsonSerializerOptions.MakeReadOnly(Boolean)
        at System.Text.Json.JsonSerializer.GetTypeInfo(JsonSerializerOptions, Type)
        at System.Text.Json.JsonSerializer.GetTypeInfo[T](JsonSerializerOptions)
        at System.Text.Json.JsonSerializer.DeserializeAsync[TValue](Stream , JsonSerializerOptions , CancellationToken )
        at System.Net.Http.Json.HttpContentJsonExtensions.ReadFromJsonAsyncCore[T](HttpContent, JsonSerializerOptions, CancellationToken)
        at Core.Logic.Getters.AuthorTodayGetter.GetBookDetails(String bookId) in D:\a\Elib2Ebook\Elib2Ebook\Core\Logic\Getters\AuthorTodayGetter.cs:line 113                                    at Core.Logic.Getters.AuthorTodayGetter.Get(Uri url) in D:\a\Elib2Ebook\Elib2Ebook\Core\Logic\Getters\AuthorTodayGetter.cs:line 78 
        at Elib2EbookCli.Program.<>c.<<Main>b__0_0>d.MoveNext() in D:\a\Elib2Ebook\Elib2Ebook\Elib2EbookCli\Program.cs:line 27    

Windows 10, дотнетов новее 4.8 в системе нет, но на портативную версию это же и не должно влиять?

@OnlyFart
Copy link
Owner

OnlyFart commented Sep 7, 2024

Windows 10, дотнетов новее 4.8 в системе нет, но на портативную версию это же и не должно влиять?

Попробуйте вот эту версию https://github.com/OnlyFart/Elib2Ebook/actions/runs/10749414514/artifacts/1904104905

@alzhur
Copy link

alzhur commented Sep 7, 2024

Эта версия сработала, файл книги сформировался, но есть замечания по валидности полученного файла в формате fb2 (возможно, частный случай?):

  1. В title-info отсутствуют обязательные элементы genre, date.
  2. В document-info элементы program-used, date и src-url идут в обратном порядке.
  3. В document-info отсутствуют обязательные элементы id, version.
  4. В fb2 нет такого элемента как <br/>, удалять или заменять <p><br/></p> на <empty-line/>.
  5. "Имена файлов"/ID вложенных картинок должны начинаться с буквы, а не цифры.

@alzhur
Copy link

alzhur commented Oct 2, 2024

После возвращения из отпуска продолжаю эксперименты с версией Elib2Ebook-windows-latest-portable 2.3.1, результат странный: судя по логу, скачиваются все главы книги, но в сформированный файл попадает только доступная бесплатно часть, 14 и 30 глав соответственно:

Elib2EbookCli.exe -u https://author.today/work/347869 -f fb2
Сайт https://api.author.today/ доступен. Работаю через него
Начинаю генерацию книги "https://author.today/work/347869"
Загружаю картинку https://cm.author.today/content/2024/07/01/024ceb52b331450f8269f7cc988cbfb5.jpg?width=265&height=400&rmode=max
Загружена картинка https://author.today/content/2024/07/01/024ceb52b331450f8269f7cc988cbfb5.jpg
Загружаю главу "Глава 1"
Загружаю главу "Глава 2"
Загружаю главу "Глава 3"
Загружаю главу "Глава 4"
Загружаю главу "Глава 5"
Загружаю главу "Глава 6"
Загружаю главу "Глава 7"
Загружаю главу "Глава 8"
Загружаю главу "Глава 9"
Загружаю главу "Глава 10"
Загружаю главу "Глава 11"
Загружаю главу "Глава 12"
Загружаю главу "Глава 13"
Загружаю главу "Глава 14"
Загружаю главу "Глава 15"
Загружаю главу "Глава 16"
Загружаю главу "Глава 17"
Загружаю главу "Глава 18"
Загружаю главу "Глава 19"
Загружаю главу "Глава 20"
Загружаю главу "Глава 21"
Загружаю главу "Глава 22"
Загружаю главу "Глава 23"
Загружаю главу "Глава 24"
Загружаю главу "Глава 25"
Загружаю главу "Глава 26"
Начинаю сохранение книги "Т и Д Зимины - Богатыристика. Тайны сухого озера.fb2"
Книга "Т и Д Зимины - Богатыристика. Тайны сухого озера.fb2" успешно сохранена

Elib2EbookCli.exe -u https://author.today/work/149504 -f fb2
Сайт https://api.author.today/ доступен. Работаю через него
Начинаю генерацию книги "https://author.today/work/149504"
Загружаю картинку https://cm.author.today/content/2022/02/10/d557c99ede104864938c51de13247d7c.jpg?width=265&height=400&rmode=max
Загружена картинка https://author.today/content/2022/02/10/d557c99ede104864938c51de13247d7c.jpg
Загружаю главу "Глава 1"
Загружаю главу "Глава 2"
Загружаю главу "Глава 3"
Загружаю картинку https://cm.author.today/content/2022/03/10/108ce6f6511b4fe4b6e567603efa6f57.jpg
Загружена картинка https://author.today/content/2022/03/10/108ce6f6511b4fe4b6e567603efa6f57.jpg
Загружаю главу "Глава 4"
Загружаю главу "Глава 5"
Загружаю главу "Глава 6"
Загружаю главу "Глава 7"
Загружаю главу "Глава 8"
Загружаю главу "Глава 9"
Загружаю главу "Глава 10"
Загружаю главу "Глава 11"
Загружаю картинку https://cm.author.today/content/2022/04/07/4b4519dbbfa0494091f68674aa05f913.jpg
Загружена картинка https://author.today/content/2022/04/07/4b4519dbbfa0494091f68674aa05f913.jpg
Загружаю главу "Глава 12"
Загружаю главу "Глава 13"
Загружаю главу "Глава 14"
Загружаю главу "Глава 15"
Загружаю главу "Глава 16"
Загружаю главу "Глава 17"
Загружаю главу "Глава 18"
Загружаю главу "Глава 19"
Загружаю главу "Глава 20"
Загружаю главу "Глава 21"
Загружаю главу "Глава 22"
Загружаю картинку https://cm.author.today/content/2022/05/12/57abbd2a3589457cbda93226c08a910a.jpg
Загружена картинка https://author.today/content/2022/05/12/57abbd2a3589457cbda93226c08a910a.jpg
Загружаю главу "Глава 23"
Загружаю главу "Глава 24"
Загружаю главу "Глава 25"
Загружаю картинку https://cm.author.today/content/2022/05/26/0a11593f6b2845cdbf6ede952b5b0d70.jpg
Загружена картинка https://author.today/content/2022/05/26/0a11593f6b2845cdbf6ede952b5b0d70.jpg
Загружаю главу "Глава 26"
Загружаю главу "Глава 27"
Загружаю главу "Глава 28"
Загружаю главу "Глава 29"
Загружаю главу "Глава 30"
Загружаю главу "Глава 31"
Загружаю главу "Глава 32"
Загружаю главу "Глава 33"
Загружаю главу "Глава 34"
Загружаю главу "Глава 35"
Загружаю главу "Глава 36"
Загружаю главу "Глава 37"
Загружаю главу "Глава 38"
Загружаю главу "Глава 39"
Загружаю главу "Глава 40"
Загружаю главу "Глава 41"
Загружаю главу "Эпилог"
Начинаю сохранение книги "Михаил Игнатов - Кузня Крови.fb2"
Книга "Михаил Игнатов - Кузня Крови.fb2" успешно сохранена

@avs1972
Copy link

avs1972 commented Oct 3, 2024

После возвращения из отпуска продолжаю эксперименты с версией Elib2Ebook-windows-latest-portable 2.3.1, результат странный: судя по логу, скачиваются все главы книги, но в сформированный файл попадает только доступная бесплатно часть, 14 и 30 глав соответственно:

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

@alzhur
Copy link

alzhur commented Oct 3, 2024

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

В том-то и вопрос - почему вдруг "не может".
Если что - книги честно куплены, но скачивание средствами сайта запрещено, только чтение онлайн.

Провёл дополнительный эксперимент: с явным указанием логина-пароля через опции командной строки - книга скачивается полностью. Месяц назад работало и без этого, хватало того, что в браузере залогинен на сайте.
Скорей всего, какие-то изменения на сайте, но можно ли их обойти изменениями в программе?

@OnlyFart
Copy link
Owner

OnlyFart commented Oct 3, 2024

Никогда оно так не работало. Платное всегда скачивается с указанием логина и пароля. Значит раньше эта книга раньше была бесплатна и полностью открыта

@alzhur
Copy link

alzhur commented Oct 3, 2024

Я уже не помню, на какой книге тестировал до отпуска, возможно и бесплатная какая-то подвернулась, поэтому и не заметил этот нюанс.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants