restore base functionality

restore base functionality  #546
This commit is contained in:
hama3254 2022-10-20 18:23:22 +02:00
parent e0bd03a39c
commit fad0adccb5
8 changed files with 549 additions and 1436 deletions

Binary file not shown.

View File

@ -22,158 +22,158 @@ Public Class Anime_Add
Public AuthorizationCookie As String = Nothing
Private Sub LoadBrowser(ByVal Url As String)
Public Sub LoadBrowser(ByVal Url As String)
Main.LoadedUrl = Url
Dim locale As String = "en-US"
If CBool(InStr(Url, "beta.crunchyroll.com")) = True And CBool(InStr(Url, "watch")) = True And CBool(Main.CrBetaBasic = Nothing) = False Then
#Region "Get Cookies"
Dim Cookies As String = "Cookie: "
Try
Dim Collector As New TaskCookieVisitor
Dim CM As ICookieManager = CefSharp_Browser.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
'MsgBox(list.Item(i).Name + ":" + vbNewLine + list.Item(i).Value)
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 + ";"
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
' Dim locale As String = "en-US"
' If CBool(InStr(Url, "beta.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: "
' 'Try
' ' Dim Collector As New TaskCookieVisitor
' ' Dim CM As ICookieManager = CefSharp_Browser.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
' ' 'MsgBox(list.Item(i).Name + ":" + vbNewLine + list.Item(i).Value)
' ' 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 + ";"
' ' 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
' ' End If
' ' Next
' 'Catch ex As Exception
' ' CefSharp_Browser.WebBrowser1.Load(Url)
' ' Exit Sub
' 'End Try
'#End Region
' Dim CRBetaBearer As String = "Bearer "
' Try
' Dim Request As HttpWebRequest = CType(WebRequest.Create("https://www.crunchyroll.com/auth/v1/token"), HttpWebRequest)
' Request.Method = "POST"
' Request.ContentType = "application/x-www-form-urlencoded"
' Request.Accept = "application/json, text/plain, */*"
' 'Request.Headers.Add("Accept-Language: de,en-US;q=0.7,en;q=0.3")
' Request.Headers.Add("Accept-Encoding: gzip, deflate, br") 'identity")
' Request.Headers.Add("Authorization: " + Main.CrBetaBasic)
' 'Request.Headers.Add("Referer: " + Url)
' Request.Referer = Url
' Request.Headers.Add("Origin: https://www.crunchyroll.com")
' Request.Headers.Add(Cookies)
' Dim Post As String = "grant_type=etp_rt_cookie"
' Dim byteArray() As Byte = Encoding.UTF8.GetBytes(Post)
' Request.ContentLength = byteArray.Length
' Dim DataStream As Stream = Request.GetRequestStream()
' DataStream.Write(byteArray, 0, byteArray.Length)
' DataStream.Close()
' Dim Response As HttpWebResponse = CType(Request.GetResponse(), HttpWebResponse)
' DataStream = Response.GetResponseStream()
' Dim reader As New StreamReader(DataStream)
' Dim ServerResponseString As String = reader.ReadToEnd()
' reader.Close()
' DataStream.Close()
' Response.Close()
' 'Debug.WriteLine(ServerResponseString)
' Dim Token() As String = ServerResponseString.Split(New String() {Chr(34) + "access_token" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
' Dim Token2() As String = Token(1).Split(New String() {Chr(34) + "," + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
' CRBetaBearer = CRBetaBearer + Token2(0)
' Catch ex As Exception
' Debug.WriteLine(ex.ToString)
' CefSharp_Browser.WebBrowser1.Load(Url)
' Exit Sub
' End Try
' Dim ObjectsUrl As String = Nothing
' Try
' Using client As New WebClient()
' client.Encoding = System.Text.Encoding.UTF8
' client.Headers.Add(My.Resources.ffmpeg_user_agend.Replace(Chr(34), ""))
' client.Headers.Add("ACCEPT: application/json, text/javascript, */*; q=0.01")
' client.Headers.Add("Accept-Encoding: identity")
' client.Headers.Add("Referer: " + Url)
' client.Headers.Add("Authorization: " + CRBetaBearer)
' client.Headers.Add(Cookies) '+ WebBrowser1.Document.Cookie)
' 'MsgBox(OmUStreamSplitEpisodeIndex(1))
' Dim v2Content As String = client.DownloadString("https://www.crunchyroll.com/index/v2")
' 'Debug.WriteLine(v2Content)
' Dim v2ContentBeta() As String = v2Content.Split(New String() {Chr(34) + "cms_beta" + Chr(34) + ":"}, System.StringSplitOptions.RemoveEmptyEntries)
' Dim bucket() As String = v2ContentBeta(1).Split(New String() {Chr(34) + "bucket" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
' Dim bucket2() As String = bucket(1).Split(New String() {Chr(34) + "," + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
' Dim policy() As String = v2ContentBeta(1).Split(New String() {Chr(34) + "policy" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
' Dim policy2() As String = policy(1).Split(New String() {Chr(34) + "," + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
' Dim signature() As String = v2ContentBeta(1).Split(New String() {Chr(34) + "signature" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
' Dim signature2() As String = signature(1).Split(New String() {Chr(34) + "," + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
' Dim key_pair_id() As String = v2ContentBeta(1).Split(New String() {Chr(34) + "key_pair_id" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
' Dim key_pair_id2() As String = key_pair_id(1).Split(New String() {Chr(34) + "," + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
' Dim ObjectsURLBuilder3() As String = Url.Split(New String() {"watch/"}, System.StringSplitOptions.RemoveEmptyEntries)
' Dim ObjectsURLBuilder4() As String = ObjectsURLBuilder3(1).Split(New String() {"/"}, System.StringSplitOptions.RemoveEmptyEntries)
' ObjectsUrl = "https://www.crunchyroll.com/cms/v2" + bucket2(0) + "/objects/" + ObjectsURLBuilder4(0) + "?locale=" + locale + "&Signature=" + signature2(0) + "&Policy=" + policy2(0) + "&Key-Pair-Id=" + key_pair_id2(0)
' End Using
' 'Debug.WriteLine(ObjectsUrl)
' Catch ex As Exception
' CefSharp_Browser.WebBrowser1.Load(Url)
' Exit Sub
' End Try
' Dim StreamsUrl As String = Nothing
' Dim ObjectJson As String
' Try
' Try
' Using client As New WebClient()
' client.Encoding = System.Text.Encoding.UTF8
' client.Headers.Add(My.Resources.ffmpeg_user_agend.Replace(Chr(34), ""))
' ObjectJson = client.DownloadString(ObjectsUrl)
' End Using
' Catch ex As Exception
' Debug.WriteLine("error- getting name data")
' Exit Sub
' End Try
' Catch ex As Exception
' CefSharp_Browser.WebBrowser1.Load(Url)
' Exit Sub
' End Try
' Try
' Dim StreamsUrlBuilder() As String = ObjectJson.Split(New String() {"videos/"}, System.StringSplitOptions.RemoveEmptyEntries)
' Dim StreamsUrlBuilder2() As String = StreamsUrlBuilder(1).Split(New String() {"/streams"}, System.StringSplitOptions.RemoveEmptyEntries)
' Dim StreamsUrlBuilder3() As String = ObjectsUrl.Split(New String() {"objects/"}, System.StringSplitOptions.RemoveEmptyEntries)
' Dim StreamsUrlBuilder4() As String = StreamsUrlBuilder3(1).Split(New String() {"?"}, System.StringSplitOptions.RemoveEmptyEntries)
' StreamsUrl = StreamsUrlBuilder3(0) + "videos/" + StreamsUrlBuilder2(0) + "/streams?" + StreamsUrlBuilder4(1)
' ' Debug.WriteLine(StreamsUrl)
' Catch ex As Exception
' CefSharp_Browser.WebBrowser1.Load(Url)
' Exit Sub
' End Try
' Main.GetBetaVideoProxy(StreamsUrl, Url)
' Else
CefSharp_Browser.WebBrowser1.Load(Url)
Exit Sub
End Try
#End Region
Dim CRBetaBearer As String = "Bearer "
Try
Dim Request As HttpWebRequest = CType(WebRequest.Create("https://beta.crunchyroll.com/auth/v1/token"), HttpWebRequest)
Request.Method = "POST"
Request.ContentType = "application/x-www-form-urlencoded"
Request.Accept = "application/json, text/plain, */*"
'Request.Headers.Add("Accept-Language: de,en-US;q=0.7,en;q=0.3")
Request.Headers.Add("Accept-Encoding: identity")
Request.Headers.Add("Authorization: " + Main.CrBetaBasic)
'Request.Headers.Add("Referer: " + Url)
Request.Referer = Url
Request.Headers.Add("Origin: https://beta.crunchyroll.com")
Request.Headers.Add(Cookies)
Dim Post As String = "grant_type=etp_rt_cookie"
Dim byteArray() As Byte = Encoding.UTF8.GetBytes(Post)
Request.ContentLength = byteArray.Length
Dim DataStream As Stream = Request.GetRequestStream()
DataStream.Write(byteArray, 0, byteArray.Length)
DataStream.Close()
Dim Response As HttpWebResponse = CType(Request.GetResponse(), HttpWebResponse)
DataStream = Response.GetResponseStream()
Dim reader As New StreamReader(DataStream)
Dim ServerResponseString As String = reader.ReadToEnd()
reader.Close()
DataStream.Close()
Response.Close()
'Debug.WriteLine(ServerResponseString)
Dim Token() As String = ServerResponseString.Split(New String() {Chr(34) + "access_token" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
Dim Token2() As String = Token(1).Split(New String() {Chr(34) + "," + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
CRBetaBearer = CRBetaBearer + Token2(0)
Catch ex As Exception
Debug.WriteLine(ex.ToString)
CefSharp_Browser.WebBrowser1.Load(Url)
Exit Sub
End Try
Dim ObjectsUrl As String = Nothing
Try
Using client As New WebClient()
client.Encoding = System.Text.Encoding.UTF8
client.Headers.Add(My.Resources.ffmpeg_user_agend.Replace(Chr(34), ""))
client.Headers.Add("ACCEPT: application/json, text/javascript, */*; q=0.01")
client.Headers.Add("Accept-Encoding: identity")
client.Headers.Add("Referer: " + Url)
client.Headers.Add("Authorization: " + CRBetaBearer)
client.Headers.Add(Cookies) '+ WebBrowser1.Document.Cookie)
'MsgBox(OmUStreamSplitEpisodeIndex(1))
Dim v2Content As String = client.DownloadString("https://beta.crunchyroll.com/index/v2")
'Debug.WriteLine(v2Content)
Dim v2ContentBeta() As String = v2Content.Split(New String() {Chr(34) + "cms_beta" + Chr(34) + ":"}, System.StringSplitOptions.RemoveEmptyEntries)
Dim bucket() As String = v2ContentBeta(1).Split(New String() {Chr(34) + "bucket" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
Dim bucket2() As String = bucket(1).Split(New String() {Chr(34) + "," + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
Dim policy() As String = v2ContentBeta(1).Split(New String() {Chr(34) + "policy" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
Dim policy2() As String = policy(1).Split(New String() {Chr(34) + "," + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
Dim signature() As String = v2ContentBeta(1).Split(New String() {Chr(34) + "signature" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
Dim signature2() As String = signature(1).Split(New String() {Chr(34) + "," + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
Dim key_pair_id() As String = v2ContentBeta(1).Split(New String() {Chr(34) + "key_pair_id" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
Dim key_pair_id2() As String = key_pair_id(1).Split(New String() {Chr(34) + "," + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
Dim ObjectsURLBuilder3() As String = Url.Split(New String() {"watch/"}, System.StringSplitOptions.RemoveEmptyEntries)
Dim ObjectsURLBuilder4() As String = ObjectsURLBuilder3(1).Split(New String() {"/"}, System.StringSplitOptions.RemoveEmptyEntries)
ObjectsUrl = "https://beta.crunchyroll.com/cms/v2" + bucket2(0) + "/objects/" + ObjectsURLBuilder4(0) + "?locale=" + locale + "&Signature=" + signature2(0) + "&Policy=" + policy2(0) + "&Key-Pair-Id=" + key_pair_id2(0)
End Using
'Debug.WriteLine(ObjectsUrl)
Catch ex As Exception
CefSharp_Browser.WebBrowser1.Load(Url)
Exit Sub
End Try
Dim StreamsUrl As String = Nothing
Dim ObjectJson As String
Try
Try
Using client As New WebClient()
client.Encoding = System.Text.Encoding.UTF8
client.Headers.Add(My.Resources.ffmpeg_user_agend.Replace(Chr(34), ""))
ObjectJson = client.DownloadString(ObjectsUrl)
End Using
Catch ex As Exception
Debug.WriteLine("error- getting name data")
Exit Sub
End Try
Catch ex As Exception
CefSharp_Browser.WebBrowser1.Load(Url)
Exit Sub
End Try
Try
Dim StreamsUrlBuilder() As String = ObjectJson.Split(New String() {"videos/"}, System.StringSplitOptions.RemoveEmptyEntries)
Dim StreamsUrlBuilder2() As String = StreamsUrlBuilder(1).Split(New String() {"/streams"}, System.StringSplitOptions.RemoveEmptyEntries)
Dim StreamsUrlBuilder3() As String = ObjectsUrl.Split(New String() {"objects/"}, System.StringSplitOptions.RemoveEmptyEntries)
Dim StreamsUrlBuilder4() As String = StreamsUrlBuilder3(1).Split(New String() {"?"}, System.StringSplitOptions.RemoveEmptyEntries)
StreamsUrl = StreamsUrlBuilder3(0) + "videos/" + StreamsUrlBuilder2(0) + "/streams?" + StreamsUrlBuilder4(1)
' Debug.WriteLine(StreamsUrl)
Catch ex As Exception
CefSharp_Browser.WebBrowser1.Load(Url)
Exit Sub
End Try
Main.GetBetaVideoProxy(StreamsUrl, Url)
Else
CefSharp_Browser.WebBrowser1.Load(Url)
End If
'End If
End Sub
@ -457,7 +457,7 @@ Public Class Anime_Add
comboBox3.Enabled = False
ComboBox1.Enabled = False
ElseIf CBool(InStr(Main.WebbrowserURL, "beta.crunchyroll.com")) = True Then
ElseIf CBool(InStr(Main.WebbrowserURL, "crunchyroll.com")) = True Then
StatusLabel.Text = "Status: idle"
'btn_dl.BackgroundImage = My.Resources.add_mass_running_cancel
@ -484,18 +484,6 @@ Public Class Anime_Add
comboBox3.Enabled = False
ComboBox1.Enabled = False
Else 'CR
StatusLabel.Text = "Status: idle"
'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.MassDL()
comboBox4.Enabled = False
comboBox3.Enabled = False
ComboBox1.Enabled = False
End If
ElseIf GroupBox3.Visible = True Then
@ -605,11 +593,11 @@ Public Class Anime_Add
End Sub
Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
If CBool(InStr(Main.WebbrowserURL, "beta.crunchyroll.com")) = True Then
If CBool(InStr(Main.WebbrowserURL, "crunchyroll.com")) = True Then
comboBox3.Items.Clear()
comboBox4.Items.Clear()
comboBox3.Enabled = True
comboBox4.Enabled = True
comboBox3.Enabled = False
comboBox4.Enabled = False
comboBox3.Text = Nothing
comboBox4.Text = Nothing
Dim SeasonSplit() As String = Main.CrBetaMass.Split(New String() {Chr(34) + "id" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
@ -617,45 +605,25 @@ Public Class Anime_Add
Dim SeasonSplit2() As String = SeasonSplit(ComboBox1.SelectedIndex + 1).Split(New String() {Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
Dim EpisodeJsonURL As String = Main.CrBetaMassBaseURL + "episodes?season_id=" + SeasonSplit2(0) + "&locale=" + Main.CrBetaMassParameters
Dim EpisodeJson As String = Nothing
Debug.WriteLine(EpisodeJsonURL)
Try
Using client As New WebClient()
client.Encoding = System.Text.Encoding.UTF8
client.Headers.Add(My.Resources.ffmpeg_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)
Exit Sub
End Try
Main.CrBetaMassEpisodes = EpisodeJson
Dim EpisodeNameSplit() As String = EpisodeJson.Split(New String() {Chr(34) + "title" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
CefSharp_Browser.WebBrowser1.LoadUrl(EpisodeJsonURL)
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
comboBox3.Items.Add(EpisodeNameSplit2(0))
comboBox4.Items.Add(EpisodeNameSplit2(0))
Else
comboBox3.Items.Add("Episode " + EpisodeSplit2(0))
comboBox4.Items.Add("Episode " + EpisodeSplit2(0))
End If
Next
If comboBox3.Items.Count > 0 Then
comboBox3.SelectedIndex = 0
comboBox4.SelectedIndex = comboBox4.Items.Count - 1
End If
'Try
' Using client As New WebClient()
' client.Encoding = System.Text.Encoding.UTF8
' client.Headers.Add(My.Resources.ffmpeg_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)
' Exit Sub
'End Try
@ -761,42 +729,6 @@ Public Class Anime_Add
End If
Else
'MsgBox(Main.WebbrowserURL)
comboBox3.Items.Clear()
comboBox4.Items.Clear()
comboBox3.Enabled = True
comboBox4.Enabled = True
'comboBox3.Items.Add("[First Episode]")
'comboBox4.Items.Add("[Last Episode]")
Dim SeasonDropdownAnzahl As String() = Main.WebbrowserText.Split(New String() {"season-dropdown content-menu block"}, System.StringSplitOptions.RemoveEmptyEntries)
Array.Reverse(SeasonDropdownAnzahl)
Dim SDV As Integer = 0
For i As Integer = 0 To SeasonDropdownAnzahl.Count - 1
If CBool(InStr(SeasonDropdownAnzahl(i), Chr(34) + ">" + ComboBox1.SelectedItem.ToString + "</a>")) Then
SDV = i
End If
Next
'MsgBox(SDV)
Dim Anzahl As String() = SeasonDropdownAnzahl(SDV).Split(New String() {"wrapper container-shadow hover-classes"}, System.StringSplitOptions.RemoveEmptyEntries)
'MsgBox(Anzahl(0))
Dim c As Integer = Anzahl.Count - 1
Array.Reverse(Anzahl)
For i As Integer = 0 To Anzahl.Count - 2
Dim URLGrapp As String() = Anzahl(i).Split(New String() {"title=" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
Dim URLGrapp2 As String() = URLGrapp(1).Split(New String() {Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
comboBox3.Items.Add(URLGrapp2(0))
comboBox4.Items.Add(URLGrapp2(0))
Next
If comboBox3.Items.Count > 0 Then
comboBox3.SelectedIndex = 0
comboBox4.SelectedIndex = comboBox4.Items.Count - 1
End If
End If
End Sub

View File

@ -9,6 +9,7 @@ Imports System.Net.WebUtility
Imports System.IO.Compression
Imports System.Text
Imports AdapterRequestHandler
Imports System.Security.Policy
Public Class CefSharp_Browser
@ -39,6 +40,7 @@ Public Class CefSharp_Browser
Main.WebbrowserURL = WebBrowser1.Address
TextBox1.Text = Main.WebbrowserURL
Try
If Btn_Scan.Enabled = False And Btn_Scan.Text = "Start network scan" Then
Btn_Scan.Enabled = True
@ -71,15 +73,17 @@ Public Class CefSharp_Browser
Try
Dim HTML As String = Await WebBrowser1.GetSourceAsync
' Dim HTML2 As String = Await
Document = HTML
Debug.WriteLine("get html")
Me.Invoke(New Action(Function() As Object
Main.WebbrowserText = HTML
Main.WebbrowserURL = WebBrowser1.Address
Main.WebbrowserTitle = DocumentTitle
Main.ProcessHTML(HTML, WebBrowser1.Address, DocumentTitle)
'If Main.UserBowser = False Then
' Me.Close()
'End If
@ -143,6 +147,28 @@ 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
Try
My.Computer.Clipboard.SetText(WebBrowser1.Address)
@ -283,23 +309,32 @@ Public Class CefSharp_Browser
If (Me.InvokeRequired) Then
Me.Invoke(Sub()
If CBool(InStr(e.Request.Url, "beta.crunchyroll.com")) = True And CBool(InStr(e.Request.Headers, "Basic ")) = True And Main.CrBetaBasic = Nothing Then
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
End Sub)
Else
If CBool(InStr(e.Request.Url, "beta.crunchyroll.com")) = True And CBool(InStr(e.Request.Headers, "Basic ")) = True And Main.CrBetaBasic = Nothing Then
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
End If
'
'Debug.WriteLine(e.Request.Url)
@ -336,8 +371,7 @@ Public Class CefSharp_Browser
Exit Sub
End If
Debug.WriteLine(e.Request.Url)
ElseIf CBool(InStr(e.Request.Url, "https://beta-api.crunchyroll.com/")) And CBool(InStr(e.Request.Url, "streams?")) Then
ElseIf CBool(InStr(e.Request.Url, "crunchyroll.com/")) And CBool(InStr(e.Request.Url, "streams?")) Then
If (Me.InvokeRequired) Then
Me.Invoke(Sub() Main.LoadedUrls.Add(e.Request.Url))
Exit Sub
@ -346,25 +380,7 @@ Public Class CefSharp_Browser
Exit Sub
End If
Debug.WriteLine(e.Request.Url)
ElseIf CBool(InStr(e.Request.Url, "https://beta.crunchyroll.com/")) And CBool(InStr(e.Request.Url, "streams?")) Then
If (Me.InvokeRequired) Then
Me.Invoke(Sub() Main.LoadedUrls.Add(e.Request.Url))
Exit Sub
Else
Main.LoadedUrls.Add(e.Request.Url)
Exit Sub
End If
Debug.WriteLine(e.Request.Url)
ElseIf CBool(InStr(e.Request.Url, "https://beta-api.crunchyroll.com/")) And CBool(InStr(e.Request.Url, "seasons?series_id=")) Then
If (Me.InvokeRequired) Then
Me.Invoke(Sub() Main.LoadedUrls.Add(e.Request.Url))
Exit Sub
Else
Main.LoadedUrls.Add(e.Request.Url)
Exit Sub
End If
Debug.WriteLine(e.Request.Url)
ElseIf CBool(InStr(e.Request.Url, "https://beta.crunchyroll.com/")) And CBool(InStr(e.Request.Url, "seasons?series_id=")) Then
ElseIf CBool(InStr(e.Request.Url, "crunchyroll.com/")) And CBool(InStr(e.Request.Url, "seasons?series_id=")) Then
If (Me.InvokeRequired) Then
Me.Invoke(Sub() Main.LoadedUrls.Add(e.Request.Url))
Exit Sub
@ -394,159 +410,6 @@ Public Class CefSharp_Browser
End If
Exit Sub
Dim requesturl As String = Nothing
Try
requesturl = e.Request.Url
Catch ex As Exception
Exit Sub
End Try
If CBool(InStr(requesturl, "https://api.vrv.co")) And CBool(InStr(requesturl, "streams?")) Then
Debug.WriteLine("vrv-1 " + requesturl)
If Main.b = False Then
Main.Get_VRV_VideoProxy(requesturl, Main.WebbrowserURL)
Main.b = True
End If
ElseIf CBool(InStr(requesturl, "https://api.vrv.co")) And CBool(InStr(requesturl, "seasons?series_id=")) Then
Debug.WriteLine("vrv-2 " + requesturl)
Exit Sub
If Main.b = False Then
Main.GetBetaSeasons(requesturl)
Main.b = True
End If
End If
If CBool(InStr(requesturl, "https://beta-api.crunchyroll.com/")) And CBool(InStr(requesturl, "streams?")) Then
If Main.b = False Then
Main.GetBetaVideoProxy(requesturl, Main.WebbrowserURL)
Main.b = True
End If
ElseIf CBool(InStr(requesturl, "https://beta.crunchyroll.com/")) And CBool(InStr(requesturl, "streams?")) Then
If Main.b = False Then
Main.GetBetaVideoProxy(requesturl, Main.WebbrowserURL)
Main.b = True
End If
ElseIf CBool(InStr(requesturl, "https://beta.crunchyroll.com/")) And CBool(InStr(requesturl, "seasons?series_id=")) Then
If Main.b = False Then
Main.GetBetaSeasons(requesturl)
Main.b = True
End If
ElseIf CBool(InStr(requesturl, "https://beta-api.crunchyroll.com/")) And CBool(InStr(requesturl, "seasons?series_id=")) Then
If Main.b = False Then
Main.GetBetaSeasons(requesturl)
Main.b = True
End If
End If
If CBool(InStr(requesturl, "https://title-api.prd.funimationsvc.com")) And CBool(InStr(requesturl, "?region=")) Then
Try
Main.WebbrowserCookie = Cookie
Catch ex As Exception
End Try
If Main.FunimationAPIRegion = Nothing Then
Me.Invoke(New Action(Function() As Object
Dim parms As String() = requesturl.Split(New String() {"?region="}, System.StringSplitOptions.RemoveEmptyEntries)
Main.FunimationAPIRegion = "?region=" + parms(1)
Return Nothing
End Function))
End If
If Main.b = False Then
If CBool(InStr(requesturl, "https://title-api.prd.funimationsvc.com/v1/show")) And CBool(InStr(requesturl, "/episodes/")) Then
Main.GetFunimationNewJS_VideoProxy(requesturl)
Main.b = True
Exit Sub
Else
Debug.WriteLine("processing js")
Me.Invoke(New Action(Function() As Object
Anime_Add.ProcessFunimationJS(WebBrowser1.Address)
Return Nothing
End Function))
Main.b = True
Exit Sub
End If
End If
End If
If ScanTrue = True Then
If CBool(InStr(requesturl, ".m3u8")) Then
Dim client0 As New WebClient
client0.Encoding = Encoding.UTF8
'client0.Headers.Add(HttpRequestHeader.Cookie, e.Channel.GetRequestHeader("Cookie"))
Dim str0 As String = client0.DownloadString(requesturl)
If CBool(InStr(str0, "#EXTM3U")) Then
Main.m3u8List.Add(requesturl)
Else
Dim DecodedUrl As String = UrlDecode(requesturl)
'MsgBox(DecodedUrl)
Dim URLSplit() As String = DecodedUrl.Split(New String() {".m3u8"}, System.StringSplitOptions.RemoveEmptyEntries)
Dim URLSplit2() As String = URLSplit(0).Split(New String() {"https://"}, System.StringSplitOptions.RemoveEmptyEntries)
Dim NewUrl As String = "https://" + URLSplit2(URLSplit2.Count - 1) + ".m3u8" + URLSplit(1)
'MsgBox(NewUrl)
Dim str1 As String = client0.DownloadString(NewUrl)
'MsgBox(str1)
If CBool(InStr(str1, "#EXTM3U")) Then
Main.m3u8List.Add(NewUrl)
End If
End If
ElseIf CBool(InStr(requesturl, ".mpd")) Then
Main.mpdList.Add(requesturl)
ElseIf CBool(InStr(requesturl, "googlevideo.com")) And CBool(InStr(requesturl, "&range=")) = True Then
Dim DecodedUrl As String = UrlDecode(requesturl)
'MsgBox(DecodedUrl)
Dim VideoUrl() As String = DecodedUrl.Split(New String() {"&range="}, System.StringSplitOptions.RemoveEmptyEntries)
Dim VideoUrl2() As String = VideoUrl(1).Split(New String() {"&"}, System.StringSplitOptions.RemoveEmptyEntries)
Dim NewUrl As String = VideoUrl(0) + "&" + VideoUrl2(1)
'Debug.WriteLine(NewUrl)
If Not Main.mpdList.Contains(NewUrl) Then
Main.mpdList.Add(NewUrl)
End If
ElseIf CBool(InStr(requesturl, ".txt")) Then
Main.txtList.Add(requesturl)
ElseIf CBool(InStr(requesturl, ".vtt")) Then
Main.txtList.Add(requesturl)
ElseIf CBool(InStr(requesturl, ".srt")) Then
Main.txtList.Add(requesturl)
ElseIf CBool(InStr(requesturl, ".ass")) Then
Main.txtList.Add(requesturl)
ElseIf CBool(InStr(requesturl, ".ssa")) Then
Main.txtList.Add(requesturl)
ElseIf CBool(InStr(requesturl, ".dfxp")) Then
Main.txtList.Add(requesturl)
End If
End If
End Sub

View File

@ -51,6 +51,7 @@ Partial Class Main
Me.Timer3OffToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.ThreadCount = New System.Windows.Forms.ToolStripMenuItem()
Me.MsgBoxToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.CRCookieToolStripMenuItem = 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()
@ -184,7 +185,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.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.Name = "ContextMenuStrip1"
resources.ApplyResources(Me.ContextMenuStrip1, "ContextMenuStrip1")
'
@ -228,6 +229,11 @@ Partial Class Main
Me.MsgBoxToolStripMenuItem.Name = "MsgBoxToolStripMenuItem"
resources.ApplyResources(Me.MsgBoxToolStripMenuItem, "MsgBoxToolStripMenuItem")
'
'CRCookieToolStripMenuItem
'
Me.CRCookieToolStripMenuItem.Name = "CRCookieToolStripMenuItem"
resources.ApplyResources(Me.CRCookieToolStripMenuItem, "CRCookieToolStripMenuItem")
'
'Main
'
Me.ApplyImageInvert = True
@ -284,4 +290,5 @@ Partial Class Main
Friend WithEvents Timer3OffToolStripMenuItem As ToolStripMenuItem
Friend WithEvents ThreadCount As ToolStripMenuItem
Friend WithEvents MsgBoxToolStripMenuItem As ToolStripMenuItem
Friend WithEvents CRCookieToolStripMenuItem As ToolStripMenuItem
End Class

View File

@ -534,6 +534,12 @@
<data name="&gt;&gt;MsgBoxToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;CRCookieToolStripMenuItem.Name" xml:space="preserve">
<value>CRCookieToolStripMenuItem</value>
</data>
<data name="&gt;&gt;CRCookieToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>Main</value>
</data>
@ -597,6 +603,12 @@
<data name="MsgBoxToolStripMenuItem.Text" xml:space="preserve">
<value>MsgBox(LoadedUrls)</value>
</data>
<data name="CRCookieToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>233, 22</value>
</data>
<data name="CRCookieToolStripMenuItem.Text" xml:space="preserve">
<value>CR_Cookie</value>
</data>
<data name="ContextMenuStrip1.Size" type="System.Drawing.Size, System.Drawing">
<value>234, 202</value>
</data>

File diff suppressed because it is too large Load Diff

View File

@ -548,6 +548,15 @@ Namespace My.Resources
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Zeichenfolge, die &lt;html&gt;&lt;head&gt;&lt;meta name=&quot;color-scheme&quot; content=&quot;light dark&quot;&gt;&lt;/head&gt;&lt;pre style=&quot;word-wrap: break-word; white-space: pre-wrap;&quot;&gt; ähnelt.
'''</summary>
Friend ReadOnly Property htmlReplace() As String
Get
Return ResourceManager.GetString("htmlReplace", resourceCulture)
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Zeichenfolge, die &lt;a class=&quot;main_titel&quot;&gt;Placeholder&lt;/a&gt;
'''&lt;img alt=&quot;image error&quot; src=&quot;balken.png&quot; class=&quot;class-balken&quot;&gt; ähnelt.

View File

@ -562,4 +562,7 @@ START=[Start]
END=[duration_ms]
title=Ending</value>
</data>
<data name="htmlReplace" xml:space="preserve">
<value>&lt;html&gt;&lt;head&gt;&lt;meta name="color-scheme" content="light dark"&gt;&lt;/head&gt;&lt;pre style="word-wrap: break-word; white-space: pre-wrap;"&gt;</value>
</data>
</root>