2022-12-02 18:43:43 +01:00
|
|
|
|
Option Strict On
|
|
|
|
|
|
|
|
|
|
Imports System.IO
|
|
|
|
|
Imports System.ComponentModel
|
|
|
|
|
Imports System.Threading
|
|
|
|
|
Imports System.Net
|
|
|
|
|
Imports System.Net.WebUtility
|
|
|
|
|
Imports System.IO.Compression
|
|
|
|
|
Imports System.Text
|
|
|
|
|
Imports System.Security.Policy
|
|
|
|
|
Imports Microsoft.Web.WebView2.Core
|
|
|
|
|
Imports MetroFramework.Drawing
|
2023-02-07 14:31:23 +01:00
|
|
|
|
Imports Newtonsoft.Json.Linq
|
2022-12-02 18:43:43 +01:00
|
|
|
|
|
|
|
|
|
Public Class Browser
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Private Sub WebView2_CoreWebView2InitializationCompleted(sender As Object, e As CoreWebView2InitializationCompletedEventArgs) Handles WebView2.CoreWebView2InitializationCompleted
|
2023-07-11 18:53:50 +02:00
|
|
|
|
Try
|
|
|
|
|
WebView2.CoreWebView2.AddWebResourceRequestedFilter("https://www.crunchyroll.com/*", CoreWebView2WebResourceContext.All)
|
2024-04-28 21:29:33 +02:00
|
|
|
|
'AddHandler WebView2.CoreWebView2.WebResourceResponseReceived, AddressOf ObserveResponse
|
|
|
|
|
'AddHandler WebView2.CoreWebView2.WebResourceRequested, AddressOf ObserveHttp 'this is not the data we are looking for (anymore :( )
|
2023-07-11 18:53:50 +02:00
|
|
|
|
My.Settings.User_Agend = Chr(34) + "User-Agent: " + WebView2.CoreWebView2.Settings.UserAgent + Chr(34)
|
2023-06-03 15:57:13 +02:00
|
|
|
|
|
2023-07-11 18:53:50 +02:00
|
|
|
|
If WebView2.CoreWebView2.Source = "about:blank" Or WebView2.CoreWebView2.Source = Nothing Then
|
|
|
|
|
'TextBox1.Text = Main.Startseite
|
|
|
|
|
WebView2.CoreWebView2.Navigate(Main.Startseite)
|
2022-12-02 18:43:43 +01:00
|
|
|
|
|
2023-06-03 15:57:13 +02:00
|
|
|
|
|
2023-07-11 18:53:50 +02:00
|
|
|
|
End If
|
|
|
|
|
Catch ex As Exception
|
2022-12-02 18:43:43 +01:00
|
|
|
|
|
2023-07-11 18:53:50 +02:00
|
|
|
|
End Try
|
2023-06-03 15:57:13 +02:00
|
|
|
|
|
|
|
|
|
|
2022-12-02 18:43:43 +01:00
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Private Sub WebView2_SourceChanged(sender As Object, e As CoreWebView2SourceChangedEventArgs) Handles WebView2.SourceChanged
|
|
|
|
|
Try
|
|
|
|
|
TextBox1.Text = WebView2.CoreWebView2.Source
|
|
|
|
|
|
|
|
|
|
Catch ex As Exception
|
|
|
|
|
End Try
|
|
|
|
|
|
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Private Sub WebView2_NavigationCompleted(sender As Object, e As CoreWebView2NavigationCompletedEventArgs) Handles WebView2.NavigationCompleted
|
|
|
|
|
' Dim HTML As String = WebView2.CoreWebView2.
|
|
|
|
|
'TextBox1.Text = WebView2.CoreWebView2.Source
|
|
|
|
|
' Exit Sub
|
2023-06-03 15:57:13 +02:00
|
|
|
|
|
|
|
|
|
|
2022-12-02 18:43:43 +01:00
|
|
|
|
If e.HttpStatusCode = 200 Then
|
|
|
|
|
Dim DocumentTitle As String = WebView2.CoreWebView2.DocumentTitle
|
|
|
|
|
|
|
|
|
|
Debug.WriteLine("NavigationCompleted: " + Date.Now.ToString)
|
|
|
|
|
Main.WebbrowserURL = WebView2.CoreWebView2.Source
|
|
|
|
|
TextBox1.Text = Main.WebbrowserURL
|
|
|
|
|
|
|
|
|
|
Main.WebbrowserTitle = DocumentTitle
|
|
|
|
|
Main.ProcessHTML("", Main.WebbrowserURL, DocumentTitle)
|
|
|
|
|
|
|
|
|
|
GetCookies(Main.WebbrowserURL)
|
|
|
|
|
|
2023-06-03 15:57:13 +02:00
|
|
|
|
Main.BowserWasOpen = True
|
|
|
|
|
|
2024-05-02 17:43:12 +02:00
|
|
|
|
'If Application.OpenForms().OfType(Of Anime_Add).Any = True Then
|
|
|
|
|
' Anime_Add.btn_dl.Cursor = Cursors.Default
|
|
|
|
|
' Anime_Add.btn_dl.BackgroundImage = My.Resources.main_button_download_default
|
|
|
|
|
'End If
|
2023-06-03 15:57:13 +02:00
|
|
|
|
|
2023-07-11 18:53:50 +02:00
|
|
|
|
If Main.Startseite IsNot My.Settings.Startseite Then
|
|
|
|
|
Main.LoadBrowser(Main.Startseite, 1)
|
|
|
|
|
Main.Startseite = My.Settings.Startseite
|
|
|
|
|
End If
|
|
|
|
|
|
2022-12-18 20:28:02 +01:00
|
|
|
|
End If
|
2022-12-02 18:43:43 +01:00
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
Public Async Sub GetCookies(ByVal Uri As String)
|
2023-01-05 14:26:40 +01:00
|
|
|
|
Try
|
|
|
|
|
Main.CookieList = Await WebView2.CoreWebView2.CookieManager.GetCookiesAsync(Uri)
|
|
|
|
|
Catch ex As Exception
|
|
|
|
|
End Try
|
2022-12-02 18:43:43 +01:00
|
|
|
|
End Sub
|
|
|
|
|
|
2023-06-03 15:57:13 +02:00
|
|
|
|
|
2024-04-04 19:52:43 +02:00
|
|
|
|
Private Sub Browser_Load(sender As Object, e As EventArgs) Handles Me.Load
|
2022-12-02 18:43:43 +01:00
|
|
|
|
Main.waveOutSetVolume(0, 0)
|
|
|
|
|
If Me.Width > My.Computer.Screen.Bounds.Width Then
|
|
|
|
|
Me.Width = My.Computer.Screen.Bounds.Width
|
|
|
|
|
Panel1.Width = Me.Size.Width - 15 ', Me.Size.Height - 69)
|
|
|
|
|
Panel1.Location = New Point(0, 30)
|
|
|
|
|
TextBox1.Width = My.Computer.Screen.Bounds.Width - 435
|
|
|
|
|
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
If Me.Size.Height > My.Computer.Screen.Bounds.Height Then
|
|
|
|
|
Me.Height = My.Computer.Screen.Bounds.Height
|
|
|
|
|
Panel1.Height = Me.Size.Height - 69
|
|
|
|
|
Panel1.Location = New Point(0, 30)
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Try
|
|
|
|
|
Me.Icon = My.Resources.icon
|
|
|
|
|
Catch ex As Exception
|
|
|
|
|
|
|
|
|
|
End Try
|
|
|
|
|
|
|
|
|
|
If Main.UserBowser = False Then
|
|
|
|
|
Me.Location = New Point(-10000, 10000)
|
2024-05-11 18:47:10 +02:00
|
|
|
|
'Timer1.Enabled = True
|
2022-12-02 18:43:43 +01:00
|
|
|
|
End If
|
|
|
|
|
WebView2.Source = New Uri(Main.Startseite)
|
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
Private Sub Browser_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
|
2023-06-03 15:57:13 +02:00
|
|
|
|
Main.BowserWasOpen = False
|
|
|
|
|
|
2022-12-02 18:43:43 +01:00
|
|
|
|
'Main.UserBowser = False
|
|
|
|
|
'Me.Location = New Point(-10000, -10000)
|
|
|
|
|
'Main.LoadingUrl = ""
|
|
|
|
|
'Debug.WriteLine("Collecting")
|
|
|
|
|
'Dim Collector As New TaskCookieVisitor
|
|
|
|
|
'Dim CM As ICookieManager = WebBrowser1.GetCookieManager
|
|
|
|
|
'CM.VisitAllCookies(Collector)
|
|
|
|
|
'Main.CookieList = Collector.Task.Result()
|
|
|
|
|
'Debug.WriteLine("Collecting-end")
|
|
|
|
|
''e.Cancel = True
|
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
|
2023-06-03 15:57:13 +02:00
|
|
|
|
|
2022-12-02 18:43:43 +01:00
|
|
|
|
Try
|
|
|
|
|
My.Computer.Clipboard.SetText(WebView2.CoreWebView2.Source)
|
|
|
|
|
MsgBox("copied: " + Chr(34) + WebView2.CoreWebView2.Source + Chr(34))
|
|
|
|
|
Catch ex As Exception
|
|
|
|
|
End Try
|
|
|
|
|
|
|
|
|
|
'My.Computer.Clipboard.SetText(WebBrowser1.Document.Body.InnerHtml)
|
|
|
|
|
|
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown
|
|
|
|
|
Try
|
|
|
|
|
If e.KeyCode = Keys.Return Then
|
|
|
|
|
e.SuppressKeyPress = True
|
|
|
|
|
Debug.WriteLine("Start loading: " + Date.Now.ToString)
|
|
|
|
|
WebView2.CoreWebView2.Navigate(TextBox1.Text)
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
Catch ex As Exception
|
|
|
|
|
MsgBox("Error in URL", MsgBoxStyle.Critical)
|
|
|
|
|
End Try
|
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
|
2022-12-05 18:16:07 +01:00
|
|
|
|
Private Sub ObserveHttp(ByVal sender As Object, ByVal e As CoreWebView2WebResourceRequestedEventArgs) 'Handles RequestResource.GetUrl
|
|
|
|
|
|
|
|
|
|
|
2023-08-10 13:16:55 +02:00
|
|
|
|
' Debug.WriteLine(e.Request.Uri)
|
|
|
|
|
|
2022-12-05 18:16:07 +01:00
|
|
|
|
If CBool(InStr(e.Request.Uri, "crunchyroll.com")) = True And Main.CrBetaBasic = Nothing Then
|
|
|
|
|
Dim Headers As New List(Of KeyValuePair(Of String, String))
|
|
|
|
|
Headers.AddRange(e.Request.Headers.ToList)
|
|
|
|
|
For i As Integer = 0 To Headers.Count
|
|
|
|
|
If CBool(InStr(Headers.Item(i).Value, "Basic")) Then
|
|
|
|
|
Main.CrBetaBasic = Headers.Item(i).Value
|
2022-12-18 20:28:02 +01:00
|
|
|
|
Debug.WriteLine("Auth-Basic: " + Main.CrBetaBasic)
|
|
|
|
|
End If
|
|
|
|
|
Next
|
|
|
|
|
End If
|
|
|
|
|
|
2022-12-02 18:43:43 +01:00
|
|
|
|
|
2023-06-03 15:57:13 +02:00
|
|
|
|
End Sub
|
2022-12-02 18:43:43 +01:00
|
|
|
|
|
|
|
|
|
|
2023-06-03 15:57:13 +02:00
|
|
|
|
Public Function StringToStream(input As String, enc As Encoding) As Stream
|
|
|
|
|
Dim memoryStream = New MemoryStream()
|
|
|
|
|
Dim streamWriter = New StreamWriter(memoryStream, enc)
|
|
|
|
|
streamWriter.Write(input)
|
|
|
|
|
streamWriter.Flush()
|
|
|
|
|
memoryStream.Position = 0
|
|
|
|
|
Return memoryStream
|
|
|
|
|
End Function
|
2022-12-02 18:43:43 +01:00
|
|
|
|
|
2023-02-07 14:31:23 +01:00
|
|
|
|
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
|
|
|
|
|
'If Main.UserBowser = False Then
|
|
|
|
|
' WebView2.Reload()
|
|
|
|
|
'Else
|
|
|
|
|
' Timer1.Enabled = False
|
|
|
|
|
'End If
|
2022-12-02 18:43:43 +01:00
|
|
|
|
|
2023-02-07 14:31:23 +01:00
|
|
|
|
End Sub
|
2022-12-02 18:43:43 +01:00
|
|
|
|
|
|
|
|
|
Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick
|
|
|
|
|
Me.Close()
|
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
End Class
|
|
|
|
|
|