├── .gitattributes
├── .github
└── workflows
│ └── build.yml
├── .gitignore
├── CHANGELOG.md
├── Directory.Build.props
├── Directory.Build.targets
├── Directory.Packages.props
├── DownKyi.Core
├── Aria2cNet
│ ├── AriaManager.cs
│ ├── Client
│ │ ├── AriaClient.cs
│ │ ├── Entity
│ │ │ ├── AriaAddMetalink.cs
│ │ │ ├── AriaAddTorrent.cs
│ │ │ ├── AriaAddUri.cs
│ │ │ ├── AriaChangeOption.cs
│ │ │ ├── AriaChangePosition.cs
│ │ │ ├── AriaChangeUri.cs
│ │ │ ├── AriaError.cs
│ │ │ ├── AriaGetFiles.cs
│ │ │ ├── AriaGetGlobalStat.cs
│ │ │ ├── AriaGetOption.cs
│ │ │ ├── AriaGetPeers.cs
│ │ │ ├── AriaGetServers.cs
│ │ │ ├── AriaGetSessionInfo.cs
│ │ │ ├── AriaGetUris.cs
│ │ │ ├── AriaOption.cs
│ │ │ ├── AriaPause.cs
│ │ │ ├── AriaRemove.cs
│ │ │ ├── AriaSaveSession.cs
│ │ │ ├── AriaSendData.cs
│ │ │ ├── AriaShutdown.cs
│ │ │ ├── AriaTellStatus.cs
│ │ │ ├── AriaUri.cs
│ │ │ ├── AriaVersion.cs
│ │ │ ├── SystemListMethods.cs
│ │ │ ├── SystemListNotifications.cs
│ │ │ ├── SystemMulticall.cs
│ │ │ └── SystemMulticallMathod.cs
│ │ └── HowChangePosition.cs
│ ├── DownloadResult.cs
│ └── Server
│ │ ├── AriaConfig.cs
│ │ ├── AriaConfigFileAllocation.cs
│ │ ├── AriaConfigLogLevel.cs
│ │ └── AriaServer.cs
├── BiliApi
│ ├── Bangumi
│ │ ├── BangumiInfo.cs
│ │ ├── BangumiType.cs
│ │ └── Models
│ │ │ ├── BangumiArea.cs
│ │ │ ├── BangumiEpisode.cs
│ │ │ ├── BangumiMedia.cs
│ │ │ ├── BangumiPositive.cs
│ │ │ ├── BangumiSeason.cs
│ │ │ ├── BangumiSeasonInfo.cs
│ │ │ ├── BangumiSection.cs
│ │ │ ├── BangumiStat.cs
│ │ │ └── BangumiUpInfo.cs
│ ├── BiliUtils
│ │ ├── BvId.cs
│ │ ├── Constant.cs
│ │ ├── DanmakuSender.cs
│ │ ├── ParseEntrance.cs
│ │ ├── Quality.cs
│ │ └── VideoParseType.cs
│ ├── BilibiliImages.axaml
│ ├── Cheese
│ │ ├── CheeseInfo.cs
│ │ └── Models
│ │ │ ├── CheeseBrief.cs
│ │ │ ├── CheeseEpisode.cs
│ │ │ ├── CheeseEpisodeList.cs
│ │ │ ├── CheeseEpisodePage.cs
│ │ │ ├── CheeseImg.cs
│ │ │ ├── CheeseStat.cs
│ │ │ ├── CheeseUpInfo.cs
│ │ │ └── CheeseView.cs
│ ├── Danmaku
│ │ ├── DanmakuProtobuf.cs
│ │ └── Models
│ │ │ └── BiliDanmaku.cs
│ ├── Favorites
│ │ ├── FavoritesInfo.cs
│ │ ├── FavoritesResource.cs
│ │ └── Models
│ │ │ ├── FavStatus.cs
│ │ │ ├── FavUpper.cs
│ │ │ ├── FavoritesList.cs
│ │ │ ├── FavoritesMedia.cs
│ │ │ ├── FavoritesMediaId.cs
│ │ │ ├── FavoritesMediaResource.cs
│ │ │ ├── FavoritesMetaInfo.cs
│ │ │ └── MediaStatus.cs
│ ├── History
│ │ ├── History.cs
│ │ ├── Models
│ │ │ ├── HistoryBusiness.cs
│ │ │ ├── HistoryCursor.cs
│ │ │ ├── HistoryData.cs
│ │ │ ├── HistoryList.cs
│ │ │ ├── HistoryListHistory.cs
│ │ │ ├── ToViewData.cs
│ │ │ └── ToViewList.cs
│ │ └── ToView.cs
│ ├── Login
│ │ ├── LoginHelper.cs
│ │ ├── LoginQR.cs
│ │ └── Models
│ │ │ ├── LoginStatus.cs
│ │ │ └── LoginUrl.cs
│ ├── Models
│ │ ├── BaseModel.cs
│ │ ├── Dimension.cs
│ │ ├── Json
│ │ │ ├── SubRipText.cs
│ │ │ ├── Subtitle.cs
│ │ │ └── SubtitleJson.cs
│ │ └── VideoOwner.cs
│ ├── Sign
│ │ └── WbiSign.cs
│ ├── Users
│ │ ├── Models
│ │ │ ├── BangumiFollow.cs
│ │ │ ├── BangumiFollowAreas.cs
│ │ │ ├── BangumiFollowNewEp.cs
│ │ │ ├── BangumiFollowOrigin.cs
│ │ │ ├── BangumiType.cs
│ │ │ ├── FollowingGroup.cs
│ │ │ ├── FollowingGroupContent.cs
│ │ │ ├── FollowingOrder.cs
│ │ │ ├── MyInfo.cs
│ │ │ ├── NicknameStatus.cs
│ │ │ ├── PublicationOrder.cs
│ │ │ ├── RelationBlack.cs
│ │ │ ├── RelationFollow.cs
│ │ │ ├── RelationFollowInfo.cs
│ │ │ ├── RelationWhisper.cs
│ │ │ ├── SpaceChannel.cs
│ │ │ ├── SpaceChannelArchive.cs
│ │ │ ├── SpaceChannelArchiveStat.cs
│ │ │ ├── SpaceChannelList.cs
│ │ │ ├── SpaceChannelVideo.cs
│ │ │ ├── SpaceChannelVideoList.cs
│ │ │ ├── SpaceChannelVideoPage.cs
│ │ │ ├── SpaceCheese.cs
│ │ │ ├── SpaceCheeseOrigin.cs
│ │ │ ├── SpaceCheesePage.cs
│ │ │ ├── SpacePublication.cs
│ │ │ ├── SpacePublicationList.cs
│ │ │ ├── SpacePublicationListType.cs
│ │ │ ├── SpacePublicationListTypeVideoZone.cs
│ │ │ ├── SpacePublicationListVideo.cs
│ │ │ ├── SpacePublicationPage.cs
│ │ │ ├── SpaceSeasonsDetail.cs
│ │ │ ├── SpaceSeasonsSeries.cs
│ │ │ ├── SpaceSeasonsSeriesArchives.cs
│ │ │ ├── SpaceSeasonsSeriesMeta.cs
│ │ │ ├── SpaceSeasonsSeriesOrigin.cs
│ │ │ ├── SpaceSeasonsSeriesPage.cs
│ │ │ ├── SpaceSeasonsSeriesStat.cs
│ │ │ ├── SpaceSeriesDetail.cs
│ │ │ ├── SpaceSeriesMeta.cs
│ │ │ ├── SpaceSettings.cs
│ │ │ ├── SpaceSettingsToutu.cs
│ │ │ ├── UpStat.cs
│ │ │ ├── UserInfoForNavigation.cs
│ │ │ ├── UserInfoForSpace.cs
│ │ │ ├── UserInfoLevelExp.cs
│ │ │ ├── UserInfoVip.cs
│ │ │ └── UserRelationStat.cs
│ │ ├── Nickname.cs
│ │ ├── UserInfo.cs
│ │ ├── UserRelation.cs
│ │ ├── UserSpace.cs
│ │ └── UserStatus.cs
│ ├── Video
│ │ ├── Dynamic.cs
│ │ ├── Models
│ │ │ ├── DynamicVideoView.cs
│ │ │ ├── RankingVideoView.cs
│ │ │ ├── RegionDynamic.cs
│ │ │ ├── RegionRanking.cs
│ │ │ ├── UgcArc.cs
│ │ │ ├── UgcEpisode.cs
│ │ │ ├── UgcSeason.cs
│ │ │ ├── UgcSection.cs
│ │ │ ├── UgcStat.cs
│ │ │ ├── VideoDescription.cs
│ │ │ ├── VideoPage.cs
│ │ │ ├── VideoPagelist.cs
│ │ │ ├── VideoStat.cs
│ │ │ ├── VideoSubtitle.cs
│ │ │ └── VideoView.cs
│ │ ├── Ranking.cs
│ │ └── VideoInfo.cs
│ ├── VideoStream
│ │ ├── Models
│ │ │ ├── PlayUrl.cs
│ │ │ ├── PlayUrlDash.cs
│ │ │ ├── PlayUrlDashDolby.cs
│ │ │ ├── PlayUrlDashFlac.cs
│ │ │ ├── PlayUrlDashVideo.cs
│ │ │ ├── PlayUrlDurl.cs
│ │ │ ├── PlayUrlSupportFormat.cs
│ │ │ ├── PlayerV2.cs
│ │ │ ├── Subtitle.cs
│ │ │ └── SubtitleInfo.cs
│ │ ├── PlayStreamType.cs
│ │ └── VideoStream.cs
│ ├── WebClient.cs
│ ├── Zone
│ │ ├── VideoZone.cs
│ │ ├── VideoZoneIcon.cs
│ │ ├── ZoneAttr.cs
│ │ └── ZoneImages.axaml
│ └── protobuf
│ │ └── bilibili
│ │ └── community
│ │ └── service
│ │ └── dm
│ │ └── v1
│ │ └── Dm.cs
├── Danmaku2Ass
│ ├── Bilibili.cs
│ ├── Collision.cs
│ ├── Config.cs
│ ├── Creater.cs
│ ├── Danmaku.cs
│ ├── Display.cs
│ ├── Filter.cs
│ ├── Producer.cs
│ ├── Studio.cs
│ ├── Subtitle.cs
│ └── Utils.cs
├── DownKyi.Core.csproj
├── FFMpeg
│ └── FFMpeg.cs
├── FileName
│ ├── FileName.cs
│ ├── FileNamePart.cs
│ └── HyphenSeparated.cs
├── Logging
│ ├── LogInfo.cs
│ ├── LogLevel.cs
│ └── LogManager.cs
├── Settings
│ ├── AfterDownloadOperation.cs
│ ├── AllowStatus.cs
│ ├── DanmakuLayoutAlgorithm.cs
│ ├── DownloadFinishedSort.cs
│ ├── Downloader.cs
│ ├── Models
│ │ ├── AboutSettings.cs
│ │ ├── AppSettings.cs
│ │ ├── BasicSettings.cs
│ │ ├── DanmakuSettings.cs
│ │ ├── NetworkSettings.cs
│ │ ├── UserInfoSettings.cs
│ │ ├── VideoContentSettings.cs
│ │ └── VideoSettings.cs
│ ├── NetworkProxy.cs
│ ├── OrderFormat.cs
│ ├── ParseScope.cs
│ ├── RepeatDownloadStrategy.cs
│ ├── SettingsManager.About.cs
│ ├── SettingsManager.Basic.cs
│ ├── SettingsManager.Danmaku.cs
│ ├── SettingsManager.Network.cs
│ ├── SettingsManager.UserInfo.cs
│ ├── SettingsManager.Video.cs
│ ├── SettingsManager.cs
│ ├── ThemeMode.cs
│ └── VideoCodecs.cs
├── Storage
│ ├── Constant.cs
│ ├── Database
│ │ ├── DbHelper.cs
│ │ └── Download
│ │ │ ├── DownloadBaseDb.cs
│ │ │ ├── DownloadDb.cs
│ │ │ ├── DownloadedDb.cs
│ │ │ └── DownloadingDb.cs
│ ├── StorageManager.cs
│ └── StorageUtils.cs
└── Utils
│ ├── Debugging
│ └── Console.cs
│ ├── Encryptor
│ ├── Encryptor.File.cs
│ ├── Encryptor.String.cs
│ └── Hash.cs
│ ├── Format.cs
│ ├── HardDisk.cs
│ ├── ListHelper.cs
│ ├── MachineCode.cs
│ ├── ObjectHelper.cs
│ ├── QRCode.cs
│ ├── StringLogicalComparer.cs
│ └── Validator
│ └── Number.cs
├── DownKyi.sln
├── DownKyi
├── App.axaml
├── App.axaml.cs
├── AppConstant.cs
├── Commands
│ └── AsyncDelegateCommand.cs
├── Converter
│ └── CountConverter.cs
├── CustomAction
│ ├── GridSplitterExtensions.cs
│ ├── InfiniteScrollBehavior.cs
│ ├── NumericInputBehavior.cs
│ └── ResetGridSplitterBehavior.cs
├── CustomControl
│ ├── AsyncImageLoader
│ │ ├── IAsyncImageLoader.cs
│ │ ├── ImageBrushLoader.cs
│ │ ├── ImageLoader.cs
│ │ └── Loaders
│ │ │ ├── AdvancedImage.axaml
│ │ │ ├── AdvancedImage.axaml.cs
│ │ │ ├── BaseWebImageLoader.cs
│ │ │ ├── DiskCachedWebImageLoader.cs
│ │ │ └── RamCachedWebImageLoader.cs
│ ├── CustomPager.axaml
│ ├── CustomPager.axaml.cs
│ ├── CustomPagerViewModel.cs
│ └── Loading.cs
├── DownKyi.csproj
├── Events
│ ├── MessageEvent.cs
│ ├── NavigationEvent.cs
│ └── NavigationParam.cs
├── Images
│ ├── ButtonIcon.cs
│ ├── LogoIcon.cs
│ ├── NavigationIcon.cs
│ ├── NormalIcon.cs
│ ├── SystemIcon.cs
│ └── VectorImage.cs
├── Languanges
│ └── Default.axaml
├── Models
│ ├── AppInfo.cs
│ ├── DownloadBase.cs
│ ├── DownloadStatus.cs
│ ├── Downloaded.cs
│ ├── Downloading.cs
│ ├── OrderFormatDisplay.cs
│ ├── ParseScopeDisplay.cs
│ └── RepeatDownloadStrategyDisplay.cs
├── PrismExtension
│ ├── Common
│ │ └── MvvmHelpers.cs
│ └── Dialog
│ │ ├── Dialog.cs
│ │ ├── DialogService.cs
│ │ ├── DialogWindow.axaml
│ │ ├── DialogWindow.axaml.cs
│ │ ├── IDialogService.cs
│ │ └── IDialogWindow.cs
├── Program.cs
├── Resources
│ ├── backgound
│ │ └── 9-绿荫秘境.png
│ ├── channel.png
│ ├── checked.png
│ ├── default_header.jpg
│ ├── favicon.ico
│ ├── level
│ │ ├── lv0.png
│ │ ├── lv1.png
│ │ ├── lv2.png
│ │ ├── lv3.png
│ │ ├── lv4.png
│ │ ├── lv5.png
│ │ ├── lv6.png
│ │ ├── lv7.png
│ │ ├── lv8.png
│ │ └── lv9.png
│ ├── loading
│ │ └── loading.gif
│ ├── login
│ │ ├── login_top_bar.png
│ │ ├── qrcode_login_2233.png
│ │ ├── qrcode_login_tip.png
│ │ └── scan_succeed.png
│ ├── no-data.png
│ ├── nodata02.png
│ ├── play.png
│ ├── sex
│ │ ├── female.png
│ │ └── male.png
│ ├── time.png
│ └── video-placeholder.png
├── Services
│ ├── AlertService.cs
│ ├── BangumiInfoService.cs
│ ├── CheeseInfoService.cs
│ ├── Download
│ │ ├── AddToDownloadService.cs
│ │ ├── AriaDownloadService.cs
│ │ ├── BuiltinDownloadService.cs
│ │ ├── CustomAriaDownloadService.cs
│ │ ├── DownloadService.cs
│ │ ├── DownloadStorageService.cs
│ │ └── IDownloadService.cs
│ ├── FavoritesService.cs
│ ├── IFavoritesService.cs
│ ├── IInfoService.cs
│ ├── SearchService.cs
│ ├── Utils.cs
│ ├── VersionCheckerService.cs
│ └── VideoInfoService.cs
├── Themes
│ ├── ColorBrush.axaml
│ ├── Colors
│ │ ├── ColorDark.axaml
│ │ └── ColorDefault.axaml
│ ├── Styles
│ │ ├── NavigationIcon.axaml
│ │ ├── NormalIcon.axaml
│ │ ├── StyleBtn.axaml
│ │ ├── StyleCheckBox.axaml
│ │ ├── StyleImageBtn.axaml
│ │ ├── StyleListBox.axaml
│ │ ├── StyleRadio.axaml
│ │ ├── StyleSystemBtn.axaml
│ │ └── loading.axaml
│ └── ThemeDefault.axaml
├── Utils
│ ├── ClipboardListener.cs
│ ├── ClipboardManager.cs
│ ├── DialogUtils.cs
│ ├── DictionaryResource.cs
│ ├── ImageHelper.cs
│ ├── MarkdownUtil.cs
│ ├── NavigateToView.cs
│ ├── PlatformHelper.cs
│ └── ThemeHelper.cs
├── ViewModels
│ ├── Dialogs
│ │ ├── BaseDialogViewModel.cs
│ │ ├── NewVersionAvailableDialogViewModel.cs
│ │ ├── ViewAlertDialogViewModel.cs
│ │ ├── ViewAlreadyDownloadedDialogViewModel.cs
│ │ ├── ViewDownloadSetterViewModel.cs
│ │ └── ViewParsingSelectorViewModel.cs
│ ├── DownloadManager
│ │ ├── DownloadBaseItem.cs
│ │ ├── DownloadedItem.cs
│ │ ├── DownloadingItem.cs
│ │ ├── ViewDownloadFinishedViewModel.cs
│ │ └── ViewDownloadingViewModel.cs
│ ├── Friends
│ │ ├── ViewFollowerViewModel.cs
│ │ └── ViewFollowingViewModel.cs
│ ├── MainWindowViewModel.cs
│ ├── PageViewModels
│ │ ├── BangumiFollowMedia.cs
│ │ ├── ChannelMedia.cs
│ │ ├── Favorites.cs
│ │ ├── FavoritesMedia.cs
│ │ ├── FriendInfo.cs
│ │ ├── HistoryMedia.cs
│ │ ├── PublicationMedia.cs
│ │ ├── SpaceItem.cs
│ │ ├── TabHeader.cs
│ │ ├── ToViewMedia.cs
│ │ ├── VideoInfoView.cs
│ │ ├── VideoPage.cs
│ │ ├── VideoQuality.cs
│ │ └── VideoSection.cs
│ ├── Settings
│ │ ├── DisplayFileNamePart.cs
│ │ ├── ViewAboutViewModel.cs
│ │ ├── ViewBasicViewModel.cs
│ │ ├── ViewDanmakuViewModel.cs
│ │ ├── ViewNetworkViewModel.cs
│ │ └── ViewVideoViewModel.cs
│ ├── Toolbox
│ │ ├── ViewBiliHelperViewModel.cs
│ │ ├── ViewDelogoViewModel.cs
│ │ └── ViewExtractMediaViewModel.cs
│ ├── UserSpace
│ │ ├── Channel.cs
│ │ ├── PublicationZone.cs
│ │ ├── SeasonsSeries.cs
│ │ ├── TabLeftBanner.cs
│ │ ├── TabRightBanner.cs
│ │ ├── ViewArchiveViewModel.cs
│ │ ├── ViewChannelViewModel.cs
│ │ └── ViewSeasonsSeriesViewModel.cs
│ ├── ViewDownloadManagerViewModel.cs
│ ├── ViewFriendsViewModel.cs
│ ├── ViewIndexViewModel.cs
│ ├── ViewLoginViewModel.cs
│ ├── ViewModelBase.cs
│ ├── ViewMyBangumiFollowViewModel.cs
│ ├── ViewMyFavoritesViewModel.cs
│ ├── ViewMyHistoryViewModel.cs
│ ├── ViewMySpaceViewModel.cs
│ ├── ViewMyToViewVideoViewModel.cs
│ ├── ViewPublicFavoritesViewModel.cs
│ ├── ViewPublicationViewModel.cs
│ ├── ViewSeasonsSeriesViewModel.cs
│ ├── ViewSettingsViewModel.cs
│ ├── ViewToolboxViewModel.cs
│ ├── ViewUserSpaceViewModel.cs
│ └── ViewVideoDetailViewModel.cs
├── Views
│ ├── Dialogs
│ │ ├── NewVersionAvailableDialog.axaml
│ │ ├── NewVersionAvailableDialog.axaml.cs
│ │ ├── ViewAlertDialog.axaml
│ │ ├── ViewAlertDialog.axaml.cs
│ │ ├── ViewAlreadyDownloadedDialog.axaml
│ │ ├── ViewAlreadyDownloadedDialog.axaml.cs
│ │ ├── ViewDownloadSetter.axaml
│ │ ├── ViewDownloadSetter.axaml.cs
│ │ ├── ViewParsingSelector.axaml
│ │ └── ViewParsingSelector.axaml.cs
│ ├── DownloadManager
│ │ ├── ViewDownloadFinished.axaml
│ │ ├── ViewDownloadFinished.axaml.cs
│ │ ├── ViewDownloading.axaml
│ │ └── ViewDownloading.axaml.cs
│ ├── Friends
│ │ ├── ViewFollower.axaml
│ │ ├── ViewFollower.axaml.cs
│ │ ├── ViewFollowing.axaml
│ │ └── ViewFollowing.axaml.cs
│ ├── MainWindow.axaml
│ ├── MainWindow.axaml.cs
│ ├── Settings
│ │ ├── ViewAbout.axaml
│ │ ├── ViewAbout.axaml.cs
│ │ ├── ViewBasic.axaml
│ │ ├── ViewBasic.axaml.cs
│ │ ├── ViewDanmaku.axaml
│ │ ├── ViewDanmaku.axaml.cs
│ │ ├── ViewNetwork.axaml
│ │ ├── ViewNetwork.axaml.cs
│ │ ├── ViewVideo.axaml
│ │ └── ViewVideo.axaml.cs
│ ├── Toolbox
│ │ ├── ViewBiliHelper.axaml
│ │ ├── ViewBiliHelper.axaml.cs
│ │ ├── ViewDelogo.axaml
│ │ ├── ViewDelogo.axaml.cs
│ │ ├── ViewExtractMedia.axaml
│ │ └── ViewExtractMedia.axaml.cs
│ ├── UserSpace
│ │ ├── ViewArchive.axaml
│ │ ├── ViewArchive.axaml.cs
│ │ ├── ViewSeasonsSeries.axaml
│ │ └── ViewSeasonsSeries.axaml.cs
│ ├── ViewDownloadManager.axaml
│ ├── ViewDownloadManager.axaml.cs
│ ├── ViewFriends.axaml
│ ├── ViewFriends.axaml.cs
│ ├── ViewIndex.axaml
│ ├── ViewIndex.axaml.cs
│ ├── ViewLogin.axaml
│ ├── ViewLogin.axaml.cs
│ ├── ViewMyBangumiFollow.axaml
│ ├── ViewMyBangumiFollow.axaml.cs
│ ├── ViewMyFavorites.axaml
│ ├── ViewMyFavorites.axaml.cs
│ ├── ViewMyHistory.axaml
│ ├── ViewMyHistory.axaml.cs
│ ├── ViewMySpace.axaml
│ ├── ViewMySpace.axaml.cs
│ ├── ViewMyToViewVideo.axaml
│ ├── ViewMyToViewVideo.axaml.cs
│ ├── ViewPublicFavorites.axaml
│ ├── ViewPublicFavorites.axaml.cs
│ ├── ViewPublication.axaml
│ ├── ViewPublication.axaml.cs
│ ├── ViewSeasonsSeries.axaml
│ ├── ViewSeasonsSeries.axaml.cs
│ ├── ViewSettings.axaml
│ ├── ViewSettings.axaml.cs
│ ├── ViewToolbox.axaml
│ ├── ViewToolbox.axaml.cs
│ ├── ViewUserSpace.axaml
│ ├── ViewUserSpace.axaml.cs
│ ├── ViewVideoDetail.axaml
│ └── ViewVideoDetail.axaml.cs
└── app.manifest
├── LICENSE
├── README.md
├── cliff.toml
├── script
├── aria2.ps1
├── aria2.sh
├── ffmpeg.ps1
├── ffmpeg.sh
├── macos
│ ├── DownKyi.entitlements
│ ├── Info.plist
│ ├── logo.icns
│ ├── package.sh
│ └── sign.sh
└── pupnet
│ ├── DownKyi.pupnet.conf
│ ├── app.desktop
│ └── icons
│ ├── logo.1024.png
│ ├── logo.128.png
│ ├── logo.16.png
│ ├── logo.256.png
│ ├── logo.32.png
│ ├── logo.512.png
│ ├── logo.64.png
│ ├── logo.icns
│ └── logo.ico
└── version.txt
/.gitattributes:
--------------------------------------------------------------------------------
1 | * text=auto eol=lf
2 |
3 | # Windows
4 | *.bat text eol=crlf
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .idea/
2 | .vs/
3 | .vscode/
4 | **/.DS_Store
5 |
6 | */**/obj
7 | */**/bin
8 |
9 | DownKyi.Core/Binary/*
10 |
11 | script/downloads
12 | script/pupnet/output
13 | script/macos/*.dmg
14 | script/macos/*.app
15 |
16 | *.sln.DotSettings.user
--------------------------------------------------------------------------------
/Directory.Build.props:
--------------------------------------------------------------------------------
1 |
2 |
3 | enable
4 | true
5 |
6 |
--------------------------------------------------------------------------------
/Directory.Build.targets:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/Directory.Packages.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/DownKyi.Core/Aria2cNet/Client/Entity/AriaAddMetalink.cs:
--------------------------------------------------------------------------------
1 | using Newtonsoft.Json;
2 |
3 | namespace DownKyi.Core.Aria2cNet.Client.Entity;
4 |
5 | [JsonObject]
6 | public class AriaAddMetalink
7 | {
8 | [JsonProperty("id")] public string Id { get; set; }
9 |
10 | [JsonProperty("jsonrpc")] public string Jsonrpc { get; set; }
11 |
12 | [JsonProperty("result")] public string Result { get; set; }
13 |
14 | [JsonProperty("error")] public AriaError Error { get; set; }
15 |
16 | public override string ToString()
17 | {
18 | return JsonConvert.SerializeObject(this);
19 | }
20 | }
--------------------------------------------------------------------------------
/DownKyi.Core/Aria2cNet/Client/Entity/AriaAddTorrent.cs:
--------------------------------------------------------------------------------
1 | using Newtonsoft.Json;
2 |
3 | namespace DownKyi.Core.Aria2cNet.Client.Entity;
4 |
5 | [JsonObject]
6 | public class AriaAddTorrent
7 | {
8 | [JsonProperty("id")] public string Id { get; set; }
9 |
10 | [JsonProperty("jsonrpc")] public string Jsonrpc { get; set; }
11 |
12 | [JsonProperty("result")] public string Result { get; set; }
13 |
14 | [JsonProperty("error")] public AriaError Error { get; set; }
15 |
16 | public override string ToString()
17 | {
18 | return JsonConvert.SerializeObject(this);
19 | }
20 | }
--------------------------------------------------------------------------------
/DownKyi.Core/Aria2cNet/Client/Entity/AriaAddUri.cs:
--------------------------------------------------------------------------------
1 | using Newtonsoft.Json;
2 |
3 | namespace DownKyi.Core.Aria2cNet.Client.Entity;
4 |
5 | //{
6 | //"id": "downkyi",
7 | //"jsonrpc": "2.0",
8 | //"result": "1aac102a4875c8cd"
9 | //}
10 | [JsonObject]
11 | public class AriaAddUri
12 | {
13 | [JsonProperty("id")] public string Id { get; set; }
14 |
15 | [JsonProperty("jsonrpc")] public string Jsonrpc { get; set; }
16 |
17 | [JsonProperty("result")] public string Result { get; set; }
18 |
19 | [JsonProperty("error")] public AriaError Error { get; set; }
20 |
21 | public override string ToString()
22 | {
23 | return JsonConvert.SerializeObject(this);
24 | }
25 | }
--------------------------------------------------------------------------------
/DownKyi.Core/Aria2cNet/Client/Entity/AriaChangeOption.cs:
--------------------------------------------------------------------------------
1 | using Newtonsoft.Json;
2 |
3 | namespace DownKyi.Core.Aria2cNet.Client.Entity
4 | {
5 | [JsonObject]
6 | public class AriaChangeOption
7 | {
8 | [JsonProperty("id")]
9 | public string Id { get; set; }
10 |
11 | [JsonProperty("jsonrpc")]
12 | public string Jsonrpc { get; set; }
13 |
14 | [JsonProperty("result")]
15 | public string Result { get; set; }
16 |
17 | [JsonProperty("error")]
18 | public AriaError Error { get; set; }
19 |
20 | public override string ToString()
21 | {
22 | return JsonConvert.SerializeObject(this);
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/DownKyi.Core/Aria2cNet/Client/Entity/AriaChangePosition.cs:
--------------------------------------------------------------------------------
1 | using Newtonsoft.Json;
2 |
3 | namespace DownKyi.Core.Aria2cNet.Client.Entity
4 | {
5 | [JsonObject]
6 | public class AriaChangePosition
7 | {
8 | [JsonProperty("id")]
9 | public string Id { get; set; }
10 |
11 | [JsonProperty("jsonrpc")]
12 | public string Jsonrpc { get; set; }
13 |
14 | [JsonProperty("result")]
15 | public int Result { get; set; }
16 |
17 | [JsonProperty("error")]
18 | public AriaError Error { get; set; }
19 |
20 | public override string ToString()
21 | {
22 | return JsonConvert.SerializeObject(this);
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/DownKyi.Core/Aria2cNet/Client/Entity/AriaChangeUri.cs:
--------------------------------------------------------------------------------
1 | using Newtonsoft.Json;
2 | using System.Collections.Generic;
3 |
4 | namespace DownKyi.Core.Aria2cNet.Client.Entity
5 | {
6 | [JsonObject]
7 | public class AriaChangeUri
8 | {
9 | [JsonProperty("id")]
10 | public string Id { get; set; }
11 |
12 | [JsonProperty("jsonrpc")]
13 | public string Jsonrpc { get; set; }
14 |
15 | [JsonProperty("result")]
16 | public List Result { get; set; }
17 |
18 | [JsonProperty("error")]
19 | public AriaError Error { get; set; }
20 |
21 | public override string ToString()
22 | {
23 | return JsonConvert.SerializeObject(this);
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/DownKyi.Core/Aria2cNet/Client/Entity/AriaError.cs:
--------------------------------------------------------------------------------
1 | using Newtonsoft.Json;
2 |
3 | namespace DownKyi.Core.Aria2cNet.Client.Entity;
4 |
5 | //"error": {
6 | // "code": 1,
7 | // "message": "Unauthorized"
8 | //}
9 | [JsonObject]
10 | public class AriaError
11 | {
12 | [JsonProperty("code")] public int Code { get; set; }
13 |
14 | [JsonProperty("message")] public string Message { get; set; }
15 |
16 | public override string ToString()
17 | {
18 | return JsonConvert.SerializeObject(this);
19 | }
20 | }
--------------------------------------------------------------------------------
/DownKyi.Core/Aria2cNet/Client/Entity/AriaGetFiles.cs:
--------------------------------------------------------------------------------
1 | using Newtonsoft.Json;
2 | using System.Collections.Generic;
3 |
4 | namespace DownKyi.Core.Aria2cNet.Client.Entity
5 | {
6 | [JsonObject]
7 | public class AriaGetFiles
8 | {
9 | [JsonProperty("id")]
10 | public string Id { get; set; }
11 |
12 | [JsonProperty("jsonrpc")]
13 | public string Jsonrpc { get; set; }
14 |
15 | [JsonProperty("result")]
16 | public List Result { get; set; }
17 |
18 | [JsonProperty("error")]
19 | public AriaError Error { get; set; }
20 |
21 | public override string ToString()
22 | {
23 | return JsonConvert.SerializeObject(this);
24 | }
25 | }
26 |
27 | [JsonObject]
28 | public class AriaGetFilesResult
29 | {
30 | [JsonProperty("completedLength")]
31 | public string CompletedLength { get; set; }
32 |
33 | [JsonProperty("index")]
34 | public string Index { get; set; }
35 |
36 | [JsonProperty("length")]
37 | public string Length { get; set; }
38 |
39 | [JsonProperty("path")]
40 | public string Path { get; set; }
41 |
42 | [JsonProperty("selected")]
43 | public string Selected { get; set; }
44 |
45 | [JsonProperty("uris")]
46 | public List Uris { get; set; }
47 |
48 | public override string ToString()
49 | {
50 | return JsonConvert.SerializeObject(this);
51 | }
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/DownKyi.Core/Aria2cNet/Client/Entity/AriaGetOption.cs:
--------------------------------------------------------------------------------
1 | using Newtonsoft.Json;
2 |
3 | namespace DownKyi.Core.Aria2cNet.Client.Entity
4 | {
5 | [JsonObject]
6 | public class AriaGetOption
7 | {
8 | [JsonProperty("id")]
9 | public string Id { get; set; }
10 |
11 | [JsonProperty("jsonrpc")]
12 | public string Jsonrpc { get; set; }
13 |
14 | [JsonProperty("result")]
15 | public AriaOption Result { get; set; }
16 |
17 | [JsonProperty("error")]
18 | public AriaError Error { get; set; }
19 |
20 | public override string ToString()
21 | {
22 | return JsonConvert.SerializeObject(this);
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/DownKyi.Core/Aria2cNet/Client/Entity/AriaGetSessionInfo.cs:
--------------------------------------------------------------------------------
1 | using Newtonsoft.Json;
2 |
3 | namespace DownKyi.Core.Aria2cNet.Client.Entity
4 | {
5 | [JsonObject]
6 | public class AriaGetSessionInfo
7 | {
8 | [JsonProperty("id")]
9 | public string Id { get; set; }
10 |
11 | [JsonProperty("jsonrpc")]
12 | public string Jsonrpc { get; set; }
13 |
14 | [JsonProperty("result")]
15 | public AriaGetSessionInfoResult Result { get; set; }
16 |
17 | [JsonProperty("error")]
18 | public AriaError Error { get; set; }
19 |
20 | public override string ToString()
21 | {
22 | return JsonConvert.SerializeObject(this);
23 | }
24 | }
25 |
26 | [JsonObject]
27 | public class AriaGetSessionInfoResult
28 | {
29 | [JsonProperty("sessionId")]
30 | public string SessionId { get; set; }
31 |
32 | public override string ToString()
33 | {
34 | return JsonConvert.SerializeObject(this);
35 | }
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/DownKyi.Core/Aria2cNet/Client/Entity/AriaGetUris.cs:
--------------------------------------------------------------------------------
1 | using Newtonsoft.Json;
2 | using System.Collections.Generic;
3 |
4 | namespace DownKyi.Core.Aria2cNet.Client.Entity
5 | {
6 | [JsonObject]
7 | public class AriaGetUris
8 | {
9 | [JsonProperty("id")]
10 | public string Id { get; set; }
11 |
12 | [JsonProperty("jsonrpc")]
13 | public string Jsonrpc { get; set; }
14 |
15 | [JsonProperty("result")]
16 | public List Result { get; set; }
17 |
18 | [JsonProperty("error")]
19 | public AriaError Error { get; set; }
20 |
21 | public override string ToString()
22 | {
23 | return JsonConvert.SerializeObject(this);
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/DownKyi.Core/Aria2cNet/Client/Entity/AriaPause.cs:
--------------------------------------------------------------------------------
1 | using Newtonsoft.Json;
2 |
3 | namespace DownKyi.Core.Aria2cNet.Client.Entity
4 | {
5 | [JsonObject]
6 | public class AriaPause
7 | {
8 | [JsonProperty("id")]
9 | public string Id { get; set; }
10 |
11 | [JsonProperty("jsonrpc")]
12 | public string Jsonrpc { get; set; }
13 |
14 | [JsonProperty("result")]
15 | public string Result { get; set; }
16 |
17 | [JsonProperty("error")]
18 | public AriaError Error { get; set; }
19 |
20 | public override string ToString()
21 | {
22 | return JsonConvert.SerializeObject(this);
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/DownKyi.Core/Aria2cNet/Client/Entity/AriaRemove.cs:
--------------------------------------------------------------------------------
1 | using Newtonsoft.Json;
2 |
3 | namespace DownKyi.Core.Aria2cNet.Client.Entity
4 | {
5 | [JsonObject]
6 | public class AriaRemove
7 | {
8 | [JsonProperty("id")]
9 | public string Id { get; set; }
10 |
11 | [JsonProperty("jsonrpc")]
12 | public string Jsonrpc { get; set; }
13 |
14 | [JsonProperty("result")]
15 | public string Result { get; set; }
16 |
17 | [JsonProperty("error")]
18 | public AriaError Error { get; set; }
19 |
20 | public override string ToString()
21 | {
22 | return JsonConvert.SerializeObject(this);
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/DownKyi.Core/Aria2cNet/Client/Entity/AriaSaveSession.cs:
--------------------------------------------------------------------------------
1 | using Newtonsoft.Json;
2 |
3 | namespace DownKyi.Core.Aria2cNet.Client.Entity
4 | {
5 | [JsonObject]
6 | public class AriaSaveSession
7 | {
8 | [JsonProperty("id")]
9 | public string Id { get; set; }
10 |
11 | [JsonProperty("jsonrpc")]
12 | public string Jsonrpc { get; set; }
13 |
14 | [JsonProperty("result")]
15 | public string Result { get; set; }
16 |
17 | [JsonProperty("error")]
18 | public AriaError Error { get; set; }
19 |
20 | public override string ToString()
21 | {
22 | return JsonConvert.SerializeObject(this);
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/DownKyi.Core/Aria2cNet/Client/Entity/AriaSendData.cs:
--------------------------------------------------------------------------------
1 | using Newtonsoft.Json;
2 | using System.Collections.Generic;
3 |
4 | namespace DownKyi.Core.Aria2cNet.Client.Entity
5 | {
6 | [JsonObject]
7 | public class AriaSendData
8 | {
9 | [JsonProperty("id")]
10 | public string Id { get; set; }
11 |
12 | [JsonProperty("jsonrpc")]
13 | public string Jsonrpc { get; set; }
14 |
15 | [JsonProperty("method")]
16 | public string Method { get; set; }
17 |
18 | [JsonProperty("params")]
19 | public List