From 4da2fd8334a8f253e12b5125c30d01ea46c6c04d Mon Sep 17 00:00:00 2001 From: hama3254 <52826614+hama3254@users.noreply.github.com> Date: Mon, 24 Oct 2022 18:33:49 +0200 Subject: [PATCH] improved logging, reversed curl for subtitle improved logging, reversed curl for subtitle --- .vs/Crunchyroll Downloader/v17/.suo | Bin 143360 -> 152576 bytes Crunchyroll Downloader/Anime_Add.vb | 59 +++++- Crunchyroll Downloader/CefSharp_Browser.vb | 31 +--- Crunchyroll Downloader/Main.designer.vb | 9 +- Crunchyroll Downloader/Main.resx | 14 +- Crunchyroll Downloader/Main.vb | 175 +++++++++--------- .../My Project/AssemblyInfo.vb | 4 +- Crunchyroll Downloader/Trackbar.Designer.vb | 2 +- Crunchyroll Downloader/einstellungen.vb | 17 +- 9 files changed, 178 insertions(+), 133 deletions(-) diff --git a/.vs/Crunchyroll Downloader/v17/.suo b/.vs/Crunchyroll Downloader/v17/.suo index ca0be910f5ac36e1ac89010f7c088fc290f79df2..69ff4a79279af7603966208744db5c923685db44 100644 GIT binary patch delta 10408 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 KX}kVJO#6REE%aOf delta 7737 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 Df6x>? diff --git a/Crunchyroll Downloader/Anime_Add.vb b/Crunchyroll Downloader/Anime_Add.vb index 5d224c6..d692a6f 100644 --- a/Crunchyroll Downloader/Anime_Add.vb +++ b/Crunchyroll Downloader/Anime_Add.vb @@ -30,8 +30,11 @@ Public Class Anime_Add Dim locale As String = "en-US" If CBool(InStr(Url, "crunchyroll.com")) = True And CBool(InStr(Url, "watch")) = True And CBool(Main.CrBetaBasic = Nothing) = False Then #Region "Get Cookies" - Dim Cookies As String = Main.CR_Cookies '"Cookie: " + Main.CR_Cookies = "Cookie: " Try + Dim rk As RegistryKey = Registry.CurrentUser.CreateSubKey("Software\CRDownloader") + Dim etp_rt As Boolean = False + Dim ajs_user_id As Boolean = False Dim Collector As New TaskCookieVisitor Dim CM As ICookieManager = CefSharp_Browser.WebBrowser1.GetCookieManager CM.VisitAllCookies(Collector) @@ -39,24 +42,62 @@ Public Class Anime_Add Dim list As List(Of Global.CefSharp.Cookie) = Collector.Task.Result() For i As Integer = 0 To list.Count - 1 + '__cf_bm If CBool(InStr(list.Item(i).Domain, ".crunchyroll.com")) And CBool(InStr(list.Item(i).Name, "_evidon_suppress")) = False Then - Cookies = Cookies + list.Item(i).Name + "=" + list.Item(i).Value + ";" + Main.CR_Cookies = Main.CR_Cookies + list.Item(i).Name + "=" + list.Item(i).Value + ";" End If If CBool(InStr(list.Item(i).Domain, ".crunchyroll.com")) And CBool(InStr(list.Item(i).Name, "c_locale")) Then locale = list.Item(i).Value End If - If CBool(InStr(list.Item(i).Domain, ".crunchyroll.com")) And CBool(InStr(list.Item(i).Name, "etp_rt")) Then - 'MsgBox(list.Item(i).Domain + ":" + list.Item(i).Name + ":" + vbNewLine + list.Item(i).Value) + If CBool(InStr(list.Item(i).Domain, ".crunchyroll.com")) = True And CBool(InStr(list.Item(i).Name, "etp_rt")) = True And Main.CheckCRLogin = True And Main.CR_etp_rt = Nothing Then + Debug.WriteLine("etp_rt = True") + etp_rt = True + Main.CR_etp_rt = list.Item(i).Value + rk.SetValue("etp_rt", Main.CR_etp_rt, RegistryValueKind.String) + ElseIf CBool(InStr(list.Item(i).Domain, ".crunchyroll.com")) = True And CBool(InStr(list.Item(i).Name, "__cf_bm")) = True = True And Main.CheckCRLogin = True And Main.CR_ajs_user_id = Nothing Then + 'MsgBox(list.Item(i).Value) + Debug.WriteLine("ajs_user_id = True") + ajs_user_id = True + Main.CR_ajs_user_id = list.Item(i).Value + rk.SetValue("ajs_user_id", Main.CR_ajs_user_id, RegistryValueKind.String) End If Next + + + + If Main.CR_etp_rt IsNot Nothing And etp_rt = False Then + Main.CR_Cookies = "Cookie: " + "etp_rt" + "=" + Main.CR_etp_rt + ";" + Main.CR_Cookies.Replace("Cookie: ", "") + Dim etp_rt_cookie As New CefSharp.Cookie + etp_rt_cookie.Name = "etp_rt" + etp_rt_cookie.Value = Main.CR_etp_rt + etp_rt_cookie.HttpOnly = True + etp_rt_cookie.Domain = ".crunchyroll.com" + Debug.WriteLine("Set etp_rt_cookie: " + CM.SetCookieAsync("http://www.crunchyroll.com", etp_rt_cookie).Result.ToString) + End If + + If Main.CR_ajs_user_id IsNot Nothing And ajs_user_id = False Then + Main.CR_Cookies = Main.CR_Cookies + "ajs_user_id" + "=" + Main.CR_ajs_user_id + ";" + Dim ajs_user_id_cookie As New CefSharp.Cookie + ajs_user_id_cookie.Name = "__cf_bm" + ajs_user_id_cookie.Value = Main.CR_ajs_user_id + ajs_user_id_cookie.HttpOnly = True + ajs_user_id_cookie.Domain = ".crunchyroll.com" + Debug.WriteLine("Set ajs_user_id_cookie: " + CM.SetCookieAsync("http://www.crunchyroll.com", ajs_user_id_cookie).Result.ToString) + End If + + + Catch ex As Exception CefSharp_Browser.WebBrowser1.Load(Url) Exit Sub End Try + + + 'MsgBox(Cookies) - Cookies = " -H " + Chr(34) + Cookies + Chr(34) + Main.CR_Cookies = " -H " + Chr(34) + Main.CR_Cookies + Chr(34) #End Region Dim Auth As String = " -H " + Chr(34) + "Authorization: " + Main.CrBetaBasic + Chr(34) @@ -64,10 +105,10 @@ Public Class Anime_Add Dim CRBetaBearer As String = "Bearer " - Dim v1Token As String = Main.CurlPost("https://www.crunchyroll.com/auth/v1/token", Cookies, Auth, Post) + Dim v1Token As String = Main.CurlPost("https://www.crunchyroll.com/auth/v1/token", Main.CR_Cookies, Auth, Post) If CBool(InStr(v1Token, "curl:")) = True Then - v1Token = Main.CurlPost("https://www.crunchyroll.com/auth/v1/token", Cookies, Auth, Post) + v1Token = Main.CurlPost("https://www.crunchyroll.com/auth/v1/token", Main.CR_Cookies, Auth, Post) End If If CBool(InStr(v1Token, "curl:")) = True Then @@ -94,12 +135,12 @@ Public Class Anime_Add ' client.Headers.Add(Cookies) '+ WebBrowser1.Document.Cookie) 'MsgBox(OmUStreamSplitEpisodeIndex(1)) Dim Auth2 As String = " -H " + Chr(34) + "Authorization: " + CRBetaBearer + Chr(34) - Dim v2Content As String = Main.CurlAuth("https://www.crunchyroll.com/index/v2", Cookies, Auth2) 'client.DownloadString("https://www.crunchyroll.com/index/v2") + Dim v2Content As String = Main.CurlAuth("https://www.crunchyroll.com/index/v2", Main.CR_Cookies, Auth2) 'client.DownloadString("https://www.crunchyroll.com/index/v2") 'Debug.WriteLine(v2Content) 'MsgBox("v2: " + v2Content) If CBool(InStr(v2Content, "curl:")) = True Then - v2Content = Main.CurlAuth("https://www.crunchyroll.com/index/v2", Cookies, Auth2) + v2Content = Main.CurlAuth("https://www.crunchyroll.com/index/v2", Main.CR_Cookies, Auth2) End If If CBool(InStr(v2Content, "curl:")) = True Then diff --git a/Crunchyroll Downloader/CefSharp_Browser.vb b/Crunchyroll Downloader/CefSharp_Browser.vb index 8babe34..ddeaddb 100644 --- a/Crunchyroll Downloader/CefSharp_Browser.vb +++ b/Crunchyroll Downloader/CefSharp_Browser.vb @@ -34,7 +34,6 @@ Public Class CefSharp_Browser Me.Invoke(New Action(Function() As Object - Main.LoadedUrls.Clear() Debug.WriteLine("FrameLoadEnd" + Date.Now.ToString) Main.WebbrowserURL = WebBrowser1.Address @@ -147,28 +146,10 @@ Public Class CefSharp_Browser Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click - Dim locale As String = "en-US" - Main.CR_Cookies = "Cookies: " - Try - Dim Collector As New TaskCookieVisitor - Dim CM As ICookieManager = WebBrowser1.GetCookieManager - CM.VisitAllCookies(Collector) - Dim DeviceRegion As String = Nothing - Dim list As List(Of Global.CefSharp.Cookie) = Collector.Task.Result() - For i As Integer = 0 To list.Count - 1 - If CBool(InStr(list.Item(i).Domain, ".crunchyroll.com")) = True And CBool(InStr(list.Item(i).Name, "_evidon_suppress")) = False Then - Main.CR_Cookies = Main.CR_Cookies + list.Item(i).Name + "=" + list.Item(i).Value + ";" - ' MsgBox(list.Item(i).Domain + vbNewLine + list.Item(i).Name + ":" + vbNewLine + list.Item(i).Value) - End If - If CBool(InStr(list.Item(i).Domain, ".crunchyroll.com")) And CBool(InStr(list.Item(i).Name, "c_locale")) Then - locale = list.Item(i).Value - - End If - Next - Catch ex As Exception - Debug.Write(ex.ToString) - End Try + 'MsgBox(Main.CR_etp_rt) + 'MsgBox(Main.CR_ajs_user_id) + 'MsgBox(Main.CheckCRLogin.ToString) Try My.Computer.Clipboard.SetText(WebBrowser1.Address) @@ -218,7 +199,7 @@ Public Class CefSharp_Browser If CBool(InStr(WebBrowser1.Address, "https://proxer.me/read/")) Then Main.WebbrowserURL = WebBrowser1.Address Dim NameDLFinal As String = Nothing - Dim NameDL As String() = Document.Split(New String() {"
"}, System.StringSplitOptions.RemoveEmptyEntries) + Dim NameDL As String() = Document.Split(New String() {"
"}, System.StringSplitOptions.RemoveEmptyEntries) Dim NameDL2 As String() = NameDL(1).Split(New String() {"
"}, System.StringSplitOptions.RemoveEmptyEntries) Dim NameDL3 As String() = NameDL2(0).Split(New String() {Chr(34) + "true" + Chr(34) + ">"}, System.StringSplitOptions.RemoveEmptyEntries) For i As Integer = 0 To NameDL3.Count - 1 @@ -321,10 +302,12 @@ Public Class CefSharp_Browser End Sub) Else If CBool(InStr(e.Request.Url, "crunchyroll.com")) = True And CBool(InStr(e.Request.Headers, "Basic ")) = True And Main.CrBetaBasic = Nothing Then + Dim Basic As String() = e.Request.Headers.Split(New String() {"Basic "}, System.StringSplitOptions.RemoveEmptyEntries) Dim Basic2 As String() = Basic(1).Split(New String() {","}, System.StringSplitOptions.RemoveEmptyEntries) Main.CrBetaBasic = "Basic " + Basic2(0) Debug.WriteLine(Main.CrBetaBasic) + End If @@ -335,6 +318,8 @@ Public Class CefSharp_Browser + + ' 'Debug.WriteLine(e.Request.Url) diff --git a/Crunchyroll Downloader/Main.designer.vb b/Crunchyroll Downloader/Main.designer.vb index ce76fc9..10c403e 100644 --- a/Crunchyroll Downloader/Main.designer.vb +++ b/Crunchyroll Downloader/Main.designer.vb @@ -52,6 +52,7 @@ Partial Class Main Me.ThreadCount = New System.Windows.Forms.ToolStripMenuItem() Me.MsgBoxToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.CRCookieToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ClearAllSettingsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() CType(Me.PictureBox5, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.PictureBox6, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.MetroStyleManager1, System.ComponentModel.ISupportInitialize).BeginInit() @@ -185,7 +186,7 @@ Partial Class Main ' 'ContextMenuStrip1 ' - Me.ContextMenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToggleDebugModeToolStripMenuItem, Me.OpenSettingsToolStripMenuItem, Me.TestDownloadToolStripMenuItem, Me.CheckCRBetaTokenToolStripMenuItem, Me.AddonHTMLToolStripMenuItem, Me.Timer3OffToolStripMenuItem, Me.ThreadCount, Me.MsgBoxToolStripMenuItem, Me.CRCookieToolStripMenuItem}) + Me.ContextMenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToggleDebugModeToolStripMenuItem, Me.OpenSettingsToolStripMenuItem, Me.TestDownloadToolStripMenuItem, Me.CheckCRBetaTokenToolStripMenuItem, Me.AddonHTMLToolStripMenuItem, Me.Timer3OffToolStripMenuItem, Me.ThreadCount, Me.MsgBoxToolStripMenuItem, Me.CRCookieToolStripMenuItem, Me.ClearAllSettingsToolStripMenuItem}) Me.ContextMenuStrip1.Name = "ContextMenuStrip1" resources.ApplyResources(Me.ContextMenuStrip1, "ContextMenuStrip1") ' @@ -234,6 +235,11 @@ Partial Class Main Me.CRCookieToolStripMenuItem.Name = "CRCookieToolStripMenuItem" resources.ApplyResources(Me.CRCookieToolStripMenuItem, "CRCookieToolStripMenuItem") ' + 'ClearAllSettingsToolStripMenuItem + ' + Me.ClearAllSettingsToolStripMenuItem.Name = "ClearAllSettingsToolStripMenuItem" + resources.ApplyResources(Me.ClearAllSettingsToolStripMenuItem, "ClearAllSettingsToolStripMenuItem") + ' 'Main ' Me.ApplyImageInvert = True @@ -291,4 +297,5 @@ Partial Class Main Friend WithEvents ThreadCount As ToolStripMenuItem Friend WithEvents MsgBoxToolStripMenuItem As ToolStripMenuItem Friend WithEvents CRCookieToolStripMenuItem As ToolStripMenuItem + Friend WithEvents ClearAllSettingsToolStripMenuItem As ToolStripMenuItem End Class diff --git a/Crunchyroll Downloader/Main.resx b/Crunchyroll Downloader/Main.resx index 08fd487..f1b4a7a 100644 --- a/Crunchyroll Downloader/Main.resx +++ b/Crunchyroll Downloader/Main.resx @@ -540,6 +540,12 @@ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + ClearAllSettingsToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + Main @@ -609,8 +615,14 @@ CR_Cookie + + 233, 22 + + + Clear all settings + - 234, 202 + 234, 246 ContextMenuStrip1 diff --git a/Crunchyroll Downloader/Main.vb b/Crunchyroll Downloader/Main.vb index 60bbac2..c52ab16 100644 --- a/Crunchyroll Downloader/Main.vb +++ b/Crunchyroll Downloader/Main.vb @@ -22,12 +22,18 @@ Public Class Main Dim t As Thread Dim HTML As String = Nothing Public CR_Cookies As String = "Cookie: " + + Public CR_etp_rt As String = Nothing + Public CR_ajs_user_id As String = Nothing + Public CheckCRLogin As Boolean = True + 'Public LoadedUrl As String = Nothing Public CrBetaMass As String = Nothing Public CrBetaMassEpisodes As String = Nothing Public CrBetaMassParameters As String = Nothing Public CrBetaMassBaseURL As String = Nothing Public CrBetaBasic As String = Nothing + 'Public CrBetaObjects As String = Nothing 'Public CrBetaStreams As String = Nothing 'Public CrBetaStreamsUrl As String = Nothing @@ -74,14 +80,14 @@ Public Class Main Public SubsOnly As Boolean = False Public VideoFormat As String = ".mp4" Public MergeSubsFormat As String = "mov_text" - Public LoginDialog As Boolean = False - Public NonCR_Timeout As Integer = 5 - Public NonCR_URL As String = Nothing + 'Public LoginDialog As Boolean = False + 'Public NonCR_Timeout As Integer = 5 + 'Public NonCR_URL As String = Nothing Public DlSoftSubsRDY As Boolean = True Public DialogTaskString As String - Public ErrorBrowserString As String - Public ErrorBrowserUrl As String - Public ErrorBrowserBackString As String + 'Public ErrorBrowserString As String + 'Public ErrorBrowserUrl As String + 'Public ErrorBrowserBackString As String Public UserCloseDialog As Boolean = False Dim Aktuell As String Dim Gesamt As String @@ -355,6 +361,7 @@ Public Class Main End Function Private Sub Form8_Load(sender As Object, e As EventArgs) Handles MyBase.Load + ' Me.ContextMenuStrip = ContextMenuStrip1 Dim tbtl As TextBoxTraceListener = New TextBoxTraceListener(TheTextBox) Trace.Listeners.Add(tbtl) @@ -397,6 +404,16 @@ Public Class Main DarkModeValue = CBool(Integer.Parse(rkg.GetValue("Dark_Mode").ToString)) Catch ex As Exception End Try + Try + Dim rkg As RegistryKey = Registry.CurrentUser.OpenSubKey("Software\CRDownloader") + CR_etp_rt = rkg.GetValue("etp_rt").ToString + Catch ex As Exception + End Try + Try + Dim rkg As RegistryKey = Registry.CurrentUser.OpenSubKey("Software\CRDownloader") + CR_ajs_user_id = rkg.GetValue("ajs_user_id").ToString + Catch ex As Exception + End Try Manager.Style = MetroColorStyle.Orange If DarkModeValue = True Then Manager.Theme = MetroThemeStyle.Dark @@ -589,7 +606,7 @@ Public Class Main MergeSubsFormat = "mov_text" End If - ElseIf MergeSubsFormat = "None" Or MergeSubsFormat = "0" Then + ElseIf MergeSubsFormat = "None" Or MergeSubsFormat = "0" Or MergeSubsFormat = "[merge disabled]" Then MergeSubs = False Else MergeSubs = True @@ -633,10 +650,9 @@ Public Class Main Dim Format As String = rkg.GetValue("VideoFormat").ToString If Format = ".mkv" Then VideoFormat = ".mkv" - MergeSubsFormat = "copy" ElseIf Format = ".aac" Then VideoFormat = ".aac" - MergeSubsFormat = "copy" + MergeSubsFormat = "[merge disabled]" End If Catch ex2 As Exception End Try @@ -998,6 +1014,7 @@ Public Class Main Dim sr As StreamReader Dim sr2 As StreamReader + Dim cmd As String = "--no-alpn -fsSLm 15 -A " + My.Resources.ffmpeg_user_agend.Replace("User-Agent: ", "") + " " + Chr(34) + Url + Chr(34) Dim Proc As New Process 'MsgBox(cmd) @@ -1026,9 +1043,11 @@ Public Class Main Loop Until Proc.HasExited If CurlOutput = Nothing Then + Debug.WriteLine("curl-E: " + CurlError) Return CurlError Else + Debug.WriteLine("curl-O: " + CurlOutput) Return CurlOutput End If @@ -1076,9 +1095,11 @@ Public Class Main Loop Until Proc.HasExited If CurlOutput = Nothing Then + Debug.WriteLine("curl-E: " + CurlError) Return CurlError Else + Debug.WriteLine("curl-O: " + CurlOutput) Return CurlOutput End If @@ -1127,11 +1148,11 @@ Public Class Main Loop Until Proc.HasExited If CurlOutput = Nothing Then + Debug.WriteLine("curl-E: " + CurlError) Return CurlError - Else + Debug.WriteLine("curl-O: " + CurlOutput) Return CurlOutput - End If @@ -1288,6 +1309,9 @@ Public Class Main End Sub Public Sub GetBetaVideo(ByVal Streams As String, ByVal WebsiteURL As String) ', ByVal ObjectJson As String, ByVal VideoJson As String) ' + If b = False Then + b = True + End If Debug.WriteLine(Streams) Debug.WriteLine(vbCrLf) Debug.WriteLine("Website: " + WebsiteURL) @@ -1728,7 +1752,8 @@ Public Class Main 'MsgBox(SoftSub_3) Dim client0 As New WebClient client0.Encoding = Encoding.UTF8 - Dim str0 As String = client0.DownloadString(SoftSub_3) + Dim str0 As String = client0.DownloadString(SoftSub_3) 'Curl(SoftSub_3) + 'MsgBox(str0) Dim Pfad3 As String = Pfad2.Replace(Chr(34), "") Dim FN As String = Path.ChangeExtension(Path.Combine(Path.GetFileNameWithoutExtension(Pfad3) + "." + GetSubFileLangName(SoftSubs2(i)) + Path.GetExtension(Pfad3)), "ass") 'MsgBox(FN) @@ -3407,70 +3432,7 @@ Public Class Main Dim localHTML As String = document Debug.WriteLine(Date.Now.ToString + "." + Date.Now.Millisecond.ToString) Debug.WriteLine(Address) - 'If CBool(InStr(Address, "crunchyroll.com/")) And CBool(InStr(Address, "streams?")) Then - ' Debug.WriteLine("Streams") - ' My.Computer.FileSystem.WriteAllText("D:\Projecte\Crunchyroll Downloader - v3.0-final\Crunchyroll-Downloader-v3.0 - CefSharp\Crunchyroll Downloader\bin\x64\Debug\WebInterface\CrBetaStreams.txt", CrBetaStreams, False) - ' CrBetaStreamsUrl = Address - ' CrBetaStreams = localHTML.Replace("", "").Replace("", "").Replace("
", "").Replace("
", "").Replace("", "").Replace(My.Resources.htmlReplace, "") - - ' Dim ObjectsURLBuilder() As String = Address.Split(New String() {"videos"}, System.StringSplitOptions.RemoveEmptyEntries) - ' Dim ObjectsURLBuilder2() As String = ObjectsURLBuilder(1).Split(New String() {"/streams"}, System.StringSplitOptions.RemoveEmptyEntries) - ' Dim ObjectsURLBuilder3() As String = LoadedUrl.Split(New String() {"watch/"}, System.StringSplitOptions.RemoveEmptyEntries) - ' Dim ObjectsURLBuilder4() As String = ObjectsURLBuilder3(1).Split(New String() {"/"}, System.StringSplitOptions.RemoveEmptyEntries) - ' Dim ObjectsURL As String = ObjectsURLBuilder(0) + "objects/" + ObjectsURLBuilder4(0) + ObjectsURLBuilder2(1) - ' Debug.WriteLine(ObjectsURL) - - - - ' CefSharp_Browser.WebBrowser1.LoadUrl(ObjectsURL) - - 'ElseIf CBool(InStr(Address, "crunchyroll.com/")) And CBool(InStr(Address, "objects")) Then - - ' CrBetaObjects = localHTML.Replace("", "").Replace("", "").Replace("
", "").Replace("
", "").Replace("", "").Replace(My.Resources.htmlReplace, "") - - ' GetBetaVideoProxy(CrBetaStreamsUrl, LoadedUrl, CrBetaObjects, CrBetaStreams) - - 'Else - 'If CBool(InStr(Address, "crunchyroll.com/")) And CBool(InStr(Address, "seasons?series_id=")) Then - - ' GetBetaSeasons(Address, localHTML.Replace("", "").Replace("", "").Replace("
", "").Replace("
", "").Replace("", "").Replace(My.Resources.htmlReplace, "")) - - 'Else - 'If CBool(InStr(Address, CrBetaMassBaseURL + "episodes?season_id=")) Then - - - ' Dim EpisodeJson As String = localHTML.Replace("", "").Replace("", "").Replace("
", "").Replace("
", "").Replace("", "").Replace(My.Resources.htmlReplace, "") - - - ' CrBetaMassEpisodes = EpisodeJson - - ' Dim EpisodeNameSplit() As String = EpisodeJson.Split(New String() {Chr(34) + "title" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries) - - - ' Dim EpisodeSplit() As String = EpisodeJson.Split(New String() {Chr(34) + "episode" + 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) - ' Dim EpisodeNameSplit2() As String = EpisodeNameSplit(i).Split(New String() {Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries) - ' If EpisodeSplit(i).Substring(0, 1) = Chr(34) Then - ' Anime_Add.comboBox3.Items.Add(EpisodeNameSplit2(0)) - ' Anime_Add.comboBox4.Items.Add(EpisodeNameSplit2(0)) - ' Else - ' Anime_Add.comboBox3.Items.Add("Episode " + EpisodeSplit2(0)) - ' Anime_Add.comboBox4.Items.Add("Episode " + EpisodeSplit2(0)) - ' End If - - ' Next - - ' If Anime_Add.comboBox3.Items.Count > 0 Then - ' Anime_Add.comboBox3.SelectedIndex = 0 - ' Anime_Add.comboBox4.SelectedIndex = Anime_Add.comboBox4.Items.Count - 1 - ' End If - - ' Anime_Add.comboBox3.Enabled = True - ' Anime_Add.comboBox4.Enabled = True - - ' Else If CBool(InStr(Address, "title-api.prd.funimationsvc.com")) Then If FunimationJsonBrowser = "EpisodeJson" Then Anime_Add.FillFunimationEpisodes(localHTML.Replace("", "").Replace("", "").Replace("
", "").Replace("
", "").Replace("", "").Replace("
", "")) '
@@ -3516,34 +3478,45 @@ Public Class Main
             End If
         End If
         If b = True Then
-            'LoadedUrls
-            'Debug.WriteLine(LoadedUrls.Count.ToString)
             LoadedUrls.Clear()
-            Debug.WriteLine("Just Browsing, exiting...")
             Grapp_RDY = True
+            Debug.WriteLine("Just Browsing, exiting...")
+            'Debug.WriteLine("Just Browsing, exiting... for real...")
             Exit Sub
         End If
         'MsgBox("loaded!")
         If CBool(InStr(Address, "crunchyroll.com")) Then
             WebbrowserURL = Address
-            For i As Integer = 10 To 1 Step -1
-                If b = True Then
-                    If Application.OpenForms().OfType(Of CefSharp_Browser).Any = True Then
-                        Anime_Add.StatusLabel.Text = "Status: idle"
-                    End If
-                    Me.Text = "Crunchyroll Downloader"
-                    Grapp_RDY = True
-                    Exit Sub
-                    LoadedUrls.Clear()
-                End If
 
-                If Application.OpenForms().OfType(Of CefSharp_Browser).Any = True Then
+
+            For i As Integer = 10 To 1 Step -1
+                If Application.OpenForms().OfType(Of Anime_Add).Any = True Then
                     Anime_Add.StatusLabel.Text = "Status: Processing Url " + i.ToString
                 End If
                 Me.Text = "Status: Processing Url " + i.ToString
 
                 Pause(1)
+
+                If b = True Then
+                    If Application.OpenForms().OfType(Of Anime_Add).Any = True Then
+                        Anime_Add.StatusLabel.Text = "Status: idle"
+                    End If
+                    Me.Text = "Crunchyroll Downloader"
+                    Grapp_RDY = True
+                    LoadedUrls.Clear()
+                    Debug.WriteLine("canceled....")
+                    Exit Sub
+                End If
             Next
+
+            Debug.WriteLine(LoadedUrls.Count.ToString)
+            For i As Integer = 0 To LoadedUrls.Count - 1
+                Debug.WriteLine(LoadedUrls(i))
+            Next
+
+            If Application.OpenForms().OfType(Of Anime_Add).Any = True Then
+                Anime_Add.StatusLabel.Text = "Status: Processing... "
+            End If
             Me.Text = "Status: Processing... "
             ProcessUrls()
             Exit Sub
@@ -3612,7 +3585,14 @@ Public Class Main
         For i As Integer = 0 To LoadedUrls.Count - 1
             Dim requesturl As String = LoadedUrls.Item(i)
             If CBool(InStr(requesturl, "crunchyroll.com/")) And CBool(InStr(requesturl, "streams?")) Then
+
                 If b = False Then
+
+                    If Application.OpenForms().OfType(Of Anime_Add).Any = True Then
+                        Anime_Add.StatusLabel.Text = "Status: Crunchyroll episode found."
+                    End If
+                    Me.Text = "Status: Crunchyroll episode found."
+
                     GetBetaVideoProxy(requesturl, WebbrowserURL)
                     b = True
 
@@ -3624,7 +3604,14 @@ Public Class Main
                     Exit Sub
                 End If
             ElseIf CBool(InStr(requesturl, "crunchyroll.com/")) And CBool(InStr(requesturl, "seasons?series_id=")) Then
+
                 If b = False Then
+
+                    If Application.OpenForms().OfType(Of Anime_Add).Any = True Then
+                        Anime_Add.StatusLabel.Text = "Status: Crunchyroll season found."
+                    End If
+                    Me.Text = "Status: Crunchyroll season found."
+
                     GetBetaSeasons(requesturl)
                     'CefSharp_Browser.WebBrowser1.LoadUrl(requesturl)
                     b = True
@@ -4290,6 +4277,16 @@ Public Class Main
         MsgBox(CR_Cookies)
     End Sub
 
+    Private Sub ClearAllSettingsToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ClearAllSettingsToolStripMenuItem.Click
+
+
+        If MessageBox.Show("This will clear all settings and close the programm!", "confirm?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
+            Registry.CurrentUser.DeleteSubKey("Software\CRDownloader")
+            Me.Close()
+        End If
+
+    End Sub
+
 
     'Dim TN As String = "https://www.crunchyroll.com/imgsrv/display/thumbnail/320x180/catalog/crunchyroll/43a60a9d2877b11429d71c81db6d7636.jpeg"
     'Dim cmd As String = "-i " + Chr(34) + "https://pl.crunchyroll.com/evs3/edc1a2ad856c347b4f86c0985ecc6d01/assets/efmaqxcadlmjn3o_2040239.mp4/index-v1-a1.m3u8?res=640x360&Expires=1666448510&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9wbC5jcnVuY2h5cm9sbC5jb20vZXZzMy9lZGMxYTJhZDg1NmMzNDdiNGY4NmMwOTg1ZWNjNmQwMS9hc3NldHMvZWZtYXF4Y2FkbG1qbjNvXzIwNDAyMzkubXA0L2luZGV4LXYxLWExLm0zdTg~cmVzPTY0MHgzNjAiLCJDb25kaXRpb24iOnsiRGF0ZUxlc3NUaGFuIjp7IkFXUzpFcG9jaFRpbWUiOjE2NjY0NDg1MTB9fX1dfQ__&Signature=gd6oVG0w2pUa~l8~3JTecsU~0yyzkK1aaPQ~0WN32MeAuYfo49eYwz1C3AgeFAEeFyy8yMyW~3D4awwE7veS8BHptQzRlrcdFqw7VNDPUaA-3kzaqPFWOPlj2V~HkVv4m-soVs2HSs14i7Is8cWGQ6-0vQ6lFkxSxu2dg-eZdxcagkqSPwMsnjU~M17p1MhK0aQNWh2KyJUZ3zmeZNHrMQiAq4cBXM9aMp05XxI-li2ptCRMh63wYaYdmnvwOICDqgq5kwhLA-NNBavnjYo4HlEyfXwQWWEF2H~lQeAsZ90S6wF8~IrbP~DdMZc1Othh26Z0QWVX0BFEhPHmsoHqqw__&Key-Pair-Id=APKAJMWSQ5S7ZB3MF5VA" + Chr(34) + " -c copy "
diff --git a/Crunchyroll Downloader/My Project/AssemblyInfo.vb b/Crunchyroll Downloader/My Project/AssemblyInfo.vb
index 70016ff..e97ef51 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/Trackbar.Designer.vb b/Crunchyroll Downloader/Trackbar.Designer.vb
index 53f6a2f..1f44105 100644
--- a/Crunchyroll Downloader/Trackbar.Designer.vb	
+++ b/Crunchyroll Downloader/Trackbar.Designer.vb	
@@ -36,7 +36,7 @@ Partial Class Trackbar
         Me.Button1.Name = "Button1"
         Me.Button1.Size = New System.Drawing.Size(100, 41)
         Me.Button1.TabIndex = 0
-        Me.Button1.Text = "Applay"
+        Me.Button1.Text = "Apply"
         Me.Button1.UseVisualStyleBackColor = True
         '
         'TrackBar1
diff --git a/Crunchyroll Downloader/einstellungen.vb b/Crunchyroll Downloader/einstellungen.vb
index 8c4f82a..6bf2b5d 100644
--- a/Crunchyroll Downloader/einstellungen.vb	
+++ b/Crunchyroll Downloader/einstellungen.vb	
@@ -559,7 +559,7 @@ Public Class Einstellungen
         Else
             Main.MergeSubsFormat = CB_Merge.SelectedItem.ToString
             Main.MergeSubs = False
-            rk.SetValue("MergeSubs", "None", RegistryValueKind.String)
+            rk.SetValue("MergeSubs", "[merge disabled]", RegistryValueKind.String)
         End If
 
 
@@ -1223,18 +1223,21 @@ Public Class Einstellungen
 
     Private Sub CB_Format_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CB_Format.SelectedIndexChanged
         If CB_Format.Text = "AAC (Audio only)" Then
-            If CB_Merge.SelectedIndex > 0 Then
-                MsgBox("Merged subs are not avalible with audio only!", MsgBoxStyle.Information)
-            End If
-            CB_Merge.SelectedIndex = 0
-        ElseIf CB_Format.Text = "MP4" Then
             CB_Merge.SelectedIndex = 0
             CB_Merge.Items.Clear()
-            CB_Merge.Items.Add("[merge disabled]") 'mov_text
+            CB_Merge.Items.Add("[merge disabled]")
+            CB_Merge.SelectedIndex = 0
+            CB_Merge.Enabled = False
+        ElseIf CB_Format.Text = "MP4" Then
+            CB_Merge.Enabled = True
+            CB_Merge.SelectedIndex = 0
+            CB_Merge.Items.Clear()
+            CB_Merge.Items.Add("[merge disabled]")
             CB_Merge.Items.Add("mov_text")
             'CB_Merge.Items.Add("srt")
             CB_Merge.SelectedItem = Main.MergeSubsFormat
         ElseIf CB_Format.Text = "MKV" Then
+            CB_Merge.Enabled = True
             CB_Merge.SelectedIndex = 0
             CB_Merge.Items.Clear()
             CB_Merge.Items.Add("[merge disabled]")