funimation mass download redone

funimation mass download redone
This commit is contained in:
hama3254 2021-09-26 22:01:31 +02:00
parent 6e6943c222
commit 26cf94d36f
106 changed files with 9010 additions and 628 deletions

Binary file not shown.

View File

@ -34,7 +34,7 @@ Partial Class Anime_Add
Me.TextBox2 = New MetroFramework.Controls.MetroTextBox()
Me.textBox2 = New MetroFramework.Controls.MetroTextBox()
Me.groupBox2 = New System.Windows.Forms.GroupBox()
Me.comboBox4 = New MetroFramework.Controls.MetroComboBox()

View File

@ -883,10 +883,25 @@ Public Class Anime_Add
comboBox4.Items.Clear()
comboBox3.Text = Nothing
comboBox4.Text = Nothing
Dim ContentID As String = Nothing
For i As Integer = 0 To Main.FunimtaionSeasonList.Count - 1
If ComboBox1.Text = Main.FunimtaionSeasonList.Item(i).Title Then
ContentID = Main.FunimtaionSeasonList.Item(i).ID
Exit For
End If
Next
If ContentID = Nothing Then
MsgBox("error during season selection")
Exit Sub
End If
Dim BaseUrl() As String = Main.FunimationSeasonAPIUrl.Split(New String() {"/shows/"}, System.StringSplitOptions.RemoveEmptyEntries)
Dim EpisodeJsonURL As String = "https://title-api.prd.funimationsvc.com/v1/seasons/" + Main.FunimtaionAPISeasonID.Item(ComboBox1.SelectedIndex) + Main.FunimationAPIRegion
Dim EpisodeJsonURL As String = BaseUrl(0) + "/seasons/" + ContentID + ".json"
Dim EpisodeJson As String = Nothing
Debug.WriteLine(EpisodeJsonURL)
@ -904,9 +919,28 @@ Public Class Anime_Add
Exit Sub
End Try
FillFunimationEpisodes(EpisodeJson)
'Dim EpisodeJsonURL As String = "https://title-api.prd.funimationsvc.com/v1/seasons/" + Main.FunimtaionAPISeasonID.Item(ComboBox1.SelectedIndex) + Main.FunimationAPIRegion
'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)
' Main.FunimationJsonBrowser = "EpisodeJson"
' CefSharp_Browser.WebBrowser1.Load(EpisodeJsonURL)
' Exit Sub
'End Try
'FillFunimationEpisodes(EpisodeJson)
ElseIf AoD_Mode = False Then
@ -972,18 +1006,18 @@ Public Class Anime_Add
Public Sub FillFunimationEpisodes(ByVal EpisodeJson As String)
Main.FunimationEpisodeJSON = EpisodeJson
comboBox3.Enabled = True
comboBox4.Enabled = True
Dim EpisodeSplit() As String = EpisodeJson.Split(New String() {Chr(34) + "episodeNumber" + Chr(34) + ": " + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
Dim EpisodeSplit() As String = EpisodeJson.Split(New String() {Chr(34) + "episodeNumber" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
'EpisodeJson.Split(New String() {Chr(34) + "episodeNumber" + Chr(34) + ": " + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
Debug.WriteLine(EpisodeSplit.Count.ToString)
For i As Integer = 1 To EpisodeSplit.Count - 1
Dim EpisodeSplit2() As String = EpisodeSplit(i).Split(New String() {Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
comboBox3.Items.Add("Episode " + EpisodeSplit2(0))
comboBox4.Items.Add("Episode " + EpisodeSplit2(0))
Next
Main.WebbrowserURL = "https://funimation.com/js"
End Sub
Private Sub PictureBox1_MouseEnter(sender As Object, e As EventArgs) Handles PictureBox1.MouseEnter
PictureBox1.Image = My.Resources.add_mass_cancel_hover

View File

@ -240,49 +240,72 @@ Public Class CefSharp_Browser
Private Sub ObserveHttp(e As RequestResourceEventArgs) 'Handles RequestResource.GetUrl
'Debug.WriteLine(e.RequestUrl)
If CBool(InStr(e.RequestUrl, "https://beta-api.crunchyroll.com/")) And CBool(InStr(e.RequestUrl, "streams?")) Then
If (Me.InvokeRequired) Then
If Main.b = True And Main.FunimationJsonBrowser = Nothing Then
Exit Sub
End If
Else
If Main.b = True And Main.FunimationJsonBrowser = Nothing Then
Exit Sub
End If
End If
If CBool(InStr(e.RequestUrl, "https://title-api.prd.funimationsvc.com")) Then
If (Me.InvokeRequired) Then
Me.Invoke(Sub() Main.LoadedUrls.Add(e.RequestUrl))
Exit Sub
Else
Main.LoadedUrls.Add(e.RequestUrl)
Exit Sub
End If
Debug.WriteLine(e.RequestUrl)
ElseIf CBool(InStr(e.RequestUrl, "/data/v2/shows/")) Then
If (Me.InvokeRequired) Then
Me.Invoke(Sub() Main.LoadedUrls.Add(e.RequestUrl))
Exit Sub
Else
Main.LoadedUrls.Add(e.RequestUrl)
Exit Sub
End If
Debug.WriteLine(e.RequestUrl)
ElseIf CBool(InStr(e.RequestUrl, "https://beta-api.crunchyroll.com/")) And CBool(InStr(e.RequestUrl, "streams?")) Then
If (Me.InvokeRequired) Then
Me.Invoke(Sub() Main.LoadedUrls.Add(e.RequestUrl))
Exit Sub
Else
Main.LoadedUrls.Add(e.RequestUrl)
Exit Sub
End If
Debug.WriteLine(e.RequestUrl)
ElseIf CBool(InStr(e.RequestUrl, "https://beta-api.crunchyroll.com/")) And CBool(InStr(e.RequestUrl, "seasons?series_id=")) Then
If (Me.InvokeRequired) Then
Me.Invoke(Sub() Main.LoadedUrls.Add(e.RequestUrl))
Exit Sub
Else
Main.LoadedUrls.Add(e.RequestUrl)
Exit Sub
End If
Debug.WriteLine(e.RequestUrl)
ElseIf CBool(InStr(e.requesturl, "https://api.vrv.co")) And CBool(InStr(e.requesturl, "streams?")) Then
If (Me.InvokeRequired) Then
Me.Invoke(Sub() Main.LoadedUrls.Add(e.RequestUrl))
Exit Sub
Else
Main.LoadedUrls.Add(e.RequestUrl)
Exit Sub
End If
Debug.WriteLine(e.RequestUrl)
ElseIf CBool(InStr(e.requesturl, "https://api.vrv.co")) And CBool(InStr(e.requesturl, "seasons?series_id=")) Then
If (Me.InvokeRequired) Then
Me.Invoke(Sub() Main.LoadedUrls.Add(e.RequestUrl))
Exit Sub
Else
Main.LoadedUrls.Add(e.RequestUrl)
Exit Sub
End If
Debug.WriteLine(e.RequestUrl)
ElseIf CBool(InStr(e.RequestUrl, "https://title-api.prd.funimationsvc.com")) Then
If (Me.InvokeRequired) Then
Me.Invoke(Sub() Main.LoadedUrls.Add(e.RequestUrl))
Else
Main.LoadedUrls.Add(e.RequestUrl)
End If
Debug.WriteLine(e.RequestUrl)
ElseIf CBool(InStr(e.RequestUrl, "/data/v1/shows/")) Then
If (Me.InvokeRequired) Then
Me.Invoke(Sub() Main.LoadedUrls.Add(e.RequestUrl))
Else
Main.LoadedUrls.Add(e.RequestUrl)
End If
Debug.WriteLine(e.RequestUrl)
End If
Exit Sub

View File

@ -45,6 +45,7 @@ Partial Class Main
Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.ToggleDebugModeToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.OpenSettingsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.TestDownloadToolStripMenuItem = 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()
@ -178,7 +179,7 @@ Partial Class Main
'
'ContextMenuStrip1
'
Me.ContextMenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToggleDebugModeToolStripMenuItem, Me.OpenSettingsToolStripMenuItem})
Me.ContextMenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToggleDebugModeToolStripMenuItem, Me.OpenSettingsToolStripMenuItem, Me.TestDownloadToolStripMenuItem})
Me.ContextMenuStrip1.Name = "ContextMenuStrip1"
resources.ApplyResources(Me.ContextMenuStrip1, "ContextMenuStrip1")
'
@ -192,6 +193,11 @@ Partial Class Main
Me.OpenSettingsToolStripMenuItem.Name = "OpenSettingsToolStripMenuItem"
resources.ApplyResources(Me.OpenSettingsToolStripMenuItem, "OpenSettingsToolStripMenuItem")
'
'TestDownloadToolStripMenuItem
'
Me.TestDownloadToolStripMenuItem.Name = "TestDownloadToolStripMenuItem"
resources.ApplyResources(Me.TestDownloadToolStripMenuItem, "TestDownloadToolStripMenuItem")
'
'Main
'
Me.ApplyImageInvert = True
@ -242,4 +248,5 @@ Partial Class Main
Friend WithEvents ContextMenuStrip1 As ContextMenuStrip
Friend WithEvents ToggleDebugModeToolStripMenuItem As ToolStripMenuItem
Friend WithEvents OpenSettingsToolStripMenuItem As ToolStripMenuItem
Friend WithEvents TestDownloadToolStripMenuItem As ToolStripMenuItem
End Class

View File

@ -498,6 +498,12 @@
<data name="&gt;&gt;OpenSettingsToolStripMenuItem.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;TestDownloadToolStripMenuItem.Name" xml:space="preserve">
<value>TestDownloadToolStripMenuItem</value>
</data>
<data name="&gt;&gt;TestDownloadToolStripMenuItem.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>
@ -525,8 +531,14 @@
<data name="OpenSettingsToolStripMenuItem.Text" xml:space="preserve">
<value>Open Settings</value>
</data>
<data name="TestDownloadToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>181, 22</value>
</data>
<data name="TestDownloadToolStripMenuItem.Text" xml:space="preserve">
<value>Check Urls</value>
</data>
<data name="ContextMenuStrip1.Size" type="System.Drawing.Size, System.Drawing">
<value>182, 48</value>
<value>182, 92</value>
</data>
<data name="&gt;&gt;ContextMenuStrip1.Name" xml:space="preserve">
<value>ContextMenuStrip1</value>

View File

@ -42,6 +42,8 @@ Public Class Main
Public FunimationShowPath As String = Nothing
Public FunimationEpisodeJSON As String = Nothing
Public FunimtaionAPISeasonID As New List(Of String)
Public FunimtaionSeasonList As New List(Of FunimationOverview)
Public FunimationSeasonAPIUrl As String = Nothing
Public FunimationJsonBrowser As String = Nothing
Public Manager As New MetroStyleManager
@ -375,11 +377,12 @@ Public Class Main
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)
b = True
Thread.CurrentThread.Name = "Main"
Debug.WriteLine("Thread Name: " + Thread.CurrentThread.Name)
Try
Dim rkg As RegistryKey = Registry.CurrentUser.OpenSubKey("Software\CRDownloader")
@ -2148,17 +2151,7 @@ Public Class Main
End If
End If
If KodiNaming = True Then
Dim KodiString As String = "[S"
If CR_Anime_Staffel_int = "0" Then
CR_Anime_Staffel_int = "01"
Else
CR_Anime_Staffel_int = "0" + CR_Anime_Staffel_int
End If
KodiString = KodiString + CR_Anime_Staffel_int + " E" + CR_episode_int
KodiString = KodiString + "] "
CR_FilenName = KodiString + CR_FilenName
End If
If KodiNaming = True Then
@ -4476,10 +4469,103 @@ Public Class Main
End Sub
#Region "Funimation JS "
Public Sub GetFunimationJS_Seasons(Optional ByVal JsonUrl As String = Nothing, Optional ByVal Json As String = Nothing)
Dim SeasonJson As String = Nothing
Debug.WriteLine("JsonUrl: " + JsonUrl)
If JsonUrl = Nothing Then
SeasonJson = Json
Else
FunimationSeasonAPIUrl = JsonUrl
'Navigate(JsonUrl)
'FunimationJsonBrowser = "SeasonJson"
'Exit Sub
Try
Using client As New WebClient()
client.Encoding = System.Text.Encoding.UTF8
client.Headers.Add(My.Resources.ffmpeg_user_agend.Replace(Chr(34), ""))
SeasonJson = client.DownloadString(JsonUrl)
End Using
Catch ex As Exception
Debug.WriteLine("error- getting funimation SeasonJson data")
FunimationJsonBrowser = "SeasonJson"
Navigate(JsonUrl)
'Navigate(JsonUrl)
Exit Sub
End Try
End If
Dim ser As JObject = JObject.Parse(SeasonJson)
Dim data As List(Of JToken) = ser.Children().ToList
Dim Slug As String = Nothing
Dim Title As String = Nothing
Dim ID As String = Nothing
For Each item As JProperty In data
item.CreateReader()
'MsgBox(item.Name)
Select Case item.Name
Case "slug"
Slug = item.Value.ToString
Case "index" 'each record is inside the entries array
Dim SubData2 As List(Of JToken) = item.Values("seasons").Children().ToList
For i As Integer = 0 To SubData2.Count - 1
Dim SubItem As JToken = SubData2.Item(i)
Dim SeasonSubData As List(Of JToken) = SubItem.Children().ToList
For Each SeasonSubItem As JProperty In SeasonSubData
SeasonSubItem.CreateReader()
Select Case SeasonSubItem.Name
Case "contentId"
'MsgBox(SeasonSubItem.Value.ToString)
ID = SeasonSubItem.Value.ToString
Case "title"
' MsgBox(SeasonSubItem.Value.Item("en").ToString)
Title = SeasonSubItem.Value.Item("en").ToString
FunimtaionSeasonList.Add(New FunimationOverview(Slug, ID, Title))
End Select
Next
Next
End Select
Next
Anime_Add.groupBox2.Visible = True
Anime_Add.PictureBox1.Enabled = True
Anime_Add.PictureBox1.Visible = True
Anime_Add.groupBox1.Visible = False
Anime_Add.ComboBox1.Items.Clear()
Anime_Add.comboBox3.Items.Clear()
Anime_Add.comboBox4.Items.Clear()
Anime_Add.ComboBox1.Text = Nothing
Anime_Add.comboBox3.Text = Nothing
Anime_Add.comboBox4.Text = Nothing
Anime_Add.ComboBox1.Enabled = True
Anime_Add.comboBox3.Enabled = False
Anime_Add.comboBox4.Enabled = False
WebbrowserURL = "https://funimation.com/js"
Debug.WriteLine("Count: " + FunimtaionSeasonList.Count.ToString)
For i As Integer = 1 To FunimtaionSeasonList.Count - 1
Debug.WriteLine(FunimtaionSeasonList.Item(i).Title)
Anime_Add.ComboBox1.Items.Add(FunimtaionSeasonList.Item(i).Title)
Next
End Sub
Public Sub GetFunimationJS_SeasonsOld(Optional ByVal JsonUrl As String = Nothing, Optional ByVal Json As String = Nothing)
FunimtaionAPISeasonID.Clear()
@ -4565,14 +4651,14 @@ Public Class Main
Debug.WriteLine("EpisodeJson: " + FunimationEpisodeJSON)
Anime_Add.Add_Display.Text = "preparing ...."
Dim ListOfEpisodes As New List(Of String)
Dim BaseURL As String = "https://www.funimation.com/shows/"
If FunimationRegion IsNot Nothing Then
Dim BaseURL As String = "https://www.funimation.com/v/" + FunimtaionSeasonList.Item(0).Slug + "/"
'If FunimationRegion IsNot Nothing Then
BaseURL = "https://www.funimation.com/" + FunimationRegion + "/shows/"
Else
' BaseURL = "https://www.funimation.com/" + FunimationRegion + "/shows/"
'Else
BaseURL = "https://www.funimation.com/en/shows/"
End If
' BaseURL = "https://www.funimation.com/en/shows/"
'End If
'Dim EpisodeSplit() As String = FunimationEpisodeJSON.Split(New String() {Chr(34) + "slug" + Chr(34) + ": " + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
@ -4595,8 +4681,12 @@ Public Class Main
For Each Entry As JObject In item.Values
Dim slug As String = Entry("slug").ToString
Debug.WriteLine(BaseURL + FunimationShowPath + slug)
ListOfEpisodes.Add(BaseURL + FunimationShowPath + slug) '+ FunimationAPIRegion)
'Debug.WriteLine(BaseURL + FunimationShowPath + slug)
'ListOfEpisodes.Add(BaseURL + FunimationShowPath + slug) '+ FunimationAPIRegion)
Debug.WriteLine(BaseURL + slug)
ListOfEpisodes.Add(BaseURL + slug)
Next
@ -4707,6 +4797,7 @@ Public Class Main
End If
End Function
Public Sub GetFunimationJS_VideoProxy(Optional ByVal v1JsonURL As String = Nothing, Optional ByVal v1JsonData As String = Nothing)
LoadedUrls.Clear()
Dim Evaluator = New Thread(Sub() Me.GetFunimationJS_Video(v1JsonURL, v1JsonData))
Evaluator.Start()
End Sub
@ -4718,6 +4809,7 @@ Public Class Main
v1Json = v1JsonData
Else
Try
'Throw New Exception("TEst")
Using client As New WebClient()
client.Encoding = System.Text.Encoding.UTF8
client.Headers.Add(My.Resources.ffmpeg_user_agend.Replace(Chr(34), ""))
@ -5673,13 +5765,41 @@ Public Class Main
#Region "process html"
Public Sub ProcessHTML(ByVal document As String, ByVal Address As String, ByVal DocumentTitle As String)
If b = True Then
Exit Sub
End If
Dim localHTML As String = document
Debug.WriteLine(Date.Now.ToString + "." + Date.Now.Millisecond.ToString)
Debug.WriteLine(Address)
If CBool(InStr(Address, "title-api.prd.funimationsvc.com")) Then
If FunimationJsonBrowser = "EpisodeJson" Then
Anime_Add.FillFunimationEpisodes(localHTML.Replace("<body>", "").Replace("</body>", "").Replace("<pre>", "").Replace("</pre>", "").Replace("</html>", "").Replace("<html><head></head><pre style=" + Chr(34) + "word-wrap: break-word; white-space: pre-wrap;" + Chr(34) + ">", "")) '
FunimationJsonBrowser = Nothing
WebbrowserURL = "https://funimation.com/js"
ElseIf FunimationJsonBrowser = "v1Json" Then
GetFunimationJS_VideoProxy(Nothing, localHTML.Replace("<body>", "").Replace("</body>", "").Replace("<pre>", "").Replace("</pre>", "").Replace("</html>", "").Replace("<html><head></head><pre style=" + Chr(34) + "word-wrap: break-word; white-space: pre-wrap;" + Chr(34) + ">", "")) '
FunimationJsonBrowser = Nothing
WebbrowserURL = "https://funimation.com/js"
End If
Exit Sub
ElseIf CBool(InStr(Address, "/data/v2/shows/")) Then
If FunimationJsonBrowser = "SeasonJson" Then
'My.Computer.Clipboard.SetText(localHTML)
FunimationSeasonAPIUrl = Address
GetFunimationJS_Seasons(Nothing, localHTML.Replace("<body>", "").Replace("</body>", "").Replace("<pre>", "").Replace("</pre>", "").Replace("</html>", "").Replace("<html><head></head><pre style=" + Chr(34) + "word-wrap: break-word; white-space: pre-wrap;" + Chr(34) + ">", "")) '
FunimationJsonBrowser = Nothing
WebbrowserURL = "https://funimation.com/js"
End If
Exit Sub
End If
If b = True Then
Exit Sub
End If
'MsgBox("loaded!")
@ -5734,7 +5854,7 @@ Public Class Main
Exit Sub
ElseIf CBool(InStr(localHTML, "season-dropdown content-menu block")) Then
b = True
Anime_Add.textBox2.Text = "Use Custom Name"
Anime_Add.TextBox2.Text = "Use Custom Name"
WebbrowserURL = Address
WebbrowserText = localHTML
WebbrowserTitle = DocumentTitle
@ -5744,7 +5864,7 @@ Public Class Main
Exit Sub
ElseIf CBool(InStr(localHTML, "wrapper container-shadow hover-classes")) Then
b = True
Anime_Add.textBox2.Text = "Use Custom Name"
Anime_Add.TextBox2.Text = "Use Custom Name"
WebbrowserURL = Address
WebbrowserText = localHTML
WebbrowserTitle = DocumentTitle
@ -5816,29 +5936,14 @@ Public Class Main
Anime_Add.StatusLabel.Text = "Status: checking traffic - " + i.ToString
Pause(1)
Next
ProcessUrls()
Dim Evaluator = New Thread(Sub() Me.ProcessUrls())
Evaluator.Start()
Exit Sub
End If
End If
ElseIf CBool(InStr(Address, "title-api.prd.funimationsvc.com")) Then
If FunimationJsonBrowser = "SeasonJson" Then
'My.Computer.Clipboard.SetText(localHTML)
GetFunimationJS_Seasons(Nothing, localHTML.Replace("<body>", "").Replace("</body>", "").Replace("<pre>", "").Replace("</pre>", "").Replace("</html>", "").Replace("<html><head></head><pre style=" + Chr(34) + "word-wrap: break-word; white-space: pre-wrap;" + Chr(34) + ">", "")) '
FunimationJsonBrowser = Nothing
WebbrowserURL = "https://funimation.com/js"
ElseIf FunimationJsonBrowser = "EpisodeJson" Then
Anime_Add.FillFunimationEpisodes(localHTML.Replace("<body>", "").Replace("</body>", "").Replace("<pre>", "").Replace("</pre>", "").Replace("</html>", "").Replace("<html><head></head><pre style=" + Chr(34) + "word-wrap: break-word; white-space: pre-wrap;" + Chr(34) + ">", "")) '
FunimationJsonBrowser = Nothing
WebbrowserURL = "https://funimation.com/js"
ElseIf FunimationJsonBrowser = "v1Json" Then
GetFunimationJS_VideoProxy(Nothing, localHTML.Replace("<body>", "").Replace("</body>", "").Replace("<pre>", "").Replace("</pre>", "").Replace("</html>", "").Replace("<html><head></head><pre style=" + Chr(34) + "word-wrap: break-word; white-space: pre-wrap;" + Chr(34) + ">", "")) '
FunimationJsonBrowser = Nothing
WebbrowserURL = "https://funimation.com/js"
End If
Exit Sub
ElseIf CBool(InStr(Address, "anime-on-demand.de")) Then
Dim Collector As New TaskCookieVisitor
Dim CM As ICookieManager = CefSharp_Browser.WebBrowser1.GetCookieManager
@ -5892,6 +5997,7 @@ Public Class Main
Public Sub ProcessUrls()
Debug.WriteLine(LoadedUrls.Count.ToString)
Debug.WriteLine("Thread Name: " + Thread.CurrentThread.Name)
Dim VRVSeason As String = Nothing
@ -5938,10 +6044,11 @@ Public Class Main
'Exit Sub
End If
End If
If CBool(InStr(requesturl, "/data/v1/shows/")) Then
MsgBox("The new Funimation Overview is not supportet yet!", MsgBoxStyle.Information)
If CBool(InStr(requesturl, "/data/v2/shows/")) Then
b = True
'MsgBox("The new Funimation Overview is not supportet yet!", MsgBoxStyle.Information)
GetFunimationJS_Seasons(requesturl)
LoadedUrls.Clear()
Exit Sub
@ -6001,24 +6108,26 @@ Public Class Main
'Else
If CBool(InStr(requesturl, "https://title-api.prd.funimationsvc.com/v1/show")) And CBool(InStr(requesturl, "/episodes/")) Then
b = True
GetFunimationJS_VideoProxy(requesturl)
Debug.WriteLine("processing :" + requesturl)
b = True
LoadedUrls.Clear()
Exit Sub
Else
If FunimationEpisodeJSON = Nothing Then
Debug.WriteLine("processing overview")
Me.Invoke(New Action(Function() As Object
'MsgBox(WebbrowserURL)
Anime_Add.ProcessFunimationJS(WebbrowserURL)
Return Nothing
End Function))
b = True
LoadedUrls.Clear()
Exit Sub
End If
'Else
' If FunimationEpisodeJSON = Nothing Then
' Debug.WriteLine("processing overview")
' Me.Invoke(New Action(Function() As Object
' 'MsgBox(WebbrowserURL)
' Anime_Add.ProcessFunimationJS(WebbrowserURL)
' Return Nothing
' End Function))
' b = True
' LoadedUrls.Clear()
' Exit Sub
'End If
End If
@ -6721,14 +6830,37 @@ Public Class Main
ListView1.Select()
End Sub
Private Sub TestDownloadToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles TestDownloadToolStripMenuItem.Click
For i2 As Integer = 0 To LoadedUrls.Count - 1
Debug.WriteLine(LoadedUrls.Item(i2))
Next
End Sub
#End Region
End Class
Public Class FunimationOverview
Public ID As String
Public Title As String
Public Slug As String
Public Sub New(ByVal Slug As String, ByVal ID As String, ByVal Title As String)
Me.ID = ID
Me.Title = Title
Me.Slug = Slug
End Sub
Public Overrides Function ToString() As String
Return String.Format("{0}, {1}, {2}", Me.Slug, Me.ID, Me.Title)
End Function
End Class

View File

@ -85,5 +85,4 @@
End Sub
End Class
End Module

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="lib" />
<dependentAssembly>
<assemblyIdentity name="CefSharp" publicKeyToken="40c4b6fc221f4138" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-93.1.140.0" newVersion="93.1.140.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="CefSharp.Core" publicKeyToken="40c4b6fc221f4138" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-93.1.140.0" newVersion="93.1.140.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

View File

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2"/>
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="lib" />
</assemblyBinding>
</runtime>
</configuration>

View File

@ -100,7 +100,7 @@ Returns true if this object is read-only.
</member>
<member name="M:CefSharp.Core.PostData.#ctor">
<summary>
Default constructor.
Initializes a new instance of the PostData class.
</summary>
</member>
<member name="M:CefSharp.Core.PostData.ThrowIfReadOnly">
@ -151,58 +151,6 @@ Returns the mime type for the specified file extension or an empty string if unk
<param name="extension">file extension</param>
<returns>Returns the mime type for the specified file extension or an empty string if unknown.</returns>
</member>
<member name="M:CefSharp.Core.Cef.RegisterWidevineCdmAsync(System.String)">
<summary>
Register the Widevine CDM plugin.
See <see cref="M:CefSharp.Core.Cef.RegisterWidevineCdm(System.String,CefSharp.IRegisterCdmCallback)" /> for more details.
</summary>
<param name="path"> is a directory that contains the Widevine CDM files</param>
<returns>Returns a Task that can be awaited to receive the <see cref="T:CefSharp.CdmRegistration" /> response.</returns>
</member>
<member name="M:CefSharp.Core.Cef.RegisterWidevineCdm(System.String,CefSharp.IRegisterCdmCallback)">
<summary>
Register the Widevine CDM plugin.
The client application is responsible for downloading an appropriate
platform-specific CDM binary distribution from Google, extracting the
contents, and building the required directory structure on the local machine.
The <see cref="M:CefSharp.IBrowserHost.StartDownload(System.String)" /> method class can be used
to implement this functionality in CefSharp. Contact Google via
https://www.widevine.com/contact.html for details on CDM download.
path is a directory that must contain the following files:
1. manifest.json file from the CDM binary distribution (see below).
2. widevinecdm file from the CDM binary distribution (e.g.
widevinecdm.dll on Windows).
3. widevidecdmadapter file from the CEF binary distribution (e.g.
widevinecdmadapter.dll on Windows).
If any of these files are missing or if the manifest file has incorrect
contents the registration will fail and callback will receive an ErrorCode
value of <see cref="F:CefSharp.CdmRegistrationErrorCode.IncorrectContents" />.
The manifest.json file must contain the following keys:
A. "os": Supported OS (e.g. "mac", "win" or "linux").
B. "arch": Supported architecture (e.g. "ia32" or "x64").
C. "x-cdm-module-versions": Module API version (e.g. "4").
D. "x-cdm-interface-versions": Interface API version (e.g. "8").
E. "x-cdm-host-versions": Host API version (e.g. "8").
F. "version": CDM version (e.g. "1.4.8.903").
G. "x-cdm-codecs": List of supported codecs (e.g. "vp8,vp9.0,avc1").
A through E are used to verify compatibility with the current Chromium
version. If the CDM is not compatible the registration will fail and
callback will receive an ErrorCode value of <see cref="F:CefSharp.CdmRegistrationErrorCode.Incompatible" />.
If registration is not supported at the time that Cef.RegisterWidevineCdm() is called then callback
will receive an ErrorCode value of <see cref="F:CefSharp.CdmRegistrationErrorCode.NotSupported" />.
</summary>
<param name="path"> is a directory that contains the Widevine CDM files</param>
<param name="callback">optional callback - <see cref="M:CefSharp.IRegisterCdmCallback.OnRegistrationComplete(CefSharp.CdmRegistration)" />
will be executed asynchronously once registration is complete</param>
</member>
<member name="M:CefSharp.Core.Cef.SetCrashKeyValue(System.String,System.String)">
<summary>
Sets or clears a specific key-value pair from the crash metadata.
@ -574,6 +522,10 @@ Gets a value that indicates the Git Hash for CEF version currently being used.
<summary>Gets a value that indicates the version of CefSharp currently being used.</summary>
<value>The CefSharp version.</value>
</member>
<member name="P:CefSharp.Core.Cef.IsShutdown">
<summary>Gets a value that indicates whether CefSharp was shutdown.</summary>
<value>true if CefSharp was shutdown; otherwise, false.</value>
</member>
<member name="P:CefSharp.Core.Cef.IsInitialized">
<summary>Gets a value that indicates whether CefSharp is initialized.</summary>
<value>true if CefSharp is initialized; otherwise, false.</value>
@ -583,14 +535,6 @@ Gets a value that indicates the Git Hash for CEF version currently being used.
Global CEF methods are exposed through this class. e.g. CefInitalize maps to Cef.Initialize
CEF API Doc https://magpcss.org/ceforum/apidocs3/projects/(default)/(_globals).html
This class cannot be inherited.
</summary>
</member>
<member name="M:CefSharp.Internals.CefRegisterCdmCallbackAdapter.OnCdmRegistrationComplete(cef_cdm_registration_error_t,CefStringBase&lt;CefStringTraitsUTF16&gt;!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
<summary>
Method that will be called when CDM registration is complete. |result|
will be CEF_CDM_REGISTRATION_ERROR_NONE if registration completed
successfully. Otherwise, |result| and |error_message| will contain
additional information about why registration failed.
</summary>
</member>
<member name="M:CefSharp.Core.CefSettingsBase.RegisterScheme(CefSharp.CefCustomScheme)">
@ -749,9 +693,9 @@ Set to true in order to completely ignore SSL certificate errors. This is NOT re
</member>
<member name="P:CefSharp.Core.CefSettingsBase.UserDataPath">
<summary>
The location where user data such as spell checking dictionary files will be stored on disk. If this value is empty then the
default user data directory will be used ("Local Settings\Application Data\CEF\User Data" directory under the user
profile directory on Windows). If this value is non-empty then it must be an absolute path.
The location where user data such as the Widevine CDM module and spell checking dictionary files will be stored on disk.
If this value is empty then "Local Settings\Application Data\CEF\User Data" directory under the user profile directory
will be used. If this value is non-empty then it must be an absolute path.
</summary>
</member>
<member name="P:CefSharp.Core.CefSettingsBase.RootCachePath">
@ -1572,7 +1516,7 @@ CachePath is empty or if it matches the CefSettings.CachePath value.
</member>
<member name="M:CefSharp.Core.RequestContextSettings.#ctor">
<summary>
Default constructor
Initializes a new instance of the RequestContextSettings class.
</summary>
</member>
<member name="T:CefSharp.Core.RequestContextSettings">

View File

@ -186,6 +186,10 @@
<summary>Gets a value that indicates whether CefSharp is initialized.</summary>
<value>true if CefSharp is initialized; otherwise, false.</value>
</member>
<member name="P:CefSharp.Cef.IsShutdown">
<summary>Gets a value that indicates whether CefSharp was shutdown.</summary>
<value>true if CefSharp was shutdown; otherwise, false.</value>
</member>
<member name="P:CefSharp.Cef.CefSharpVersion">
<summary>Gets a value that indicates the version of CefSharp currently being used.</summary>
<value>The CefSharp version.</value>
@ -555,58 +559,6 @@
</summary>
<returns>Current Log Level</returns>
</member>
<member name="M:CefSharp.Cef.RegisterWidevineCdm(System.String,CefSharp.IRegisterCdmCallback)">
<summary>
Register the Widevine CDM plugin.
The client application is responsible for downloading an appropriate
platform-specific CDM binary distribution from Google, extracting the
contents, and building the required directory structure on the local machine.
The <see cref="M:CefSharp.IBrowserHost.StartDownload(System.String)"/> method class can be used
to implement this functionality in CefSharp. Contact Google via
https://www.widevine.com/contact.html for details on CDM download.
path is a directory that must contain the following files:
1. manifest.json file from the CDM binary distribution (see below).
2. widevinecdm file from the CDM binary distribution (e.g.
widevinecdm.dll on Windows).
3. widevidecdmadapter file from the CEF binary distribution (e.g.
widevinecdmadapter.dll on Windows).
If any of these files are missing or if the manifest file has incorrect
contents the registration will fail and callback will receive an ErrorCode
value of <see cref="F:CefSharp.CdmRegistrationErrorCode.IncorrectContents"/>.
The manifest.json file must contain the following keys:
A. "os": Supported OS (e.g. "mac", "win" or "linux").
B. "arch": Supported architecture (e.g. "ia32" or "x64").
C. "x-cdm-module-versions": Module API version (e.g. "4").
D. "x-cdm-interface-versions": Interface API version (e.g. "8").
E. "x-cdm-host-versions": Host API version (e.g. "8").
F. "version": CDM version (e.g. "1.4.8.903").
G. "x-cdm-codecs": List of supported codecs (e.g. "vp8,vp9.0,avc1").
A through E are used to verify compatibility with the current Chromium
version. If the CDM is not compatible the registration will fail and
callback will receive an ErrorCode value of <see cref="F:CefSharp.CdmRegistrationErrorCode.Incompatible"/>.
If registration is not supported at the time that Cef.RegisterWidevineCdm() is called then callback
will receive an ErrorCode value of <see cref="F:CefSharp.CdmRegistrationErrorCode.NotSupported"/>.
</summary>
<param name="path"> is a directory that contains the Widevine CDM files</param>
<param name="callback">optional callback - <see cref="M:CefSharp.IRegisterCdmCallback.OnRegistrationComplete(CefSharp.CdmRegistration)"/>
will be executed asynchronously once registration is complete</param>
</member>
<member name="M:CefSharp.Cef.RegisterWidevineCdmAsync(System.String)">
<summary>
Register the Widevine CDM plugin.
See <see cref="M:CefSharp.Cef.RegisterWidevineCdm(System.String,CefSharp.IRegisterCdmCallback)"/> for more details.
</summary>
<param name="path"> is a directory that contains the Widevine CDM files</param>
<returns>Returns a Task that can be awaited to receive the <see cref="T:CefSharp.CdmRegistration"/> response.</returns>
</member>
<member name="M:CefSharp.Cef.GetMimeType(System.String)">
<summary>
Returns the mime type for the specified file extension or an empty string if unknown.
@ -720,9 +672,9 @@
</member>
<member name="P:CefSharp.CefSettingsBase.UserDataPath">
<summary>
The location where user data such as spell checking dictionary files will be stored on disk. If this value is empty then the
default user data directory will be used ("Local Settings\Application Data\CEF\User Data" directory under the user
profile directory on Windows). If this value is non-empty then it must be an absolute path.
The location where user data such as the Widevine CDM module and spell checking dictionary files will be stored on disk.
If this value is empty then "Local Settings\Application Data\CEF\User Data" directory under the user profile directory
will be used. If this value is non-empty then it must be an absolute path.
</summary>
</member>
<member name="P:CefSharp.CefSettingsBase.IgnoreCertificateErrors">

View File

@ -21,6 +21,17 @@
The browser initialized - boolean represented as 0 (false) and 1(true) as we use Interlocker to increment/reset
</summary>
</member>
<member name="F:CefSharp.WinForms.ChromiumWebBrowser.disposeSignaled">
<summary>
The value for disposal, if it's 1 (one) then this instance is either disposed
or in the process of getting disposed
</summary>
</member>
<member name="F:CefSharp.WinForms.ChromiumWebBrowser.browser">
<summary>
The browser
</summary>
</member>
<member name="P:CefSharp.WinForms.ChromiumWebBrowser.CanExecuteJavascriptInMainFrame">
<summary>
A flag that indicates if you can execute javascript in the main frame.
@ -99,6 +110,11 @@
Implement <see cref="T:CefSharp.IAudioHandler" /> to handle audio events.
</summary>
</member>
<member name="P:CefSharp.WinForms.ChromiumWebBrowser.FrameHandler">
<summary>
Implement <see cref="T:CefSharp.IFrameHandler" /> to handle frame events.
</summary>
</member>
<member name="P:CefSharp.WinForms.ChromiumWebBrowser.FocusHandler">
<summary>
The <see cref="T:CefSharp.IFocusHandler" /> for this ChromiumWebBrowser.
@ -238,7 +254,13 @@
<member name="M:CefSharp.WinForms.ChromiumWebBrowser.LoadUrlAsync(System.String,System.Threading.SynchronizationContext)">
<inheritdoc/>
</member>
<member name="M:CefSharp.WinForms.ChromiumWebBrowser.FreeHandlersExceptLifeSpan">
<member name="M:CefSharp.WinForms.ChromiumWebBrowser.OnAfterBrowserCreated(CefSharp.IBrowser)">
<summary>
Called after browser created.
</summary>
<param name="browser">The browser.</param>
</member>
<member name="M:CefSharp.WinForms.ChromiumWebBrowser.FreeHandlersExceptLifeSpanAndFocus">
<summary>
Sets the handler references to null.
Where required also calls Dispose().
@ -272,11 +294,6 @@
The parent form message interceptor
</summary>
</member>
<member name="F:CefSharp.WinForms.ChromiumWebBrowser.browser">
<summary>
The browser
</summary>
</member>
<member name="F:CefSharp.WinForms.ChromiumWebBrowser.designMode">
<summary>
A flag that indicates whether or not the designer is active
@ -318,12 +335,6 @@
user attempts to set after browser created)
</summary>
</member>
<member name="F:CefSharp.WinForms.ChromiumWebBrowser.disposeSignaled">
<summary>
The value for disposal, if it's 1 (one) then this instance is either disposed
or in the process of getting disposed
</summary>
</member>
<member name="F:CefSharp.WinForms.ChromiumWebBrowser.parkingControl">
<summary>
Parking control used to temporarily host the CefBrowser instance
@ -548,12 +559,6 @@
</code>
</example>
</member>
<member name="M:CefSharp.WinForms.ChromiumWebBrowser.CefSharp#Internals#IWebBrowserInternal#OnAfterBrowserCreated(CefSharp.IBrowser)">
<summary>
Called after browser created.
</summary>
<param name="browser">The browser.</param>
</member>
<member name="M:CefSharp.WinForms.ChromiumWebBrowser.CefSharp#Internals#IWebBrowserInternal#SetAddress(CefSharp.AddressChangedEventArgs)">
<summary>
Sets the address.

File diff suppressed because it is too large Load Diff

View File

@ -1,15 +1,15 @@
Chromium Embedded Framework (CEF) Standard Binary Distribution for Windows
-------------------------------------------------------------------------------
Date: June 20, 2021
Date: September 17, 2021
CEF Version: 91.1.21+g9dd45fe+chromium-91.0.4472.114
CEF Version: 93.1.14+gf38ce34+chromium-93.0.4577.82
CEF URL: https://bitbucket.org/chromiumembedded/cef.git
@9dd45fe15964fb136e60d16ad40d78023f486360
@f38ce3409c5cfc5dcadbf1e219ffaaf7e720b609
Chromium Version: 91.0.4472.114
Chromium Version: 93.0.4577.82
Chromium URL: https://chromium.googlesource.com/chromium/src.git
@c1e1dff6f551c4aab8578ec695825cc9b27d51e6
@f2d6656bdf16198c04b70efd1952dace3ed7dd8f
This distribution contains all components necessary to build and distribute an
application using CEF on the Windows platform. Please see the LICENSING

Some files were not shown because too many files have changed in this diff Show More