Add source: AnimeGO.studio [RU]#614
Conversation
Refactor video sorting to apply quality preference and add quality parsing.
Reviewer's GuideAdds a new RU AnimeGO extension implementing listing, search, details, episode parsing, Kodik player integration, video extraction with quality and dubbing handling, and a quality preference, plus its Gradle module configuration and dependency on playlistutils. Sequence diagram for AnimeGO video list retrieval and Kodik integrationsequenceDiagram
participant AnimeGo
participant KodikServer
participant QuickJs
participant PlaylistUtils
AnimeGo->>AnimeGo: getVideoList(episode)
AnimeGo->>AnimeGo: fetchKodikDocument(episode.url)
AnimeGo->>AnimeGo: kodikVideoLinks(playerPageUrl, dubbing)
AnimeGo->>KodikServer: GET playerPageUrl with kodikHeaders
KodikServer-->>AnimeGo: HTML player page
AnimeGo->>KodikServer: POST /ftor with FormBody
KodikServer-->>AnimeGo: KodikData (links)
AnimeGo->>QuickJs: QuickJs.create()
AnimeGo->>QuickJs: evaluate(encodeScript)
QuickJs-->>AnimeGo: base64Url
AnimeGo->>AnimeGo: Base64.decode(base64Url)
alt hlsUrl contains .mpd
AnimeGo->>PlaylistUtils: extractFromDash(hlsUrl, labelBuilder, hlsHeaders, hlsHeaders)
PlaylistUtils-->>AnimeGo: List<Video>
else hlsUrl is HLS
AnimeGo->>AnimeGo: Video(hlsUrl, label, hlsUrl, headers)
end
AnimeGo->>AnimeGo: applyQualityPreference(videos)
AnimeGo->>AnimeGo: sort()
AnimeGo-->>AnimeGo: List<Video>
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Code Review
This pull request introduces the AnimeGO extension, which implements scraping for popular, latest, and search anime lists, parsing anime details, and extracting video links from the Kodik player using QuickJS. The review feedback highlights a resource leak where an OkHttp Response is not closed, a potential issue with empty iframe sources, and a bug where single-episode serials without dropdowns could cause an exception due to the episode count defaulting to zero.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
…go/AnimeGo.kt Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
…go/AnimeGo.kt Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
…go/AnimeGo.kt Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
|
There's a similar pull request for add source (Pull request #604 ), but that extension is for https://animego.online, and mine is for https://animego.studio |
Removed unused Kodik DTOs and adjusted episode total calculation.


Checklist:
extVersionCodevalue inbuild.gradlefor individual extensionsoverrideVersionCodeorbaseVersionCodeas needed for all multisrc extensionsisNsfw = trueflag inbuild.gradlewhen appropriateidif a source's name or language were changedweb_hi_res_512.pngwhen adding a new extensionAdd a 👍 reaction to pull requests you find important.
Summary by Sourcery
Add a new Russian AnimeGO streaming source extension backed by the Kodik player with configurable video quality preferences.
New Features:
Enhancements:
Build: