mirror of
https://github.com/hama3254/Crunchyroll-Downloader-v3.0.git
synced 2024-11-13 03:35:05 +01:00
Fixes
fix AoD ffmpeg command issue workaround funimation certifcate error fix add-on setting default value issue
This commit is contained in:
parent
924642371e
commit
29793c0b3b
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -21,7 +21,8 @@
|
||||
<button type="button" class='btn_class' id='btn_add_funimation'>Add this Funimation Episode</button>
|
||||
<button type="button" class='btn_class' id='btn_add'>Add this Crunchyroll Episode</button>
|
||||
<button type="button" class='btn_class' id='btn_add_AoD'>Add this Series</button>
|
||||
<button type="button" class='btn_class' id='btn_add_mass'>Add selected Episodes</button>
|
||||
<button type="button" class='btn_class' id='btn_add_mass'>Add selected Crunchyroll Episodes</button>
|
||||
<button type="button" class='btn_class' id='btn_add_mass_funimation'>Add selected Funimation Episodes</button>
|
||||
<button type="button" class='btn_class' id='btn_enable_select'>Select Episodes</button>
|
||||
<button type="button" class='btn_class' id='btn_select_all'>Select All</button>
|
||||
<button type="button" class='btn_class' id='btn_select_none'>Deselect All</button>
|
||||
|
@ -1,4 +1,5 @@
|
||||
var Port;
|
||||
var FunCookie;
|
||||
document.getElementById("btn_add").hidden = true;
|
||||
document.getElementById("btn_enable_select").hidden = true;
|
||||
document.getElementById("btn_add_mass").hidden = true;
|
||||
@ -6,6 +7,7 @@ document.getElementById("btn_select_all").hidden = true;
|
||||
document.getElementById("btn_select_none").hidden = true;
|
||||
document.getElementById("btn_enable_funimation_select").hidden = true;
|
||||
document.getElementById("btn_add_funimation").hidden = true;
|
||||
document.getElementById("btn_add_mass_funimation").hidden = true;
|
||||
document.getElementById("btn_add_AoD").hidden = true;
|
||||
|
||||
browser.storage.local.get("CRD_Port")
|
||||
@ -205,8 +207,9 @@ document.getElementById('btn_add').addEventListener('click', () => {
|
||||
});
|
||||
|
||||
document.getElementById('btn_add_funimation').addEventListener('click', () => {
|
||||
|
||||
var add_fun = browser.tabs.executeScript({
|
||||
code: "javascript:void(0);" //"document.getElementsByClassName('show-details')[0].innerHTML;"
|
||||
code: "document.cookie" //"document.getElementsByClassName('show-details')[0].innerHTML;"
|
||||
});
|
||||
add_fun.then(add_fun_ok, add_one_error);
|
||||
|
||||
@ -221,6 +224,15 @@ document.getElementById('btn_add_mass').addEventListener('click', () => {
|
||||
|
||||
});
|
||||
|
||||
document.getElementById('btn_add_mass_funimation').addEventListener('click', () => {
|
||||
|
||||
var add_mass = browser.tabs.executeScript({
|
||||
code: 'var i,URLList="";for(i=0;i<document.getElementsByClassName("CRD-Selected").length;i++)URLList+=document.getElementsByClassName("CRD-Selected")[i].getAttribute("href");URLList;'
|
||||
});
|
||||
add_mass.then(add_mass_fun_ok, add_mass_error);
|
||||
|
||||
});
|
||||
|
||||
function onExecuted(result) {
|
||||
console.log(result[0]);
|
||||
|
||||
@ -275,7 +287,7 @@ function add_fun_ok(result) {
|
||||
var xhttp = new XMLHttpRequest();
|
||||
xhttp.open("POST", "http://127.0.0.1:" + Port + "/post", true);
|
||||
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
|
||||
xhttp.send("FunimationURL=" + tab.url);
|
||||
xhttp.send("FunimationURL=" + tab.url + "&FunimationCookie=" + result);
|
||||
|
||||
setTimeout(function () {
|
||||
document.getElementById("btn_add_funimation").style.background = "#ff8000"
|
||||
@ -328,6 +340,27 @@ function add_mass_ok(result) {
|
||||
|
||||
}
|
||||
|
||||
function add_mass_fun_ok(result) {
|
||||
|
||||
document.getElementById("btn_add_mass_funimation").disabled = true;
|
||||
document.getElementById("btn_add_mass_funimation").style.background = "#c9c9c9"
|
||||
|
||||
var postdata = result + "&FunimationCookie=" + FunCookie
|
||||
|
||||
var xhttp = new XMLHttpRequest();
|
||||
xhttp.open("POST", "http://127.0.0.1:" + Port + "/post", true);
|
||||
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
|
||||
xhttp.send("FunimationMass=" + postdata);
|
||||
|
||||
setTimeout(function () {
|
||||
document.getElementById("btn_add_mass_funimation").style.background = "#ff8000"
|
||||
}, 10000);
|
||||
setTimeout(function () {
|
||||
document.getElementById("btn_add_mass_funimation").disabled = false;
|
||||
}, 10000);
|
||||
|
||||
}
|
||||
|
||||
function add_mass_error(error) {
|
||||
console.log(`Error: ${error}`);
|
||||
}
|
||||
@ -339,22 +372,31 @@ document.getElementById('btn_enable_funimation_select').addEventListener('click'
|
||||
code: 'var script=document.createElement("script");script.type="text/javascript",script.src="http://127.0.0.1:' + Port + '/inject_funimation.js",document.head.appendChild(script);'
|
||||
}); //load script from local CRD Server included in https://github.com/hama3254/Crunchyroll-Downloader-v3.0
|
||||
|
||||
document.getElementById("btn_add_mass").hidden = false;
|
||||
document.getElementById("btn_add_mass").hidden = true;
|
||||
document.getElementById("btn_add_mass_funimation").hidden = false;
|
||||
document.getElementById("btn_select_all").hidden = false;
|
||||
document.getElementById("btn_select_none").hidden = false;
|
||||
document.getElementById("btn_enable_select").hidden = true;
|
||||
document.getElementById("btn_add").hidden = true;
|
||||
document.getElementById("btn_add_funimation").hidden = true;
|
||||
document.getElementById("btn_add_AoD").hidden = true;
|
||||
document.getElementById("btn_enable_funimation_select").hidden = true;
|
||||
|
||||
});
|
||||
|
||||
function fun_cookie_ok(result) {
|
||||
|
||||
FunCookie = result;
|
||||
|
||||
}
|
||||
|
||||
function FunimationSuccess(result) {
|
||||
console.log(result[0]);
|
||||
|
||||
if (result[0].includes('javascript:')) {
|
||||
document.getElementById("btn_add").hidden = true;
|
||||
document.getElementById("btn_add_mass").hidden = false;
|
||||
document.getElementById("btn_add_mass").hidden = true;
|
||||
document.getElementById("btn_add_mass_funimation").hidden = false;
|
||||
document.getElementById("btn_select_all").hidden = false;
|
||||
document.getElementById("btn_select_none").hidden = false;
|
||||
document.getElementById("btn_enable_select").hidden = true;
|
||||
@ -363,6 +405,10 @@ function FunimationSuccess(result) {
|
||||
document.getElementById("btn_enable_funimation_select").hidden = true;
|
||||
document.getElementById("btn_add_funimation").hidden = true;
|
||||
document.getElementById("btn_add_AoD").hidden = true;
|
||||
var SaveFunimationCookie = browser.tabs.executeScript({
|
||||
code: "document.cookie"
|
||||
});
|
||||
SaveFunimationCookie.then(fun_cookie_ok, add_mass_error);
|
||||
console.log(true);
|
||||
} else {
|
||||
document.getElementById("btn_add").hidden = true;
|
||||
@ -373,7 +419,10 @@ function FunimationSuccess(result) {
|
||||
document.getElementById("btn_select_none").hidden = true;
|
||||
document.getElementById("btn_enable_funimation_select").hidden = false;
|
||||
document.getElementById("btn_add_AoD").hidden = true;
|
||||
|
||||
var SaveFunimationCookie = browser.tabs.executeScript({
|
||||
code: "document.cookie"
|
||||
});
|
||||
SaveFunimationCookie.then(fun_cookie_ok, add_mass_error);
|
||||
console.log(false);
|
||||
}
|
||||
}
|
||||
|
@ -294,55 +294,58 @@ Public Class Anime_Add
|
||||
AoDlogFileReader.Close()
|
||||
AoDlogFileStream.Close()
|
||||
If AoD_Cookie = Nothing Then
|
||||
|
||||
MsgBox(Main.LoginReminder)
|
||||
Main.Text = "Crunchyroll Downloader"
|
||||
Main.Invalidate()
|
||||
StatusLabel.Text = "Status: idle"
|
||||
Exit Sub
|
||||
Main.Text = "Crunchyroll Downloader"
|
||||
Main.Invalidate()
|
||||
StatusLabel.Text = "Status: idle"
|
||||
Exit Sub
|
||||
|
||||
End If
|
||||
'MsgBox(AoD_Cookie)
|
||||
'Main.WebbrowserCookie = AoD_Cookie
|
||||
If CBool(InStr(Main.WebbrowserText, "/OmU/1080/hlsfirst/")) Then
|
||||
Dim OmUStreamSplit() As String = Main.WebbrowserText.Split(New String() {"/OmU/1080/hlsfirst/"}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||
Dim OmUStreamSplitToken() As String = OmUStreamSplit(1).Split(New String() {Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||
|
||||
Dim OmUStreamSplitEpisodeIndex() As String = OmUStreamSplit(0).Split(New String() {"/videomaterialurl/"}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||
Dim OmUStreamSplitEpisodeIndex2() As String = OmUStreamSplitEpisodeIndex(1).Split(New String() {"/"}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||
Dim m3u8Strings As String = Nothing
|
||||
'I/nsHttp Cookie:
|
||||
Dim OmUStreamSplitEpisodeIndex2() As String = OmUStreamSplitEpisodeIndex(1).Split(New String() {"/"}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||
Dim m3u8Strings As String = Nothing
|
||||
'I/nsHttp Cookie:
|
||||
|
||||
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: gzip, deflate, br")
|
||||
client.Headers.Add("X-Requested-With: XMLHttpRequest")
|
||||
client.Headers.Add(AoD_Cookie) '+ WebBrowser1.Document.Cookie)
|
||||
'MsgBox(OmUStreamSplitEpisodeIndex(1))
|
||||
m3u8Strings = client.DownloadString("https://www.anime-on-demand.de/videomaterialurl/" + OmUStreamSplitEpisodeIndex2(0) + "/OmU/1080/hlsfirst/" + OmUStreamSplitToken(0))
|
||||
'("Sub: " + m3u8Strings)
|
||||
End Using
|
||||
Catch ex As Exception
|
||||
MsgBox(ex.ToString + vbNewLine + "https://www.anime-on-demand.de/videomaterialurl/" + OmUStreamSplitEpisodeIndex2(0) + "/OmU/1080/hlsfirst/" + OmUStreamSplitToken(0))
|
||||
End Try
|
||||
If m3u8Strings = Nothing Then
|
||||
Else
|
||||
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: gzip, deflate, br")
|
||||
client.Headers.Add("X-Requested-With: XMLHttpRequest")
|
||||
client.Headers.Add(AoD_Cookie) '+ WebBrowser1.Document.Cookie)
|
||||
'MsgBox(OmUStreamSplitEpisodeIndex(1))
|
||||
m3u8Strings = client.DownloadString("https://www.anime-on-demand.de/videomaterialurl/" + OmUStreamSplitEpisodeIndex2(0) + "/OmU/1080/hlsfirst/" + OmUStreamSplitToken(0))
|
||||
'("Sub: " + m3u8Strings)
|
||||
End Using
|
||||
Catch ex As Exception
|
||||
MsgBox(ex.ToString + vbNewLine + "https://www.anime-on-demand.de/videomaterialurl/" + OmUStreamSplitEpisodeIndex2(0) + "/OmU/1080/hlsfirst/" + OmUStreamSplitToken(0))
|
||||
End Try
|
||||
If m3u8Strings = Nothing Then
|
||||
Else
|
||||
|
||||
Dim OmUStreams() As String = m3u8Strings.Split(New String() {My.Resources.AoD_files}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||
For i As Integer = 1 To OmUStreams.Count - 1
|
||||
AoD_OmUList.Add(OmUStreams(i))
|
||||
Next
|
||||
End If
|
||||
|
||||
Dim OmUStreams() As String = m3u8Strings.Split(New String() {My.Resources.AoD_files}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||
For i As Integer = 1 To OmUStreams.Count - 1
|
||||
AoD_OmUList.Add(OmUStreams(i))
|
||||
Next
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
If CBool(InStr(Main.WebbrowserText, "/Dub/1080/hlsfirst/")) Then
|
||||
If CBool(InStr(Main.WebbrowserText, "/Dub/1080/hlsfirst/")) Then
|
||||
Dim DubStreamSplit() As String = Main.WebbrowserText.Split(New String() {"/Dub/1080/hlsfirst/"}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||
Dim DubStreamSplitToken() As String = DubStreamSplit(1).Split(New String() {Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||
Dim DubStreamSplitEpisodeIndex() As String = DubStreamSplit(0).Split(New String() {"/videomaterialurl/"}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||
Dim DubStreamSplitEpisodeIndex2() As String = DubStreamSplitEpisodeIndex(1).Split(New String() {"/"}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||
Dim m3u8Strings As String = Nothing
|
||||
'I/nsHttp Cookie:
|
||||
|
||||
Try
|
||||
Using client As New WebClient()
|
||||
client.Encoding = System.Text.Encoding.UTF8
|
||||
@ -689,11 +692,57 @@ Public Class Anime_Add
|
||||
End If
|
||||
|
||||
Main.Funimation_Grapp_RDY = False
|
||||
GeckoFX.WebBrowser1.Navigate(UriUsed)
|
||||
Main.WebbrowserURL = UriUsed
|
||||
ListBox1.Items.Remove(ListBox1.Items(0))
|
||||
Main.b = False
|
||||
'Main.b = False
|
||||
StatusLabel.Text = "Status: loading ..."
|
||||
Main.Text = "Status: loading ..."
|
||||
If Main.SystemWebBrowserCookie IsNot Nothing Then
|
||||
ServicePointManager.Expect100Continue = True
|
||||
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
|
||||
Try
|
||||
Using client As New WebClient()
|
||||
client.Headers.Add("User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:82.0) Gecko/20100101 Firefox/82.0")
|
||||
client.Headers.Add("ACCEPT: application/json, text/javascript, */*; q=0.01")
|
||||
client.Headers.Add("Accept-Encoding: gzip, deflate, br")
|
||||
client.Headers.Add("Cookie:" + Main.SystemWebBrowserCookie)
|
||||
Dim HTMLString As String = DecompressString(client.DownloadData(Main.WebbrowserURL))
|
||||
|
||||
If InStr(HTMLString, My.Resources.Funimation_Player_ID) Then
|
||||
Dim WebbrowserHeadTextSplit() As String = HTMLString.Split(New String() {"<head"}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||
Dim WebbrowserHeadTextSplit2() As String = WebbrowserHeadTextSplit(1).Split(New String() {"</head>"}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||
|
||||
Dim WebbrowserTitleSplit() As String = HTMLString.Split(New String() {"<title>"}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||
Dim WebbrowserTitleSplit2() As String = WebbrowserTitleSplit(1).Split(New String() {"</title>"}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||
|
||||
|
||||
Main.WebbrowserText = HTMLString
|
||||
Main.WebbrowserTitle = "<title>" + WebbrowserTitleSplit2(0) + "</title>"
|
||||
Main.WebbrowserHeadText = "<head" + WebbrowserHeadTextSplit2(0) + "</head>"
|
||||
Main.WebbrowserCookie = Main.SystemWebBrowserCookie
|
||||
|
||||
Dim t As Thread
|
||||
t = New Thread(AddressOf Main.Funitmation_Grapp)
|
||||
t.Priority = ThreadPriority.Normal
|
||||
t.IsBackground = True
|
||||
t.Start()
|
||||
|
||||
Else
|
||||
Me.Invoke(New Action(Function()
|
||||
Main.Text = "Status: no video found"
|
||||
Me.StatusLabel.Text = "fail?"
|
||||
Return Nothing
|
||||
End Function))
|
||||
|
||||
End If
|
||||
End Using
|
||||
Catch ex As Exception
|
||||
MsgBox(ex.ToString)
|
||||
Exit Sub
|
||||
End Try
|
||||
Else
|
||||
GeckoFX.WebBrowser1.Navigate(UriUsed)
|
||||
End If
|
||||
Main.Invalidate()
|
||||
End If
|
||||
|
||||
@ -768,6 +817,7 @@ Public Class Anime_Add
|
||||
Dim ProcessList As New List(Of String)
|
||||
Dim Dub As Boolean = False
|
||||
Dim RDY As Boolean = True
|
||||
Dim ffmpeg As String = Main.ffmpeg_command
|
||||
Dim Running As Integer = Main.RunningDownloads
|
||||
Dim DlMax As Integer = Main.MaxDL
|
||||
Dim Pfad0 As String = Main.Pfad
|
||||
@ -788,6 +838,7 @@ Public Class Anime_Add
|
||||
|
||||
Me.Invoke(New Action(Function()
|
||||
'Main.StatusMainForm.Text = "Crunchyroll Downloader"
|
||||
ffmpeg = Main.ffmpeg_command
|
||||
Pfad2 = Main.Pfad
|
||||
NameMethode = Main.CR_NameMethode
|
||||
If Main.AoD_Reso = 0 Then
|
||||
@ -1180,7 +1231,7 @@ Public Class Anime_Add
|
||||
End If
|
||||
|
||||
|
||||
Dim AoDm3u8Final As String = "-i " + Chr(34) + m3u8_url + Chr(34) + " " + Main.ffmpeg_command
|
||||
Dim AoDm3u8Final As String = "-i " + Chr(34) + m3u8_url + Chr(34) + " " + ffmpeg
|
||||
Dim DisplayReso As String = TargetReso.ToString + "p"
|
||||
If AoD_1080pPlus = True Then
|
||||
DisplayReso = "1080p+"
|
||||
@ -1365,7 +1416,5 @@ Public Class Anime_Add
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub Anime_Add_DoubleClick(sender As Object, e As EventArgs) Handles Me.DoubleClick
|
||||
'
|
||||
End Sub
|
||||
|
||||
End Class
|
@ -7,7 +7,7 @@ Imports System.ComponentModel
|
||||
Imports MetroFramework
|
||||
Imports MetroFramework.Components
|
||||
Imports MetroFramework.Forms
|
||||
Imports System.IO.Compression
|
||||
|
||||
|
||||
Public Class CRD_List_Item
|
||||
Inherits Controls.MetroUserControl
|
||||
@ -1355,22 +1355,9 @@ Public Class CRD_List_Item
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Public Function DecompressString(ByVal bytes As Byte()) As String
|
||||
|
||||
Using ms = New MemoryStream(bytes)
|
||||
Using ds = New GZipStream(ms, CompressionMode.Decompress)
|
||||
Using sr = New StreamReader(ds)
|
||||
|
||||
Return sr.ReadToEnd()
|
||||
|
||||
End Using
|
||||
End Using
|
||||
End Using
|
||||
|
||||
End Function
|
||||
|
||||
End Class
|
||||
|
||||
|
||||
Public Class FailedSegemtsWithURL
|
||||
Public path As String
|
||||
Public url As String
|
||||
|
@ -93,6 +93,7 @@ Public Class Main
|
||||
Public WebbrowserHeadText As String = Nothing
|
||||
Public WebbrowserSoftSubURL As String = Nothing
|
||||
Public WebbrowserURL As String = Nothing
|
||||
Public SystemWebBrowserCookie As String = Nothing
|
||||
Public WebbrowserText As String = Nothing
|
||||
Public WebbrowserTitle As String = Nothing
|
||||
Public WebbrowserCookie As String = Nothing
|
||||
@ -134,7 +135,7 @@ Public Class Main
|
||||
Public DL_Count_simultaneousText As String = "Simultaneous Downloads"
|
||||
Public GB_Sub_FormatText As String = "extended Sub Settings"
|
||||
Public LabelResoNotFoundText As String = "resolution not found" + vbNewLine + "Select another one below"
|
||||
Public LabelLangNotFoundText As String = "language not found" + vbNewLine + "Select another one below"
|
||||
Public LabelLangNotFoundText As String = "subtitle language not found" + vbNewLine + "Select another one below"
|
||||
Public ButtonResoNotFoundText As String = "Submit"
|
||||
Public CB_SuB_Nothing As String = "[ null ]"
|
||||
Dim StatusToolTip As ToolTip = New ToolTip()
|
||||
@ -2623,6 +2624,7 @@ Public Class Main
|
||||
SubsClient.Encoding = Encoding.UTF8
|
||||
If WebbrowserCookie = Nothing Then
|
||||
Else
|
||||
'MsgBox(WebbrowserCookie)
|
||||
SubsClient.Headers.Add(HttpRequestHeader.Cookie, WebbrowserCookie)
|
||||
End If
|
||||
Dim PlayerPage As String = SubsClient.DownloadString("https://www.funimation.com/player/" + Player_ID2(0) + "/?bdub=0&qid=")
|
||||
@ -3211,10 +3213,69 @@ Public Class Main
|
||||
SendHTMLResponse(strRequest, stream)
|
||||
End Try
|
||||
#End Region
|
||||
#Region "Funimation-mass"
|
||||
|
||||
|
||||
ElseIf InStr(htmlReq, "FunimationMass=") Then
|
||||
Debug.WriteLine("Funimation multi episode mode")
|
||||
|
||||
Try
|
||||
Dim DecodedHTML As String = UrlDecode(htmlReq)
|
||||
If InStr(DecodedHTML, "&FunimationCookie=") Then
|
||||
|
||||
|
||||
|
||||
|
||||
Dim CookieSplit() As String = DecodedHTML.Split(New String() {"&FunimationCookie="}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||
SystemWebBrowserCookie = CookieSplit(1)
|
||||
|
||||
Dim URLSplit() As String = CookieSplit(0).Split(New String() {"FunimationMass="}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||
Dim URLSplit2() As String = URLSplit(1).Split(New String() {"javascript:"}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||
|
||||
|
||||
If Application.OpenForms().OfType(Of Anime_Add).Any = True Then
|
||||
For i As Integer = 0 To URLSplit2.Count - 1
|
||||
Dim ii As Integer = i
|
||||
Me.Invoke(New Action(Function()
|
||||
If Anime_Add.ListBox1.Items.Contains(URLSplit2(ii)) = False Then
|
||||
Anime_Add.ListBox1.Items.Add(URLSplit2(ii))
|
||||
End If
|
||||
'Anime_Add.ListBox1.Items.Add(URLSplit(ii))
|
||||
Return Nothing
|
||||
End Function))
|
||||
Next
|
||||
Else
|
||||
|
||||
For i As Integer = 0 To URLSplit2.Count - 1
|
||||
If ListBoxList.Contains(URLSplit2(i)) = False Then
|
||||
ListBoxList.Add(URLSplit2(i))
|
||||
End If
|
||||
|
||||
Next
|
||||
Me.Invoke(New Action(Function()
|
||||
Me.Text = "Status: " + ListBoxList.Count.ToString + " Downloads in queue" + vbNewLine + "open the add window to continue"
|
||||
Me.Invalidate()
|
||||
Return Nothing
|
||||
End Function))
|
||||
End If
|
||||
strRequest = rootPath & "Post_Mass_Sucess.html" 'PostPage
|
||||
SendHTMLResponse(strRequest, stream)
|
||||
|
||||
End If
|
||||
Catch abort As ThreadAbortException
|
||||
Exit Sub
|
||||
Catch ex As Exception
|
||||
Dim ErrorPage As String = My.Resources.Post_error_Top + ex.ToString + My.Resources.Post_error_Bottom
|
||||
My.Computer.FileSystem.WriteAllText(Application.StartupPath + "\WebInterface\error_Page.html", ErrorPage, False)
|
||||
strRequest = rootPath & "error_Page.html" 'PostPage
|
||||
SendHTMLResponse(strRequest, stream)
|
||||
End Try
|
||||
#End Region
|
||||
#Region "funimation Einzeln"
|
||||
ElseIf InStr(htmlReq, "FunimationURL=") Then
|
||||
Debug.WriteLine("single episode mode - Funimation")
|
||||
'Debug.WriteLine(htmlReq)
|
||||
MsgBox(htmlReq)
|
||||
|
||||
Me.Invoke(New Action(Function()
|
||||
Me.Text = "Status: Download added from add-on"
|
||||
Me.Invalidate()
|
||||
@ -3222,7 +3283,9 @@ Public Class Main
|
||||
End Function))
|
||||
Try
|
||||
Dim URLSplit() As String = htmlReq.Split(New String() {"FunimationURL="}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||
WebbrowserURL = UrlDecode(URLSplit(1))
|
||||
Dim URLSplit2() As String = URLSplit(1).Split(New String() {"&FunimationCookie="}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||
SystemWebBrowserCookie = URLSplit2(1)
|
||||
WebbrowserURL = UrlDecode(URLSplit2(0))
|
||||
|
||||
If InStr(WebbrowserURL, "funimation.com") Then
|
||||
If DubFunimation = "Disabled" Then
|
||||
@ -3278,12 +3341,58 @@ Public Class Main
|
||||
End If
|
||||
'ListBoxList.Add(WebbrowserURL)
|
||||
Else
|
||||
Me.Invoke(New Action(Function()
|
||||
GeckoFX.WebBrowser1.Navigate(WebbrowserURL)
|
||||
Return Nothing
|
||||
End Function))
|
||||
'Me.Invoke(New Action(Function()
|
||||
' GeckoFX.WebBrowser1.Navigate(WebbrowserURL)
|
||||
' Return Nothing
|
||||
' End Function))
|
||||
|
||||
'b = False
|
||||
ServicePointManager.Expect100Continue = True
|
||||
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
|
||||
|
||||
Try
|
||||
Using client As New WebClient()
|
||||
client.Headers.Add("User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:82.0) Gecko/20100101 Firefox/82.0")
|
||||
client.Headers.Add("ACCEPT: application/json, text/javascript, */*; q=0.01")
|
||||
client.Headers.Add("Accept-Encoding: gzip, deflate, br")
|
||||
client.Headers.Add("Cookie:" + SystemWebBrowserCookie)
|
||||
Dim HTMLString As String = DecompressString(client.DownloadData(WebbrowserURL))
|
||||
|
||||
If InStr(HTMLString, My.Resources.Funimation_Player_ID) Then
|
||||
Dim WebbrowserHeadTextSplit() As String = HTMLString.Split(New String() {"<head"}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||
Dim WebbrowserHeadTextSplit2() As String = WebbrowserHeadTextSplit(1).Split(New String() {"</head>"}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||
|
||||
Dim WebbrowserTitleSplit() As String = HTMLString.Split(New String() {"<title>"}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||
Dim WebbrowserTitleSplit2() As String = WebbrowserTitleSplit(1).Split(New String() {"</title>"}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||
|
||||
|
||||
WebbrowserText = HTMLString
|
||||
WebbrowserTitle = "<title>" + WebbrowserTitleSplit2(0) + "</title>"
|
||||
WebbrowserHeadText = "<head" + WebbrowserHeadTextSplit2(0) + "</head>"
|
||||
WebbrowserCookie = SystemWebBrowserCookie
|
||||
|
||||
Dim t As Thread
|
||||
t = New Thread(AddressOf Funitmation_Grapp)
|
||||
t.Priority = ThreadPriority.Normal
|
||||
t.IsBackground = True
|
||||
t.Start()
|
||||
|
||||
Else
|
||||
Me.Invoke(New Action(Function()
|
||||
Me.Text = "Status: no video found"
|
||||
Anime_Add.StatusLabel.Text = "fail?"
|
||||
Return Nothing
|
||||
End Function))
|
||||
|
||||
End If
|
||||
End Using
|
||||
Catch ex As Exception
|
||||
MsgBox(ex.ToString)
|
||||
Exit Sub
|
||||
End Try
|
||||
|
||||
|
||||
|
||||
b = False
|
||||
End If
|
||||
|
||||
Else
|
||||
|
@ -32,6 +32,6 @@ Imports System.Runtime.InteropServices
|
||||
' übernehmen, indem Sie "*" eingeben:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("3.7.5.1")>
|
||||
<Assembly: AssemblyFileVersion("3.7.5.1")>
|
||||
<Assembly: AssemblyVersion("3.7.6")>
|
||||
<Assembly: AssemblyFileVersion("3.7.6")>
|
||||
<Assembly: NeutralResourcesLanguage("en")>
|
||||
|
@ -1,4 +1,6 @@
|
||||
Module ProcessSleep
|
||||
Imports System.IO
|
||||
Imports System.IO.Compression
|
||||
Module ProcessSleep
|
||||
Public Enum ThreadAccess As Integer
|
||||
TERMINATE = (&H1)
|
||||
SUSPEND_RESUME = (&H2)
|
||||
@ -43,4 +45,19 @@
|
||||
stopWatch.Stop()
|
||||
End Sub
|
||||
|
||||
Public Function DecompressString(ByVal bytes As Byte()) As String
|
||||
|
||||
Using ms = New MemoryStream(bytes)
|
||||
Using ds = New GZipStream(ms, CompressionMode.Decompress)
|
||||
Using sr = New StreamReader(ds)
|
||||
|
||||
Return sr.ReadToEnd()
|
||||
|
||||
End Using
|
||||
End Using
|
||||
End Using
|
||||
|
||||
End Function
|
||||
|
||||
|
||||
End Module
|
||||
|
Binary file not shown.
Binary file not shown.
@ -43,7 +43,7 @@
|
||||
</div>
|
||||
<h1>Failed!</h1>
|
||||
<p>System.IndexOutOfRangeException: Der Index war außerhalb des Arraybereichs.
|
||||
bei Crunchyroll_Downloader.Main.ProcessRequest(NetworkStream stream, String htmlReq) in D:\Projecte\Crunchyroll Downloader - v3.0-final\Crunchyroll-Downloader-v3.0\Crunchyroll Downloader\Main.vb:Zeile 3178.</p>
|
||||
bei Crunchyroll_Downloader.Main.ProcessRequest(NetworkStream stream, String htmlReq) in D:\Projecte\Crunchyroll Downloader - v3.0-final\Crunchyroll-Downloader-v3.0\Crunchyroll Downloader\Main.vb:Zeile 3287.</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
6
Crunchyroll Downloader/einstellungen.Designer.vb
generated
6
Crunchyroll Downloader/einstellungen.Designer.vb
generated
@ -1005,10 +1005,10 @@ Partial Class Einstellungen
|
||||
Me.TabPage1.HorizontalScrollbarBarColor = True
|
||||
Me.TabPage1.HorizontalScrollbarHighlightOnWheel = False
|
||||
Me.TabPage1.HorizontalScrollbarSize = 10
|
||||
Me.TabPage1.Location = New System.Drawing.Point(4, 35)
|
||||
Me.TabPage1.Location = New System.Drawing.Point(4, 44)
|
||||
Me.TabPage1.Name = "TabPage1"
|
||||
Me.TabPage1.Padding = New System.Windows.Forms.Padding(3)
|
||||
Me.TabPage1.Size = New System.Drawing.Size(493, 461)
|
||||
Me.TabPage1.Size = New System.Drawing.Size(493, 452)
|
||||
Me.TabPage1.TabIndex = 0
|
||||
Me.TabPage1.Text = " Main"
|
||||
Me.TabPage1.VerticalScrollbar = True
|
||||
@ -1225,7 +1225,7 @@ Partial Class Einstellungen
|
||||
Me.TabControl1.FontWeight = MetroFramework.MetroTabControlWeight.Regular
|
||||
Me.TabControl1.Location = New System.Drawing.Point(22, 60)
|
||||
Me.TabControl1.Name = "TabControl1"
|
||||
Me.TabControl1.SelectedIndex = 3
|
||||
Me.TabControl1.SelectedIndex = 0
|
||||
Me.TabControl1.Size = New System.Drawing.Size(501, 500)
|
||||
Me.TabControl1.TabIndex = 38
|
||||
Me.TabControl1.UseSelectable = True
|
||||
|
@ -126,9 +126,6 @@
|
||||
<metadata name="MenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>118, 20</value>
|
||||
</metadata>
|
||||
<metadata name="MenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>118, 20</value>
|
||||
</metadata>
|
||||
<metadata name="BackgroundWorker1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>332, 20</value>
|
||||
</metadata>
|
||||
|
@ -250,6 +250,8 @@ Public Class Einstellungen
|
||||
End If
|
||||
|
||||
Catch ex As Exception
|
||||
http_support.Text = "add-on support disabled"
|
||||
|
||||
End Try
|
||||
|
||||
If Main.DefaultSubFunimation = "en" Then
|
||||
@ -303,6 +305,12 @@ Public Class Einstellungen
|
||||
rk.SetValue("ServerPort", Port, RegistryValueKind.String)
|
||||
Main.StartServer = False
|
||||
Catch ex As Exception
|
||||
If MessageBox.Show("Resolution '[Auto]' and merge the subtitle with the video file will download all resolutions!" + vbNewLine + "Press 'Yes' to enable it anyway", "Prepare for unforeseen consequences.", MessageBoxButtons.YesNo) = DialogResult.Yes Then
|
||||
|
||||
Else
|
||||
AAuto.Checked = False
|
||||
A360p.Checked = True
|
||||
End If
|
||||
MsgBox("The add-on support Port can only be numbers!", MsgBoxStyle.Exclamation)
|
||||
Exit Sub
|
||||
End Try
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue
Block a user