gitextract_yt_82lji/ ├── .github/ │ └── workflows/ │ └── release.yml ├── .gitignore ├── LICENSE ├── README.md ├── build.gradle.kts ├── extension-app/ │ ├── .gitignore │ ├── build.gradle.kts │ ├── proguard-rules.pro │ └── src/ │ └── main/ │ ├── AndroidManifest.xml │ ├── java/ │ │ ├── com/ │ │ │ └── heyanle/ │ │ │ └── easybangumi_extension/ │ │ │ ├── anfun/ │ │ │ │ ├── AnfunDetailedComponent.kt │ │ │ │ ├── AnfunListComponent.kt │ │ │ │ ├── AnfunPageComponent.kt │ │ │ │ ├── AnfunSearchComponent.kt │ │ │ │ └── AnfunSource.kt │ │ │ ├── anim/ │ │ │ │ ├── AnimOneInfo.kt │ │ │ │ ├── AnimOneSource.kt │ │ │ │ ├── AnimPageComponent.kt │ │ │ │ └── DataSource.kt │ │ │ └── ggl/ │ │ │ ├── GGLComponent.kt │ │ │ ├── GGLDetailedComponent.kt │ │ │ ├── GGLListComponent.kt │ │ │ ├── GGLPlayComponent.kt │ │ │ └── GGLSource.kt │ │ ├── io/ │ │ │ └── github/ │ │ │ ├── easybangumiorg/ │ │ │ │ └── source/ │ │ │ │ └── aio/ │ │ │ │ ├── AIOHtpHelper.kt │ │ │ │ ├── OkHttp.kt │ │ │ │ ├── SourceResult.kt │ │ │ │ ├── String.kt │ │ │ │ ├── auete/ │ │ │ │ │ ├── AueteDetail.kt │ │ │ │ │ ├── AuetePage.kt │ │ │ │ │ ├── AuetePlay.kt │ │ │ │ │ ├── AueteSearch.kt │ │ │ │ │ ├── AueteSource.kt │ │ │ │ │ └── Common.kt │ │ │ │ ├── changzhang/ │ │ │ │ │ ├── ChangZhangDetailPage.kt │ │ │ │ │ ├── ChangZhangPage.kt │ │ │ │ │ ├── ChangZhangPlayPage.kt │ │ │ │ │ ├── ChangZhangSearchPage.kt │ │ │ │ │ └── ChangZhangSource.kt │ │ │ │ ├── fengche/ │ │ │ │ │ ├── Common.kt │ │ │ │ │ ├── FengCheDetail.kt │ │ │ │ │ ├── FengCheHostUrlHelper.kt │ │ │ │ │ ├── FengChePage.kt │ │ │ │ │ ├── FengChePlay.kt │ │ │ │ │ ├── FengChePrefer.kt │ │ │ │ │ ├── FengCheSearch.kt │ │ │ │ │ └── FengCheSource.kt │ │ │ │ ├── libvio/ │ │ │ │ │ ├── LibVioDetail.kt │ │ │ │ │ ├── LibVioPage.kt │ │ │ │ │ ├── LibVioPlay.kt │ │ │ │ │ ├── LibVioSearch.kt │ │ │ │ │ └── LibVioSource.kt │ │ │ │ └── xigua/ │ │ │ │ ├── Common.kt │ │ │ │ ├── XiGuaPage.kt │ │ │ │ ├── XiguaDetail.kt │ │ │ │ ├── XiguaPlay.kt │ │ │ │ ├── XiguaSearch.kt │ │ │ │ └── XiguaSource.kt │ │ │ └── peacefulprogram/ │ │ │ ├── easybangumi_mikudm/ │ │ │ │ ├── MikudmApiSource.kt │ │ │ │ ├── MikudmDetailComponent.kt │ │ │ │ ├── MikudmPageComponent.kt │ │ │ │ ├── MikudmPlayComponent.kt │ │ │ │ ├── MikudmPreferenceComponent.kt │ │ │ │ ├── MikudmSearchComponent.kt │ │ │ │ └── MikudmUtil.kt │ │ │ ├── easybangumi_mxdm/ │ │ │ │ ├── MxdmApiSource.kt │ │ │ │ ├── MxdmDetailComponent.kt │ │ │ │ ├── MxdmPageComponent.kt │ │ │ │ ├── MxdmPlayComponent.kt │ │ │ │ ├── MxdmPreferenceComponent.kt │ │ │ │ ├── MxdmSearchComponent.kt │ │ │ │ └── MxdmUtil.kt │ │ │ └── easybangumi_nivod/ │ │ │ ├── NivodApiSource.kt │ │ │ ├── NivodConstants.kt │ │ │ ├── NivodDetailComponent.kt │ │ │ ├── NivodPageComponent.kt │ │ │ ├── NivodPlayComponent.kt │ │ │ ├── NivodSearchComponent.kt │ │ │ ├── Util.kt │ │ │ └── dto/ │ │ │ ├── ChannelRecommendResponse.kt │ │ │ ├── Common.kt │ │ │ ├── SearchVideoResponse.kt │ │ │ ├── VideoDetailResponse.kt │ │ │ └── VideoStreamUrlResponse.kt │ │ └── org/ │ │ └── easybangumi/ │ │ └── extension/ │ │ └── EasySourceFactory.kt │ └── res/ │ ├── values/ │ │ └── strings.xml │ └── xml/ │ ├── backup_rules.xml │ └── data_extraction_rules.xml ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat └── settings.gradle.kts