Aniwave extension is not working #150

Closed
opened 2024-08-16 10:39:29 -05:00 by Sac-94 · 2 comments
Sac-94 commented 2024-08-16 10:39:29 -05:00 (Migrated from github.com)

Source information

Aniwave 14.74 (English)

Source language

English

Steps to reproduce

Screenshot_20240816_205543~2

Expected behavior

Show episodes

Actual behavior

Giving this error "JsonDecoding Exception: Unexpected JSON token at offset 23: Expected string literal but 'null' literal was found at path: $.result
Use 'coerceInputValues = true' in 'Json {}' builder to
coerce nulls if property has a default value. JSON input: {"status":403,"result":null,"message":"Request is invalid.","messages":["Request is invalid."]}"

Aniyomi version

0.16.4.3

Android version

Android 14

Other details

No response

Acknowledgements

  • I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
  • I have written a short but informative title.
  • I have updated the app to version 0.15.2.4.
  • I have updated all installed extensions.
  • I have tried the troubleshooting guide.
  • If this is an issue with the app itself, I should be opening an issue in the app repository.
  • I will fill out all of the requested information in this form.
### Source information Aniwave 14.74 (English) ### Source language English ### Steps to reproduce ![Screenshot_20240816_205543~2](https://github.com/user-attachments/assets/c73221db-e2a7-444c-bfb6-ddb815d7c08c) ### Expected behavior Show episodes ### Actual behavior Giving this error "JsonDecoding Exception: Unexpected JSON token at offset 23: Expected string literal but 'null' literal was found at path: $.result Use 'coerceInputValues = true' in 'Json {}' builder to coerce nulls if property has a default value. JSON input: {"status":403,"result":null,"message":"Request is invalid.","messages":["Request is invalid."]}" ### Aniyomi version 0.16.4.3 ### Android version Android 14 ### Other details _No response_ ### Acknowledgements - [X] I have searched the existing issues and this is a new ticket, **NOT** a duplicate or related to another open or closed issue. - [X] I have written a short but informative title. - [X] I have updated the app to version **[0.15.2.4](https://github.com/aniyomiorg/aniyomi/releases/latest)**. - [X] I have updated all installed extensions. - [X] I have tried the [troubleshooting guide](https://aniyomi.org/docs/guides/troubleshooting/). - [X] If this is an issue with the app itself, I should be opening an issue in the [app repository](https://github.com/aniyomiorg/aniyomi/issues/new/choose). - [X] I will fill out all of the requested information in this form.
JudgeDreddpool commented 2024-08-17 06:06:15 -05:00 (Migrated from github.com)

Can confirm that I've been getting this error too, but was also receiving a 404 HTTP error before that whenever I tried watching episodes.

Can confirm that I've been getting this error too, but was also receiving a 404 HTTP error before that whenever I tried watching episodes.
JustDigits commented 2024-08-19 03:22:22 -05:00 (Migrated from github.com)

It seems that this may be an issue with the VRF tokens. Consider the code that fetches the episodes for a given anime. At the return, a GET request is sent to /ajax/episode/list with a VRF token generated from the anime ID and an encryption key. Looking at similar entries in the Wayback Machine and sorting them by newest, there are many records as recent as yesterday that do resolve with the correct data:

{
    "status": 200,
    "result": "[HTML data omitted for brevity]"
}

I don't know much about VRF tokens, but my understanding is that they are a kind of temporal access key. Providing any incorrect or outdated VRF token resolves with the JSON input observed in the error message.

It also seems that Aniwave recently made updates to their VRF tokens, judging by how these got considerably longer from August 16 onwards (which corresponds to when this problem started). Updating the encryption key to match Aniwave's new VRF tokens might solve this issue.

It seems that this may be an issue with the VRF tokens. Consider the [code that fetches the episodes for a given anime](https://github.com/Kohi-den/extensions-source/blob/9fbe1353589ddcd4180639d8abe52f926b56f1a9/src/en/nineanime/src/eu/kanade/tachiyomi/animeextension/en/nineanime/Aniwave.kt#L152-L168). At the return, a GET request is sent to `/ajax/episode/list` with a VRF token generated from the anime ID and an encryption key. Looking at [similar entries in the Wayback Machine](https://web.archive.org/web/*/https://aniwave.to/ajax/episode*) and sorting them by newest, there are many records as recent as yesterday that do resolve with the correct data: ```json { "status": 200, "result": "[HTML data omitted for brevity]" } ``` I don't know much about VRF tokens, but my understanding is that they are a kind of temporal access key. Providing any incorrect or outdated VRF token resolves with the JSON input observed in the error message. It also seems that Aniwave recently made updates to their VRF tokens, judging by how these got considerably longer from August 16 onwards (which corresponds to when this problem started). Updating the encryption key to match Aniwave's new VRF tokens might solve this issue.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: AlmightyHak/extensions-source#150
No description provided.