From 31aa603e748a19df28f017ff82273f39c82a2f24 Mon Sep 17 00:00:00 2001 From: hama3254 <52826614+hama3254@users.noreply.github.com> Date: Sat, 13 Apr 2024 11:37:48 +0200 Subject: [PATCH] removed Funimation, removed [Auto] Resolution. removed funimation code RIP removed [Auto] as Resolution (replaced with 240p #930) --- .vs/Crunchyroll Downloader/v17/.suo | Bin 226816 -> 216576 bytes Crunchyroll Downloader/Anime_Add.vb | 162 +- Crunchyroll Downloader/App.config | 21 - Crunchyroll Downloader/Browser.vb | 37 - Crunchyroll Downloader/CRD-Classes.vb | 49 - Crunchyroll Downloader/ErrorDialog.vb | 28 +- Crunchyroll Downloader/Main.designer.vb | 9 +- Crunchyroll Downloader/Main.resx | 12 - Crunchyroll Downloader/Main.vb | 1418 +---------------- .../My Project/AssemblyInfo.vb | 4 +- .../My Project/Resources.Designer.vb | 90 -- .../My Project/Resources.resx | 30 - .../My Project/Settings.Designer.vb | 84 - .../My Project/Settings.settings | 21 - .../einstellungen.Designer.vb | 341 +--- Crunchyroll Downloader/einstellungen.resx | 3 + Crunchyroll Downloader/einstellungen.vb | 309 +--- Crunchyroll Downloader/queue.vb | 44 +- 18 files changed, 52 insertions(+), 2610 deletions(-) diff --git a/.vs/Crunchyroll Downloader/v17/.suo b/.vs/Crunchyroll Downloader/v17/.suo index a52e273adc70b225df0cd95dae6b3cbbbbfddea3..3bc60695ef4c028969d9588819496a99a00f1501 100644 GIT binary patch delta 8341 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 diff --git a/Crunchyroll Downloader/Anime_Add.vb b/Crunchyroll Downloader/Anime_Add.vb index 26121b2..cd5a790 100644 --- a/Crunchyroll Downloader/Anime_Add.vb +++ b/Crunchyroll Downloader/Anime_Add.vb @@ -197,7 +197,7 @@ Public Class Anime_Add Main.ItemConstructor(NameKomplett, Namep1, Namep2, Reso, HardSub, ThumbnialURL, URL_DL, Chr(34) + Pfad_DL + Chr(34), Service) - ElseIf CBool(InStr(textBox1.Text, "crunchyroll.com")) Or CBool(InStr(textBox1.Text, "funimation.com")) Then + ElseIf CBool(InStr(textBox1.Text, "crunchyroll.com")) Then 'If StatusLabel.Text = "Status: waiting for episode selection" Then @@ -237,41 +237,6 @@ Public Class Anime_Add Else - If CBool(InStr(textBox1.Text, "funimation.com")) Then - - Main.WebbrowserURL = textBox1.Text - - If CBool(InStr(textBox1.Text, "funimation.com/v/")) Then - Dim Episode0() As String = textBox1.Text.Split(New String() {"?"}, System.StringSplitOptions.RemoveEmptyEntries) - Dim Episode() As String = Episode0(0).Split(New String() {"/"}, System.StringSplitOptions.RemoveEmptyEntries) - Dim v1JsonUrl As String = "https://d33et77evd9bgg.cloudfront.net/data/v1/episodes/" + Episode(Episode.Length - 1) + ".json" - 'MsgBox(v1JsonUrl) - Dim v1Json As String = Nothing - Try - Using client As New WebClient() - client.Encoding = System.Text.Encoding.UTF8 - client.Headers.Add(My.Settings.User_Agend.Replace(Chr(34), "")) - v1Json = client.DownloadString(v1JsonUrl) - End Using - Main.WebbrowserURL = textBox1.Text - Main.GetFunimationNewJS_VideoProxy(Nothing, v1Json) - Exit Sub - Catch ex As Exception - Debug.WriteLine("error- getting v1Json data for the bypass") - Debug.WriteLine(ex.ToString) - End Try - ElseIf CBool(InStr(textBox1.Text, "funimation.com/shows/")) Then - Main.LoadingUrl = textBox1.Text - Main.LoadedUrls.Clear() - Main.b = False - Debug.WriteLine("loading funimation show url: " + Date.Now.ToString) - StatusLabel.Text = "Status: loading funimation...." - 'Main.LoadBrowser() - Browser.WebView2.CoreWebView2.Navigate(textBox1.Text) - Exit Sub - End If - - End If If Main.Grapp_RDY = True Then @@ -309,20 +274,8 @@ Public Class Anime_Add btn_dl.Text = "Download" btn_dl.BackgroundImage = My.Resources.main_button_download_default StatusLabel.Text = "Status: idle" - ElseIf CBool(InStr(Main.WebbrowserURL, "funimation.com")) = True Then - - 'btn_dl.BackgroundImage = My.Resources.add_mass_running_cancel - btn_dl.Text = "Cancel" - Mass_DL_Cancel = True - bt_Cancel_mass.Enabled = False - bt_Cancel_mass.Visible = False - Main.DownloadFunimationJS_Seasons() - CB_EP1.Enabled = False - CB_EP0.Enabled = False - CB_Season.Enabled = False - ElseIf CBool(InStr(Main.WebbrowserURL, "crunchyroll.com")) = True Then StatusLabel.Text = "Status: idle" @@ -346,47 +299,6 @@ Public Class Anime_Add btn_dl.Enabled = True End Sub - Public Sub ProcessFunimationJS(ByVal InputURL As String) - - - Dim FunUri As String = Nothing - If CBool(InStr(InputURL, "?")) Then - Dim ClearUri As String() = InputURL.Split(New String() {"?"}, System.StringSplitOptions.RemoveEmptyEntries) - FunUri = ClearUri(0) - Else - FunUri = InputURL - End If - Dim ShowPath As String = Nothing - Dim EpisodePath As String = Nothing - Dim ShowPath1 As String() = FunUri.Split(New String() {"/shows/"}, System.StringSplitOptions.RemoveEmptyEntries) - 'If CBool(InStr(ShowPath1(1), "/") Then - Dim ShowPath2 As String() = ShowPath1(1).Split(New String() {"/"}, System.StringSplitOptions.RemoveEmptyEntries) - - If ShowPath2.Count > 1 Then - - ShowPath = ShowPath2(0).Replace("/", "") - EpisodePath = ShowPath2(1).Replace("/", "") - Else - ShowPath = ShowPath1(1).Replace("/", "") - End If - Main.FunimationShowPath = ShowPath + "/" - Debug.WriteLine(ShowPath) - Debug.WriteLine(Main.FunimationAPIRegion) - If EpisodePath = Nothing Then 'overview site - Main.GetFunimationJS_Seasons("https://title-api.prd.funimationsvc.com/v2/shows/" + ShowPath + Main.FunimationAPIRegion) - - Else 'single episode - - - End If - - Dim FunimationCC As String() = ShowPath1(0).Split(New String() {"funimation.com"}, System.StringSplitOptions.RemoveEmptyEntries) - If FunimationCC.Count > 1 Then - Main.FunimationRegion = FunimationCC(1).Replace("/", "") - End If - End Sub - - Private Sub Btn_dl_MouseEnter(sender As Object, e As EventArgs) Handles btn_dl.MouseEnter @@ -562,84 +474,12 @@ Public Class Anime_Add FillCREpisodes(EpisodeJson) - ElseIf Main.WebbrowserURL = "https://funimation.com/js" Then - CB_EP0.Items.Clear() - CB_EP1.Items.Clear() - CB_EP0.Text = Nothing - CB_EP1.Text = Nothing - Dim ContentID As String = Nothing - - For i As Integer = 0 To Main.FunimtaionSeasonList.Count - 1 - If CB_Season.Text = Main.FunimtaionSeasonList.Item(i).Title Then - ContentID = Main.FunimtaionSeasonList.Item(i).ID - Exit For - End If - Next - - If ContentID = Nothing Then - MsgBox("error during season selection") - Exit Sub - End If - - Dim BaseUrl() As String = Main.FunimationSeasonAPIUrl.Split(New String() {"/shows/"}, System.StringSplitOptions.RemoveEmptyEntries) - - - - Dim EpisodeJsonURL As String = BaseUrl(0) + "/seasons/" + ContentID + ".json" - Dim EpisodeJson As String = Nothing - Debug.WriteLine(EpisodeJsonURL) - - Try - Using client As New WebClient() - client.Encoding = System.Text.Encoding.UTF8 - client.Headers.Add(My.Settings.User_Agend.Replace(Chr(34), "")) - EpisodeJson = client.DownloadString(EpisodeJsonURL) - End Using - Catch ex As Exception - Debug.WriteLine("error- getting EpisodeJson data") - Debug.WriteLine(ex.ToString) - Main.FunimationJsonBrowser = "EpisodeJson" - Main.LoadBrowser(EpisodeJsonURL) - Exit Sub - End Try - - FillFunimationEpisodes(EpisodeJson) - - - If CB_EP0.Items.Count > 0 Then - CB_EP0.SelectedIndex = 0 - CB_EP1.SelectedIndex = CB_EP1.Items.Count - 1 - End If - End If End Sub - Public Sub FillFunimationEpisodes(ByVal EpisodeJson As String) - - Main.FunimationEpisodeJSON = EpisodeJson - CB_EP0.Enabled = True - CB_EP1.Enabled = True - - Dim EpisodeSplit() As String = EpisodeJson.Split(New String() {Chr(34) + "episodeNumber" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries) - 'EpisodeJson.Split(New String() {Chr(34) + "episodeNumber" + Chr(34) + ": " + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries) - Debug.WriteLine(EpisodeSplit.Count.ToString) - For i As Integer = 1 To EpisodeSplit.Count - 1 - Dim EpisodeSplit2() As String = EpisodeSplit(i).Split(New String() {Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries) - CB_EP0.Items.Add("Episode " + EpisodeSplit2(0)) - CB_EP1.Items.Add("Episode " + EpisodeSplit2(0)) - Next - Main.WebbrowserURL = "https://funimation.com/js" - End Sub - - - - - - - Private Sub TextBox2_Click(sender As Object, e As EventArgs) Handles TextBox2.Click If TextBox2.Text = "Use Custom Name" Then TextBox2.Text = Nothing diff --git a/Crunchyroll Downloader/App.config b/Crunchyroll Downloader/App.config index 99b4324..eb77e30 100644 --- a/Crunchyroll Downloader/App.config +++ b/Crunchyroll Downloader/App.config @@ -27,24 +27,12 @@ - - None - -c copy -c:a copy -bsf:a aac_adtstoasc None - - Disabled - - - Disabled - - - Disabled - [ ignore subfolder ] @@ -75,12 +63,6 @@ False - - False - - - False - False @@ -120,9 +102,6 @@ 0 - - 0 - 0 diff --git a/Crunchyroll Downloader/Browser.vb b/Crunchyroll Downloader/Browser.vb index eecc691..4283a11 100644 --- a/Crunchyroll Downloader/Browser.vb +++ b/Crunchyroll Downloader/Browser.vb @@ -205,43 +205,6 @@ Public Class Browser End If - ElseIf CBool(InStr(Main.LoadingUrl, "funimation.com")) Then - If CBool(InStr(e.Request.Uri, "?deviceType=web")) Then - 'Debug.WriteLine(e.Request.Uri) - Dim parms As String() = e.Request.Uri.Split(New String() {"?deviceType="}, System.StringSplitOptions.RemoveEmptyEntries) - Main.FunimationDeviceRegion = "?deviceType=" + parms(1) - - End If - If CBool(InStr(e.Request.Uri, "https://title-api.prd.funimationsvc.com")) Then - Debug.WriteLine("Funimtaion: " + e.Request.Uri) - If (Me.InvokeRequired) Then - Me.Invoke(Sub() Main.LoadedUrls.Add(e.Request)) - Exit Sub - Else - Main.LoadedUrls.Add(e.Request) - Exit Sub - End If - ElseIf CBool(InStr(e.Request.Uri, "/data/v2/shows/")) Then - Debug.WriteLine("Funimtaion: " + e.Request.Uri) - If (Me.InvokeRequired) Then - Me.Invoke(Sub() Main.LoadedUrls.Add(e.Request)) - Exit Sub - Else - Main.LoadedUrls.Add(e.Request) - Exit Sub - End If - ElseIf CBool(InStr(e.Request.Uri, "/data/v1/episodes/")) Then - Debug.WriteLine("Funimtaion: " + e.Request.Uri) - If (Me.InvokeRequired) Then - Me.Invoke(Sub() Main.LoadedUrls.Add(e.Request)) - Exit Sub - Else - Main.LoadedUrls.Add(e.Request) - Exit Sub - End If - End If - - End If diff --git a/Crunchyroll Downloader/CRD-Classes.vb b/Crunchyroll Downloader/CRD-Classes.vb index cf37486..33f5995 100644 --- a/Crunchyroll Downloader/CRD-Classes.vb +++ b/Crunchyroll Downloader/CRD-Classes.vb @@ -15,56 +15,7 @@ End Class -#Region "funimation" - -Public Class FunimationOverview - Public ID As String - Public Title As String - Public Slug As String - Public Sub New(ByVal Slug As String, ByVal ID As String, ByVal Title As String) - Me.ID = ID - Me.Title = Title - Me.Slug = Slug - End Sub - - Public Overrides Function ToString() As String - Return String.Format("{0}, {1}, {2}", Me.Slug, Me.ID, Me.Title) - End Function -End Class - -Public Class FunimationSubs - Public LangugageCode As String - Public Url As String - Public Format As String - Public Sub New(ByVal LangugageCode As String, ByVal Format As String, ByVal Url As String) - Me.Url = Url - Me.LangugageCode = LangugageCode - Me.Format = Format - End Sub - - Public Overrides Function ToString() As String - Return String.Format("{0}, {1}, {2}", Me.LangugageCode, Me.Format, Me.Url) - End Function -End Class - -Public Class FunimationStream - Public audioLanguage As String - Public Url As String - Public version As String - Public Primary As Boolean - Public Sub New(ByVal audioLanguage As String, ByVal version As String, ByVal Url As String, ByVal Primary As Boolean) - Me.Primary = Primary - Me.Url = Url - Me.audioLanguage = audioLanguage - Me.version = version - End Sub - - Public Overrides Function ToString() As String - Return String.Format("{0}, {1}, {2}", Me.audioLanguage, Me.version, Me.Url) - End Function -End Class -#End Region #Region "CR" Public Class CR_Beta_Stream 'Public audioLanguage As String diff --git a/Crunchyroll Downloader/ErrorDialog.vb b/Crunchyroll Downloader/ErrorDialog.vb index c017c05..3ef30d2 100644 --- a/Crunchyroll Downloader/ErrorDialog.vb +++ b/Crunchyroll Downloader/ErrorDialog.vb @@ -70,35 +70,11 @@ Public Class ErrorDialog End Try ElseIf Main.DialogTaskString = "AudioOnlyResolution" Then StatusLabel.Text = "" 'Main.LabelResoNotFoundText + ComboBox1.Items.Add("x240,") + ComboBox1.Items.Add("x360,") ComboBox1.Items.Add("x480,") ComboBox1.Items.Add("x720,") ComboBox1.Items.Add("x1080,") - ElseIf Main.DialogTaskString = "Funimation_Resolution" Then - StatusLabel.Text = Main.LabelResoNotFoundText - 'Try - ' My.Computer.FileSystem.WriteAllText(Application.StartupPath + "\Funimation-Resolution.log", Main.ResoNotFoundString, True) - 'Catch ex As Exception - 'End Try - Dim ResoList As New List(Of String) - Dim m3u8_split As String() = Main.ResoNotFoundString.Split(New String() {vbLf}, System.StringSplitOptions.RemoveEmptyEntries) - For i As Integer = 0 To m3u8_split.Count - 1 - If CBool(InStr(m3u8_split(i), "RESOLUTION=")) Then - ResoList.Add(m3u8_split(i)) - End If - Next - - Dim Reso_avaible1 As String() = Main.ResoNotFoundString.Split(New String() {"RESOLUTION="}, System.StringSplitOptions.RemoveEmptyEntries) - For i As Integer = 0 To ResoList.Count - 1 - Dim Reso_avaible As String() = ResoList.Item(i).Split(New String() {"RESOLUTION="}, System.StringSplitOptions.RemoveEmptyEntries) - If CBool(InStr(Reso_avaible(1), ",")) Then - Dim Reso_avaible2 As String() = Reso_avaible(1).Split(New String() {","}, System.StringSplitOptions.RemoveEmptyEntries) - ComboBox1.Items.Add(Reso_avaible2(0)) - Else - ComboBox1.Items.Add(Reso_avaible(1)) - End If - Next - SurroundingSub() - End If diff --git a/Crunchyroll Downloader/Main.designer.vb b/Crunchyroll Downloader/Main.designer.vb index 45f241e..a11a11c 100644 --- a/Crunchyroll Downloader/Main.designer.vb +++ b/Crunchyroll Downloader/Main.designer.vb @@ -43,7 +43,6 @@ Partial Class Main Me.SaveModeToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.SaveThumbnailAsImageToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.ToggleDebugModeToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.Funimation_Token = New System.Windows.Forms.ToolStripMenuItem() Me.CheckCRBetaTokenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.Timer3OffToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.ThreadCount = New System.Windows.Forms.ToolStripMenuItem() @@ -161,7 +160,7 @@ Partial Class Main ' 'ContextMenuStrip1 ' - Me.ContextMenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.QueueToolStripMenuItem, Me.SaveModeToolStripMenuItem, Me.SaveThumbnailAsImageToolStripMenuItem, Me.ToggleDebugModeToolStripMenuItem, Me.Funimation_Token, Me.CheckCRBetaTokenToolStripMenuItem, Me.Timer3OffToolStripMenuItem, Me.ThreadCount, Me.CRCookieToolStripMenuItem, Me.UrlJsonsToolStripMenuItem, Me.DummyItemToolStripMenuItem, Me.AudioOnlyQualityToolStripMenuItem}) + Me.ContextMenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.QueueToolStripMenuItem, Me.SaveModeToolStripMenuItem, Me.SaveThumbnailAsImageToolStripMenuItem, Me.ToggleDebugModeToolStripMenuItem, Me.CheckCRBetaTokenToolStripMenuItem, Me.Timer3OffToolStripMenuItem, Me.ThreadCount, Me.CRCookieToolStripMenuItem, Me.UrlJsonsToolStripMenuItem, Me.DummyItemToolStripMenuItem, Me.AudioOnlyQualityToolStripMenuItem}) Me.ContextMenuStrip1.Name = "ContextMenuStrip1" resources.ApplyResources(Me.ContextMenuStrip1, "ContextMenuStrip1") ' @@ -185,11 +184,6 @@ Partial Class Main Me.ToggleDebugModeToolStripMenuItem.Name = "ToggleDebugModeToolStripMenuItem" resources.ApplyResources(Me.ToggleDebugModeToolStripMenuItem, "ToggleDebugModeToolStripMenuItem") ' - 'Funimation_Token - ' - Me.Funimation_Token.Name = "Funimation_Token" - resources.ApplyResources(Me.Funimation_Token, "Funimation_Token") - ' 'CheckCRBetaTokenToolStripMenuItem ' Me.CheckCRBetaTokenToolStripMenuItem.Name = "CheckCRBetaTokenToolStripMenuItem" @@ -287,7 +281,6 @@ Partial Class Main Friend WithEvents Btn_Close As Button Friend WithEvents ContextMenuStrip1 As ContextMenuStrip Friend WithEvents ToggleDebugModeToolStripMenuItem As ToolStripMenuItem - Friend WithEvents Funimation_Token As ToolStripMenuItem Friend WithEvents CheckCRBetaTokenToolStripMenuItem As ToolStripMenuItem Friend WithEvents Timer3OffToolStripMenuItem As ToolStripMenuItem Friend WithEvents ThreadCount As ToolStripMenuItem diff --git a/Crunchyroll Downloader/Main.resx b/Crunchyroll Downloader/Main.resx index 2d65959..3e10d91 100644 --- a/Crunchyroll Downloader/Main.resx +++ b/Crunchyroll Downloader/Main.resx @@ -507,12 +507,6 @@ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Funimation_Token - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - CheckCRBetaTokenToolStripMenuItem @@ -591,12 +585,6 @@ Toggle Debug Mode - - 233, 22 - - - Check Funimation Token - 233, 22 diff --git a/Crunchyroll Downloader/Main.vb b/Crunchyroll Downloader/Main.vb index 9512266..a5fb400 100644 --- a/Crunchyroll Downloader/Main.vb +++ b/Crunchyroll Downloader/Main.vb @@ -50,16 +50,7 @@ Public Class Main 'Public CrBetaStreamsUrl As String = Nothing Public LoadingUrl As String = "" Public LoadedUrls As New List(Of CoreWebView2WebResourceRequest) - Public FunimationAPIRegion As String = Nothing - Public FunimationRegion As String = Nothing - Public FunimationDeviceRegion As String = Nothing - Public FunimationToken As String = Nothing - Public FunimationShowPath As String = Nothing - Public FunimationEpisodeJSON As String = Nothing - Public FunimtaionAPISeasonID As New List(Of String) - Public FunimtaionSeasonList As New List(Of FunimationOverview) - Public FunimationSeasonAPIUrl As String = Nothing - Public FunimationJsonBrowser As String = Nothing + Public Manager As New MetroStyleManager Public DarkModeValue As Boolean = False Public invalids As Char() = System.IO.Path.GetInvalidFileNameChars() @@ -139,7 +130,6 @@ Public Class Main 'Dim URL_DL As String 'Dim Pfad_DL As String Public Grapp_RDY As Boolean = True - Public Funimation_Grapp_RDY As Boolean = True Public Grapp_non_cr_RDY As Boolean = True Public Grapp_Abord As Boolean = False Public NameBuilder As String = "" @@ -157,14 +147,7 @@ Public Class Main Public UserBowser As Boolean = False Public BowserWasOpen As Boolean = False Public HybridMode As Boolean = False - Public HardSubFunimation As String = "Disabled" - Public Funimation_Bitrate As Integer = 0 - Public DubFunimation As String = "Disabled" - Public Funimation_srt As Boolean = False - Public Funimation_vtt As Boolean = False - Public SubFunimationString As String = "en" - Public SubFunimation As New List(Of String) - Public DefaultSubFunimation As String = "Disabled" + Public DefaultSubCR As String = "Disabled" Public DubMode As Boolean = True Public CR_Chapters As Boolean = False @@ -493,7 +476,6 @@ Public Class Main Season_Prefix = My.Settings.Prefix_S - DefaultSubFunimation = My.Settings.DefaultSubFunimation DefaultSubCR = My.Settings.DefaultSubCR @@ -522,6 +504,10 @@ Public Class Main Reso = My.Settings.Reso + If Reso = 42 Then + MsgBox("Resolution [Auto] is no longer supportet." + vbNewLine + "Please select a valid Resolution inside the settings.", MsgBoxStyle.Information) + End If + LeadingZero = My.Settings.LeadingZero @@ -541,7 +527,7 @@ Public Class Main Next - Funimation_Bitrate = My.Settings.Funimation_Bitrate + SubFolder_Value = My.Settings.SubFolder_Value @@ -576,13 +562,6 @@ Public Class Main IgnoreSeason = My.Settings.IgnoreSeason HideFLInt = My.Settings.HideSF HybridMode = My.Settings.HybridMode - Funimation_srt = My.Settings.Funimation_srt - Funimation_vtt = My.Settings.Funimation_vtt - - DubFunimation = My.Settings.FunimationDub - - - HardSubFunimation = "Disabled" SoftSubsString = My.Settings.AddedSubs @@ -598,15 +577,7 @@ Public Class Main - SubFunimationString = My.Settings.Fun_Sub - If SubFunimationString = "None" Then - Else - Dim SoftSubsStringSplit() As String = SubFunimationString.Split(New String() {","}, System.StringSplitOptions.RemoveEmptyEntries) - For i As Integer = 0 To SoftSubsStringSplit.Count - 1 - SubFunimation.Add(SoftSubsStringSplit(i)) - Next - End If @@ -1930,9 +1901,7 @@ Public Class Main Dim L2Name As String = String.Join(" ", CR_FilenName.Split(invalids, StringSplitOptions.RemoveEmptyEntries)).TrimEnd("."c) 'System.Text.RegularExpressions.Regex.Replace(CR_FilenName_Backup, "[^\w\\-]", " ") - If Reso = 42 And HybridMode = False Then - ResoHTMLDisplay = "[Auto]" - End If + #End Region @@ -2283,1052 +2252,7 @@ Public Class Main 'Debug.WriteLine("downloads.tick: " + RunningDownloads.ToString) End Sub -#Region "Funimation JS " - Public Sub GetFunimationJS_Seasons(Optional ByVal JsonUrl As String = Nothing, Optional ByVal Json As String = Nothing) - FunimtaionSeasonList.Clear() - Dim SeasonJson As String = Nothing - Debug.WriteLine("JsonUrl: " + JsonUrl) - If JsonUrl = Nothing Then - SeasonJson = Json - Else - FunimationSeasonAPIUrl = JsonUrl - 'Navigate(JsonUrl) - 'FunimationJsonBrowser = "SeasonJson" - 'Exit Sub - Try - Using client As New WebClient() - client.Encoding = System.Text.Encoding.UTF8 - client.Headers.Add(My.Settings.User_Agend.Replace(Chr(34), "")) - SeasonJson = client.DownloadString(JsonUrl) - End Using - Catch ex As Exception - Debug.WriteLine("error- getting funimation SeasonJson data") - FunimationJsonBrowser = "SeasonJson" - Navigate(JsonUrl) - 'Navigate(JsonUrl) - Exit Sub - End Try - End If - Debug.WriteLine("SeasonJson: " + SeasonJson) - Dim ser As JObject = JObject.Parse(SeasonJson) - Dim data As List(Of JToken) = ser.Children().ToList - Dim Slug As String = Nothing - Dim Title As String = Nothing - Dim ID As String = Nothing - For Each item As JProperty In data - item.CreateReader() - 'MsgBox(item.Name) - Select Case item.Name - Case "slug" - Slug = item.Value.ToString - Case "index" 'each record is inside the entries array - Dim SubData2 As List(Of JToken) = item.Values("seasons").Children().ToList - For i As Integer = 0 To SubData2.Count - 1 - Dim SubItem As JToken = SubData2.Item(i) - Dim SeasonSubData As List(Of JToken) = SubItem.Children().ToList - For Each SeasonSubItem As JProperty In SeasonSubData - SeasonSubItem.CreateReader() - Select Case SeasonSubItem.Name - Case "contentId" - 'MsgBox(SeasonSubItem.Value.ToString) - ID = SeasonSubItem.Value.ToString - Case "title" - ' MsgBox(SeasonSubItem.Value.Item("en").ToString) - Title = SeasonSubItem.Value.Item("en").ToString - FunimtaionSeasonList.Add(New FunimationOverview(Slug, ID, Title)) - End Select - Next - Next - End Select - Next - 'Debug.WriteLine("SeasonJson: ") - Anime_Add.groupBox2.Visible = True - Anime_Add.bt_Cancel_mass.Enabled = True - Anime_Add.bt_Cancel_mass.Visible = True - Anime_Add.groupBox1.Visible = False - Anime_Add.CB_Season.Items.Clear() - Anime_Add.CB_EP0.Items.Clear() - Anime_Add.CB_EP1.Items.Clear() - Anime_Add.CB_Season.Text = Nothing - Anime_Add.CB_EP0.Text = Nothing - Anime_Add.CB_EP1.Text = Nothing - Anime_Add.CB_Season.Enabled = True - Anime_Add.CB_EP0.Enabled = False - Anime_Add.CB_EP1.Enabled = False - WebbrowserURL = "https://funimation.com/js" - Debug.WriteLine("Count: " + FunimtaionSeasonList.Count.ToString) - For i As Integer = 0 To FunimtaionSeasonList.Count - 1 - Debug.WriteLine(FunimtaionSeasonList.Item(i).Title) - Anime_Add.CB_Season.Items.Add(FunimtaionSeasonList.Item(i).Title) - Next - End Sub - Public Async Sub DownloadFunimationJS_Seasons() - Try -#Region "JS" - Debug.WriteLine("EpisodeJson: " + FunimationEpisodeJSON) - Anime_Add.Add_Display.Text = "preparing ...." - Dim ListOfEpisodes As New List(Of String) - Dim BaseURL As String = "https://www.funimation.com/v/" + FunimtaionSeasonList.Item(0).Slug + "/" - 'If FunimationRegion IsNot Nothing Then - ' BaseURL = "https://www.funimation.com/" + FunimationRegion + "/shows/" - 'Else - ' BaseURL = "https://www.funimation.com/en/shows/" - 'End If - 'Dim EpisodeSplit() As String = FunimationEpisodeJSON.Split(New String() {Chr(34) + "slug" + Chr(34) + ": " + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries) - 'For i As Integer = 1 To EpisodeSplit.Count - 1 - ' Dim EpisodeSplit2() As String = EpisodeSplit(i).Split(New String() {Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries) - ' Debug.WriteLine(BaseURL + FunimationShowPath + EpisodeSplit2(0)) - ' ListOfEpisodes.Add(BaseURL + FunimationShowPath + EpisodeSplit2(0)) '+ FunimationAPIRegion) - 'Next - Dim ser As JObject = JObject.Parse(FunimationEpisodeJSON) - Dim data As List(Of JToken) = ser.Children().ToList - For Each item As JProperty In data - item.CreateReader() - Select Case item.Name - Case "episodes" 'each record is inside the entries array - For Each Entry As JObject In item.Values - Dim slug As String = Entry("slug").ToString - 'Debug.WriteLine(BaseURL + FunimationShowPath + slug) - 'ListOfEpisodes.Add(BaseURL + FunimationShowPath + slug) '+ FunimationAPIRegion) - Debug.WriteLine(BaseURL + slug) - ListOfEpisodes.Add(BaseURL + slug) - Next - End Select - Next - - Dim First As Integer = 0 - Dim Last As Integer = 0 - Dim Anzahl As Integer = 0 - - If Anime_Add.CB_EP1.SelectedIndex > Anime_Add.CB_EP0.SelectedIndex Then - First = Anime_Add.CB_EP0.SelectedIndex - Last = Anime_Add.CB_EP1.SelectedIndex - Anzahl = Last - First + 1 - ElseIf Anime_Add.CB_EP1.SelectedIndex < Anime_Add.CB_EP0.SelectedIndex Then - First = Anime_Add.CB_EP1.SelectedIndex - Last = Anime_Add.CB_EP0.SelectedIndex - - Anime_Add.CB_EP1.SelectedIndex = Last - Anime_Add.CB_EP0.SelectedIndex = First - Anzahl = Last - First + 1 - ElseIf Anime_Add.CB_EP1.SelectedIndex = Anime_Add.CB_EP0.SelectedIndex Then - - First = Anime_Add.CB_EP1.SelectedIndex - Last = Anime_Add.CB_EP1.SelectedIndex - - Anzahl = Last - First + 1 - End If - - Anime_Add.Add_Display.Text = Anzahl.ToString + " episodes selected" - - For i As Integer = First To Last - For e As Integer = 0 To Integer.MaxValue - If Funimation_Grapp_RDY = True Then - Try - Dim ItemFinshedCount As Integer = 0 - Dim Item As New List(Of CRD_List_Item) - Item.AddRange(Panel1.Controls.OfType(Of CRD_List_Item)) - Item.Reverse() - - For i2 As Integer = 0 To Item.Count - 1 - If Item(i2).GetIsStatusFinished() = True Then - ItemFinshedCount = ItemFinshedCount + 1 - End If - Next - RunningDownloads = Panel1.Controls.Count - ItemFinshedCount - Catch ex As Exception - RunningDownloads = Panel1.Controls.Count - End Try - If RunningDownloads < MaxDL Then - Exit For - Else - 'MsgBox(e) - Await Task.Delay(1000) - End If - Else - Await Task.Delay(5000) - End If - Next - If Anime_Add.Mass_DL_Cancel = False Then - b = True - Exit For - Grapp_Abord = True - 'MsgBox("dl_abourd") - End If - If UseQueue = True Then - 'Anime_Add.ListBox1.Items.Add(ListOfEpisodes(i)) - ListBoxList.Add(ListOfEpisodes(i)) - Anime_Add.Add_Display.ForeColor = Color.FromArgb(9248044) - Pause(1) - Anime_Add.Add_Display.ForeColor = Color.Black - Else - Funimation_Grapp_RDY = False - b = False - - If CBool(InStr(ListOfEpisodes(i), "funimation.com/v/")) Then - Dim Episode0() As String = ListOfEpisodes(i).Split(New String() {"?"}, System.StringSplitOptions.RemoveEmptyEntries) - Dim Episode() As String = Episode0(0).Split(New String() {"/"}, System.StringSplitOptions.RemoveEmptyEntries) - Dim v1JsonUrl As String = "https://d33et77evd9bgg.cloudfront.net/data/v1/episodes/" + Episode(Episode.Length - 1) + ".json" - 'MsgBox(v1JsonUrl) - Dim v1Json As String = Nothing - Try - Using client As New WebClient() - client.Encoding = System.Text.Encoding.UTF8 - client.Headers.Add(My.Settings.User_Agend.Replace(Chr(34), "")) - v1Json = client.DownloadString(v1JsonUrl) - End Using - WebbrowserURL = ListOfEpisodes(i) - GetFunimationNewJS_VideoProxy(Nothing, v1Json) - Catch ex As Exception - Debug.WriteLine("error- getting v1Json data for the bypasss") - Debug.WriteLine(ex.ToString) - Navigate(ListOfEpisodes(i)) - End Try - Else - Navigate(ListOfEpisodes(i)) - End If - - End If - Anime_Add.Add_Display.Text = (i - First + 1).ToString + " / " + (Last - First + 1).ToString - Next -#End Region - Catch ex As Exception - If Debug2 = True Then - MsgBox(ex.ToString) - End If - Anime_Add.CB_EP1.Items.Clear() - Anime_Add.CB_EP0.Items.Clear() - Aktuell = 0.ToString - Gesamt = 0.ToString - Anime_Add.groupBox1.Visible = True - Anime_Add.groupBox2.Visible = False - Anime_Add.Mass_DL_Cancel = False - Anime_Add.btn_dl.Text = "Download" 'Anime_Add.btn_dl.BackgroundImage = My.Resources.main_button_download_default - End Try - FunimationEpisodeJSON = Nothing - Pause(5) - Anime_Add.groupBox1.Visible = True - Anime_Add.groupBox2.Visible = False - Anime_Add.Mass_DL_Cancel = False - Anime_Add.btn_dl.Text = "Download" 'Anime_Add.btn_dl.BackgroundImage = My.Resources.main_button_download_default - End Sub - - Private Function ConvertFunimationDub(ByVal Dub As String) As String - If Dub = "english" Then - Return "English" - ElseIf Dub = "spanish(Mexico)" Then - Return "Spanish (Latin Am)" - ElseIf Dub = "portuguese(Brazil)" Then - Return "Portuguese (Brazil)" - ElseIf Dub = "japanese" Then - Return "Japanese" - Else - Return "N/A" - End If - End Function - Private Function ConvertFunimationDubToJson(ByVal Dub As String) As String - If Dub = "english" Then - Return "en" - ElseIf Dub = "spanish(Mexico)" Then - Return "es" - ElseIf Dub = "portuguese(Brazil)" Then - Return "pt" - ElseIf Dub = "japanese" Then 'japanese - Return "ja" - Else - Return "N/A" - End If - End Function - Private Function ConvertJsonToFunimationDub(ByVal Dub As String) As String - If Dub = "en" Then - Return "english" - ElseIf Dub = "es" Then - Return "spanish(Mexico)" - ElseIf Dub = "pt" Then - Return "portuguese(Brazil)" - ElseIf Dub = "ja" Then - Return "japanese" - Else - Return "N/A" - End If - End Function - Public Async Sub GetFunimationNewJS_VideoProxy(Optional ByVal v1JsonURL As String = Nothing, Optional ByVal v1JsonData As String = Nothing) - Try - Dim list As List(Of CoreWebView2Cookie) = Await Browser.WebView2.CoreWebView2.CookieManager.GetCookiesAsync("https://www.funimation.com/") - Dim Cookie As String = "" - For i As Integer = 0 To list.Count - 1 - If CBool(InStr(list.Item(i).Domain, "funimation.com")) Then 'list.Item(i).Domain = "funimation.com" Then - 'MsgBox(list.Item(i).Name + vbNewLine + list.Item(i).Value) - Cookie = Cookie + list.Item(i).Name + "=" + list.Item(i).Value + ";" - End If - If CBool(InStr(list.Item(i).Domain, "funimation.com")) And CBool(InStr(list.Item(i).Name, "src_token")) Then 'list.Item(i).Domain = "funimation.com" Then - 'MsgBox(list.Item(i).Name + vbNewLine + list.Item(i).Value) - FunimationToken = "Token " + list.Item(i).Value - End If - If CBool(InStr(list.Item(i).Domain, "funimation.com")) And CBool(InStr(list.Item(i).Name, "region")) Then 'list.Item(i).Domain = "funimation.com" Then - 'MsgBox(list.Item(i).Name + vbNewLine + list.Item(i).Value) - FunimationDeviceRegion = "?deviceType=web&" + list.Item(i).Name + "=" + list.Item(i).Value - End If - Next - - Catch ex As Exception - - End Try - ' region=US; - LoadedUrls.Clear() - Dim Evaluator = New Thread(Sub() Me.GetFunimationNewJS_Video(v1JsonURL, v1JsonData)) - Evaluator.Start() - End Sub - - Public Sub GetFunimationNewJS_Video(ByVal v1JsonUrl As String, ByVal v1JsonData As String) ', ByVal WebsiteURL As String - Debug.WriteLine(v1JsonUrl) - Dim v1Json As String = Nothing - If v1JsonUrl = Nothing Then - v1Json = v1JsonData - Else - Try - 'Throw New Exception("TEst") - Using client As New WebClient() - client.Encoding = System.Text.Encoding.UTF8 - client.Headers.Add(My.Settings.User_Agend.Replace(Chr(34), "")) - v1Json = client.DownloadString(v1JsonUrl) - End Using - Catch ex As Exception - Debug.WriteLine("error- getting v1Json data") - Debug.WriteLine(ex.ToString) - Me.Invoke(New Action(Function() As Object - 'Me.Text = "Status: error - getting v1Json data" - FunimationJsonBrowser = "v1Json" - Navigate(v1JsonUrl) - 'Anime_Add.StatusLabel.Text = "Status: error - getting v1Json data" - Me.Invalidate() - Return Nothing - End Function)) - Exit Sub - End Try - End If - 'Debug.WriteLine("v1Json: " + v1Json) - If v1Json = Nothing Then - Me.Invoke(New Action(Function() As Object - Me.Text = "Status: error - getting v1Json data" - Anime_Add.StatusLabel.Text = "Status: error - getting v1Json data" - Me.Invalidate() - Return Nothing - End Function)) - Exit Sub - End If - Try - Dim ffmpeg_command_temp As String = ffmpeg_command - - Me.Invoke(New Action(Function() As Object - Me.Text = "Status: looking for video file" - Anime_Add.StatusLabel.Text = "Status: looking for video file" - Me.Invalidate() - Return Nothing - End Function)) - Funimation_Grapp_RDY = False -#Region "Name" - Dim DownloadPfad As String = Nothing - Dim FunimationSeason As String = Nothing - Dim FunimationEpisode As String = Nothing - Dim FunimationTitle As String = Nothing - Dim FunimationEpisodeTitle As String = Nothing - Dim FunimationDub As String = Nothing - Dim FunimationAudioMap As String = Nothing - Dim FunimationEpisodeJson As String = Nothing - Dim thumbnail4 As String = "" - Dim ser As JObject = JObject.Parse(v1Json) - Dim data As List(Of JToken) = ser.Children().ToList - For Each item As JProperty In data - item.CreateReader() - Select Case item.Name - Case "images" 'each record is inside the entries array - For Each Entry As JObject In item.Values - Dim key As String = Entry("key").ToString - If key = "Key Art - Official Video Image" Or key = "Episode Thumbnail" Then - Dim path As String = Entry("path").ToString - thumbnail4 = path - End If - Next - Case "id" 'id.json for video - FunimationEpisodeJson = item.Value.ToString - Case "episodeNumber" - Dim FunimationEpisode3 As String = RemoveExtraSpaces(item.Value.ToString) - If Episode_Prefix = "[default episode prefix]" Then - FunimationEpisode = "Episode " + AddLeadingZeros(FunimationEpisode3) - Else - FunimationEpisode = Episode_Prefix + AddLeadingZeros(FunimationEpisode3) - End If - Case "name" - Dim NameData As List(Of JToken) = item.Values.ToList() - For Each Name As JProperty In NameData - Select Case Name.Name - Case "en" - FunimationEpisodeTitle = Name.Value.ToString - Debug.WriteLine("FunimationEpisodeTitle: " + FunimationEpisodeTitle) - End Select - Next - Case "season" 'each record is inside the entries array - Dim SubData As List(Of JToken) = item.Values.ToList() - For Each SubItem As JProperty In SubData - Select Case SubItem.Name - Case "name" - If Season_Prefix = "[default season prefix]" Then - Dim SeasonNameData As List(Of JToken) = SubItem.Values.ToList() - For Each SeasonName As JProperty In SeasonNameData - Select Case SeasonName.Name - Case "en" - FunimationSeason = SeasonName.Value.ToString - Debug.WriteLine("FunimationSeason: " + FunimationSeason) - End Select - Next - End If - Case "number" - If Season_Prefix = "[default season prefix]" Then - 'FunimationSeason = Entry("name") - Else - Dim EpisodeNumer As String = SubItem.Value.ToString - FunimationSeason = Season_Prefix + " " + EpisodeNumer - Debug.WriteLine("FunimationSeason: " + FunimationSeason) - End If - End Select - Next - Case "show" 'each record is inside the entries array - Dim SubData As List(Of JToken) = item.Values.ToList() - For Each SubItem As JProperty In SubData - Select Case SubItem.Name - Case "name" - Dim SeasonNameData As List(Of JToken) = SubItem.Values.ToList() - For Each SeasonName As JProperty In SeasonNameData - Select Case SeasonName.Name - Case "en" - FunimationTitle = SeasonName.Value.ToString - Debug.WriteLine("FunimationTitle: " + FunimationTitle) - End Select - Next - End Select - Next - End Select - Next - FunimationTitle = RemoveExtraSpaces(String.Join(" ", FunimationTitle.Split(invalids, StringSplitOptions.RemoveEmptyEntries)).TrimEnd("."c)).Replace(Chr(34), "").Replace("\", "").Replace("/", "") - FunimationEpisodeTitle = String.Join(" ", FunimationEpisodeTitle.Split(invalids, StringSplitOptions.RemoveEmptyEntries)).TrimEnd("."c).Replace(Chr(34), "").Replace("\", "").Replace("/", "") - FunimationDub = ConvertFunimationDub(DubFunimation) 'FunimationDub2(0) - Dim DefaultName As String = RemoveExtraSpaces(FunimationTitle + " " + FunimationSeason + " " + FunimationEpisode) - - Dim NameParts As String() = NameBuilder.Split(New String() {";"}, System.StringSplitOptions.RemoveEmptyEntries) - - For i As Integer = 0 To NameParts.Count - 1 - - If NameParts(i) = "AnimeTitle" Then - DefaultName = DefaultName + " " + FunimationTitle - ElseIf NameParts(i) = "Season" Then - DefaultName = DefaultName + " " + FunimationSeason - ElseIf NameParts(i) = "EpisodeNR" Then - DefaultName = DefaultName + " " + FunimationEpisode - ElseIf NameParts(i) = "EpisodeName" Then - DefaultName = DefaultName + " " + FunimationEpisodeTitle - ElseIf NameParts(i) = "AnimeDub" Then - DefaultName = DefaultName + " RepDub" - ElseIf NameParts(i) = "AnimeSub" Then - DefaultName = DefaultName + " RepSub" - End If - - Next - - - If CBool(InStr(DefaultName, " RepDub")) Then - DefaultName = DefaultName.Replace(" RepDub", "") - End If - - If CBool(InStr(DefaultName, " RepSub")) Then - DefaultName = DefaultName.Replace(" RepSub", "") - End If - - - 'If CR_NameMethode = 1 Then - ' DefaultName = RemoveExtraSpaces(FunimationTitle + " " + FunimationSeason + " " + FunimationEpisodeTitle) - 'ElseIf CR_NameMethode = 2 Then - ' DefaultName = RemoveExtraSpaces(FunimationTitle + " " + FunimationSeason + " " + FunimationEpisode + " " + FunimationEpisodeTitle) - 'ElseIf CR_NameMethode = 3 Then - ' DefaultName = RemoveExtraSpaces(FunimationTitle + " " + FunimationEpisodeTitle + " " + FunimationSeason + " " + FunimationEpisode) - 'End If - - - DefaultName = DefaultName.Replace("'", "'") - 'Dim DefaultPath As String = Pfad + "\" + DefaultName + VideoFormat - 'DefaultPath = DefaultPath.Replace("\\", "\") -#End Region -#Region "Pfad" - Dim TextBox2_Text As String = Nothing - Me.Invoke(New Action(Function() As Object - TextBox2_Text = Anime_Add.TextBox2.Text - Return Nothing - End Function)) - If TextBox2_Text = Nothing Or TextBox2_Text = "Use Custom Name" Then - Else - Me.Invoke(New Action(Function() As Object - Return Nothing - End Function)) - End If - DefaultName = DefaultName.Replace(":", "") - DownloadPfad = RemoveExtraSpaces(UseSubfolder(FunimationTitle, FunimationSeason, Pfad)) - If Not Directory.Exists(Path.GetDirectoryName(DownloadPfad)) Then - ' Nein! Jetzt erstellen... - Try - Directory.CreateDirectory(Path.GetDirectoryName(DownloadPfad)) - DownloadPfad = RemoveExtraSpaces(Chr(34) + DownloadPfad + DefaultName + VideoFormat + Chr(34)) - Catch ex As Exception - ' Ordner wurde nich erstellt - DownloadPfad = RemoveExtraSpaces(Chr(34) + Pfad + DefaultName + VideoFormat + Chr(34)) - End Try - Else - DownloadPfad = RemoveExtraSpaces(Chr(34) + DownloadPfad + DefaultName + VideoFormat + Chr(34)) - End If -#Region "lösche doppel download" - Dim Pfad5 As String = DownloadPfad.Replace(Chr(34), "") - If My.Computer.FileSystem.FileExists(Pfad5) Then 'Pfad = Kompeltter Pfad mit Dateinamen + ENdung - Me.Invoke(New Action(Function() As Object - Me.Text = "Status: File already exists." - Anime_Add.StatusLabel.Text = "Status: File already exists." - Me.Invalidate() - Return Nothing - End Function)) - If MessageBox.Show("The file " + Pfad5 + " already exists." + vbNewLine + "You want to override it?", "File exists!", MessageBoxButtons.OKCancel) = DialogResult.OK Then - Try - My.Computer.FileSystem.DeleteFile(Pfad5) - Me.Invoke(New Action(Function() As Object - Me.Text = "Status: Old file overwritten." - Anime_Add.StatusLabel.Text = "Status: Old file overwritten." - Me.Invalidate() - Return Nothing - End Function)) - Catch ex As Exception - End Try - Else - Me.Invoke(New Action(Function() As Object - Me.Text = "Crunchyroll Downloader" - Anime_Add.StatusLabel.Text = "idle" - Me.Invalidate() - Return Nothing - End Function)) - Funimation_Grapp_RDY = True - Exit Sub - End If - End If -#End Region -#End Region -#Region "json" - Dim EpisodeJsonString As String = Nothing - Dim PlayerClient As New WebClient - PlayerClient.Encoding = Encoding.UTF8 - PlayerClient.Headers.Add(My.Settings.User_Agend.Replace(Chr(34), "")) - PlayerClient.Headers.Add(HttpRequestHeader.Accept, "application/json, text/plain, */*") - PlayerClient.Headers.Add("origin: https://www.funimation.com/") - PlayerClient.Headers.Add(HttpRequestHeader.Referer, "https://www.funimation.com/") - Dim BaseUrl As String = "https://playback.prd.funimationsvc.com/v1/play/" - Debug.WriteLine(PlayerClient.Headers.ToString) - If FunimationToken = Nothing Then - Debug.WriteLine("FunimationToken: false") - BaseUrl = "https://playback.prd.funimationsvc.com/v1/play/anonymous/" - Else - Debug.WriteLine("FunimationToken: true") - PlayerClient.Headers.Add(HttpRequestHeader.Authorization, FunimationToken) - End If - 'FunimationToken - 'MsgBox(WebbrowserCookie) - 'BaseUrl + FunimationEpisodeJson + FunimationDeviceRegion - If FunimationDeviceRegion = Nothing Then - FunimationDeviceRegion = "?deviceType=web" - End If - Debug.WriteLine(BaseUrl + FunimationEpisodeJson + FunimationDeviceRegion) - If WebbrowserCookie = Nothing Then - Else - PlayerClient.Headers.Add(HttpRequestHeader.Cookie, WebbrowserCookie) - End If - If SystemWebBrowserCookie = Nothing Then - Else - PlayerClient.Headers.Add(HttpRequestHeader.Cookie, SystemWebBrowserCookie) - End If - ' Dim PlayerPage As String = SubsClient.DownloadString("https://www.funimation.com/player/" + ExperienceID + "/?bdub=0&qid=") - Try - 'Throw New System.Exception("Test") - 'MsgBox(BaseUrl + FunimationEpisodeJson + FunimationDeviceRegion) - EpisodeJsonString = PlayerClient.DownloadString(BaseUrl + FunimationEpisodeJson + FunimationDeviceRegion) - Catch ex As Exception - Debug.WriteLine(ex.ToString) - Pause(2) - Debug.WriteLine("showexperience 2nd try") - 'Me.Invoke(New Action(Function() As Object - 'PlayerClient.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip") - 'EpisodeJsonString = DecompressString(PlayerClient.DownloadData(BaseUrl + FunimationEpisodeJson + FunimationDeviceRegion)) - EpisodeJsonString = PlayerClient.DownloadString(BaseUrl + FunimationEpisodeJson + FunimationDeviceRegion) - 'Debug.WriteLine("Thread Name: " + Thread.CurrentThread.Name) - 'ErrorBrowserString = "Funimation_showexperience" - 'ErrorBrowserUrl = "https://www.funimation.com/api/showexperience/" + ExperienceID + "/?pinst_id=fzQc9p9f" - 'Debug.WriteLine("2-showexperience data via browser") - 'ErrorBrowser.ShowDialog() - 'Debug.WriteLine("3-showexperience data via browser") - 'showexperience = ErrorBrowserBackString - End Try - 'MsgBox(EpisodeJsonString) - Dim SubsFiles As New List(Of FunimationSubs) - Dim VideoStreams As New List(Of FunimationStream) - Dim EpisodeJson As JObject = JObject.Parse(EpisodeJsonString) - Dim EpisodeJsonData As List(Of JToken) = EpisodeJson.Children().ToList - Dim PrimaryVersion As String = Nothing ' item.Item("version").ToString - Dim PrimaryaudioLanguage As String = Nothing ' item.Item("audioLanguage").ToString - Dim PrimarymanifesUrl As String = Nothing 'item.Item("manifestPath").ToString - For Each item As JProperty In EpisodeJsonData - item.CreateReader() - Select Case item.Name - Case "fallback" - 'MsgBox(SubItem.Value.ToString()) - Dim SubData2 As List(Of JToken) = item.Values.ToList - 'MsgBox(SubData2.Count.ToString) - For i As Integer = 0 To SubData2.Count - 1 - Dim audioLanguage As String = Nothing - Dim Format As String = Nothing - Try - Dim Version As String = SubData2(i).Item("version").ToString - audioLanguage = SubData2(i).Item("audioLanguage").ToString - Dim Url As String = SubData2(i).Item("manifestPath").ToString - Debug.WriteLine(Version) - Debug.WriteLine(audioLanguage) - Debug.WriteLine(Url) - Format = SubData2(i).Item("fileExt").ToString - If Format = "m3u8" Then - VideoStreams.Add(New FunimationStream(audioLanguage, Version, Url, False)) - End If - Catch ex As Exception - End Try - Try - Dim SubData3 As List(Of JToken) = SubData2(i).Item("subtitles").Children.ToList - 'MsgBox(SubData2.Count.ToString) - For i3 As Integer = 0 To SubData2.Count - 1 - Try - Dim LangCode As String = SubData3(i3).Item("languageCode").ToString - Dim CCFormat As String = SubData3(i3).Item("fileExt").ToString - Dim Url As String = SubData3(i3).Item("filePath").ToString - If audioLanguage = "ja" And Format = "m3u8" Then - SubsFiles.Add(New FunimationSubs(LangCode, CCFormat, Url)) - End If - Catch ex As Exception - End Try - Next - Catch ex As Exception - End Try - Next - Case "primary" 'each record is inside the entries array - Dim SubData As List(Of JToken) = item.Values.ToList() - For Each SubItem As JProperty In SubData - Select Case SubItem.Name - ' Case "manifestPath" - ' Funimation_m3u8_Main = SubItem.Value.ToString - ''MsgBox() - Case "version" - PrimaryVersion = SubItem.Value.ToString - Case "audioLanguage" - PrimaryaudioLanguage = SubItem.Value.ToString - Case "manifestPath" - PrimarymanifesUrl = SubItem.Value.ToString - Case "subtitles" - 'MsgBox(SubItem.Value.ToString()) - Dim SubData2 As List(Of JToken) = SubItem.Values.ToList - 'MsgBox(SubData2.Count.ToString) - For i As Integer = 0 To SubData2.Count - 1 - Try - Dim LangCode As String = SubData2(i).Item("languageCode").ToString - Dim Format As String = SubData2(i).Item("fileExt").ToString - Dim Url As String = SubData2(i).Item("filePath").ToString - SubsFiles.Add(New FunimationSubs(LangCode, Format, Url)) - Catch ex As Exception - End Try - Next - End Select - Next - Debug.WriteLine("primary version: " + PrimaryVersion) - Debug.WriteLine("primary audioLanguage: " + PrimaryaudioLanguage) - Debug.WriteLine("primary manifesUrl: " + PrimarymanifesUrl) - VideoStreams.Add(New FunimationStream(PrimaryaudioLanguage, PrimaryVersion, PrimarymanifesUrl, True)) - End Select - Next -#End Region -#Region "m3u8 URL" - Dim Funimation_m3u8_Main As String = Nothing - Dim Funimation_m3u8_MainVersion As String = Nothing - Dim Funimation_m3u8_Primary_Version As String = Nothing - Dim Funimation_m3u8_Primary As String = Nothing - Dim Funimation_m3u8_Primary_audioLanguage As String = Nothing - Dim Funimation_m3u8_final As String = Nothing - Dim client0 As New WebClient - client0.Encoding = Encoding.UTF8 - If DownloadScope = DownloadScopeEnum.SubsOnly Then - - Me.Invoke(New Action(Function() As Object - Me.Text = "Status: Substitles only mode - skipped video" - Anime_Add.StatusLabel.Text = "Status: Substitles only mode - skipped video" - Me.Invalidate() - Return Nothing - End Function)) - - 'ElseIf DownloadScope = DownloadScopeEnum.MergeAudio Then - - - ElseIf DownloadScope = DownloadScopeEnum.OldDefault Or DownloadScope = DownloadScopeEnum.MergeAudio Or DownloadScope = DownloadScopeEnum.AudioOnly Then - - For i As Integer = 0 To VideoStreams.Count - 1 - If VideoStreams(i).Primary = True Then - Funimation_m3u8_Primary = VideoStreams(i).Url - Funimation_m3u8_Primary_Version = VideoStreams(i).version - Funimation_m3u8_Primary_audioLanguage = VideoStreams(i).audioLanguage - End If - If VideoStreams(i).audioLanguage = ConvertFunimationDubToJson(DubFunimation) And Funimation_m3u8_Main = Nothing Then - Funimation_m3u8_Main = VideoStreams(i).Url - Funimation_m3u8_MainVersion = VideoStreams(i).version - ElseIf VideoStreams(i).audioLanguage = ConvertFunimationDubToJson(DubFunimation) And VideoStreams(i).version = "uncut" Then - Funimation_m3u8_Main = VideoStreams(i).Url - Funimation_m3u8_MainVersion = VideoStreams(i).version - End If - Next - - 'MsgBox(Funimation_m3u8_Main) - 'Funimation_m3u8_Main = InputBox("Edit Url", "Change") - - If Funimation_m3u8_Main = Nothing Then - Funimation_m3u8_Main = Funimation_m3u8_Primary - Funimation_m3u8_MainVersion = Funimation_m3u8_Primary_Version - FunimationDub = ConvertFunimationDub(ConvertJsonToFunimationDub(Funimation_m3u8_Primary_audioLanguage)) - End If - - If Funimation_m3u8_Main = Nothing Then - If MessageBox.Show("No media matching your settings." + vbNewLine + "Avalible: Not implimentented, press 'Yes' to copy the data into the clipboard.", "No media", MessageBoxButtons.YesNo) = DialogResult.Yes Then - Me.Invoke(New Action(Function() As Object - Try - My.Computer.Clipboard.SetText(EpisodeJsonString) - Catch ex As Exception - End Try - Return Nothing - End Function)) - Exit Sub - Else - Funimation_Grapp_RDY = True - Exit Sub - End If - End If - Me.Invoke(New Action(Function() As Object - Me.Text = "Status: Video found!" - Anime_Add.StatusLabel.Text = "Status: Video found!" - Me.Invalidate() - Return Nothing - End Function)) - Dim str1 As String = client0.DownloadString(Funimation_m3u8_Main.Replace(Chr(34), "")) - If CBool(InStr(str1, "# AUDIO groups")) Then - Dim FunimationAudio() As String = str1.Split(New String() {"# AUDIO groups"}, System.StringSplitOptions.RemoveEmptyEntries) - Dim FunimationAudio2() As String = FunimationAudio(1).Split(New String() {"URI=" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries) - Dim FunimationAudio3() As String = FunimationAudio2(1).Split(New String() {Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries) - FunimationAudioMap = " -headers " + My.Settings.User_Agend + " -i " + Chr(34) + FunimationAudio3(0) + Chr(34) - End If - - Dim str2() As String = str1.Split(New String() {"# keyframes"}, System.StringSplitOptions.RemoveEmptyEntries) - - - Dim Streams() As String = str2(0).Split(New String() {vbLf}, System.StringSplitOptions.RemoveEmptyEntries) - - Dim FunimationBackupm3u8 As String = Nothing - - Dim Tartegt_m3u8_list As New List(Of String) - - Dim Secondary_m3u8_list As New List(Of String) - - - For i As Integer = 0 To Streams.Length - 1 - - - If CBool(InStr(Streams(i), "x" + Reso.ToString)) Then - - Tartegt_m3u8_list.Add(Streams(i) + vbCrLf + Streams(i + 1)) - FunimationBackupm3u8 = Streams(i + 1) - - ElseIf CBool(InStr(Streams(i), ResoFunBackup)) And FunimationBackupm3u8 = Nothing Then - - Secondary_m3u8_list.Add(Streams(i) + vbCrLf + Streams(i + 1)) - FunimationBackupm3u8 = Streams(i + 1) - - End If - - Next - - If Tartegt_m3u8_list.Count = 0 And Secondary_m3u8_list.Count > 0 Then - Tartegt_m3u8_list = Secondary_m3u8_list - End If - - If Tartegt_m3u8_list.Count > 1 Then - Dim HigestBitrate As Integer = 0 - For i2 As Integer = 0 To Tartegt_m3u8_list.Count - 1 - Dim Bandwidth_String As String = Nothing - If CBool(InStr(Tartegt_m3u8_list.Item(i2), "AVERAGE-BANDWIDTH=")) = True Then - Bandwidth_String = "AVERAGE-BANDWIDTH=" - ElseIf CBool(InStr(Tartegt_m3u8_list.Item(i2), "BANDWIDTH=")) = True Then - Bandwidth_String = "BANDWIDTH=" - Else - Continue For - End If - - Dim BitRate() As String = Tartegt_m3u8_list.Item(i2).Split(New String() {Bandwidth_String}, System.StringSplitOptions.RemoveEmptyEntries) - Dim BitRate2() As String = BitRate(1).Split(New String() {","}, System.StringSplitOptions.RemoveEmptyEntries) - If Funimation_Bitrate = 0 Then - If CInt(BitRate2(0)) > HigestBitrate Then - HigestBitrate = CInt(BitRate2(0)) - End If - Else - - If HigestBitrate > CInt(BitRate2(0)) Then - HigestBitrate = CInt(BitRate2(0)) - ElseIf HigestBitrate = 0 Then - HigestBitrate = CInt(BitRate2(0)) - End If - End If - Next - - For i2 As Integer = 0 To Tartegt_m3u8_list.Count - 1 - If CBool(InStr(Tartegt_m3u8_list.Item(i2), HigestBitrate.ToString)) = True Then - Dim new_m3u8_2() As String = Tartegt_m3u8_list.Item(i2).Split(New String() {vbLf}, System.StringSplitOptions.RemoveEmptyEntries) - Funimation_m3u8_final = new_m3u8_2(1) - FunimationBackupm3u8 = new_m3u8_2(1) - End If - Next - ElseIf Tartegt_m3u8_list.Count = 1 Then - Dim new_m3u8_2() As String = Tartegt_m3u8_list.Item(0).Split(New String() {vbLf}, System.StringSplitOptions.RemoveEmptyEntries) - Funimation_m3u8_final = new_m3u8_2(1) - FunimationBackupm3u8 = new_m3u8_2(1) - End If - - - - If Funimation_m3u8_final = Nothing And FunimationBackupm3u8 = Nothing Then - Me.Invoke(New Action(Function() As Object - Me.Text = "Status: Resolution not found!" - Anime_Add.StatusLabel.Text = "Status: Resolution not found!" - Me.Invalidate() - DialogTaskString = "Funimation_Resolution" - ResoNotFoundString = str1 - ErrorDialog.ShowDialog() - Return Nothing - End Function)) - ResoFunBackup = ResoBackString - For i As Integer = 0 To Streams.Length - 1 - If CBool(InStr(Streams(i), ResoBackString)) Then - Dim Streams2() As String = Streams(i).Split(New String() {"https://"}, System.StringSplitOptions.RemoveEmptyEntries) - Dim Streams3() As String = Streams2(1).Split(New String() {"#EXT-"}, System.StringSplitOptions.RemoveEmptyEntries) - Dim StreamURL As String = "https://" + Streams3(0).Trim - Dim CheckClient As New WebClient - CheckClient.Encoding = Encoding.UTF8 - If Not WebbrowserCookie = Nothing Then - CheckClient.Headers.Add(HttpRequestHeader.Cookie, WebbrowserCookie) - ElseIf Not SystemWebBrowserCookie = Nothing Then - CheckClient.Headers.Add(HttpRequestHeader.Cookie, SystemWebBrowserCookie) - End If - Dim m3u8String As String = CheckClient.DownloadString(StreamURL) - 'MsgBox(textLenght(i)) - Dim keyfileurl() As String = m3u8String.Split(New String() {"URI=" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries) - Dim keyfileurl2() As String = keyfileurl(1).Split(New String() {Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries) - Dim keyfileurl3 As String = keyfileurl2(0) - If CBool(InStr(keyfileurl2(0), "https://")) Then - Else - Dim c() As String = New Uri(StreamURL).Segments - Dim path As String = "https://" + New Uri(StreamURL).Host - For i3 As Integer = 0 To c.Count - 2 - path = path + c(i3) - Next - keyfileurl3 = path + keyfileurl2(0) 'New Uri(textLenght(i)).LocalPath + keyfileurl2(0) - End If - Try - Dim CheckClient2 As New WebClient - CheckClient2.Encoding = System.Text.Encoding.UTF8 - Dim testdl As String = CheckClient2.DownloadString(keyfileurl3) - Funimation_m3u8_final = StreamURL - Exit For - Catch ex As Exception - Debug.WriteLine(keyfileurl3 + vbNewLine + ex.ToString) - End Try - 'Funimation_m3u8_final = textLenght(i) - 'Exit For - End If - Next - ElseIf Funimation_m3u8_final = Nothing Then - Funimation_m3u8_final = FunimationBackupm3u8 - Else - Me.Invoke(New Action(Function() As Object - Me.Text = "Status: Resolution found!" - Anime_Add.StatusLabel.Text = "Status: Resolution found!" - Me.Invalidate() - Return Nothing - End Function)) - End If - Debug.WriteLine("Funimation_m3u8_final: " + Funimation_m3u8_final) - Funimation_m3u8_final = Funimation_m3u8_final.Replace(Chr(34), "") - - End If - 'MsgBox(FunimationName3) - Dim ResoHTMLDisplay As String = Reso.ToString + "p" -#Region "Subs" - Dim HardSubFound As Boolean = False - Dim HardSubSplittString As String = Nothing - Dim UsedSub As String = Nothing - Dim UsedSubs As New List(Of String) - Dim ffmpeg_hardsub As String = Nothing - For i As Integer = 0 To SubsFiles.Count - 1 - Debug.WriteLine(SubsFiles(i).LangugageCode + "-" + SubsFiles(i).Format) - If SubFunimation.Count = 0 Then - Exit For - End If - If Funimation_vtt = True And SubsFiles(i).Format = "vtt" And CBool(InStr(SubFunimationString, SubsFiles(i).LangugageCode)) Then - UsedSubs.Add(SubsFiles(i).Url + " , " + SubsFiles(i).LangugageCode) - ElseIf Funimation_srt = True And SubsFiles(i).Format = "srt" And CBool(InStr(SubFunimationString, SubsFiles(i).LangugageCode)) Then - UsedSubs.Add(SubsFiles(i).Url + " , " + SubsFiles(i).LangugageCode) - End If - Next - ' - Dim SoftSubMergeURLs As String = Nothing - Dim SoftSubMergeMaps As String = " -map 0:v -map 0:a" - If Not FunimationAudioMap = Nothing Then - SoftSubMergeMaps = " -map 0:v -map 1:a" - End If - Dim SoftSubMergeMetatata As String = Nothing - If UsedSubs.Count > 0 Then - If MergeSubs = True And DownloadScope = 0 Then - Dim DispositionIndex As Integer = 999 - Dim LastMerged As String = Nothing - Dim MapCount As Integer = -1 - For i As Integer = 0 To UsedSubs.Count - 1 - Dim SoftSub As String() = UsedSubs.Item(i).Split(New String() {" , "}, System.StringSplitOptions.RemoveEmptyEntries) - If ConvertSubValue(SoftSub(1), ConvertSubsEnum.MP4CC_ISO_639_2) = LastMerged Then - Continue For - Else - LastMerged = ConvertSubValue(SoftSub(1), ConvertSubsEnum.MP4CC_ISO_639_2) - End If - MapCount = MapCount + 1 - If DefaultSubFunimation = SoftSub(1) Then - 'Debug.WriteLine(SoftSub(1)) - DispositionIndex = MapCount - End If - If SoftSubMergeURLs = Nothing Then - SoftSubMergeURLs = " -headers " + My.Settings.User_Agend + " -i " + Chr(34) + SoftSub(0) + Chr(34) - Else - SoftSubMergeURLs = SoftSubMergeURLs + " -headers " + My.Settings.User_Agend + " -i " + Chr(34) + SoftSub(0) + Chr(34) - End If - If FunimationAudioMap = Nothing Then - SoftSubMergeMaps = SoftSubMergeMaps + " -map " + (MapCount + 1).ToString - Else - SoftSubMergeMaps = SoftSubMergeMaps + " -map " + (MapCount + 2).ToString - End If - If SoftSubMergeMetatata = Nothing Then - 'SoftSubMergeMetatata = " -metadata:s:s:" + i.ToString + " language=" + ConvertSubValue(SoftSub(1)) - SoftSubMergeMetatata = " -metadata:s:s:" + MapCount.ToString + " language=" + ConvertSubValue(SoftSub(1), ConvertSubsEnum.MP4CC_ISO_639_2) + " -metadata:s:s:" + MapCount.ToString + " title=" + Chr(34) + ConvertSubValue(Chr(34) + SoftSub(1) + Chr(34), ConvertSubsEnum.DisplayText) + Chr(34) + " -metadata:s:s:" + MapCount.ToString + " handler_name=" + Chr(34) + ConvertSubValue(Chr(34) + SoftSub(1) + Chr(34), ConvertSubsEnum.DisplayText) + Chr(34) - Else - SoftSubMergeMetatata = SoftSubMergeMetatata + " -metadata:s:s:" + MapCount.ToString + " language=" + ConvertSubValue(SoftSub(1), ConvertSubsEnum.MP4CC_ISO_639_2) + " -metadata:s:s:" + MapCount.ToString + " title=" + Chr(34) + ConvertSubValue(Chr(34) + SoftSub(1) + Chr(34), ConvertSubsEnum.DisplayText) + Chr(34) + " -metadata:s:s:" + MapCount.ToString + " handler_name=" + Chr(34) + ConvertSubValue(Chr(34) + SoftSub(1) + Chr(34), ConvertSubsEnum.DisplayText) + Chr(34) - 'SoftSubMergeMetatata + " -metadata:s:s:" + i.ToString + " language=" + ConvertSubValue(SoftSubs2(i)) - End If - Next - If DispositionIndex < 999 Then - SoftSubMergeMetatata = SoftSubMergeMetatata + " -disposition:s:" + DispositionIndex.ToString + " default" - End If - Else - Dim SubsClient As New WebClient - SubsClient.Encoding = Encoding.UTF8 - If Not WebbrowserCookie = Nothing Then - SubsClient.Headers.Add(HttpRequestHeader.Cookie, WebbrowserCookie) - ElseIf Not SystemWebBrowserCookie = Nothing Then - SubsClient.Headers.Add(HttpRequestHeader.Cookie, SystemWebBrowserCookie) - End If - For i As Integer = 0 To UsedSubs.Count - 1 - LabelUpdate = "Status: downloading subtitle file" - LabelEpisode = UsedSubs(i) - Dim SoftSub As String() = UsedSubs.Item(i).Split(New String() {" , "}, System.StringSplitOptions.RemoveEmptyEntries) - Dim SoftSub_3 As String = SoftSub(0).Replace("\/", "/") - Dim Subfile As String = SubsClient.DownloadString(SoftSub_3) - Dim Pfad3 As String = DownloadPfad.Replace(Chr(34), "") - 'MsgBox(FN) - Dim SubtitelFormat As String = "srt" - If CBool(InStr(SoftSub_3, ".vtt")) Then - SubtitelFormat = "vtt" - End If - Dim FN As String = Path.ChangeExtension(Path.Combine(Path.GetFileNameWithoutExtension(Pfad3) + " " + SoftSub(1) + Path.GetExtension(Pfad3)), SubtitelFormat) - If i = 0 Then - FN = Path.ChangeExtension(Path.GetFileName(Pfad3), SubtitelFormat) - 'MsgBox(FN) - End If - Dim Pfad4 As String = Path.Combine(Path.GetDirectoryName(Pfad3), FN) - 'MsgBox(Pfad4) - Debug.WriteLine(Pfad4) - 'File.WriteAllText(Pfad4, Subfile, Encoding.UTF8) - WriteText(Pfad4, Subfile) - Pause(1) - Next - End If - End If -#End Region -#Region "ffmpeg command" - Dim DubMetatata As String = Nothing - If FunimationDub = "Japanese" Then - DubMetatata = " -metadata:s:a:0 language=jpn" - ElseIf FunimationDub = "Portuguese (Brazil)" Then - DubMetatata = " -metadata:s:a:0 language=por" - ElseIf FunimationDub = "Spanish (Latin Am)" Then - DubMetatata = " -metadata:s:a:0 language=spa" - Else ' - DubMetatata = " -metadata:s:a:0 language=eng" - End If - If HardSubFound = True And CBool(InStr(VideoFormat, ".aac")) = False Then - Funimation_m3u8_final = "-i " + Chr(34) + Funimation_m3u8_final + Chr(34) + FunimationAudioMap + " -vf subtitles=" + Chr(34) + UsedSub + Chr(34) + " " + ffmpeg_hardsub - ElseIf MergeSubs = True Then - Funimation_m3u8_final = "-i " + Chr(34) + Funimation_m3u8_final + Chr(34) + FunimationAudioMap + SoftSubMergeURLs + SoftSubMergeMaps + " " + ffmpeg_command + " -c:s " + MergeSubsFormat + SoftSubMergeMetatata + DubMetatata - ElseIf CBool(InStr(VideoFormat, ".aac")) = True Then - If FunimationAudioMap = Nothing Then - Funimation_m3u8_final = "-i " + Chr(34) + Funimation_m3u8_final + Chr(34) + DubMetatata + " " + ffmpeg_command_temp - Else - Funimation_m3u8_final = FunimationAudioMap.Replace(" -headers " + My.Settings.User_Agend + " ", "") + DubMetatata + " " + ffmpeg_command_temp - End If - Else - Funimation_m3u8_final = "-i " + Chr(34) + Funimation_m3u8_final + Chr(34) + FunimationAudioMap + DubMetatata + " " + ffmpeg_command - End If - Funimation_m3u8_final = Funimation_m3u8_final + " -metadata:g encoding_tool=CrD_Funimation_JS" -#End Region - 'MsgBox(Funimation_m3u8_final) - 'DownloadPfad = DownloadPfad.Replace(" \", "\") - If DownloadScope = 1 Then - Funimation_m3u8_final = "-i [Subtitles only]" - End If - Dim L1Name_Split As String() = WebbrowserURL.Split(New String() {"/"}, System.StringSplitOptions.RemoveEmptyEntries) - Dim L1Name As String = L1Name_Split(1).Replace("www.", "") + " | Dub : " + FunimationDub - Me.Invoke(New Action(Function() As Object - ListItemAdd(DownloadPfad, L1Name, DefaultName, ResoHTMLDisplay, Funimation_m3u8_MainVersion, thumbnail4, Funimation_m3u8_final, DownloadPfad, "FM") - Return Nothing - End Function)) - 'liList.Add(My.Resources.htmlvorThumbnail + thumbnail4 + My.Resources.htmlnachTumbnail + FunimationTitle + "
" + FunimationSeason + " " + FunimationEpisode + My.Resources.htmlvorAufloesung + ResoHTMLDisplay + My.Resources.htmlvorSoftSubs + vbNewLine + SubValuesToDisplay() + My.Resources.htmlvorHardSubs + "null" + My.Resources.htmlnachHardSubs + "") -#End Region - Me.Invoke(New Action(Function() As Object - Me.Text = "Crunchyroll Downloader" - Anime_Add.StatusLabel.Text = "idle" - ResoBackString = Nothing - Me.Invalidate() - Return Nothing - End Function)) - Catch ex As Exception - Me.Invoke(New Action(Function() As Object - Me.Text = "Crunchyroll Downloader!" - Anime_Add.StatusLabel.Text = "idle" - ResoBackString = Nothing - Me.Invalidate() - Return Nothing - End Function)) - MsgBox(ex.ToString) - End Try - Funimation_Grapp_RDY = True - End Sub - -#End Region Private Sub Timer3_Tick(sender As Object, e As EventArgs) Handles Timer3.Tick Dim Item As New List(Of CRD_List_Item) @@ -3362,51 +2286,6 @@ Public Class Main Debug.WriteLine(Date.Now.ToString + "." + Date.Now.Millisecond.ToString) Debug.WriteLine(Address) - If CBool(InStr(Address, "title-api.prd.funimationsvc.com")) Then - If FunimationJsonBrowser = "EpisodeJson" Then - Anime_Add.FillFunimationEpisodes(localHTML.Replace("", "").Replace("", "").Replace("
", "").Replace("
", "").Replace("", "").Replace("
", "")) '
-                FunimationJsonBrowser = Nothing
-                WebbrowserURL = "https://funimation.com/js"
-            ElseIf FunimationJsonBrowser = "v1Json" Then
-                GetFunimationNewJS_VideoProxy(Nothing, localHTML.Replace("", "").Replace("", "").Replace("
", "").Replace("
", "").Replace("", "").Replace("
", "")) '
-                FunimationJsonBrowser = Nothing
-                WebbrowserURL = "https://funimation.com/js"
-            End If
-            Exit Sub
-        ElseIf CBool(InStr(Address, "/data/v2/shows/")) Then
-            If FunimationJsonBrowser = "SeasonJson" Then
-                Me.Invoke(New Action(Function() As Object
-                                         'My.Computer.Clipboard.SetText(localHTML)
-                                         FunimationSeasonAPIUrl = Address
-                                         GetFunimationJS_Seasons(Nothing, localHTML.Replace("", "").Replace("", "").Replace("
", "").Replace("
", "").Replace("", "").Replace("
", "")) '
-                                         FunimationJsonBrowser = Nothing
-                                         WebbrowserURL = "https://funimation.com/js"
-                                         Return Nothing
-                                     End Function))
-            End If
-            Exit Sub
-        ElseIf CBool(InStr(Address, "wakanim.tv")) Then
-            If CBool(InStr(document, "var tracks = [{" + Chr(34) + "file" + Chr(34) + ":" + Chr(34))) Then
-                Dim WakanimSub() As String = document.Split(New String() {"var tracks = [{" + Chr(34) + "file" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
-                Dim WakanimSub2() As String = WakanimSub(1).Split(New String() {Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
-                Try
-                    Using client As New WebClient()
-                        client.Encoding = System.Text.Encoding.UTF8
-                        client.Headers.Add(My.Settings.User_Agend.Replace(Chr(34), ""))
-                        Dim SaveName As String = System.Text.RegularExpressions.Regex.Replace(DocumentTitle.Replace(" - Schaue legal auf Wakanim.TV", ""), "[^\w\\-]", " ").Replace(":", "")
-                        SaveName = RemoveExtraSpaces(SaveName)
-                        client.DownloadFile(WakanimSub2(0), Pfad + "\" + SaveName + ".vtt")
-                    End Using
-                Catch ex As Exception
-                    'Debug.WriteLine("error- getting funimation SeasonJson data")
-                    'FunimationJsonBrowser = "SeasonJson"
-                    'Navigate(JsonUrl)
-                    ''Navigate(JsonUrl)
-                    Exit Sub
-                End Try
-            End If
-        End If
         If b = True Then
             LoadedUrls.Clear()
             Grapp_RDY = True
@@ -3415,48 +2294,10 @@ Public Class Main
             Exit Sub
         End If
         'MsgBox("loaded!")
-        If CBool(InStr(Address, "crunchyroll.com")) Or CBool(InStr(Address, "funimation.com")) Then
+        If CBool(InStr(Address, "crunchyroll.com")) Then
             WebbrowserURL = Address
 
-            ' ScanTimeout.Start()
 
-
-            'ElseIf CBool(InStr(Address, "funimation.com")) Then
-
-            '    Dim list As List(Of CoreWebView2Cookie) = Await Browser.WebView2.CoreWebView2.CookieManager.GetCookiesAsync("https://www.funimation.com")
-            '    Dim Cookie As String = ""
-            '    For i As Integer = 0 To list.Count - 1
-            '        If CBool(InStr(list.Item(i).Domain, "funimation.com")) Then 'list.Item(i).Domain = "funimation.com" Then
-            '            'MsgBox(list.Item(i).Name + vbNewLine + list.Item(i).Value)
-            '            Cookie = Cookie + list.Item(i).Name + "=" + list.Item(i).Value + ";"
-            '        End If
-            '        If CBool(InStr(list.Item(i).Domain, "funimation.com")) And CBool(InStr(list.Item(i).Name, "src_token")) Then 'list.Item(i).Domain = "funimation.com" Then
-            '            'MsgBox(list.Item(i).Name + vbNewLine + list.Item(i).Value)
-            '            FunimationToken = "Token " + list.Item(i).Value
-            '        End If
-            '    Next
-            '    If b = False Then
-            '        WebbrowserCookie = Cookie
-            '        WebbrowserURL = Address
-            '        Text = "Crunchyroll Downloader"
-            '        For i As Integer = 10 To 0 Step -1
-            '            Anime_Add.StatusLabel.Text = "Status: checking traffic - " + i.ToString
-            '            Pause(1)
-            '        Next
-            '        Dim Evaluator = New Thread(Sub() Me.ProcessUrls())
-            '        Evaluator.Start()
-            '        Exit Sub
-            '    End If
-            'Else
-            '    WebbrowserURL = Address
-            '    Text = "Crunchyroll Downloader"
-            '    For i As Integer = 10 To 0 Step -1
-            '        Anime_Add.StatusLabel.Text = "Status: checking traffic - " + i.ToString
-            '        Pause(1)
-            '    Next
-            '    ProcessUrls()
-            '    'Pause(10)
-            '    'ProcessUrls()
         End If
         'End If
     End Sub
@@ -3530,52 +2371,8 @@ Public Class Main
 
             End If
 
-            If CBool(InStr(Request.Uri, "/data/v2/shows/")) Then
-                b = True
-                'MsgBox("The new Funimation Overview is not supportet yet!", MsgBoxStyle.Information)
-                Me.Invoke(New Action(Function() As Object
-                                         'My.Computer.Clipboard.SetText(localHTML)
-                                         GetFunimationJS_Seasons(Request.Uri)
-                                         WebbrowserURL = "https://funimation.com/js"
-                                         Return Nothing
-                                     End Function))
-                LoadedUrls.Clear()
-                Me.Text = "Crunchyroll Downloader"
-                Exit Sub
-            End If
-            If CBool(InStr(Request.Uri, "data/v1/episodes/")) Then
-                b = True
-                'MsgBox("The new Funimation Overview is not supportet yet!", MsgBoxStyle.Information)
-                Me.Invoke(New Action(Function() As Object
-                                         'My.Computer.Clipboard.SetText(localHTML)
-                                         GetFunimationNewJS_VideoProxy(Request.Uri)
-                                         WebbrowserURL = "https://funimation.com/js"
-                                         Return Nothing
-                                     End Function))
-                LoadedUrls.Clear()
-                Me.Text = "Crunchyroll Downloader"
-                Exit Sub
-            End If
-            If CBool(InStr(Request.Uri, "https://title-api.prd.funimationsvc.com")) And CBool(InStr(Request.Uri, "?region=")) Then
-                If FunimationAPIRegion = Nothing Then
-                    Me.Invoke(New Action(Function() As Object
-                                             Dim parms As String() = Request.Uri.Split(New String() {"?region="}, System.StringSplitOptions.RemoveEmptyEntries)
-                                             FunimationAPIRegion = "?region=" + parms(1)
-                                             Return Nothing
-                                         End Function))
-                End If
-                If b = False Then
 
-                    If CBool(InStr(Request.Uri, "https://title-api.prd.funimationsvc.com/v1/show")) And CBool(InStr(Request.Uri, "/episodes/")) Then
-                        b = True
-                        GetFunimationNewJS_VideoProxy(Request.Uri)
-                        Debug.WriteLine("processing :" + Request.Uri)
-                        LoadedUrls.Clear()
-                        Me.Text = "Crunchyroll Downloader"
-                        Exit Sub
-                    End If
-                End If
-            End If
+
         Next
 
         LoadedUrls.Clear()
@@ -3725,154 +2522,7 @@ Public Class Main
 
                     End Try
 #End Region
-#Region "Funimation-mass"
-                ElseIf CBool(InStr(htmlReq, "FunimationMass=")) Then
-                    Debug.WriteLine("Funimation multi episode mode")
-                    Try
-                        Dim DecodedHTML As String = UrlDecode(htmlReq)
-                        If CBool(InStr(DecodedHTML, "&FunimationCookie=")) Then
-                            Dim CookieSplit() As String = DecodedHTML.Split(New String() {"&FunimationCookie="}, System.StringSplitOptions.RemoveEmptyEntries)
-                            SystemWebBrowserCookie = CookieSplit(1)
-                            Dim URLSplit() As String = CookieSplit(0).Split(New String() {"FunimationMass="}, System.StringSplitOptions.RemoveEmptyEntries)
-                            Dim URLSplit2() As String = URLSplit(1).Split(New String() {"javascript:"}, System.StringSplitOptions.RemoveEmptyEntries)
-                            'If Application.OpenForms().OfType(Of Anime_Add).Any = True Then
-                            '    For i As Integer = 0 To URLSplit2.Count - 1
-                            '        Dim ii As Integer = i
-                            '        Me.Invoke(New Action(Function() As Object
-                            '                                 If Anime_Add.ListBox1.Items.Contains(URLSplit2(ii)) = False Then
-                            '                                     Anime_Add.ListBox1.Items.Add(URLSplit2(ii))
-                            '                                 End If
-                            '                                 'Anime_Add.ListBox1.Items.Add(URLSplit(ii))
-                            '                                 Return Nothing
-                            '                             End Function))
-                            '    Next
-                            'Else
-                            For i As Integer = 0 To URLSplit2.Count - 1
-                                If ListBoxList.Contains(URLSplit2(i)) = False Then
-                                    ListBoxList.Add(URLSplit2(i))
-                                End If
-                            Next
-                            Me.Invoke(New Action(Function() As Object
-                                                     Me.Text = "Status: " + ListBoxList.Count.ToString + " downloads in queue" + vbNewLine + "open the add window to continue"
-                                                     Me.Invalidate()
-                                                     Return Nothing
-                                                 End Function))
-                            'End If
-                            strRequest = rootPath & "Post_Mass_Sucess.html" 'PostPage
-                            SendHTMLResponse(stream, strRequest)
-                        End If
-                    Catch abort As ThreadAbortException
-                        Exit Sub
-                    Catch ex As Exception
-                        Dim ErrorPage As String = My.Resources.Post_error_Top + ex.ToString + My.Resources.Post_error_Bottom
-                        'My.Computer.FileSystem.WriteAllText(Application.StartupPath + "\WebInterface\error_Page.html", ErrorPage, False)
-                        'strRequest = rootPath & "error_Page.html" 'PostPage
-                        'SendHTMLResponse(stream, strRequest)
-                        SendHTMLResponse(stream, Nothing, New ServerResponse(ErrorPage, "html"))
 
-                    End Try
-#End Region
-#Region "funimation Einzeln"
-                ElseIf CBool(InStr(htmlReq, "FunimationURL=")) Then
-                    Debug.WriteLine("single episode mode - Funimation")
-                    'MsgBox(htmlReq)
-                    Me.Invoke(New Action(Function() As Object
-                                             Me.Text = "Status: Download added from add-on"
-                                             Me.Invalidate()
-                                             Return Nothing
-                                         End Function))
-                    Try
-                        Dim URLSplit() As String = htmlReq.Split(New String() {"FunimationURL="}, System.StringSplitOptions.RemoveEmptyEntries)
-                        Dim URLSplit2() As String = URLSplit(1).Split(New String() {"&FunimationCookie="}, System.StringSplitOptions.RemoveEmptyEntries)
-                        SystemWebBrowserCookie = URLSplit2(1)
-                        WebbrowserURL = UrlDecode(URLSplit2(0))
-                        If CBool(InStr(WebbrowserURL, "funimation.com")) Then
-                            If DubFunimation = "Disabled" Then
-                            Else
-                                If CBool(InStr(WebbrowserURL, "?lang=")) Then
-                                    Dim ClearUri As String() = WebbrowserURL.Split(New String() {"?lang="}, System.StringSplitOptions.RemoveEmptyEntries)
-                                    If ClearUri.Count > 1 Then
-                                        If CBool(InStr(ClearUri(1), "&")) Then
-                                            Dim ClearUri2 As String() = ClearUri(1).Split(New String() {"&"}, System.StringSplitOptions.RemoveEmptyEntries)
-                                            Dim Parms As String = Nothing
-                                            For i As Integer = 1 To ClearUri2.Count - 1
-                                                Parms = Parms + "&" + ClearUri2(i)
-                                            Next
-                                            WebbrowserURL = ClearUri(0) + "?lang=" + DubFunimation + Parms
-                                        Else
-                                            WebbrowserURL = ClearUri(0) + "?lang=" + DubFunimation
-                                        End If
-                                    Else
-                                        WebbrowserURL = ClearUri(0) + "?lang=" + DubFunimation
-                                    End If
-                                ElseIf CBool(InStr(WebbrowserURL, "&lang=")) Then
-                                    Dim ClearUri As String() = WebbrowserURL.Split(New String() {"&lang="}, System.StringSplitOptions.RemoveEmptyEntries)
-                                    If ClearUri.Count > 1 Then
-                                        If CBool(InStr(ClearUri(1), "&")) Then
-                                            Dim ClearUri2 As String() = ClearUri(1).Split(New String() {"&"}, System.StringSplitOptions.RemoveEmptyEntries)
-                                            Dim Parms As String = Nothing
-                                            For i As Integer = 1 To ClearUri2.Count - 1
-                                                Parms = Parms + "&" + ClearUri2(i)
-                                            Next
-                                            WebbrowserURL = ClearUri(0) + "&lang=" + DubFunimation + Parms
-                                        Else
-                                            WebbrowserURL = ClearUri(0) + "&lang=" + DubFunimation
-                                        End If
-                                    Else
-                                        WebbrowserURL = ClearUri(0) + "&lang=" + DubFunimation
-                                    End If
-                                ElseIf CBool(InStr(WebbrowserURL, "?")) Then
-                                    WebbrowserURL = WebbrowserURL + "&lang=" + DubFunimation
-                                Else
-                                    WebbrowserURL = WebbrowserURL + "?lang=" + DubFunimation
-                                End If
-                            End If
-                        End If
-                        If Funimation_Grapp_RDY = True Then
-                            If RunningDownloads >= MaxDL Then
-                                If ListBoxList.Contains(WebbrowserURL) = False Then
-                                    ListBoxList.Add(WebbrowserURL)
-                                End If
-                                'ListBoxList.Add(WebbrowserURL)
-                            Else
-                                Me.Invoke(New Action(Function() As Object
-                                                         Navigate(WebbrowserURL)
-                                                         Return Nothing
-                                                     End Function))
-                                b = False
-                            End If
-                        Else
-                            'If Application.OpenForms().OfType(Of Anime_Add).Any = True Then
-                            '    Me.Invoke(New Action(Function() As Object
-                            '                             If Anime_Add.ListBox1.Items.Contains(WebbrowserURL) = False Then
-                            '                                 Anime_Add.ListBox1.Items.Add(WebbrowserURL)
-                            '                             End If
-                            '                             Return Nothing
-                            '                         End Function))
-                            'Else
-                            If ListBoxList.Contains(WebbrowserURL) = False Then
-                                ListBoxList.Add(WebbrowserURL)
-                            End If
-                            Me.Invoke(New Action(Function() As Object
-                                                     Me.Text = "Status: " + ListBoxList.Count.ToString + " downloads in queue"
-                                                     Me.Invalidate()
-                                                     Return Nothing
-                                                 End Function))
-                            'End If
-                        End If
-                        strRequest = rootPath & "Post_Single_Sucess.html" 'PostPage
-                        SendHTMLResponse(stream, strRequest)
-                    Catch abort As ThreadAbortException
-                        Exit Sub
-                    Catch ex As Exception
-                        Dim ErrorPage As String = My.Resources.Post_error_Top + ex.ToString + My.Resources.Post_error_Bottom
-                        'My.Computer.FileSystem.WriteAllText(Application.StartupPath + "\WebInterface\error_Page.html", ErrorPage, False)
-                        'strRequest = rootPath & "error_Page.html" 'PostPage
-                        'SendHTMLResponse(stream, strRequest)
-                        SendHTMLResponse(stream, Nothing, New ServerResponse(ErrorPage, "html"))
-
-                    End Try
-#End Region
                 ElseIf CBool(InStr(htmlReq, "m3u8_Url=")) Then
                     Debug.WriteLine("m3u8_Url mode")
                     Try
@@ -4147,55 +2797,7 @@ Public Class Main
 
 
     End Sub
-    Private Async Sub Funimation_Token_Click(sender As Object, e As EventArgs) Handles Funimation_Token.Click
-        Dim Token As String = Nothing
-        Try
-            Dim DeviceRegion As String = Nothing
 
-            'Browser.GetCookies()
-
-            Dim list As List(Of CoreWebView2Cookie) = Await Browser.WebView2.CoreWebView2.CookieManager.GetCookiesAsync("https://www.funimation.com/")
-            Dim Cookie As String = ""
-            For i As Integer = 0 To list.Count - 1
-                If CBool(InStr(list.Item(i).Domain, "funimation.com")) Then 'list.Item(i).Domain = "funimation.com" Then
-                    'MsgBox(list.Item(i).Name + vbNewLine + list.Item(i).Value)
-                    Cookie = Cookie + list.Item(i).Name + "=" + list.Item(i).Value + ";"
-                End If
-                If CBool(InStr(list.Item(i).Domain, "funimation.com")) And CBool(InStr(list.Item(i).Name, "src_token")) Then 'list.Item(i).Domain = "funimation.com" Then
-                    'MsgBox(list.Item(i).Name + vbNewLine + list.Item(i).Value)
-                    Token = "Token " + list.Item(i).Value
-                End If
-                If CBool(InStr(list.Item(i).Domain, "funimation.com")) And CBool(InStr(list.Item(i).Name, "region")) Then 'list.Item(i).Domain = "funimation.com" Then
-                    'MsgBox(list.Item(i).Name + vbNewLine + list.Item(i).Value)
-                    DeviceRegion = "?deviceType=web&" + list.Item(i).Name + "=" + list.Item(i).Value
-                End If
-            Next
-        Catch ex As Exception
-
-        End Try
-        ' region=US;
-        If Token = Nothing Then
-            MsgBox("No Token has been found...", MsgBoxStyle.Exclamation)
-        Else
-            FunimationToken = Token
-            MsgBox("Token found!" + vbNewLine + Token, MsgBoxStyle.Information)
-        End If
-    End Sub
-
-
-    Private Sub CheckCRBetaTokenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles CheckCRBetaTokenToolStripMenuItem.Click
-        If CrBetaBasic = Nothing Then
-            If CBool(MessageBox.Show("No CR Beta Basic Token has been found..." + vbNewLine + "Press 'Yes' to manuel edit the Token", "Token", MessageBoxButtons.YesNo) = DialogResult.Yes) Then
-                CrBetaBasic = InputBox("Please enter a valid Token", "Token")
-            End If
-
-        Else
-            MsgBox("CR Beta Basic Token found!" + vbNewLine + CrBetaBasic, MsgBoxStyle.Information)
-            ' CrBetaBasic = Nothing
-
-
-        End If
-    End Sub
 
     Private Sub AddonHTMLToolStripMenuItem_Click(sender As Object, e As EventArgs)
         My.Computer.Clipboard.SetText(HTML)
diff --git a/Crunchyroll Downloader/My Project/AssemblyInfo.vb b/Crunchyroll Downloader/My Project/AssemblyInfo.vb
index 5637ece..62cc056 100644
--- a/Crunchyroll Downloader/My Project/AssemblyInfo.vb	
+++ b/Crunchyroll Downloader/My Project/AssemblyInfo.vb	
@@ -32,6 +32,6 @@ Imports System.Runtime.InteropServices
 ' übernehmen, indem Sie "*" eingeben:
 ' 
 
-
-
+
+
 
diff --git a/Crunchyroll Downloader/My Project/Resources.Designer.vb b/Crunchyroll Downloader/My Project/Resources.Designer.vb
index 412336d..953bdec 100644
--- a/Crunchyroll Downloader/My Project/Resources.Designer.vb	
+++ b/Crunchyroll Downloader/My Project/Resources.Designer.vb	
@@ -270,96 +270,6 @@ Namespace My.Resources
             End Get
         End Property
         
-        '''
-        '''  Sucht eine lokalisierte Zeichenfolge, die src="/player/ ähnelt.
-        '''
-        Friend ReadOnly Property Funimation_Player_ID() As String
-            Get
-                Return ResourceManager.GetString("Funimation_Player_ID", resourceCulture)
-            End Get
-        End Property
-        
-        '''
-        '''  Sucht eine lokalisierte Zeichenfolge, die src="https://www.funimation.com/player/ ähnelt.
-        '''
-        Friend ReadOnly Property Funimation_Player_ID_2() As String
-            Get
-                Return ResourceManager.GetString("Funimation_Player_ID_2", resourceCulture)
-            End Get
-        End Property
-        
-        '''
-        '''  Sucht eine lokalisierte Zeichenfolge, die <a class="trackVideo ng-binding" href=" ähnelt.
-        '''
-        Friend ReadOnly Property Funimation_Split_1() As String
-            Get
-                Return ResourceManager.GetString("Funimation_Split_1", resourceCulture)
-            End Get
-        End Property
-        
-        '''
-        '''  Sucht eine lokalisierte Zeichenfolge, die "> ähnelt.
-        '''
-        Friend ReadOnly Property Funimation_Split_2() As String
-            Get
-                Return ResourceManager.GetString("Funimation_Split_2", resourceCulture)
-            End Get
-        End Property
-        
-        '''
-        '''  Sucht eine lokalisierte Zeichenfolge, die "src": ähnelt.
-        '''
-        Friend ReadOnly Property Funimation_src_string() As String
-            Get
-                Return ResourceManager.GetString("Funimation_src_string", resourceCulture)
-            End Get
-        End Property
-        
-        '''
-        '''  Sucht eine lokalisierte Zeichenfolge, die {"src": " ähnelt.
-        '''
-        Friend ReadOnly Property Funimation_subs_src() As String
-            Get
-                Return ResourceManager.GetString("Funimation_subs_src", resourceCulture)
-            End Get
-        End Property
-        
-        '''
-        '''  Sucht eine lokalisierte Zeichenfolge, die ", "kind": "subtitle", "type": "CC", "language": " ähnelt.
-        '''
-        Friend ReadOnly Property Funimation_Subtitle_String() As String
-            Get
-                Return ResourceManager.GetString("Funimation_Subtitle_String", resourceCulture)
-            End Get
-        End Property
-        
-        '''
-        '''  Sucht eine lokalisierte Zeichenfolge, die ", "kind": "subtitle", "type": "Full", "language": " ähnelt.
-        '''
-        Friend ReadOnly Property Funimation_Subtitle_String2() As String
-            Get
-                Return ResourceManager.GetString("Funimation_Subtitle_String2", resourceCulture)
-            End Get
-        End Property
-        
-        '''
-        '''  Sucht eine lokalisierte Zeichenfolge, die ", "kind": "subtitle", "type": "full", "language": " ähnelt.
-        '''
-        Friend ReadOnly Property Funimation_Subtitle_String3() As String
-            Get
-                Return ResourceManager.GetString("Funimation_Subtitle_String3", resourceCulture)
-            End Get
-        End Property
-        
-        '''
-        '''  Sucht eine lokalisierte Zeichenfolge, die <meta property="og:image" content=" ähnelt.
-        '''
-        Friend ReadOnly Property Funimation_thumbnail() As String
-            Get
-                Return ResourceManager.GetString("Funimation_thumbnail", resourceCulture)
-            End Get
-        End Property
-        
         '''
         '''  Sucht eine lokalisierte Zeichenfolge, die <script>
         '''
diff --git a/Crunchyroll Downloader/My Project/Resources.resx b/Crunchyroll Downloader/My Project/Resources.resx
index 4000dd7..8945c3b 100644
--- a/Crunchyroll Downloader/My Project/Resources.resx	
+++ b/Crunchyroll Downloader/My Project/Resources.resx	
@@ -130,24 +130,15 @@
   
     ..\Resources\main-add.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
   
-  
-    ">
-  
   
     ..\Resources\main-background.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
   
-  
-    <a class="trackVideo ng-binding" href="
-  
   
     ..\Resources\add_mass_cancel.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
   
   
     ..\Resources\about_icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
   
-  
-    ", "kind": "subtitle", "type": "Full", "language": "
-  
   
     <a class="main_titel">Placeholder</a>
 <img alt="image error" src="balken.png" class="class-balken">
@@ -163,9 +154,6 @@
 <address>Server at Crunchyroll Downloader Port 8080</address>
 </body></html>
   
-  
-    src="/player/
-  
   
     <html>
   <head>
@@ -216,9 +204,6 @@
   
     ..\Resources\main-pause-play.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
   
-  
-    ", "kind": "subtitle", "type": "CC", "language": "
-  
   
     <script>
 
@@ -242,9 +227,6 @@ setInterval(function loadXMLDoc() {
     </body>
 </html>
   
-  
-    "src":
-  
   
     [Script Info]
 ; Template for error handling in the Crunchyrol Downloader by hama3254 https://github.com/hama3254/Crunchyroll-Downloader-v3.0
@@ -372,9 +354,6 @@ Dialogue: 0,0:00:00.00,0:00:00.00,Default,,0000,0000,0000,,some ideas on how tem
   
     ..\Resources\crdSettings_Button_SafeExit.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
   
-  
-    <meta property="og:image" content="
-  
   
     ..\Resources\main-pause-play-hover.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
   
@@ -432,9 +411,6 @@ Dialogue: 0,0:00:00.00,0:00:00.00,Default,,0000,0000,0000,,some ideas on how tem
   
     ..\Resources\main-setting_invert.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
   
-  
-    {"src": "
-  
   
     ..\Resources\main-add_invert_dark.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
   
@@ -453,12 +429,6 @@ Dialogue: 0,0:00:00.00,0:00:00.00,Default,,0000,0000,0000,,some ideas on how tem
   
     ..\Resources\main-mini_red.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
   
-  
-    ", "kind": "subtitle", "type": "full", "language": "
-  
-  
-    src="https://www.funimation.com/player/
-  
   
     ..\Resources\main-close_dark.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
   
diff --git a/Crunchyroll Downloader/My Project/Settings.Designer.vb b/Crunchyroll Downloader/My Project/Settings.Designer.vb
index 9fa01bb..0aff867 100644
--- a/Crunchyroll Downloader/My Project/Settings.Designer.vb	
+++ b/Crunchyroll Downloader/My Project/Settings.Designer.vb	
@@ -78,18 +78,6 @@ Namespace My
             End Set
         End Property
         
-          _
-        Public Property Fun_Sub() As String
-            Get
-                Return CType(Me("Fun_Sub"),String)
-            End Get
-            Set
-                Me("Fun_Sub") = value
-            End Set
-        End Property
-        
           _
@@ -114,42 +102,6 @@ Namespace My
             End Set
         End Property
         
-          _
-        Public Property FunimationDub() As String
-            Get
-                Return CType(Me("FunimationDub"),String)
-            End Get
-            Set
-                Me("FunimationDub") = value
-            End Set
-        End Property
-        
-          _
-        Public Property FunimationHardsub() As String
-            Get
-                Return CType(Me("FunimationHardsub"),String)
-            End Get
-            Set
-                Me("FunimationHardsub") = value
-            End Set
-        End Property
-        
-          _
-        Public Property DefaultSubFunimation() As String
-            Get
-                Return CType(Me("DefaultSubFunimation"),String)
-            End Get
-            Set
-                Me("DefaultSubFunimation") = value
-            End Set
-        End Property
-        
           _
@@ -270,30 +222,6 @@ Namespace My
             End Set
         End Property
         
-          _
-        Public Property Funimation_srt() As Boolean
-            Get
-                Return CType(Me("Funimation_srt"),Boolean)
-            End Get
-            Set
-                Me("Funimation_srt") = value
-            End Set
-        End Property
-        
-          _
-        Public Property Funimation_vtt() As Boolean
-            Get
-                Return CType(Me("Funimation_vtt"),Boolean)
-            End Get
-            Set
-                Me("Funimation_vtt") = value
-            End Set
-        End Property
-        
           _
@@ -450,18 +378,6 @@ Namespace My
             End Set
         End Property
         
-          _
-        Public Property Funimation_Bitrate() As Integer
-            Get
-                Return CType(Me("Funimation_Bitrate"),Integer)
-            End Get
-            Set
-                Me("Funimation_Bitrate") = value
-            End Set
-        End Property
-        
           _
diff --git a/Crunchyroll Downloader/My Project/Settings.settings b/Crunchyroll Downloader/My Project/Settings.settings
index 024a447..54ec253 100644
--- a/Crunchyroll Downloader/My Project/Settings.settings	
+++ b/Crunchyroll Downloader/My Project/Settings.settings	
@@ -8,24 +8,12 @@
     
       
     
-    
-      None
-    
     
        -c copy -c:a copy -bsf:a aac_adtstoasc
     
     
       None
     
-    
-      Disabled
-    
-    
-      Disabled
-    
-    
-      Disabled
-    
     
       [ ignore subfolder ]
     
@@ -56,12 +44,6 @@
     
       False
     
-    
-      False
-    
-    
-      False
-    
     
       False
     
@@ -101,9 +83,6 @@
     
       0
     
-    
-      0
-    
     
       0
     
diff --git a/Crunchyroll Downloader/einstellungen.Designer.vb b/Crunchyroll Downloader/einstellungen.Designer.vb
index 751523e..0a09a52 100644
--- a/Crunchyroll Downloader/einstellungen.Designer.vb	
+++ b/Crunchyroll Downloader/einstellungen.Designer.vb	
@@ -83,7 +83,7 @@ Partial Class Einstellungen
         Me.ListBit_1000 = New System.Windows.Forms.ToolStripMenuItem()
         Me.FFMPEG_CommandP4 = New System.Windows.Forms.ToolStripMenuItem()
         Me.GB_Resolution = New System.Windows.Forms.GroupBox()
-        Me.AAuto = New MetroFramework.Controls.MetroRadioButton()
+        Me.A240p = New MetroFramework.Controls.MetroRadioButton()
         Me.A480p = New MetroFramework.Controls.MetroRadioButton()
         Me.A360p = New MetroFramework.Controls.MetroRadioButton()
         Me.A720p = New MetroFramework.Controls.MetroRadioButton()
@@ -132,23 +132,6 @@ Partial Class Einstellungen
         Me.GroupBox19 = New System.Windows.Forms.GroupBox()
         Me.CB_OverrideDub = New MetroFramework.Controls.MetroCheckBox()
         Me.CB_CR_Audio = New MetroFramework.Controls.MetroComboBox()
-        Me.TabPage6 = New MetroFramework.Controls.MetroTabPage()
-        Me.GroupBox15 = New System.Windows.Forms.GroupBox()
-        Me.Bitrate_Funi = New MetroFramework.Controls.MetroComboBox()
-        Me.GroupBox10 = New System.Windows.Forms.GroupBox()
-        Me.Fun_Dub_Over = New MetroFramework.Controls.MetroComboBox()
-        Me.GroupBox7 = New System.Windows.Forms.GroupBox()
-        Me.CB_Fun_HardSubs = New MetroFramework.Controls.MetroComboBox()
-        Me.GroupBox9 = New System.Windows.Forms.GroupBox()
-        Me.GroupBox13 = New System.Windows.Forms.GroupBox()
-        Me.FunSubDef = New MetroFramework.Controls.MetroComboBox()
-        Me.GroupBox11 = New System.Windows.Forms.GroupBox()
-        Me.CB_srt = New MetroFramework.Controls.MetroCheckBox()
-        Me.CB_vtt = New MetroFramework.Controls.MetroCheckBox()
-        Me.GroupBox8 = New System.Windows.Forms.GroupBox()
-        Me.CB_fun_eng = New MetroFramework.Controls.MetroCheckBox()
-        Me.CB_fun_es = New MetroFramework.Controls.MetroCheckBox()
-        Me.CB_fun_ptbr = New MetroFramework.Controls.MetroCheckBox()
         Me.TabPage7 = New System.Windows.Forms.TabPage()
         Me.LastVersion = New MetroFramework.Controls.MetroLabel()
         Me.Label8 = New MetroFramework.Controls.MetroLabel()
@@ -192,14 +175,6 @@ Partial Class Einstellungen
         Me.GroupBox22.SuspendLayout()
         Me.GroupBox20.SuspendLayout()
         Me.GroupBox19.SuspendLayout()
-        Me.TabPage6.SuspendLayout()
-        Me.GroupBox15.SuspendLayout()
-        Me.GroupBox10.SuspendLayout()
-        Me.GroupBox7.SuspendLayout()
-        Me.GroupBox9.SuspendLayout()
-        Me.GroupBox13.SuspendLayout()
-        Me.GroupBox11.SuspendLayout()
-        Me.GroupBox8.SuspendLayout()
         Me.TabPage7.SuspendLayout()
         CType(Me.PictureBox7, System.ComponentModel.ISupportInitialize).BeginInit()
         Me.SuspendLayout()
@@ -364,7 +339,7 @@ Partial Class Einstellungen
         Me.TabPage2.Padding = New System.Windows.Forms.Padding(3)
         Me.TabPage2.Size = New System.Drawing.Size(501, 519)
         Me.TabPage2.TabIndex = 1
-        Me.TabPage2.Text = "Output"
+        Me.TabPage2.Text = "  Output  "
         Me.TabPage2.VerticalScrollbarBarColor = True
         Me.TabPage2.VerticalScrollbarHighlightOnWheel = False
         Me.TabPage2.VerticalScrollbarSize = 10
@@ -776,7 +751,7 @@ Partial Class Einstellungen
         'GB_Resolution
         '
         Me.GB_Resolution.BackColor = System.Drawing.Color.Transparent
-        Me.GB_Resolution.Controls.Add(Me.AAuto)
+        Me.GB_Resolution.Controls.Add(Me.A240p)
         Me.GB_Resolution.Controls.Add(Me.A480p)
         Me.GB_Resolution.Controls.Add(Me.A360p)
         Me.GB_Resolution.Controls.Add(Me.A720p)
@@ -790,18 +765,18 @@ Partial Class Einstellungen
         Me.GB_Resolution.TabStop = False
         Me.GB_Resolution.Text = "Auflösung"
         '
-        'AAuto
+        'A240p
         '
-        Me.AAuto.AutoSize = True
-        Me.AAuto.FontSize = MetroFramework.MetroCheckBoxSize.Medium
-        Me.AAuto.ForeColor = System.Drawing.Color.Black
-        Me.AAuto.Location = New System.Drawing.Point(377, 21)
-        Me.AAuto.Name = "AAuto"
-        Me.AAuto.Size = New System.Drawing.Size(63, 19)
-        Me.AAuto.TabIndex = 16
-        Me.AAuto.TabStop = True
-        Me.AAuto.Text = "[Auto]"
-        Me.AAuto.UseSelectable = True
+        Me.A240p.AutoSize = True
+        Me.A240p.FontSize = MetroFramework.MetroCheckBoxSize.Medium
+        Me.A240p.ForeColor = System.Drawing.Color.Black
+        Me.A240p.Location = New System.Drawing.Point(377, 21)
+        Me.A240p.Name = "A240p"
+        Me.A240p.Size = New System.Drawing.Size(57, 19)
+        Me.A240p.TabIndex = 16
+        Me.A240p.TabStop = True
+        Me.A240p.Text = "240p"
+        Me.A240p.UseSelectable = True
         '
         'A480p
         '
@@ -869,12 +844,12 @@ Partial Class Einstellungen
         Me.TabPage1.HorizontalScrollbarBarColor = True
         Me.TabPage1.HorizontalScrollbarHighlightOnWheel = False
         Me.TabPage1.HorizontalScrollbarSize = 10
-        Me.TabPage1.Location = New System.Drawing.Point(4, 35)
+        Me.TabPage1.Location = New System.Drawing.Point(4, 44)
         Me.TabPage1.Name = "TabPage1"
         Me.TabPage1.Padding = New System.Windows.Forms.Padding(3)
-        Me.TabPage1.Size = New System.Drawing.Size(501, 528)
+        Me.TabPage1.Size = New System.Drawing.Size(501, 519)
         Me.TabPage1.TabIndex = 0
-        Me.TabPage1.Text = "  Main"
+        Me.TabPage1.Text = "   Main    "
         Me.TabPage1.VerticalScrollbar = True
         Me.TabPage1.VerticalScrollbarBarColor = True
         Me.TabPage1.VerticalScrollbarHighlightOnWheel = False
@@ -1100,13 +1075,13 @@ Partial Class Einstellungen
         Me.TabControl1.Controls.Add(Me.TabPage2)
         Me.TabControl1.Controls.Add(Me.MetroTabPage2)
         Me.TabControl1.Controls.Add(Me.MetroTabPage1)
-        Me.TabControl1.Controls.Add(Me.TabPage6)
         Me.TabControl1.Controls.Add(Me.TabPage7)
         Me.TabControl1.FontSize = MetroFramework.MetroTabControlSize.Tall
         Me.TabControl1.FontWeight = MetroFramework.MetroTabControlWeight.Regular
+        Me.TabControl1.ItemSize = New System.Drawing.Size(86, 50)
         Me.TabControl1.Location = New System.Drawing.Point(22, 60)
         Me.TabControl1.Name = "TabControl1"
-        Me.TabControl1.SelectedIndex = 3
+        Me.TabControl1.SelectedIndex = 4
         Me.TabControl1.Size = New System.Drawing.Size(509, 567)
         Me.TabControl1.TabIndex = 0
         Me.TabControl1.UseSelectable = True
@@ -1120,11 +1095,11 @@ Partial Class Einstellungen
         Me.MetroTabPage2.HorizontalScrollbarBarColor = True
         Me.MetroTabPage2.HorizontalScrollbarHighlightOnWheel = False
         Me.MetroTabPage2.HorizontalScrollbarSize = 10
-        Me.MetroTabPage2.Location = New System.Drawing.Point(4, 35)
+        Me.MetroTabPage2.Location = New System.Drawing.Point(4, 44)
         Me.MetroTabPage2.Name = "MetroTabPage2"
-        Me.MetroTabPage2.Size = New System.Drawing.Size(501, 528)
+        Me.MetroTabPage2.Size = New System.Drawing.Size(501, 519)
         Me.MetroTabPage2.TabIndex = 8
-        Me.MetroTabPage2.Text = "Naming"
+        Me.MetroTabPage2.Text = "   Naming   "
         Me.MetroTabPage2.VerticalScrollbarBarColor = True
         Me.MetroTabPage2.VerticalScrollbarHighlightOnWheel = False
         Me.MetroTabPage2.VerticalScrollbarSize = 10
@@ -1430,7 +1405,7 @@ Partial Class Einstellungen
         Me.MetroTabPage1.Name = "MetroTabPage1"
         Me.MetroTabPage1.Size = New System.Drawing.Size(501, 519)
         Me.MetroTabPage1.TabIndex = 7
-        Me.MetroTabPage1.Text = "Crunchyroll"
+        Me.MetroTabPage1.Text = "   Crunchyroll   "
         Me.MetroTabPage1.VerticalScrollbarBarColor = True
         Me.MetroTabPage1.VerticalScrollbarHighlightOnWheel = False
         Me.MetroTabPage1.VerticalScrollbarSize = 10
@@ -1523,241 +1498,6 @@ Partial Class Einstellungen
         Me.CB_CR_Audio.TabIndex = 21
         Me.CB_CR_Audio.UseSelectable = True
         '
-        'TabPage6
-        '
-        Me.TabPage6.BackColor = System.Drawing.Color.FromArgb(CType(CType(243, Byte), Integer), CType(CType(243, Byte), Integer), CType(CType(243, Byte), Integer))
-        Me.TabPage6.Controls.Add(Me.GroupBox15)
-        Me.TabPage6.Controls.Add(Me.GroupBox10)
-        Me.TabPage6.Controls.Add(Me.GroupBox7)
-        Me.TabPage6.Controls.Add(Me.GroupBox9)
-        Me.TabPage6.HorizontalScrollbarBarColor = True
-        Me.TabPage6.HorizontalScrollbarHighlightOnWheel = False
-        Me.TabPage6.HorizontalScrollbarSize = 10
-        Me.TabPage6.Location = New System.Drawing.Point(4, 35)
-        Me.TabPage6.Name = "TabPage6"
-        Me.TabPage6.Padding = New System.Windows.Forms.Padding(3)
-        Me.TabPage6.Size = New System.Drawing.Size(501, 528)
-        Me.TabPage6.TabIndex = 4
-        Me.TabPage6.Text = " Funimation"
-        Me.TabPage6.VerticalScrollbarBarColor = True
-        Me.TabPage6.VerticalScrollbarHighlightOnWheel = False
-        Me.TabPage6.VerticalScrollbarSize = 10
-        Me.TabPage6.Visible = False
-        '
-        'GroupBox15
-        '
-        Me.GroupBox15.BackColor = System.Drawing.Color.Transparent
-        Me.GroupBox15.Controls.Add(Me.Bitrate_Funi)
-        Me.GroupBox15.Font = New System.Drawing.Font("Arial", 9.75!)
-        Me.GroupBox15.ForeColor = System.Drawing.Color.Black
-        Me.GroupBox15.Location = New System.Drawing.Point(0, 365)
-        Me.GroupBox15.Name = "GroupBox15"
-        Me.GroupBox15.Size = New System.Drawing.Size(490, 69)
-        Me.GroupBox15.TabIndex = 41
-        Me.GroupBox15.TabStop = False
-        Me.GroupBox15.Text = "Bitrate"
-        '
-        'Bitrate_Funi
-        '
-        Me.Bitrate_Funi.DropDownHeight = 250
-        Me.Bitrate_Funi.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
-        Me.Bitrate_Funi.FormattingEnabled = True
-        Me.Bitrate_Funi.IntegralHeight = False
-        Me.Bitrate_Funi.ItemHeight = 23
-        Me.Bitrate_Funi.Items.AddRange(New Object() {"prefer high bitrate", "prefer low bitrate"})
-        Me.Bitrate_Funi.Location = New System.Drawing.Point(79, 24)
-        Me.Bitrate_Funi.Name = "Bitrate_Funi"
-        Me.Bitrate_Funi.Size = New System.Drawing.Size(326, 29)
-        Me.Bitrate_Funi.Sorted = True
-        Me.Bitrate_Funi.TabIndex = 32
-        Me.Bitrate_Funi.UseSelectable = True
-        '
-        'GroupBox10
-        '
-        Me.GroupBox10.BackColor = System.Drawing.Color.Transparent
-        Me.GroupBox10.Controls.Add(Me.Fun_Dub_Over)
-        Me.GroupBox10.Font = New System.Drawing.Font("Arial", 9.75!)
-        Me.GroupBox10.ForeColor = System.Drawing.Color.Black
-        Me.GroupBox10.Location = New System.Drawing.Point(0, 6)
-        Me.GroupBox10.Name = "GroupBox10"
-        Me.GroupBox10.Size = New System.Drawing.Size(490, 69)
-        Me.GroupBox10.TabIndex = 80
-        Me.GroupBox10.TabStop = False
-        Me.GroupBox10.Text = "Funimation Dub"
-        '
-        'Fun_Dub_Over
-        '
-        Me.Fun_Dub_Over.DropDownHeight = 250
-        Me.Fun_Dub_Over.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
-        Me.Fun_Dub_Over.FormattingEnabled = True
-        Me.Fun_Dub_Over.IntegralHeight = False
-        Me.Fun_Dub_Over.ItemHeight = 23
-        Me.Fun_Dub_Over.Items.AddRange(New Object() {"Disabled", "english", "japanese", "portuguese(Brazil)", "spanish(Mexico)"})
-        Me.Fun_Dub_Over.Location = New System.Drawing.Point(79, 30)
-        Me.Fun_Dub_Over.Name = "Fun_Dub_Over"
-        Me.Fun_Dub_Over.Size = New System.Drawing.Size(326, 29)
-        Me.Fun_Dub_Over.Sorted = True
-        Me.Fun_Dub_Over.TabIndex = 40
-        Me.Fun_Dub_Over.UseSelectable = True
-        '
-        'GroupBox7
-        '
-        Me.GroupBox7.BackColor = System.Drawing.Color.Transparent
-        Me.GroupBox7.Controls.Add(Me.CB_Fun_HardSubs)
-        Me.GroupBox7.Font = New System.Drawing.Font("Arial", 9.75!)
-        Me.GroupBox7.ForeColor = System.Drawing.Color.Black
-        Me.GroupBox7.Location = New System.Drawing.Point(0, 440)
-        Me.GroupBox7.Name = "GroupBox7"
-        Me.GroupBox7.Size = New System.Drawing.Size(490, 69)
-        Me.GroupBox7.TabIndex = 40
-        Me.GroupBox7.TabStop = False
-        Me.GroupBox7.Text = "Hard Subtitle (post-processed)"
-        '
-        'CB_Fun_HardSubs
-        '
-        Me.CB_Fun_HardSubs.DropDownHeight = 250
-        Me.CB_Fun_HardSubs.Enabled = False
-        Me.CB_Fun_HardSubs.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
-        Me.CB_Fun_HardSubs.FormattingEnabled = True
-        Me.CB_Fun_HardSubs.IntegralHeight = False
-        Me.CB_Fun_HardSubs.ItemHeight = 23
-        Me.CB_Fun_HardSubs.Items.AddRange(New Object() {"Disabled", "English", "Español (LA)", "Português (Brasil)"})
-        Me.CB_Fun_HardSubs.Location = New System.Drawing.Point(79, 30)
-        Me.CB_Fun_HardSubs.Name = "CB_Fun_HardSubs"
-        Me.CB_Fun_HardSubs.Size = New System.Drawing.Size(326, 29)
-        Me.CB_Fun_HardSubs.Sorted = True
-        Me.CB_Fun_HardSubs.TabIndex = 32
-        Me.CB_Fun_HardSubs.UseSelectable = True
-        '
-        'GroupBox9
-        '
-        Me.GroupBox9.BackColor = System.Drawing.Color.Transparent
-        Me.GroupBox9.Controls.Add(Me.GroupBox13)
-        Me.GroupBox9.Controls.Add(Me.GroupBox11)
-        Me.GroupBox9.Controls.Add(Me.GroupBox8)
-        Me.GroupBox9.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
-        Me.GroupBox9.Location = New System.Drawing.Point(0, 80)
-        Me.GroupBox9.Name = "GroupBox9"
-        Me.GroupBox9.Size = New System.Drawing.Size(490, 275)
-        Me.GroupBox9.TabIndex = 50
-        Me.GroupBox9.TabStop = False
-        Me.GroupBox9.Text = "Soft-Subtitle"
-        '
-        'GroupBox13
-        '
-        Me.GroupBox13.BackColor = System.Drawing.Color.Transparent
-        Me.GroupBox13.Controls.Add(Me.FunSubDef)
-        Me.GroupBox13.Font = New System.Drawing.Font("Arial", 9.75!)
-        Me.GroupBox13.ForeColor = System.Drawing.Color.Black
-        Me.GroupBox13.Location = New System.Drawing.Point(10, 180)
-        Me.GroupBox13.Name = "GroupBox13"
-        Me.GroupBox13.Size = New System.Drawing.Size(474, 82)
-        Me.GroupBox13.TabIndex = 70
-        Me.GroupBox13.TabStop = False
-        Me.GroupBox13.Text = "Default Subtitle"
-        '
-        'FunSubDef
-        '
-        Me.FunSubDef.DropDownHeight = 250
-        Me.FunSubDef.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
-        Me.FunSubDef.FormattingEnabled = True
-        Me.FunSubDef.IntegralHeight = False
-        Me.FunSubDef.ItemHeight = 23
-        Me.FunSubDef.Items.AddRange(New Object() {"[Disabled]"})
-        Me.FunSubDef.Location = New System.Drawing.Point(69, 30)
-        Me.FunSubDef.Name = "FunSubDef"
-        Me.FunSubDef.Size = New System.Drawing.Size(326, 29)
-        Me.FunSubDef.Sorted = True
-        Me.FunSubDef.TabIndex = 39
-        Me.FunSubDef.UseSelectable = True
-        '
-        'GroupBox11
-        '
-        Me.GroupBox11.BackColor = System.Drawing.Color.Transparent
-        Me.GroupBox11.Controls.Add(Me.CB_srt)
-        Me.GroupBox11.Controls.Add(Me.CB_vtt)
-        Me.GroupBox11.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
-        Me.GroupBox11.Location = New System.Drawing.Point(10, 100)
-        Me.GroupBox11.Name = "GroupBox11"
-        Me.GroupBox11.Size = New System.Drawing.Size(474, 75)
-        Me.GroupBox11.TabIndex = 60
-        Me.GroupBox11.TabStop = False
-        Me.GroupBox11.Text = "Format"
-        '
-        'CB_srt
-        '
-        Me.CB_srt.AutoSize = True
-        Me.CB_srt.FontSize = MetroFramework.MetroCheckBoxSize.Medium
-        Me.CB_srt.ForeColor = System.Drawing.Color.Black
-        Me.CB_srt.Location = New System.Drawing.Point(139, 35)
-        Me.CB_srt.Name = "CB_srt"
-        Me.CB_srt.Size = New System.Drawing.Size(41, 19)
-        Me.CB_srt.TabIndex = 36
-        Me.CB_srt.Text = "srt"
-        Me.CB_srt.UseSelectable = True
-        '
-        'CB_vtt
-        '
-        Me.CB_vtt.AutoSize = True
-        Me.CB_vtt.FontSize = MetroFramework.MetroCheckBoxSize.Medium
-        Me.CB_vtt.ForeColor = System.Drawing.Color.Black
-        Me.CB_vtt.Location = New System.Drawing.Point(261, 35)
-        Me.CB_vtt.Name = "CB_vtt"
-        Me.CB_vtt.Size = New System.Drawing.Size(42, 19)
-        Me.CB_vtt.TabIndex = 37
-        Me.CB_vtt.Text = "vtt"
-        Me.CB_vtt.UseSelectable = True
-        '
-        'GroupBox8
-        '
-        Me.GroupBox8.BackColor = System.Drawing.Color.Transparent
-        Me.GroupBox8.Controls.Add(Me.CB_fun_eng)
-        Me.GroupBox8.Controls.Add(Me.CB_fun_es)
-        Me.GroupBox8.Controls.Add(Me.CB_fun_ptbr)
-        Me.GroupBox8.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
-        Me.GroupBox8.Location = New System.Drawing.Point(10, 21)
-        Me.GroupBox8.Name = "GroupBox8"
-        Me.GroupBox8.Size = New System.Drawing.Size(474, 75)
-        Me.GroupBox8.TabIndex = 61
-        Me.GroupBox8.TabStop = False
-        Me.GroupBox8.Text = "Language"
-        '
-        'CB_fun_eng
-        '
-        Me.CB_fun_eng.AutoSize = True
-        Me.CB_fun_eng.FontSize = MetroFramework.MetroCheckBoxSize.Medium
-        Me.CB_fun_eng.ForeColor = System.Drawing.Color.Black
-        Me.CB_fun_eng.Location = New System.Drawing.Point(34, 35)
-        Me.CB_fun_eng.Name = "CB_fun_eng"
-        Me.CB_fun_eng.Size = New System.Drawing.Size(68, 19)
-        Me.CB_fun_eng.TabIndex = 33
-        Me.CB_fun_eng.Text = "English"
-        Me.CB_fun_eng.UseSelectable = True
-        '
-        'CB_fun_es
-        '
-        Me.CB_fun_es.AutoSize = True
-        Me.CB_fun_es.FontSize = MetroFramework.MetroCheckBoxSize.Medium
-        Me.CB_fun_es.ForeColor = System.Drawing.Color.Black
-        Me.CB_fun_es.Location = New System.Drawing.Point(148, 35)
-        Me.CB_fun_es.Name = "CB_fun_es"
-        Me.CB_fun_es.Size = New System.Drawing.Size(100, 19)
-        Me.CB_fun_es.TabIndex = 34
-        Me.CB_fun_es.Text = "Español (LA)"
-        Me.CB_fun_es.UseSelectable = True
-        '
-        'CB_fun_ptbr
-        '
-        Me.CB_fun_ptbr.AutoSize = True
-        Me.CB_fun_ptbr.FontSize = MetroFramework.MetroCheckBoxSize.Medium
-        Me.CB_fun_ptbr.ForeColor = System.Drawing.Color.Black
-        Me.CB_fun_ptbr.Location = New System.Drawing.Point(270, 35)
-        Me.CB_fun_ptbr.Name = "CB_fun_ptbr"
-        Me.CB_fun_ptbr.Size = New System.Drawing.Size(131, 19)
-        Me.CB_fun_ptbr.TabIndex = 35
-        Me.CB_fun_ptbr.Text = "Português (Brasil)"
-        Me.CB_fun_ptbr.UseSelectable = True
-        '
         'TabPage7
         '
         Me.TabPage7.BackColor = System.Drawing.Color.Transparent
@@ -1770,11 +1510,11 @@ Partial Class Einstellungen
         Me.TabPage7.Controls.Add(Me.Label4)
         Me.TabPage7.Controls.Add(Me.Label6)
         Me.TabPage7.Controls.Add(Me.Label5)
-        Me.TabPage7.Location = New System.Drawing.Point(4, 35)
+        Me.TabPage7.Location = New System.Drawing.Point(4, 54)
         Me.TabPage7.Name = "TabPage7"
-        Me.TabPage7.Size = New System.Drawing.Size(501, 528)
+        Me.TabPage7.Size = New System.Drawing.Size(501, 509)
         Me.TabPage7.TabIndex = 5
-        Me.TabPage7.Text = " About  "
+        Me.TabPage7.Text = "   About   "
         '
         'LastVersion
         '
@@ -1963,16 +1703,6 @@ Partial Class Einstellungen
         Me.GroupBox20.ResumeLayout(False)
         Me.GroupBox20.PerformLayout()
         Me.GroupBox19.ResumeLayout(False)
-        Me.TabPage6.ResumeLayout(False)
-        Me.GroupBox15.ResumeLayout(False)
-        Me.GroupBox10.ResumeLayout(False)
-        Me.GroupBox7.ResumeLayout(False)
-        Me.GroupBox9.ResumeLayout(False)
-        Me.GroupBox13.ResumeLayout(False)
-        Me.GroupBox11.ResumeLayout(False)
-        Me.GroupBox11.PerformLayout()
-        Me.GroupBox8.ResumeLayout(False)
-        Me.GroupBox8.PerformLayout()
         Me.TabPage7.ResumeLayout(False)
         CType(Me.PictureBox7, System.ComponentModel.ISupportInitialize).EndInit()
         Me.ResumeLayout(False)
@@ -2016,13 +1746,8 @@ Partial Class Einstellungen
     Private WithEvents TabPage2 As MetroFramework.Controls.MetroTabPage
     Private WithEvents TabPage1 As MetroFramework.Controls.MetroTabPage
     Private WithEvents TabControl1 As MetroFramework.Controls.MetroTabControl
-    Private WithEvents TabPage6 As MetroFramework.Controls.MetroTabPage
     Friend WithEvents TabPage7 As TabPage
     Friend WithEvents PictureBox7 As PictureBox
-    Friend WithEvents GroupBox7 As GroupBox
-    Friend WithEvents GroupBox9 As GroupBox
-    Friend WithEvents GroupBox10 As GroupBox
-    Friend WithEvents GroupBox11 As GroupBox
     Friend WithEvents Button1 As Button
     Friend WithEvents Label1 As MetroFramework.Controls.MetroLabel
     Friend WithEvents Label2 As MetroFramework.Controls.MetroLabel
@@ -2030,12 +1755,7 @@ Partial Class Einstellungen
     Public WithEvents Label6 As MetroFramework.Controls.MetroLabel
     Public WithEvents Label5 As MetroFramework.Controls.MetroLabel
     Friend WithEvents CheckBox2 As MetroFramework.Controls.MetroCheckBox
-    Friend WithEvents CB_fun_ptbr As MetroFramework.Controls.MetroCheckBox
-    Friend WithEvents CB_fun_es As MetroFramework.Controls.MetroCheckBox
-    Friend WithEvents CB_fun_eng As MetroFramework.Controls.MetroCheckBox
-    Friend WithEvents CB_srt As MetroFramework.Controls.MetroCheckBox
-    Friend WithEvents CB_vtt As MetroFramework.Controls.MetroCheckBox
-    Friend WithEvents AAuto As MetroFramework.Controls.MetroRadioButton
+    Friend WithEvents A240p As MetroFramework.Controls.MetroRadioButton
     Friend WithEvents A480p As MetroFramework.Controls.MetroRadioButton
     Friend WithEvents A360p As MetroFramework.Controls.MetroRadioButton
     Friend WithEvents A720p As MetroFramework.Controls.MetroRadioButton
@@ -2048,13 +1768,9 @@ Partial Class Einstellungen
     Friend WithEvents DarkMode As MetroFramework.Controls.MetroCheckBox
     Friend WithEvents TextBox1 As MetroFramework.Controls.MetroTextBox
     Friend WithEvents CB_CR_Harsubs As MetroFramework.Controls.MetroComboBox
-    Friend WithEvents CB_Fun_HardSubs As MetroFramework.Controls.MetroComboBox
-    Friend WithEvents Fun_Dub_Over As MetroFramework.Controls.MetroComboBox
     Public WithEvents LastVersion As MetroFramework.Controls.MetroLabel
     Friend WithEvents BackgroundWorker1 As System.ComponentModel.BackgroundWorker
     Friend WithEvents http_support As MetroFramework.Controls.MetroComboBox
-    Friend WithEvents GroupBox13 As GroupBox
-    Friend WithEvents FunSubDef As MetroFramework.Controls.MetroComboBox
     Friend WithEvents GroupBox14 As GroupBox
     Friend WithEvents CB_Format As MetroFramework.Controls.MetroComboBox
     Friend WithEvents MetroTabPage1 As MetroFramework.Controls.MetroTabPage
@@ -2068,9 +1784,6 @@ Partial Class Einstellungen
     Friend WithEvents ListBit_4500 As ToolStripMenuItem
     Friend WithEvents ListBit_3500 As ToolStripMenuItem
     Friend WithEvents ListBit_2500 As ToolStripMenuItem
-    Friend WithEvents GroupBox8 As GroupBox
-    Friend WithEvents GroupBox15 As GroupBox
-    Friend WithEvents Bitrate_Funi As MetroFramework.Controls.MetroComboBox
     Friend WithEvents GroupBox16 As GroupBox
     Friend WithEvents DD_DLMode As MetroFramework.Controls.MetroComboBox
     Friend WithEvents MetroTabPage2 As MetroFramework.Controls.MetroTabPage
diff --git a/Crunchyroll Downloader/einstellungen.resx b/Crunchyroll Downloader/einstellungen.resx
index e809bf5..f49b9b4 100644
--- a/Crunchyroll Downloader/einstellungen.resx	
+++ b/Crunchyroll Downloader/einstellungen.resx	
@@ -126,6 +126,9 @@
   
     118, 20
   
+  
+    118, 20
+  
   
     332, 20
   
diff --git a/Crunchyroll Downloader/einstellungen.vb b/Crunchyroll Downloader/einstellungen.vb
index 8b785de..30204ba 100644
--- a/Crunchyroll Downloader/einstellungen.vb	
+++ b/Crunchyroll Downloader/einstellungen.vb	
@@ -44,8 +44,6 @@ Public Class Einstellungen
         TempTB.Text = Main.TempFolder
         LeadingZeroDD.SelectedIndex = Main.LeadingZero
 
-        Bitrate_Funi.SelectedIndex = Main.Funimation_Bitrate
-
         CB_Ignore.SelectedIndex = Main.IgnoreSeason
 
         CB_HideSF.SelectedIndex = Main.HideFLInt
@@ -106,16 +104,7 @@ Public Class Einstellungen
 
 #End Region
 
-        For i As Integer = 0 To Main.SubFunimation.Count - 1
-            If Main.SubFunimation(i) = "en" Then
-                CB_fun_eng.Checked = True
-            ElseIf Main.SubFunimation(i) = "es" Then
-                CB_fun_es.Checked = True
-            ElseIf Main.SubFunimation(i) = "pt" Then
-                CB_fun_ptbr.Checked = True
-            End If
 
-        Next
 
         Me.Location = New Point(CInt(Main.Location.X + Main.Width / 2 - Me.Width / 2), CInt(Main.Location.Y + Main.Height / 2 - Me.Height / 2))
         Try
@@ -132,32 +121,8 @@ Public Class Einstellungen
             DD_DLMode.SelectedIndex = 0
         End If
 
-        If Main.Funimation_srt = True Then
-            CB_srt.Checked = True
-        Else
-            CB_srt.Checked = False
-        End If
-
-        If Main.Funimation_vtt = True Then
-            CB_vtt.Checked = True
-        Else
-            CB_vtt.Checked = False
-        End If
 
 
-        If Main.HardSubFunimation = "en" Then
-            CB_Fun_HardSubs.SelectedItem = "English"
-
-        ElseIf Main.HardSubFunimation = "pt" Then
-            CB_Fun_HardSubs.SelectedItem = "Português (Brasil)"
-
-        ElseIf Main.HardSubFunimation = "es" Then
-            CB_Fun_HardSubs.SelectedItem = "Español (LA)"
-
-        Else
-            CB_Fun_HardSubs.SelectedItem = "Disabled"
-            'FunimationHardsub.Checked = True
-        End If
         If Main.VideoFormat = ".mkv" Then
             CB_Format.SelectedItem = "MKV"
         ElseIf Main.VideoFormat = ".aac" Then
@@ -166,22 +131,6 @@ Public Class Einstellungen
             CB_Format.SelectedItem = "MP4"
         End If
 
-        If Main.DubFunimation = "english" Then
-            Fun_Dub_Over.SelectedItem = "english"
-
-        ElseIf Main.DubFunimation = "japanese" Then
-            Fun_Dub_Over.SelectedItem = "japanese"
-
-        ElseIf Main.DubFunimation = "portuguese(Brazil)" Then
-            Fun_Dub_Over.SelectedItem = "portuguese(Brazil)"
-
-        ElseIf Main.DubFunimation = "spanish(Mexico)" Then
-            Fun_Dub_Over.SelectedItem = "spanish(Mexico)"
-
-        Else
-            Fun_Dub_Over.SelectedItem = "Disabled"
-        End If
-
 
         Try
             GB_Resolution.Text = Main.GB_Resolution_Text
@@ -199,8 +148,8 @@ Public Class Einstellungen
             A480p.Checked = True
         ElseIf Main.Reso = 360 Then
             A360p.Checked = True
-        ElseIf Main.Reso = 42 Then
-            AAuto.Checked = True
+        ElseIf Main.Reso = 240 Then
+            A240p.Checked = True
         End If
 
         CB_CR_Harsubs.Items.Clear()
@@ -291,18 +240,6 @@ Public Class Einstellungen
         End If
 
 
-        If Main.DefaultSubFunimation = "en" Then
-            FunSubDef.SelectedItem = "English"
-        ElseIf Main.DefaultSubFunimation = "pt" Then
-            FunSubDef.SelectedItem = "Português (Brasil)"
-        ElseIf Main.DefaultSubFunimation = "es" Then
-            FunSubDef.SelectedItem = "Español (LA)"
-        Else
-            FunSubDef.SelectedItem = "[Disabled]"
-            'FunimationHardsub.Checked = True
-        End If
-
-
 
         If Main.DefaultSubCR = "de-DE" Then
             CR_SoftSubDefault.SelectedItem = "Deutsch"
@@ -358,9 +295,6 @@ Public Class Einstellungen
         My.Settings.LeadingZero = LeadingZeroDD.SelectedIndex
         My.Settings.OverrideDub = CB_OverrideDub.Checked
         My.Settings.Captions = CB_Cap.Checked
-        Main.Funimation_Bitrate = Bitrate_Funi.SelectedIndex
-        My.Settings.Funimation_Bitrate = Bitrate_Funi.SelectedIndex
-
 
         If http_support.Text = "add-on support disabled" Then
             My.Settings.ServerPort = 0
@@ -461,8 +395,8 @@ Public Class Einstellungen
         ElseIf A480p.Checked Then
             Main.Reso = 480
             My.Settings.Reso = Main.Reso
-        ElseIf AAuto.Checked Then
-            Main.Reso = 42
+        ElseIf A240p.Checked Then
+            Main.Reso = 240
             My.Settings.Reso = Main.Reso
         End If
 
@@ -570,101 +504,6 @@ Public Class Einstellungen
         My.Settings.Keep_Cache = Main.KeepCache
 
 
-#Region "funimation"
-
-
-
-
-        Main.DubFunimation = Fun_Dub_Over.SelectedItem.ToString
-
-
-        My.Settings.FunimationDub = Main.DubFunimation
-
-
-        'If CB_Fun_HardSubs.SelectedItem.ToString = "Disabled" Then
-        '    Main.HardSubFunimation = "Disabled"
-        '    rk.SetValue("FunimationHardsub", "Disabled", RegistryValueKind.String)
-
-        'ElseIf CB_Fun_HardSubs.SelectedItem.ToString = "English" Then
-        '    Main.HardSubFunimation = "en"
-        '    rk.SetValue("FunimationHardsub", "en", RegistryValueKind.String)
-
-        'ElseIf CB_Fun_HardSubs.SelectedItem.ToString = "Português (Brasil)" Then
-        '    Main.HardSubFunimation = "pt"
-        '    rk.SetValue("FunimationHardsub", "pt", RegistryValueKind.String)
-
-        'ElseIf CB_Fun_HardSubs.SelectedItem.ToString = "Español (LA)" Then
-        '    Main.HardSubFunimation = "es"
-        '    rk.SetValue("FunimationHardsub", "es", RegistryValueKind.String)
-
-        'End If
-
-        If FunSubDef.SelectedItem.ToString = "[Disabled]" Then
-            Main.DefaultSubFunimation = "Disabled"
-            My.Settings.DefaultSubFunimation = Main.DefaultSubFunimation
-        ElseIf FunSubDef.SelectedItem.ToString = "English" Then
-            Main.DefaultSubFunimation = "en"
-            My.Settings.DefaultSubFunimation = Main.DefaultSubFunimation
-        ElseIf FunSubDef.SelectedItem.ToString = "Português (Brasil)" Then
-            Main.DefaultSubFunimation = "pt"
-            My.Settings.DefaultSubFunimation = Main.DefaultSubFunimation
-        ElseIf FunSubDef.SelectedItem.ToString = "Español (LA)" Then
-            Main.DefaultSubFunimation = "es"
-            My.Settings.DefaultSubFunimation = Main.DefaultSubFunimation
-        End If
-
-        Main.SubFunimation.Clear()
-        If CB_fun_eng.Checked = True Then
-            Main.SubFunimation.Add("en")
-        End If
-
-        If CB_fun_es.Checked = True Then
-            Main.SubFunimation.Add("es")
-
-        End If
-
-        If CB_fun_ptbr.Checked = True Then
-            Main.SubFunimation.Add("pt")
-        End If
-
-        If Main.SubFunimation.Count > 0 And CB_vtt.Checked = False And CB_srt.Checked = False Then
-            CB_vtt.Checked = True
-        End If
-
-
-        If CB_srt.Checked = True Then
-            Main.Funimation_srt = True
-            My.Settings.Funimation_srt = True
-        Else
-            Main.Funimation_srt = False
-            My.Settings.Funimation_srt = False
-        End If
-        If CB_vtt.Checked = True Then
-            Main.Funimation_vtt = True
-            My.Settings.Funimation_vtt = True
-        Else
-            Main.Funimation_vtt = False
-            My.Settings.Funimation_vtt = False
-        End If
-
-
-        Dim FunimationSaveString As String = Nothing
-        For ii As Integer = 0 To Main.SubFunimation.Count - 1
-            If FunimationSaveString = Nothing Then
-                FunimationSaveString = Main.SubFunimation(ii)
-            Else
-                FunimationSaveString = FunimationSaveString + "," + Main.SubFunimation(ii)
-            End If
-        Next
-        If FunimationSaveString = Nothing Then
-            FunimationSaveString = "None"
-        End If
-        My.Settings.Fun_Sub = FunimationSaveString
-
-#End Region
-
-
-
 
 
         Dim ffpmeg_cmd As String = Nothing
@@ -789,7 +628,7 @@ Public Class Einstellungen
     End Sub
 
 
-    Private Sub ComboBox1_DrawItem(sender As Object, e As DrawItemEventArgs) Handles CB_CR_Harsubs.DrawItem, CB_Fun_HardSubs.DrawItem, Fun_Dub_Over.DrawItem
+    Private Sub ComboBox1_DrawItem(sender As Object, e As DrawItemEventArgs) Handles CB_CR_Harsubs.DrawItem
         Dim CB As ComboBox = CType(sender, ComboBox)
         CB.BackColor = Color.White
         If e.Index >= 0 Then
@@ -804,52 +643,6 @@ Public Class Einstellungen
     End Sub
 
 
-
-
-
-
-    Private Sub AAuto_Click(sender As Object, e As EventArgs) Handles AAuto.Click
-        If CB_Merge.SelectedIndex > 0 Then
-            If AAuto.Checked = True Then
-                If MessageBox.Show("Resolution '[Auto]' and merge the subtitle with the video file will download all resolutions!" + vbNewLine + "Press 'Yes' to enable it anyway", "Prepare for unforeseen consequences.", MessageBoxButtons.YesNo) = DialogResult.Yes Then
-
-                Else
-                    AAuto.Checked = False
-                    A360p.Checked = True
-                End If
-            End If
-            'ElseIf HybridMode_CB.Checked = True Then
-            '    If AAuto.Checked = True Then
-            '        MsgBox("Resolution '[Auto]' and 'Hybride Mode' does not work together", MsgBoxStyle.Information)
-            '        AAuto.Checked = False
-            '        A1080p.Checked = True
-            '    End If
-        End If
-    End Sub
-
-    Private Sub MergeMP4_Click(sender As Object, e As EventArgs)
-        If CB_Merge.SelectedIndex > 0 Then
-            If AAuto.Checked = True Then
-                If MessageBox.Show("Resolution '[Auto]' and merge the subtitle with the video file will download all resolutions!" + vbNewLine + "Press 'Yes' to enable it anyway", "Prepare for unforeseen consequences.", MessageBoxButtons.YesNo) = DialogResult.Yes Then
-
-                Else
-                    CB_Merge.SelectedIndex = 0
-                End If
-            End If
-        End If
-    End Sub
-
-
-
-
-
-
-
-
-
-
-
-
     Private Sub ListC1_Click(sender As Object, e As EventArgs) Handles copy.Click, nv_h264.Click, nv_hevc.Click, nv_AV1.Click, CPU_h264.Click, CPU_h265.Click, CPU_AV1.Click, AMD_h264.Click, AMD_hevc.Click, AMD_AV1.Click, Intel_h264.Click, Intel_hevc.Click, Intel_AV1.Click
         Dim Button As ToolStripMenuItem = CType(sender, ToolStripMenuItem)
 
@@ -892,21 +685,6 @@ Public Class Einstellungen
     End Sub
 
 
-
-    Private Sub Label7_Click(sender As Object, e As EventArgs)
-        Process.Start("https://learn.microsoft.com/de-de/microsoft-edge/webview2/")
-    End Sub
-
-    Private Sub Label3_Click(sender As Object, e As EventArgs)
-        Process.Start("https://www.ffmpeg.org/about.html")
-    End Sub
-
-    Private Sub Label9_Click(sender As Object, e As EventArgs)
-        Process.Start("https://github.com/hama3254/metroframework-modern-ui")
-    End Sub
-
-
-
     Sub GroupBoxColor(ByVal color As Color)
         NumericUpDown1.ForeColor = color
         NumericUpDown2.ForeColor = color
@@ -925,15 +703,8 @@ Public Class Einstellungen
         GroupBox4.ForeColor = color
         GroupBox5.ForeColor = color
         GroupBox6.ForeColor = color
-        GroupBox7.ForeColor = color
-        GroupBox8.ForeColor = color
-        GroupBox9.ForeColor = color
-        GroupBox10.ForeColor = color
-        GroupBox11.ForeColor = color
         GroupBox12.ForeColor = color
-        GroupBox13.ForeColor = color
         GroupBox14.ForeColor = color
-        GroupBox15.ForeColor = color
         GroupBox16.ForeColor = color
         GroupBox17.ForeColor = color
         GroupBox18.ForeColor = color
@@ -973,12 +744,6 @@ Public Class Einstellungen
     End Sub
 
 
-    Private Sub Server_Click(sender As Object, e As EventArgs)
-        'If Server.Checked = True Then
-        '    MsgBox("This feature requires a restart of the downloader", MsgBoxStyle.Information)
-        'End If
-    End Sub
-
     Private Sub BackgroundWorker1_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
         Try
             Dim client0 As New WebClient
@@ -1014,60 +779,6 @@ Public Class Einstellungen
 
 
 
-    Private Sub CB_Fun_HardSubs_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CB_Fun_HardSubs.SelectedIndexChanged
-        If CB_Fun_HardSubs.SelectedIndex = 0 Then
-        Else
-            If Main.HardSubFunimation = "Disabled" Then
-                If FFMPEG_CommandP1.Text = "-c copy" Then
-                    If MessageBox.Show("Funimation hard subtitle are post-processed." + vbNewLine + "This cost a lot of performance and it should not more than one download run at the time!", "Prepare for unforeseen consequences.", MessageBoxButtons.YesNo) = DialogResult.Yes Then
-
-                    Else
-                        CB_Fun_HardSubs.SelectedIndex = 0
-                    End If
-                End If
-            End If
-
-        End If
-
-        'MetroMessageBox.Show(Me, "Test", "Test Box", MessageBoxButtons.YesNo, MessageBoxIcon.None, 150)
-        'MetroMessageBox.Show(Me, "Test", "Test Box", MessageBoxButtons.YesNo, MessageBoxIcon.None, MessageBoxDefaultButton.Button2, 150, MetroThemeStyle.Dark)
-
-    End Sub
-
-    Private Sub CB_fun_eng_CheckedChanged(sender As Object, e As EventArgs) Handles CB_fun_eng.CheckedChanged
-        If CB_fun_eng.Checked = True Then
-            FunSubDef.Items.Add("English")
-        Else
-            FunSubDef.Items.Remove("English")
-            If FunSubDef.Text = "English" Then
-                FunSubDef.SelectedItem = "[Disabled]"
-            End If
-        End If
-    End Sub
-
-    Private Sub CB_fun_es_CheckedChanged(sender As Object, e As EventArgs) Handles CB_fun_es.CheckedChanged
-        If CB_fun_es.Checked = True Then
-            FunSubDef.Items.Add("Español (LA)")
-        Else
-            FunSubDef.Items.Remove("Español (LA)")
-            If FunSubDef.Text = "Español (LA)" Then
-                FunSubDef.SelectedItem = "[Disabled]"
-            End If
-        End If
-    End Sub
-
-    Private Sub CB_fun_ptbr_CheckedChanged(sender As Object, e As EventArgs) Handles CB_fun_ptbr.CheckedChanged
-        If CB_fun_ptbr.Checked = True Then
-            FunSubDef.Items.Add("Português (Brasil)")
-        Else
-            FunSubDef.Items.Remove("Português (Brasil)")
-            If FunSubDef.Text = "Português (Brasil)" Then
-                FunSubDef.SelectedItem = "[Disabled]"
-            End If
-        End If
-    End Sub
-
-
     Private Sub MetroLink1_Click(sender As Object, e As EventArgs)
         Process.Start("https://github.com/hama3254/Crunchyroll-Downloader-v3.0/discussions/276")
     End Sub
@@ -1259,16 +970,6 @@ Public Class Einstellungen
 
 
 
-    'Private Sub CB_CR_Audio_Click(sender As Object, e As EventArgs) Handles CB_CR_Audio.Click
-    '    Dim Popup As New CheckBoxComboBox
-    '    Popup.Text = "CR Dub selection"
-    '    Popup.Show()
-    'End Sub
-
-
-
-
-
 #End Region
 
 #End Region
diff --git a/Crunchyroll Downloader/queue.vb b/Crunchyroll Downloader/queue.vb
index 0057667..a66d3cf 100644
--- a/Crunchyroll Downloader/queue.vb	
+++ b/Crunchyroll Downloader/queue.vb	
@@ -84,48 +84,8 @@ Public Class Queue
         If Main.RunningDownloads < Main.MaxDL Then
             If Main.ListBoxList.Count > 0 Then
 
-                If CBool(InStr(ListBox1.GetItemText(Main.ListBoxList(0)), "funimation.com")) Then
-                    If Main.Funimation_Grapp_RDY = True Then
-                        Dim UriUsed As String = ListBox1.GetItemText(Main.ListBoxList(0))
 
-                        If CBool(InStr(UriUsed, "funimation.com/v/")) Then
-                            Dim Episode0() As String = UriUsed.Split(New String() {"?"}, System.StringSplitOptions.RemoveEmptyEntries)
-                            Dim Episode() As String = Episode0(0).Split(New String() {"/"}, System.StringSplitOptions.RemoveEmptyEntries)
-
-                            Dim v1JsonUrl As String = "https://d33et77evd9bgg.cloudfront.net/data/v1/episodes/" + Episode(Episode.Length - 1) + ".json"
-                            Dim v1Json As String = Nothing
-                            Try
-                                Using client As New WebClient()
-                                    client.Encoding = System.Text.Encoding.UTF8
-                                    client.Headers.Add(My.Settings.User_Agend.Replace(Chr(34), ""))
-                                    v1Json = client.DownloadString(v1JsonUrl)
-                                End Using
-                                Main.Funimation_Grapp_RDY = False
-                                Main.WebbrowserURL = UriUsed
-                                Main.ListBoxList.Remove(UriUsed)
-                                Main.b = False
-                                Main.Invalidate()
-                                Main.GetFunimationNewJS_VideoProxy(Nothing, v1Json)
-                                Exit Sub
-                            Catch ex As Exception
-                                Debug.WriteLine("error- getting v1Json data for the bypasss")
-                                Debug.WriteLine(ex.ToString)
-                            End Try
-
-                        End If
-
-                        Main.Funimation_Grapp_RDY = False
-                        Main.WebbrowserURL = UriUsed
-                        Main.ListBoxList.Remove(UriUsed)
-                        Main.b = False
-
-
-                        Main.Text = "Status: loading in browser"
-                        Main.LoadBrowser(UriUsed)
-                    End If
-
-                Else
-                    Dim UriUsed As String = ListBox1.GetItemText(Main.ListBoxList(0))
+                Dim UriUsed As String = ListBox1.GetItemText(Main.ListBoxList(0))
 
                     If Main.Grapp_RDY = True Then
                         Main.Grapp_RDY = False
@@ -137,8 +97,6 @@ Public Class Queue
                 End If
 
 
-
-            End If
         End If
     End Sub