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 Public AuthorizationCookie As String = Nothing
Private Sub LoadBrowser(ByVal Url As String) Public Sub LoadBrowser(ByVal Url As String)
Main.LoadedUrl = Url Main.LoadedUrl = Url
Dim locale As String = "en-US" ' 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 ' If CBool(InStr(Url, "beta.crunchyroll.com")) = True And CBool(InStr(Url, "watch")) = True And CBool(Main.CrBetaBasic = Nothing) = False Then
#Region "Get Cookies" '#Region "Get Cookies"
Dim Cookies As String = "Cookie: " ' Dim Cookies As String = Main.CR_Cookies '"Cookie: "
Try ' 'Try
Dim Collector As New TaskCookieVisitor ' ' Dim Collector As New TaskCookieVisitor
Dim CM As ICookieManager = CefSharp_Browser.WebBrowser1.GetCookieManager ' ' Dim CM As ICookieManager = CefSharp_Browser.WebBrowser1.GetCookieManager
CM.VisitAllCookies(Collector) ' ' CM.VisitAllCookies(Collector)
Dim DeviceRegion As String = Nothing ' ' Dim DeviceRegion As String = Nothing
Dim list As List(Of Global.CefSharp.Cookie) = Collector.Task.Result() ' ' Dim list As List(Of Global.CefSharp.Cookie) = Collector.Task.Result()
For i As Integer = 0 To list.Count - 1 ' ' For i As Integer = 0 To list.Count - 1
'MsgBox(list.Item(i).Name + ":" + vbNewLine + list.Item(i).Value) ' ' '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 ' ' 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 + ";" ' ' Cookies = Cookies + list.Item(i).Name + "=" + list.Item(i).Value + ";"
End If ' ' End If
If CBool(InStr(list.Item(i).Domain, ".crunchyroll.com")) And CBool(InStr(list.Item(i).Name, "c_locale")) Then ' ' If CBool(InStr(list.Item(i).Domain, ".crunchyroll.com")) And CBool(InStr(list.Item(i).Name, "c_locale")) Then
locale = list.Item(i).Value ' ' locale = list.Item(i).Value
End If ' ' End If
Next ' ' Next
Catch ex As Exception ' 'Catch ex As Exception
CefSharp_Browser.WebBrowser1.Load(Url) ' ' CefSharp_Browser.WebBrowser1.Load(Url)
Exit Sub ' ' Exit Sub
End Try ' 'End Try
#End Region '#End Region
Dim CRBetaBearer As String = "Bearer " ' Dim CRBetaBearer As String = "Bearer "
Try ' Try
Dim Request As HttpWebRequest = CType(WebRequest.Create("https://beta.crunchyroll.com/auth/v1/token"), HttpWebRequest) ' Dim Request As HttpWebRequest = CType(WebRequest.Create("https://www.crunchyroll.com/auth/v1/token"), HttpWebRequest)
Request.Method = "POST" ' Request.Method = "POST"
Request.ContentType = "application/x-www-form-urlencoded" ' Request.ContentType = "application/x-www-form-urlencoded"
Request.Accept = "application/json, text/plain, */*" ' 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-Language: de,en-US;q=0.7,en;q=0.3")
Request.Headers.Add("Accept-Encoding: identity") ' Request.Headers.Add("Accept-Encoding: gzip, deflate, br") 'identity")
Request.Headers.Add("Authorization: " + Main.CrBetaBasic) ' Request.Headers.Add("Authorization: " + Main.CrBetaBasic)
'Request.Headers.Add("Referer: " + Url) ' 'Request.Headers.Add("Referer: " + Url)
Request.Referer = Url ' Request.Referer = Url
Request.Headers.Add("Origin: https://beta.crunchyroll.com") ' Request.Headers.Add("Origin: https://www.crunchyroll.com")
Request.Headers.Add(Cookies) ' Request.Headers.Add(Cookies)
Dim Post As String = "grant_type=etp_rt_cookie" ' Dim Post As String = "grant_type=etp_rt_cookie"
Dim byteArray() As Byte = Encoding.UTF8.GetBytes(Post) ' Dim byteArray() As Byte = Encoding.UTF8.GetBytes(Post)
Request.ContentLength = byteArray.Length ' Request.ContentLength = byteArray.Length
Dim DataStream As Stream = Request.GetRequestStream() ' Dim DataStream As Stream = Request.GetRequestStream()
DataStream.Write(byteArray, 0, byteArray.Length) ' DataStream.Write(byteArray, 0, byteArray.Length)
DataStream.Close() ' DataStream.Close()
Dim Response As HttpWebResponse = CType(Request.GetResponse(), HttpWebResponse) ' Dim Response As HttpWebResponse = CType(Request.GetResponse(), HttpWebResponse)
DataStream = Response.GetResponseStream() ' DataStream = Response.GetResponseStream()
Dim reader As New StreamReader(DataStream) ' Dim reader As New StreamReader(DataStream)
Dim ServerResponseString As String = reader.ReadToEnd() ' Dim ServerResponseString As String = reader.ReadToEnd()
reader.Close() ' reader.Close()
DataStream.Close() ' DataStream.Close()
Response.Close() ' Response.Close()
'Debug.WriteLine(ServerResponseString) ' 'Debug.WriteLine(ServerResponseString)
Dim Token() As String = ServerResponseString.Split(New String() {Chr(34) + "access_token" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries) ' 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) ' Dim Token2() As String = Token(1).Split(New String() {Chr(34) + "," + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
CRBetaBearer = CRBetaBearer + Token2(0) ' CRBetaBearer = CRBetaBearer + Token2(0)
Catch ex As Exception ' Catch ex As Exception
Debug.WriteLine(ex.ToString) ' Debug.WriteLine(ex.ToString)
CefSharp_Browser.WebBrowser1.Load(Url) ' CefSharp_Browser.WebBrowser1.Load(Url)
Exit Sub ' Exit Sub
End Try ' End Try
Dim ObjectsUrl As String = Nothing ' Dim ObjectsUrl As String = Nothing
Try ' Try
Using client As New WebClient() ' Using client As New WebClient()
client.Encoding = System.Text.Encoding.UTF8 ' client.Encoding = System.Text.Encoding.UTF8
client.Headers.Add(My.Resources.ffmpeg_user_agend.Replace(Chr(34), "")) ' 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: application/json, text/javascript, */*; q=0.01")
client.Headers.Add("Accept-Encoding: identity") ' client.Headers.Add("Accept-Encoding: identity")
client.Headers.Add("Referer: " + Url) ' client.Headers.Add("Referer: " + Url)
client.Headers.Add("Authorization: " + CRBetaBearer) ' client.Headers.Add("Authorization: " + CRBetaBearer)
client.Headers.Add(Cookies) '+ WebBrowser1.Document.Cookie) ' client.Headers.Add(Cookies) '+ WebBrowser1.Document.Cookie)
'MsgBox(OmUStreamSplitEpisodeIndex(1)) ' 'MsgBox(OmUStreamSplitEpisodeIndex(1))
Dim v2Content As String = client.DownloadString("https://beta.crunchyroll.com/index/v2") ' Dim v2Content As String = client.DownloadString("https://www.crunchyroll.com/index/v2")
'Debug.WriteLine(v2Content) ' 'Debug.WriteLine(v2Content)
Dim v2ContentBeta() As String = v2Content.Split(New String() {Chr(34) + "cms_beta" + Chr(34) + ":"}, System.StringSplitOptions.RemoveEmptyEntries) ' 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 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 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 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 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 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 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_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 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 ObjectsURLBuilder3() As String = Url.Split(New String() {"watch/"}, System.StringSplitOptions.RemoveEmptyEntries)
Dim ObjectsURLBuilder4() As String = ObjectsURLBuilder3(1).Split(New String() {"/"}, 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) ' 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 ' End Using
'Debug.WriteLine(ObjectsUrl) ' 'Debug.WriteLine(ObjectsUrl)
Catch ex As Exception ' Catch ex As Exception
CefSharp_Browser.WebBrowser1.Load(Url) ' CefSharp_Browser.WebBrowser1.Load(Url)
Exit Sub ' Exit Sub
End Try ' End Try
Dim StreamsUrl As String = Nothing ' Dim StreamsUrl As String = Nothing
Dim ObjectJson As String ' Dim ObjectJson As String
Try ' Try
Try ' Try
Using client As New WebClient() ' Using client As New WebClient()
client.Encoding = System.Text.Encoding.UTF8 ' client.Encoding = System.Text.Encoding.UTF8
client.Headers.Add(My.Resources.ffmpeg_user_agend.Replace(Chr(34), "")) ' client.Headers.Add(My.Resources.ffmpeg_user_agend.Replace(Chr(34), ""))
ObjectJson = client.DownloadString(ObjectsUrl) ' ObjectJson = client.DownloadString(ObjectsUrl)
End Using ' End Using
Catch ex As Exception ' Catch ex As Exception
Debug.WriteLine("error- getting name data") ' Debug.WriteLine("error- getting name data")
Exit Sub ' Exit Sub
End Try ' End Try
Catch ex As Exception ' Catch ex As Exception
CefSharp_Browser.WebBrowser1.Load(Url) ' CefSharp_Browser.WebBrowser1.Load(Url)
Exit Sub ' Exit Sub
End Try ' End Try
Try ' Try
Dim StreamsUrlBuilder() As String = ObjectJson.Split(New String() {"videos/"}, System.StringSplitOptions.RemoveEmptyEntries) ' 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 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 StreamsUrlBuilder3() As String = ObjectsUrl.Split(New String() {"objects/"}, System.StringSplitOptions.RemoveEmptyEntries)
Dim StreamsUrlBuilder4() As String = StreamsUrlBuilder3(1).Split(New String() {"?"}, System.StringSplitOptions.RemoveEmptyEntries) ' Dim StreamsUrlBuilder4() As String = StreamsUrlBuilder3(1).Split(New String() {"?"}, System.StringSplitOptions.RemoveEmptyEntries)
StreamsUrl = StreamsUrlBuilder3(0) + "videos/" + StreamsUrlBuilder2(0) + "/streams?" + StreamsUrlBuilder4(1) ' StreamsUrl = StreamsUrlBuilder3(0) + "videos/" + StreamsUrlBuilder2(0) + "/streams?" + StreamsUrlBuilder4(1)
' Debug.WriteLine(StreamsUrl) ' ' Debug.WriteLine(StreamsUrl)
Catch ex As Exception ' Catch ex As Exception
CefSharp_Browser.WebBrowser1.Load(Url) ' CefSharp_Browser.WebBrowser1.Load(Url)
Exit Sub ' Exit Sub
End Try ' End Try
Main.GetBetaVideoProxy(StreamsUrl, Url) ' Main.GetBetaVideoProxy(StreamsUrl, Url)
Else ' Else
CefSharp_Browser.WebBrowser1.Load(Url) CefSharp_Browser.WebBrowser1.Load(Url)
End If 'End If
End Sub End Sub
@ -457,7 +457,7 @@ Public Class Anime_Add
comboBox3.Enabled = False comboBox3.Enabled = False
ComboBox1.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" StatusLabel.Text = "Status: idle"
'btn_dl.BackgroundImage = My.Resources.add_mass_running_cancel 'btn_dl.BackgroundImage = My.Resources.add_mass_running_cancel
@ -484,18 +484,6 @@ Public Class Anime_Add
comboBox3.Enabled = False comboBox3.Enabled = False
ComboBox1.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 End If
ElseIf GroupBox3.Visible = True Then ElseIf GroupBox3.Visible = True Then
@ -605,11 +593,11 @@ Public Class Anime_Add
End Sub End Sub
Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged 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() comboBox3.Items.Clear()
comboBox4.Items.Clear() comboBox4.Items.Clear()
comboBox3.Enabled = True comboBox3.Enabled = False
comboBox4.Enabled = True comboBox4.Enabled = False
comboBox3.Text = Nothing comboBox3.Text = Nothing
comboBox4.Text = Nothing comboBox4.Text = Nothing
Dim SeasonSplit() As String = Main.CrBetaMass.Split(New String() {Chr(34) + "id" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries) 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 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 EpisodeJsonURL As String = Main.CrBetaMassBaseURL + "episodes?season_id=" + SeasonSplit2(0) + "&locale=" + Main.CrBetaMassParameters
Dim EpisodeJson As String = Nothing
Debug.WriteLine(EpisodeJsonURL) 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
CefSharp_Browser.WebBrowser1.LoadUrl(EpisodeJsonURL)
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) 'Try
For i As Integer = 1 To EpisodeSplit.Count - 1 ' Using client As New WebClient()
Dim EpisodeSplit2() As String = EpisodeSplit(i).Split(New String() {Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries) ' client.Encoding = System.Text.Encoding.UTF8
Dim EpisodeNameSplit2() As String = EpisodeNameSplit(i).Split(New String() {Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries) ' client.Headers.Add(My.Resources.ffmpeg_user_agend.Replace(Chr(34), ""))
If EpisodeSplit(i).Substring(0, 1) = Chr(34) Then ' EpisodeJson = client.DownloadString(EpisodeJsonURL)
comboBox3.Items.Add(EpisodeNameSplit2(0)) ' End Using
comboBox4.Items.Add(EpisodeNameSplit2(0)) 'Catch ex As Exception
Else ' Debug.WriteLine("error- getting EpisodeJson data")
comboBox3.Items.Add("Episode " + EpisodeSplit2(0)) ' Debug.WriteLine(ex.ToString)
comboBox4.Items.Add("Episode " + EpisodeSplit2(0)) ' Exit Sub
End If 'End Try
Next
If comboBox3.Items.Count > 0 Then
comboBox3.SelectedIndex = 0
comboBox4.SelectedIndex = comboBox4.Items.Count - 1
End If
@ -761,42 +729,6 @@ Public Class Anime_Add
End If 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 If
End Sub End Sub

View File

@ -9,6 +9,7 @@ Imports System.Net.WebUtility
Imports System.IO.Compression Imports System.IO.Compression
Imports System.Text Imports System.Text
Imports AdapterRequestHandler Imports AdapterRequestHandler
Imports System.Security.Policy
Public Class CefSharp_Browser Public Class CefSharp_Browser
@ -39,6 +40,7 @@ Public Class CefSharp_Browser
Main.WebbrowserURL = WebBrowser1.Address Main.WebbrowserURL = WebBrowser1.Address
TextBox1.Text = Main.WebbrowserURL TextBox1.Text = Main.WebbrowserURL
Try Try
If Btn_Scan.Enabled = False And Btn_Scan.Text = "Start network scan" Then If Btn_Scan.Enabled = False And Btn_Scan.Text = "Start network scan" Then
Btn_Scan.Enabled = True Btn_Scan.Enabled = True
@ -71,15 +73,17 @@ Public Class CefSharp_Browser
Try Try
Dim HTML As String = Await WebBrowser1.GetSourceAsync Dim HTML As String = Await WebBrowser1.GetSourceAsync
' Dim HTML2 As String = Await
Document = HTML Document = HTML
Debug.WriteLine("get html") Debug.WriteLine("get html")
Me.Invoke(New Action(Function() As Object Me.Invoke(New Action(Function() As Object
Main.WebbrowserText = HTML Main.WebbrowserText = HTML
Main.WebbrowserURL = WebBrowser1.Address Main.WebbrowserURL = WebBrowser1.Address
Main.WebbrowserTitle = DocumentTitle Main.WebbrowserTitle = DocumentTitle
Main.ProcessHTML(HTML, WebBrowser1.Address, DocumentTitle) Main.ProcessHTML(HTML, WebBrowser1.Address, DocumentTitle)
'If Main.UserBowser = False Then 'If Main.UserBowser = False Then
' Me.Close() ' Me.Close()
'End If 'End If
@ -143,6 +147,28 @@ Public Class CefSharp_Browser
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 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 Try
My.Computer.Clipboard.SetText(WebBrowser1.Address) My.Computer.Clipboard.SetText(WebBrowser1.Address)
@ -283,23 +309,32 @@ Public Class CefSharp_Browser
If (Me.InvokeRequired) Then If (Me.InvokeRequired) Then
Me.Invoke(Sub() 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 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) Dim Basic2 As String() = Basic(1).Split(New String() {","}, System.StringSplitOptions.RemoveEmptyEntries)
Main.CrBetaBasic = "Basic " + Basic2(0) Main.CrBetaBasic = "Basic " + Basic2(0)
Debug.WriteLine(Main.CrBetaBasic) Debug.WriteLine(Main.CrBetaBasic)
End If End If
End Sub) End Sub)
Else 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 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) Dim Basic2 As String() = Basic(1).Split(New String() {","}, System.StringSplitOptions.RemoveEmptyEntries)
Main.CrBetaBasic = "Basic " + Basic2(0) Main.CrBetaBasic = "Basic " + Basic2(0)
Debug.WriteLine(Main.CrBetaBasic) Debug.WriteLine(Main.CrBetaBasic)
End If End If
End If End If
' '
'Debug.WriteLine(e.Request.Url) 'Debug.WriteLine(e.Request.Url)
@ -336,8 +371,7 @@ Public Class CefSharp_Browser
Exit Sub Exit Sub
End If End If
Debug.WriteLine(e.Request.Url) Debug.WriteLine(e.Request.Url)
ElseIf CBool(InStr(e.Request.Url, "crunchyroll.com/")) And CBool(InStr(e.Request.Url, "streams?")) Then
ElseIf CBool(InStr(e.Request.Url, "https://beta-api.crunchyroll.com/")) And CBool(InStr(e.Request.Url, "streams?")) Then
If (Me.InvokeRequired) Then If (Me.InvokeRequired) Then
Me.Invoke(Sub() Main.LoadedUrls.Add(e.Request.Url)) Me.Invoke(Sub() Main.LoadedUrls.Add(e.Request.Url))
Exit Sub Exit Sub
@ -346,25 +380,7 @@ Public Class CefSharp_Browser
Exit Sub Exit Sub
End If End If
Debug.WriteLine(e.Request.Url) Debug.WriteLine(e.Request.Url)
ElseIf CBool(InStr(e.Request.Url, "https://beta.crunchyroll.com/")) And CBool(InStr(e.Request.Url, "streams?")) 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
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
If (Me.InvokeRequired) Then If (Me.InvokeRequired) Then
Me.Invoke(Sub() Main.LoadedUrls.Add(e.Request.Url)) Me.Invoke(Sub() Main.LoadedUrls.Add(e.Request.Url))
Exit Sub Exit Sub
@ -394,159 +410,6 @@ Public Class CefSharp_Browser
End If 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 End Sub

View File

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

View File

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

File diff suppressed because it is too large Load Diff

View File

@ -548,6 +548,15 @@ Namespace My.Resources
End Get End Get
End Property 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> '''<summary>
''' Sucht eine lokalisierte Zeichenfolge, die &lt;a class=&quot;main_titel&quot;&gt;Placeholder&lt;/a&gt; ''' 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. '''&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] END=[duration_ms]
title=Ending</value> title=Ending</value>
</data> </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> </root>