Skip to content

Add source: AnimeGO.studio [RU]#614

Open
RikCost wants to merge 9 commits into
yuzono:masterfrom
RikCost:animego
Open

Add source: AnimeGO.studio [RU]#614
RikCost wants to merge 9 commits into
yuzono:masterfrom
RikCost:animego

Conversation

@RikCost

@RikCost RikCost commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Checklist:

  • Updated extVersionCode value in build.gradle for individual extensions
  • Updated overrideVersionCode or baseVersionCode as needed for all multisrc extensions
  • Referenced all related issues in the PR body (e.g. "Closes #xyz")
  • Added the isNsfw = true flag in build.gradle when appropriate
  • Have not changed source names
  • Have explicitly kept the id if a source's name or language were changed
  • Have tested the modifications by compiling and running the extension through Android Studio
  • Have removed web_hi_res_512.png when adding a new extension
  • This PR is AI-assisted, I have reviewed the changes manually and confirmed they are not slop
  • Have made sure all the icons are in png format

Add 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:

  • Introduce the AnimeGO (ru) extension implementing popular, latest, search, details, episodes, and video extraction using the Kodik player.
  • Add a user preference to select the desired streaming quality (360p/480p/720p) for AnimeGO videos.

Enhancements:

  • Integrate playlistutils to support DASH and HLS playlist extraction from Kodik video links.

Build:

  • Add build.gradle configuration for the AnimeGO extension, including metadata and dependency on the playlistutils library.

RikCost and others added 2 commits July 7, 2026 01:41
Refactor video sorting to apply quality preference and add quality parsing.
@sourcery-ai

sourcery-ai Bot commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Reviewer's Guide

Adds 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 integration

sequenceDiagram
    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>
Loading

File-Level Changes

Change Details Files
Introduce AnimeGO RU ParsedAnimeHttpSource implementation with Kodik player integration and configurable quality preferences.
  • Implement popular, latest, and search requests/selectors including category and genre filters with Russian labels.
  • Parse anime details (title, poster, description, genres, studio, status) from AnimeGO item pages.
  • Implement custom episode list parsing that derives episodes from embedded Kodik player pages for movies and serials.
  • Implement video list retrieval that enumerates Kodik translations, builds per-translation player URLs, and extracts HLS/DASH streams.
  • Add quality preference application and custom sorting prioritizing voice-over over subtitles.
  • Implement Kodik-specific HTML fetching, script balancing, POST form construction, JS-based Base64 decoding via QuickJs, and playlistutils-based DASH extraction.
  • Define serialization DTOs for Kodik form data and quality/links JSON responses.
src/ru/animego/src/eu/kanade/tachiyomi/animeextension/ru/animego/AnimeGo.kt
Add Gradle configuration for the AnimeGO RU extension and declare required dependency.
  • Define extension metadata (name, class, version code) and apply the legacy extension Gradle plugin.
  • Add dependency on the shared playlistutils library used for DASH playlist extraction.
src/ru/animego/build.gradle

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've reviewed your changes and they look great!


Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

RikCost and others added 3 commits July 9, 2026 12:27
…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>
@RikCost

RikCost commented Jul 9, 2026

Copy link
Copy Markdown
Contributor Author

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
Other:
image

Mine:
image

@RikCost RikCost changed the title Add source: AnimeGO [RU] Add source: AnimeGO.studio [RU] Jul 9, 2026
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

Successfully merging this pull request may close these issues.

1 participant