mirror of
https://github.com/hama3254/Crunchyroll-Downloader-v3.0.git
synced 2024-11-13 03:35:05 +01:00
AoD added
AoD added
This commit is contained in:
parent
0717281b1c
commit
7306429b79
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
1025
.vs/config/applicationhost.config
Normal file
1025
.vs/config/applicationhost.config
Normal file
File diff suppressed because it is too large
Load Diff
@ -9,7 +9,10 @@
|
||||
"48": "icons/icon-48.png"
|
||||
},
|
||||
"permissions": [
|
||||
"*://anime-on-demand.de/*",
|
||||
"*://www.anime-on-demand.de/*",
|
||||
"activeTab",
|
||||
"cookies",
|
||||
"tabs"
|
||||
],
|
||||
|
||||
|
@ -16,11 +16,10 @@
|
||||
|
||||
<div id="frame2" class="frame" >
|
||||
|
||||
<button type="button" class='btn_class' id='btn_enable_funimation_select'>Select Episodes</button>
|
||||
<button type="button" class='btn_class' id='btn_add_funimation'>Add this Funimation Episode</button>
|
||||
|
||||
|
||||
<button type="button" class='btn_class' id='btn_enable_funimation_select'>Select Episodes</button>
|
||||
<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_enable_select'>Select Episodes</button>
|
||||
<button type="button" class='btn_class' id='btn_select_all'>Select All</button>
|
||||
|
@ -19,7 +19,17 @@ browser.tabs.query({
|
||||
code: 'document.getElementsByClassName("trackVideo")[0].href'
|
||||
});
|
||||
funimation.then(FunimationSuccess, FunimationError);
|
||||
} else if (tab.url.includes('anime-on-demand.de/anime/')) {
|
||||
|
||||
document.getElementById("btn_add").hidden = true;
|
||||
document.getElementById("btn_enable_select").hidden = true;
|
||||
document.getElementById("btn_add_mass").hidden = true;
|
||||
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_AoD").hidden = false;
|
||||
|
||||
} else {
|
||||
|
||||
document.getElementById("btn_add").hidden = true;
|
||||
@ -29,9 +39,28 @@ browser.tabs.query({
|
||||
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_AoD").hidden = true;
|
||||
}
|
||||
}, console.error)
|
||||
|
||||
document.getElementById('btn_add_AoD').addEventListener('click', () => {
|
||||
//browser.cookies.getAllCookieStores().then((cookie) => {
|
||||
// browser.cookies.getAll({
|
||||
// name: "_aod_session"
|
||||
// }).then((cookie) => {
|
||||
//console.log(cookie)
|
||||
|
||||
//}, console.error)
|
||||
|
||||
var cookies = {};
|
||||
|
||||
cookies.all = url => new Promise(resolve => chrome.cookies.getAll({
|
||||
url
|
||||
}, resolve));
|
||||
|
||||
console.log(cookies)
|
||||
});
|
||||
|
||||
document.getElementById('btn_enable_select').addEventListener('click', () => {
|
||||
browser.tabs.executeScript({
|
||||
code: 'var script=document.createElement("script");script.type="text/javascript",script.src="http://127.0.0.1/inject.js",document.head.appendChild(script);'
|
||||
@ -44,6 +73,7 @@ document.getElementById('btn_enable_select').addEventListener('click', () => {
|
||||
document.getElementById("btn_add").hidden = true;
|
||||
document.getElementById("btn_enable_funimation_select").hidden = true;
|
||||
document.getElementById("btn_add_funimation").hidden = true;
|
||||
document.getElementById("btn_add_AoD").hidden = true;
|
||||
});
|
||||
|
||||
document.getElementById('btn_select_all').addEventListener('click', () => {
|
||||
@ -130,6 +160,7 @@ function onExecuted(result) {
|
||||
document.getElementById("btn_enable_select").hidden = true;
|
||||
document.getElementById("btn_add_funimation").hidden = true;
|
||||
document.getElementById("btn_enable_funimation_select").hidden = true;
|
||||
document.getElementById("btn_add_AoD").hidden = true;
|
||||
console.log(true);
|
||||
} else {
|
||||
document.getElementById("btn_add").hidden = true;
|
||||
@ -139,6 +170,7 @@ function onExecuted(result) {
|
||||
document.getElementById("btn_select_none").hidden = true;
|
||||
document.getElementById("btn_add_funimation").hidden = true;
|
||||
document.getElementById("btn_enable_funimation_select").hidden = true;
|
||||
document.getElementById("btn_add_AoD").hidden = true;
|
||||
|
||||
console.log(false);
|
||||
}
|
||||
@ -154,6 +186,7 @@ function onError(error) {
|
||||
document.getElementById("btn_enable_select").hidden = true;
|
||||
document.getElementById("btn_add_funimation").hidden = true;
|
||||
document.getElementById("btn_enable_funimation_select").hidden = true;
|
||||
document.getElementById("btn_add_AoD").hidden = true;
|
||||
|
||||
}
|
||||
function add_fun_ok(result) {
|
||||
@ -239,6 +272,7 @@ document.getElementById('btn_enable_funimation_select').addEventListener('click'
|
||||
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;
|
||||
|
||||
});
|
||||
|
||||
@ -251,9 +285,11 @@ function FunimationSuccess(result) {
|
||||
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_AoD").hidden = true;
|
||||
|
||||
document.getElementById("btn_enable_funimation_select").hidden = true;
|
||||
document.getElementById("btn_add_funimation").hidden = true;
|
||||
document.getElementById("btn_add_AoD").hidden = true;
|
||||
console.log(true);
|
||||
} else {
|
||||
document.getElementById("btn_add").hidden = true;
|
||||
@ -263,6 +299,7 @@ function FunimationSuccess(result) {
|
||||
document.getElementById("btn_select_all").hidden = true;
|
||||
document.getElementById("btn_select_none").hidden = true;
|
||||
document.getElementById("btn_enable_funimation_select").hidden = false;
|
||||
document.getElementById("btn_add_AoD").hidden = true;
|
||||
|
||||
console.log(false);
|
||||
}
|
||||
@ -278,5 +315,6 @@ function FunimationError(error) {
|
||||
document.getElementById("btn_enable_select").hidden = true;
|
||||
document.getElementById("btn_add_funimation").hidden = false;
|
||||
document.getElementById("btn_enable_funimation_select").hidden = true;
|
||||
document.getElementById("btn_add_AoD").hidden = true;
|
||||
|
||||
}
|
||||
|
2
Crunchyroll Downloader/Anime_Add.Designer.vb
generated
2
Crunchyroll Downloader/Anime_Add.Designer.vb
generated
@ -273,9 +273,9 @@ Partial Class Anime_Add
|
||||
Me.ClientSize = New System.Drawing.Size(630, 275)
|
||||
Me.Controls.Add(Me.pictureBox3)
|
||||
Me.Controls.Add(Me.pictureBox4)
|
||||
Me.Controls.Add(Me.groupBox2)
|
||||
Me.Controls.Add(Me.groupBox1)
|
||||
Me.Controls.Add(Me.GroupBox3)
|
||||
Me.Controls.Add(Me.groupBox2)
|
||||
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
|
||||
Me.Name = "Anime_Add"
|
||||
Me.Text = "Add"
|
||||
|
@ -2,10 +2,15 @@
|
||||
Imports System.Net
|
||||
Imports Gecko
|
||||
Imports System.IO
|
||||
Imports System.Threading
|
||||
|
||||
Public Class Anime_Add
|
||||
Public Mass_DL_Cancel As Boolean = False
|
||||
Public List_DL_Cancel As Boolean = False
|
||||
|
||||
Dim AoD_OmUList As New List(Of String)
|
||||
Dim AoD_DubList As New List(Of String)
|
||||
Dim AoD_Mode As Boolean = False
|
||||
Dim AoD_DL_running As Boolean = False
|
||||
Private Sub ComboBox2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox2.SelectedIndexChanged
|
||||
Try
|
||||
If ComboBox2.Text = Main.SubFolder_Nothing Then
|
||||
@ -24,6 +29,7 @@ Public Class Anime_Add
|
||||
End Sub
|
||||
|
||||
Private Sub Anime_Add_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||
|
||||
Me.Icon = My.Resources.icon
|
||||
Try
|
||||
Dim ListBox1List As New List(Of String)
|
||||
@ -206,7 +212,7 @@ Public Class Anime_Add
|
||||
Main.LoginOnly = "Download Mode!"
|
||||
If groupBox1.Visible = True Then
|
||||
Try
|
||||
If CBool(InStr(textBox1.Text, "crunchyroll.com")) Or CBool(InStr(textBox1.Text, "funimation.com")) Then
|
||||
If CBool(InStr(textBox1.Text, "crunchyroll.com")) Or CBool(InStr(textBox1.Text, "funimation.com")) Then 'Or CBool(InStr(textBox1.Text, "anime-on-demand.de")) Then
|
||||
If StatusLabel.Text = "Status: waiting for episode selection" Then
|
||||
If MessageBox.Show("Are you sure you want cancel the advanced download?", "confirm?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
|
||||
StatusLabel.Text = "Status: idle"
|
||||
@ -232,6 +238,160 @@ Public Class Anime_Add
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
ElseIf CBool(InStr(textBox1.Text, "anime-on-demand.de")) Then
|
||||
Main.b = False
|
||||
AoD_DubList.Clear()
|
||||
AoD_OmUList.Clear()
|
||||
Dim FileLocation As DirectoryInfo = New DirectoryInfo(Application.StartupPath)
|
||||
Dim CurrentFile As String = Nothing
|
||||
For Each File In FileLocation.GetFiles()
|
||||
If InStr(File.FullName, "gecko-network.txt") Then
|
||||
CurrentFile = File.FullName
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
If CurrentFile = Nothing Then
|
||||
Else
|
||||
Dim logFileStream As FileStream = New FileStream(CurrentFile, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite)
|
||||
Dim logFileReader As StreamReader = New StreamReader(logFileStream)
|
||||
logFileStream.SetLength(0)
|
||||
logFileReader.Close()
|
||||
logFileStream.Close()
|
||||
End If
|
||||
Main.LogBrowserData = True
|
||||
GeckoPreferences.Default("logging.config.LOG_FILE") = "gecko-network.txt"
|
||||
GeckoPreferences.Default("logging.nsHttp") = 3
|
||||
GeckoFX.WebBrowser1.Navigate(textBox1.Text)
|
||||
|
||||
Do Until Main.b = True
|
||||
Main.StatusMainForm.Text = "Status: loading ..."
|
||||
StatusLabel.Text = "Status: loading ..."
|
||||
Pause(1)
|
||||
Loop
|
||||
|
||||
Main.LogBrowserData = False
|
||||
GeckoPreferences.Default("logging.config.LOG_FILE") = "gecko-network.txt"
|
||||
GeckoPreferences.Default("logging.nsHttp") = 0
|
||||
|
||||
Dim AoD_Cookie As String = Nothing
|
||||
Dim AoDhttpLog As DirectoryInfo = New DirectoryInfo(Application.StartupPath)
|
||||
Dim AoDhttpLogFile As String = Nothing
|
||||
For Each File In AoDhttpLog.GetFiles()
|
||||
If InStr(File.FullName, "gecko-network.txt") Then
|
||||
AoDhttpLogFile = File.FullName
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
Dim AoDlogFileStream As FileStream = New FileStream(AoDhttpLogFile, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite)
|
||||
Dim AoDlogFileReader As StreamReader = New StreamReader(AoDlogFileStream)
|
||||
Dim line As String = Nothing
|
||||
Dim HTMLString As String = Nothing
|
||||
line = AoDlogFileReader.ReadLine
|
||||
|
||||
While (line IsNot Nothing)
|
||||
line = AoDlogFileReader.ReadLine
|
||||
If CBool(InStr(line, "Cookie: ")) And CBool(InStr(line, "remember_user_token=")) Then
|
||||
AoD_Cookie = "Cookie: " + line.Split(New String() {"Cookie: "}, System.StringSplitOptions.RemoveEmptyEntries)(1)
|
||||
Exit While
|
||||
End If
|
||||
End While
|
||||
AoDlogFileReader.Close()
|
||||
AoDlogFileStream.Close()
|
||||
If AoD_Cookie = Nothing Then
|
||||
MsgBox(Main.LoginReminder)
|
||||
Main.StatusMainForm.Text = "Crunchyroll Downloader"
|
||||
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:
|
||||
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("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))
|
||||
|
||||
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
|
||||
|
||||
End If
|
||||
|
||||
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.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("X-Requested-With: XMLHttpRequest")
|
||||
client.Headers.Add(AoD_Cookie) '+ WebBrowser1.Document.Cookie)
|
||||
'MsgBox(DubStreamSplitEpisodeIndex(1))
|
||||
m3u8Strings = client.DownloadString("https://www.anime-on-demand.de/videomaterialurl/" + DubStreamSplitEpisodeIndex2(0) + "/Dub/1080/hlsfirst/" + DubStreamSplitToken(0))
|
||||
|
||||
End Using
|
||||
Catch ex As Exception
|
||||
MsgBox(ex.ToString + vbNewLine + "https://www.anime-on-demand.de/videomaterialurl/" + DubStreamSplitEpisodeIndex2(0) + "/Dub/1080/hlsfirst/" + DubStreamSplitToken(0))
|
||||
End Try
|
||||
If m3u8Strings = Nothing Then
|
||||
Else
|
||||
|
||||
Dim DubStreams() As String = m3u8Strings.Split(New String() {My.Resources.AoD_files}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||
For i As Integer = 1 To DubStreams.Count - 1
|
||||
AoD_DubList.Add(DubStreams(i))
|
||||
Next
|
||||
End If
|
||||
|
||||
|
||||
End If
|
||||
AoD_Mode = True
|
||||
If AoD_DubList.Count And AoD_OmuList.Count > 1 Then
|
||||
|
||||
GroupBox3.Visible = False
|
||||
groupBox2.Visible = True
|
||||
groupBox1.Visible = False
|
||||
ComboBox1.Enabled = True
|
||||
comboBox3.Enabled = True
|
||||
comboBox4.Enabled = True
|
||||
ComboBox1.Items.Add("Dub")
|
||||
ComboBox1.Items.Add("OmU")
|
||||
FillAoDDropDown()
|
||||
ElseIf AoD_DubList.Count Or AoD_OmuList.Count > 1 Then
|
||||
|
||||
GroupBox3.Visible = False
|
||||
groupBox2.Visible = True
|
||||
groupBox1.Visible = False
|
||||
ComboBox1.Enabled = False
|
||||
comboBox3.Enabled = True
|
||||
comboBox4.Enabled = True
|
||||
FillAoDDropDown()
|
||||
End If
|
||||
|
||||
ElseIf CBool(InStr(textBox1.Text, "Test=true")) Then
|
||||
GeckoFX.WebBrowser1.Navigate(textBox1.Text)
|
||||
Else 'If CBool(InStr(textBox1.Text, "vrv.co")) Then
|
||||
@ -280,7 +440,20 @@ Public Class Anime_Add
|
||||
Main.b = True
|
||||
groupBox1.Visible = True
|
||||
pictureBox4.Image = My.Resources.main_button_download_default
|
||||
ElseIf AoD_Mode = True Then
|
||||
If AoD_DL_running = False Then
|
||||
AoD_DL_running = True
|
||||
ComboBox1.Enabled = False
|
||||
comboBox3.Enabled = False
|
||||
comboBox4.Enabled = False
|
||||
Dim Evaluator = New Thread(Sub() Me.Add_AoD())
|
||||
Evaluator.Start()
|
||||
PictureBox1.Enabled = False
|
||||
PictureBox1.Visible = False
|
||||
End If
|
||||
'Add_AoD()
|
||||
Else
|
||||
|
||||
StatusLabel.Text = "Status: idle"
|
||||
pictureBox4.Image = My.Resources.add_mass_running_cancel
|
||||
Mass_DL_Cancel = True
|
||||
@ -352,34 +525,37 @@ Public Class Anime_Add
|
||||
End Sub
|
||||
|
||||
Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
|
||||
'MsgBox("Test")
|
||||
comboBox3.Items.Clear()
|
||||
comboBox4.Items.Clear()
|
||||
'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 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)
|
||||
If AoD_Mode = False Then
|
||||
|
||||
Dim URLGrapp2 As String() = URLGrapp(1).Split(New String() {Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||
'MsgBox("Test")
|
||||
comboBox3.Items.Clear()
|
||||
comboBox4.Items.Clear()
|
||||
'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 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)
|
||||
|
||||
comboBox3.Items.Add(URLGrapp2(0))
|
||||
comboBox4.Items.Add(URLGrapp2(0))
|
||||
Next
|
||||
'comboBox3.SelectedIndex = 0
|
||||
'comboBox4.SelectedIndex = 0
|
||||
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
|
||||
'comboBox3.SelectedIndex = 0
|
||||
'comboBox4.SelectedIndex = 0
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub PictureBox1_MouseEnter(sender As Object, e As EventArgs) Handles PictureBox1.MouseEnter
|
||||
@ -470,4 +646,251 @@ Public Class Anime_Add
|
||||
|
||||
#End Region
|
||||
|
||||
Private Sub FillAoDDropDown()
|
||||
For i As Integer = 0 To AoD_OmuList.Count - 1
|
||||
Dim DropDownTitle As String() = AoD_OmuList(i).Split(New String() {My.Resources.AoD_Titel}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||
Dim DropDownTitle2 As String() = DropDownTitle(1).Split(New String() {Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||
comboBox3.Items.Add(DropDownTitle2(0))
|
||||
comboBox4.Items.Add(DropDownTitle2(0))
|
||||
Next
|
||||
End Sub
|
||||
|
||||
Public Sub Add_AoD()
|
||||
Dim ProcessList As New List(Of String)
|
||||
Dim RDY As Boolean = True
|
||||
Dim Running As Integer = Main.RunningDownloads
|
||||
Dim DlMax As Integer = Main.MaxDL
|
||||
Dim Pfad2 As String = Main.Pfad
|
||||
Dim c As Integer = 0
|
||||
Dim SubExit As Boolean = False
|
||||
Dim CB3 As Integer = 0
|
||||
Dim CB4 As Integer = 0
|
||||
Me.Invoke(New Action(Function()
|
||||
'Main.StatusMainForm.Text = "Crunchyroll Downloader"
|
||||
Pfad2 = Main.Pfad
|
||||
If ComboBox1.Enabled = False Then
|
||||
|
||||
If AoD_DubList.Count > 1 Then
|
||||
For i As Integer = 0 To AoD_DubList.Count - 1
|
||||
ProcessList.Add(AoD_DubList(i))
|
||||
Next
|
||||
ElseIf AoD_OmuList.Count > 1 Then
|
||||
For i As Integer = 0 To AoD_OmuList.Count - 1
|
||||
ProcessList.Add(AoD_OmuList(i))
|
||||
Next
|
||||
Else
|
||||
MsgBox("error")
|
||||
SubExit = True
|
||||
End If
|
||||
|
||||
ElseIf ComboBox1.Text = "Dub" Then
|
||||
For i As Integer = 0 To AoD_DubList.Count - 1
|
||||
ProcessList.Add(AoD_DubList(i))
|
||||
Next
|
||||
|
||||
ElseIf ComboBox1.Text = "OmU" Then
|
||||
For i As Integer = 0 To AoD_OmuList.Count - 1
|
||||
ProcessList.Add(AoD_OmuList(i))
|
||||
Next
|
||||
Else
|
||||
MsgBox("error")
|
||||
SubExit = True
|
||||
|
||||
|
||||
End If
|
||||
|
||||
|
||||
If comboBox4.SelectedIndex > comboBox3.SelectedIndex Or comboBox4.SelectedIndex = comboBox3.SelectedIndex Then
|
||||
c = comboBox4.SelectedIndex - comboBox3.SelectedIndex + 1
|
||||
Else
|
||||
Dim TempCB3 As Integer = comboBox3.SelectedIndex
|
||||
Dim TempCB4 As Integer = comboBox4.SelectedIndex
|
||||
comboBox3.SelectedIndex = TempCB4
|
||||
comboBox4.SelectedIndex = TempCB3
|
||||
c = comboBox4.SelectedIndex - comboBox3.SelectedIndex + 1
|
||||
End If
|
||||
|
||||
'MsgBox("00")
|
||||
|
||||
CB3 = comboBox3.SelectedIndex
|
||||
CB4 = comboBox4.SelectedIndex
|
||||
Return Nothing
|
||||
End Function))
|
||||
If SubExit = True Then
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
For i As Integer = CB3 To CB4
|
||||
Dim ii As Integer = i
|
||||
|
||||
If Mass_DL_Cancel = True Then
|
||||
Exit For
|
||||
End If
|
||||
For e As Integer = 0 To Integer.MaxValue
|
||||
Thread.Sleep(2000)
|
||||
|
||||
If RDY = True Then
|
||||
Me.Invoke(New Action(Function()
|
||||
Running = Main.RunningDownloads
|
||||
DlMax = Main.MaxDL
|
||||
Return Nothing
|
||||
End Function))
|
||||
If DlMax > Running Then
|
||||
RDY = False
|
||||
|
||||
Exit For
|
||||
|
||||
End If
|
||||
End If
|
||||
|
||||
Next
|
||||
|
||||
Me.Invoke(New Action(Function()
|
||||
Running = Main.RunningDownloads
|
||||
DlMax = Main.MaxDL
|
||||
Dim d As Integer = ii - CB3 + 1
|
||||
Add_Display.Text = d.ToString + " / " + c.ToString
|
||||
Main.StatusMainForm.Text = "Status: " + d.ToString + " / " + c.ToString ' looking for video file"
|
||||
Return Nothing
|
||||
End Function))
|
||||
|
||||
|
||||
|
||||
Dim AoDTitle1() As String = ProcessList.Item(i).Split(New String() {My.Resources.AoD_Titel}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||
Dim AoDTitle2() As String = AoDTitle1(1).Split(New String() {Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||
Dim AoDTitle As String = AoDTitle2(0)
|
||||
AoDTitle = System.Text.RegularExpressions.Regex.Replace(AoDTitle, "[^\w\\-]", " ").Trim(" ")
|
||||
AoDTitle = Main.RemoveExtraSpaces(AoDTitle)
|
||||
Dim DownloadPfad As String = Chr(34) + Pfad2 + "\" + AoDTitle + ".mp4" + Chr(34)
|
||||
#Region "lösche doppel download"
|
||||
|
||||
Dim Pfad5 As String = DownloadPfad.Replace(Chr(34), "")
|
||||
If My.Computer.FileSystem.FileExists(Pfad5) Then 'Pfad = Kompeltter Pfad mit Dateinamen + ENdung
|
||||
Me.Invoke(New Action(Function()
|
||||
Main.StatusMainForm.Text = "Status: File already exists."
|
||||
Return Nothing
|
||||
End Function))
|
||||
|
||||
If MessageBox.Show("The file " + Pfad5 + " already exists." + vbNewLine + "You want to override it?", "File exists!", MessageBoxButtons.OKCancel) = DialogResult.OK Then
|
||||
Try
|
||||
My.Computer.FileSystem.DeleteFile(Pfad5)
|
||||
Me.Invoke(New Action(Function()
|
||||
Main.StatusMainForm.Text = "Status: Old file overwritten."
|
||||
Return Nothing
|
||||
End Function))
|
||||
|
||||
Catch ex As Exception
|
||||
End Try
|
||||
Else
|
||||
Me.Invoke(New Action(Function()
|
||||
Main.StatusMainForm.Text = "Crunchyroll Downloader"
|
||||
Return Nothing
|
||||
End Function))
|
||||
|
||||
Continue For
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
End If
|
||||
#End Region
|
||||
Dim AoDThumbnail1() As String = ProcessList.Item(i).Split(New String() {My.Resources.AoD_Image}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||
Dim AoDThumbnail2() As String = AoDThumbnail1(1).Split(New String() {Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||
Dim AoDThumbnail As String = AoDThumbnail2(0)
|
||||
Dim AoDTm3u8() As String = ProcessList.Item(i).Split(New String() {Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||
Dim AoDm3u8Final As String = "-i " + Chr(34) + AoDTm3u8(0).Replace("&", "&").Replace("/u0026", "&").Replace("\u002F", "/").Replace("\u0026", "&") + Chr(34) + " " + Main.ffmpeg_command
|
||||
|
||||
|
||||
Dim L1Name As String = "anime-on-demand.de" 'L1Name_Split(1).Replace("www.", "") + " | Dub : " + FunimationDub
|
||||
Me.Invoke(New Action(Function()
|
||||
Main.ListItemAdd(Pfad2, L1Name, AoDTitle, "[Auto]", "Unknown", "None", AoDThumbnail, AoDm3u8Final, DownloadPfad)
|
||||
Return Nothing
|
||||
End Function))
|
||||
Main.liList.Add(My.Resources.htmlvorThumbnail + AoDThumbnail + My.Resources.htmlnachTumbnail + "<br>" + AoDTitle + My.Resources.htmlvorAufloesung + "[Auto]" + My.Resources.htmlvorSoftSubs + vbNewLine + "None" + My.Resources.htmlvorHardSubs + "null" + My.Resources.htmlnachHardSubs + "<!-- " + AoDTitle + "-->")
|
||||
|
||||
|
||||
|
||||
|
||||
RDY = True
|
||||
|
||||
Next
|
||||
|
||||
'#Region "SubsToMP4"
|
||||
' If UsedSub = Nothing Then
|
||||
' If FunimationDub = "japanese" Then
|
||||
' Dim DubMetatata As String = " -metadata:s:a:0 language=jpn"
|
||||
' Funimation_m3u8_final = "-i " + Chr(34) + Funimation_m3u8_final + Chr(34) + DubMetatata + " " + ffmpeg_command
|
||||
' Else
|
||||
' Dim DubMetatata As String = " -metadata:s:a:0 language=eng"
|
||||
' Funimation_m3u8_final = "-i " + Chr(34) + Funimation_m3u8_final + Chr(34) + DubMetatata + " " + ffmpeg_command
|
||||
' End If
|
||||
' ElseIf HardSubFunimation = True Then
|
||||
' Dim ffmpeg_hardsub As String = Nothing
|
||||
' If InStr(ffmpeg_command, "-c copy") Then
|
||||
' ffmpeg_hardsub = "-bsf:a aac_adtstoasc"
|
||||
' Else
|
||||
' ffmpeg_hardsub = ffmpeg_command
|
||||
' End If
|
||||
' If UsedSub = Nothing Then
|
||||
' Else
|
||||
' If FunimationDub = "japanese" Then
|
||||
' Dim DubMetatata As String = " -metadata:s:a:0 language=jpn"
|
||||
' Funimation_m3u8_final = "-i " + Chr(34) + Funimation_m3u8_final + Chr(34) + " -vf subtitles=" + Chr(34) + UsedSub + Chr(34) + " " + ffmpeg_hardsub
|
||||
' Else
|
||||
' Dim DubMetatata As String = " -metadata:s:a:0 language=eng"
|
||||
' Funimation_m3u8_final = "-i " + Chr(34) + Funimation_m3u8_final + Chr(34) + " -vf subtitles=" + Chr(34) + UsedSub + Chr(34) + " " + ffmpeg_hardsub
|
||||
' End If
|
||||
' End If
|
||||
' 'MsgBox(Funimation_m3u8_final)
|
||||
' ElseIf MergeSubstoMP4 = True Then
|
||||
' If UsedSub = Nothing Then
|
||||
' Else
|
||||
' Dim DubMetatata As String = " -metadata:s:a:0 language=jpn"
|
||||
' If FunimationDub = "japanese" Then
|
||||
' DubMetatata = " -metadata:s:a:0 language=jpn"
|
||||
' 'Funimation_m3u8_final = "-i " + Chr(34) + Funimation_m3u8_final + Chr(34) + DubMetatata + " " + ffmpeg_command
|
||||
' Else
|
||||
' DubMetatata = " -metadata:s:a:0 language=eng"
|
||||
' 'Funimation_m3u8_final = "-i " + Chr(34) + Funimation_m3u8_final + Chr(34) + DubMetatata + " " + ffmpeg_command
|
||||
' End If
|
||||
|
||||
' Dim SoftSubMergeURLs As String = " -headers " + My.Resources.ffmpeg_user_agend + " -i " + Chr(34) + UsedSub + Chr(34)
|
||||
' Dim SoftSubMergeMaps As String = " -map 0:v -map 0:a -map 1"
|
||||
' Dim SoftSubMergeMetatata As String = " -metadata:s:s:0 language=eng"
|
||||
' Funimation_m3u8_final = "-i " + Chr(34) + Funimation_m3u8_final + Chr(34) + SoftSubMergeURLs + SoftSubMergeMaps + " " + ffmpeg_command + " -c:s mov_text" + SoftSubMergeMetatata + DubMetatata
|
||||
' End If
|
||||
' Else
|
||||
' If FunimationDub = "japanese" Then
|
||||
' Dim DubMetatata As String = " -metadata:s:a:0 language=jpn"
|
||||
' Funimation_m3u8_final = "-i " + Chr(34) + Funimation_m3u8_final + Chr(34) + DubMetatata + " " + ffmpeg_command
|
||||
' Else
|
||||
' Dim DubMetatata As String = " -metadata:s:a:0 language=eng"
|
||||
' Funimation_m3u8_final = "-i " + Chr(34) + Funimation_m3u8_final + Chr(34) + DubMetatata + " " + ffmpeg_command
|
||||
' End If
|
||||
|
||||
' End If
|
||||
|
||||
'#End Region
|
||||
' 'MsgBox(Funimation_m3u8_final)
|
||||
' 'DownloadPfad = DownloadPfad.Replace(" \", "\")
|
||||
' DownloadPfad = RemoveExtraSpaces(DownloadPfad)
|
||||
' Dim L1Name_Split As String() = WebbrowserURL.Split(New String() {"/"}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||
' Dim L1Name As String = L1Name_Split(1).Replace("www.", "") + " | Dub : " + FunimationDub
|
||||
' Me.Invoke(New Action(Function()
|
||||
' ListItemAdd(Pfad_DL, L1Name, DefaultName, ResoHTMLDisplay, "Unknown", SubValuesToDisplay(), thumbnail3, Funimation_m3u8_final, Chr(34) + DownloadPfad + Chr(34))
|
||||
' Return Nothing
|
||||
' End Function))
|
||||
' liList.Add(My.Resources.htmlvorThumbnail + thumbnail3 + My.Resources.htmlnachTumbnail + FunimationTitle + " <br> " + FunimationSeason + " " + FunimationEpisode + My.Resources.htmlvorAufloesung + ResoHTMLDisplay + My.Resources.htmlvorSoftSubs + vbNewLine + SubValuesToDisplay() + My.Resources.htmlvorHardSubs + "null" + My.Resources.htmlnachHardSubs + "<!-- " + DefaultName + "-->")
|
||||
|
||||
'#End Region
|
||||
|
||||
' Catch ex As Exception
|
||||
' Me.Invoke(New Action(Function()
|
||||
' StatusMainForm.Text = "Crunchyroll Downloader!"
|
||||
' Return Nothing
|
||||
' End Function))
|
||||
|
||||
' MsgBox(ex.ToString)
|
||||
' End Try
|
||||
' Funimation_Grapp_RDY = True
|
||||
End Sub
|
||||
End Class
|
@ -36,16 +36,19 @@ Namespace My
|
||||
|
||||
Dim sUserAgent As String = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:81.0) Gecko/20100101 Firefox/81.0"
|
||||
'sUserAgent = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36"
|
||||
|
||||
Xpcom.Initialize("Firefox")
|
||||
'MsgBox(Xpcom.XulRunnerVersion)
|
||||
Xpcom.ProfileDirectory = ProfileDirectory
|
||||
Xpcom.Initialize("Firefox")
|
||||
'Dim File As nsIFile = CType(Xpcom.NewNativeLocalFile("E:\addon\"), nsIFile)
|
||||
'File.Append(New nsAString("manifest.json"))
|
||||
'Xpcom.ComponentRegistrar.AutoRegister(File)
|
||||
|
||||
'Dim Dir As String =
|
||||
GeckoPreferences.User("general.useragent.override") = sUserAgent
|
||||
'Xpcom.Initialize("C:\Program Files\Mozilla Firefox")
|
||||
GeckoPreferences.Default("browser.cache.disk.enable") = False
|
||||
GeckoPreferences.Default("network.cookie.thirdparty.sessionOnly") = False
|
||||
GeckoPreferences.Default("extensions.blocklist.enabled") = False
|
||||
'GeckoPreferences.Default("extensions.blocklist.enabled") = False
|
||||
GeckoPreferences.Default("Services.sync.prefs.sync.privacy.clearOnShutdown.cookies") = False
|
||||
GeckoPreferences.Default("plugin.state.flash") = 0
|
||||
GeckoPreferences.Default("zoom.maxPercent") = 100
|
||||
@ -53,6 +56,8 @@ Namespace My
|
||||
' GeckoPreferences.Default("media.autoplay.default") = 2
|
||||
'GeckoPreferences.Default("media.autoplay.block-webaudio") = False
|
||||
'GeckoPreferences.Default("javascript.enabled") = False
|
||||
|
||||
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
MsgBox(ex.ToString)
|
||||
|
12
Crunchyroll Downloader/CRD_List_Item.Designer.vb
generated
12
Crunchyroll Downloader/CRD_List_Item.Designer.vb
generated
@ -33,7 +33,6 @@ Partial Class CRD_List_Item
|
||||
Me.Label_percent = New System.Windows.Forms.Label()
|
||||
Me.ProgressBar1 = New System.Windows.Forms.ProgressBar()
|
||||
Me.ToolTip1 = New System.Windows.Forms.ToolTip(Me.components)
|
||||
Me.Timer1 = New System.Windows.Forms.Timer(Me.components)
|
||||
Me.Timer2 = New System.Windows.Forms.Timer(Me.components)
|
||||
Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components)
|
||||
Me.ViewInExplorerToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
|
||||
@ -134,10 +133,6 @@ Partial Class CRD_List_Item
|
||||
Me.ProgressBar1.Style = System.Windows.Forms.ProgressBarStyle.Continuous
|
||||
Me.ProgressBar1.TabIndex = 8
|
||||
'
|
||||
'Timer1
|
||||
'
|
||||
Me.Timer1.Interval = 1000
|
||||
'
|
||||
'Timer2
|
||||
'
|
||||
Me.Timer2.Enabled = True
|
||||
@ -146,18 +141,18 @@ Partial Class CRD_List_Item
|
||||
'
|
||||
Me.ContextMenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ViewInExplorerToolStripMenuItem, Me.PlaybackVideoFileToolStripMenuItem})
|
||||
Me.ContextMenuStrip1.Name = "ContextMenuStrip1"
|
||||
Me.ContextMenuStrip1.Size = New System.Drawing.Size(173, 48)
|
||||
Me.ContextMenuStrip1.Size = New System.Drawing.Size(181, 70)
|
||||
'
|
||||
'ViewInExplorerToolStripMenuItem
|
||||
'
|
||||
Me.ViewInExplorerToolStripMenuItem.Name = "ViewInExplorerToolStripMenuItem"
|
||||
Me.ViewInExplorerToolStripMenuItem.Size = New System.Drawing.Size(172, 22)
|
||||
Me.ViewInExplorerToolStripMenuItem.Size = New System.Drawing.Size(180, 22)
|
||||
Me.ViewInExplorerToolStripMenuItem.Text = "View in explorer"
|
||||
'
|
||||
'PlaybackVideoFileToolStripMenuItem
|
||||
'
|
||||
Me.PlaybackVideoFileToolStripMenuItem.Name = "PlaybackVideoFileToolStripMenuItem"
|
||||
Me.PlaybackVideoFileToolStripMenuItem.Size = New System.Drawing.Size(172, 22)
|
||||
Me.PlaybackVideoFileToolStripMenuItem.Size = New System.Drawing.Size(180, 22)
|
||||
Me.PlaybackVideoFileToolStripMenuItem.Text = "playback video file"
|
||||
'
|
||||
'CRD_List_Item
|
||||
@ -195,7 +190,6 @@ Partial Class CRD_List_Item
|
||||
Friend WithEvents Label_percent As Label
|
||||
Friend WithEvents ProgressBar1 As ProgressBar
|
||||
Friend WithEvents ToolTip1 As ToolTip
|
||||
Friend WithEvents Timer1 As Timer
|
||||
Friend WithEvents Timer2 As Timer
|
||||
Friend WithEvents ContextMenuStrip1 As ContextMenuStrip
|
||||
Friend WithEvents ViewInExplorerToolStripMenuItem As ToolStripMenuItem
|
||||
|
@ -120,9 +120,6 @@
|
||||
<metadata name="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>19, 12</value>
|
||||
</metadata>
|
||||
<metadata name="Timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>118, 12</value>
|
||||
</metadata>
|
||||
<metadata name="Timer2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>207, 12</value>
|
||||
</metadata>
|
||||
|
@ -13,7 +13,7 @@ Public Class CRD_List_Item
|
||||
Dim timeout As DateTime
|
||||
|
||||
Dim Canceld As Boolean = False
|
||||
|
||||
Dim Finished As Boolean = False
|
||||
Dim Label_website_Text As String = Nothing
|
||||
Dim StatusRunning As Boolean = True
|
||||
Dim ffmpeg_command As String = Nothing
|
||||
@ -44,7 +44,6 @@ Public Class CRD_List_Item
|
||||
#End Region
|
||||
#Region "Set UI"
|
||||
Public Sub SetLabelWebsite(ByVal Text As String)
|
||||
|
||||
Label_website.Text = Text
|
||||
Label_website_Text = Text
|
||||
End Sub
|
||||
@ -107,9 +106,6 @@ Public Class CRD_List_Item
|
||||
End Function
|
||||
#End Region
|
||||
#Region "Set Variables"
|
||||
'Public Sub SetUsedMap(ByVal Value As String)
|
||||
' UsedMap = Value
|
||||
'End Sub
|
||||
Public Sub Setffmpeg_command(ByVal Value As String)
|
||||
ffmpeg_command = Value
|
||||
End Sub
|
||||
@ -269,7 +265,6 @@ Public Class CRD_List_Item
|
||||
End Sub
|
||||
Private Sub Item_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||
Me.ContextMenuStrip = ContextMenuStrip1 '.ContextMenu
|
||||
Timer1.Enabled = True
|
||||
Dim locationY As Integer = 0
|
||||
bt_del.SetBounds(775, locationY + 10, 35, 29)
|
||||
bt_pause.SetBounds(740, locationY + 15, 25, 20)
|
||||
@ -447,6 +442,12 @@ Public Class CRD_List_Item
|
||||
End If
|
||||
Dim client0 As New WebClient
|
||||
client0.Encoding = Encoding.UTF8
|
||||
'MsgBox(m3u8_url(1))
|
||||
'client0.Headers.Add("User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:82.0) Gecko/20100101 Firefox/82.0")
|
||||
'client0.Headers.Add("ACCEPT: application/json, text/javascript, */*; q=0.01")
|
||||
'client0.Headers.Add("Accept-Encoding: gzip, deflate, br")
|
||||
'client0.Headers.Add("X-Requested-With: XMLHttpRequest")
|
||||
'client0.Headers.Add(Main.WebbrowserCookie)
|
||||
Dim text As String = client0.DownloadString(m3u8_url(1))
|
||||
If InStr(text, "RESOLUTION=") Then 'master m3u8 no fragments
|
||||
Dim new_m3u8_2() As String = text.Split(New String() {vbLf}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||
@ -714,17 +715,20 @@ Public Class CRD_List_Item
|
||||
End Function
|
||||
|
||||
Sub ProcessClosed(ByVal sender As Object, ByVal e As System.EventArgs)
|
||||
Try
|
||||
|
||||
If ProgressBar1.Value < 100 Then
|
||||
If Canceld = False Then
|
||||
Label_website.Text = "The download process seems to have crashed"
|
||||
Label_percent.Text = "Press the play button again to retry."
|
||||
ProgressBar1.Value = 100
|
||||
Retry = True
|
||||
StatusRunning = False
|
||||
If Finished = False Then
|
||||
If Canceld = False Then
|
||||
Label_website.Text = "The download process seems to have crashed"
|
||||
Label_percent.Text = "Press the play button again to retry."
|
||||
ProgressBar1.Value = 100
|
||||
Retry = True
|
||||
StatusRunning = False
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
|
||||
End Try
|
||||
'Me.Invoke(New Action(Function()
|
||||
' Label_percent.Text = "Finished - event"
|
||||
' Return Nothing
|
||||
@ -836,6 +840,7 @@ Public Class CRD_List_Item
|
||||
Return Nothing
|
||||
End Function))
|
||||
ElseIf InStr(e.Data, "muxing overhead:") Then
|
||||
Finished = True
|
||||
Me.Invoke(New Action(Function()
|
||||
Dim Done As String() = Label_percent.Text.Split(New String() {"MB"}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||
Label_percent.Text = "Finished - " + Done(0) + "MB"
|
||||
@ -941,22 +946,7 @@ Public Class CRD_List_Item
|
||||
Next
|
||||
End Sub
|
||||
|
||||
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
|
||||
'Try
|
||||
' If proc.HasExited = True Then
|
||||
' If ProgressBar1.Value < 100 Then
|
||||
' If Canceld = False Then
|
||||
' Label_website.Text = "The download process seems to have crashed"
|
||||
' Label_percent.Text = "Press the play button again to retry."
|
||||
' ProgressBar1.Value = 100
|
||||
' Retry = True
|
||||
' StatusRunning = False
|
||||
' End If
|
||||
' End If
|
||||
' End If
|
||||
'Catch ex As Exception
|
||||
'End Try
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick
|
||||
Try
|
||||
@ -991,5 +981,6 @@ Public Class CRD_List_Item
|
||||
End If
|
||||
Process.Start(DownloadPfad.Replace(Chr(34), ""))
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
|
@ -189,9 +189,19 @@ Public Class GeckoFX
|
||||
Anime_Add.StatusLabel.Text = "fail?"
|
||||
End If
|
||||
End If
|
||||
ElseIf CBool(InStr(WebBrowser1.Url.ToString, "anime-on-demand.de")) Then
|
||||
If Main.b = False Then
|
||||
Main.b = True
|
||||
Main.WebbrowserURL = WebBrowser1.Url.ToString
|
||||
Main.WebbrowserText = WebBrowser1.Document.Body.OuterHtml
|
||||
Main.WebbrowserTitle = WebBrowser1.DocumentTitle
|
||||
Exit Sub
|
||||
|
||||
|
||||
End If
|
||||
|
||||
Else
|
||||
If Main.b = False Then
|
||||
If Main.b = False Then
|
||||
Main.WebbrowserURL = WebBrowser1.Url.ToString
|
||||
Main.WebbrowserText = WebBrowser1.Document.Body.OuterHtml
|
||||
Main.WebbrowserTitle = WebBrowser1.DocumentTitle
|
||||
|
@ -7,9 +7,10 @@ Imports System.ComponentModel
|
||||
Imports System.Net.WebUtility
|
||||
Imports System.Net.Sockets
|
||||
Imports System.Drawing.Drawing2D
|
||||
Imports Gecko
|
||||
|
||||
Public Class Main
|
||||
Dim liList As New List(Of String)
|
||||
Public liList As New List(Of String)
|
||||
Public HTMLString As String = My.Resources.Startuphtml
|
||||
Public RunServer As Boolean = True
|
||||
Public ListBoxList As New List(Of String)
|
||||
@ -77,15 +78,16 @@ Public Class Main
|
||||
Public HybridMode As Boolean = False
|
||||
Public HardSubFunimation As Boolean = False
|
||||
#Region "Sprachen Vairablen"
|
||||
Public URL_Invaild As String = "invalid URL, this Downloader is only for crunchyroll.com"
|
||||
Public URL_Invaild As String = "something is wrong here..."
|
||||
Public SubFolder_automatic As String = "[automatic : Series/Season]"
|
||||
Public SubFolder_Nothing As String = "[ ignore subfolder ]"
|
||||
|
||||
Dim DL_Path_String As String = "Please choose download directory."
|
||||
Public CR_Premium_Failed As String = "Can not verify the active premium membership."
|
||||
Public No_Stream As String = "Please make sure that the URL is correct or check if the Anime is available in your country."
|
||||
Dim TaskNotCompleed As String = "Please wait until the current task is completed."
|
||||
Dim Premium_Stream As String = "Please make sure that you logged in for this premium episode."
|
||||
Public LoginReminder As String = "Please make sure that you logged in."
|
||||
|
||||
Dim Error_Mass_DL As String = "We run into a problem here." + vbNewLine + "You can try to download every episode individually."
|
||||
Dim User_Fault_NoName As String = "no name, fallback solution : "
|
||||
Dim Sub_language_NotFound As String = "Could not find the sub language" + vbNewLine + "please make sure the language is available: "
|
||||
@ -1630,10 +1632,10 @@ Public Class Main
|
||||
End Sub
|
||||
Private Sub RemoveTempFiles()
|
||||
Try
|
||||
Dim files() As String = IO.Directory.GetFiles(Application.StartupPath)
|
||||
Dim files() As String = System.IO.Directory.GetFiles(Application.StartupPath)
|
||||
For Each file As String In files
|
||||
If InStr(file, "CRD-Temp-File-") Then
|
||||
IO.File.Delete(file)
|
||||
System.IO.File.Delete(file)
|
||||
End If
|
||||
|
||||
Next
|
||||
@ -1956,6 +1958,7 @@ Public Class Main
|
||||
End If
|
||||
Next
|
||||
RunningDownloads = ItemDownloadingCount
|
||||
|
||||
Catch ex As Exception
|
||||
|
||||
End Try
|
||||
@ -2336,7 +2339,7 @@ Public Class Main
|
||||
UsedSub = einstellungen.GeräteID() + SubtitelFormat
|
||||
File.WriteAllText(Application.StartupPath + "\" + UsedSub, SubText, Encoding.UTF8)
|
||||
End If
|
||||
Else
|
||||
Else
|
||||
If HardSubFunimation = True Then
|
||||
Dim SubText As String = client0.DownloadString(UsedSub)
|
||||
Dim SubtitelFormat As String = ".srt"
|
||||
@ -2560,7 +2563,9 @@ Public Class Main
|
||||
'MsgBox(htmlReq)
|
||||
|
||||
If strArray(0).Trim().ToUpper.Equals("POST") Then
|
||||
|
||||
Debug.WriteLine("receiving data from the add-on")
|
||||
Debug.WriteLine(UrlDecode(htmlReq))
|
||||
Me.Invoke(New Action(Function()
|
||||
StatusMainForm.Text = "Status: receiving data from the add-on"
|
||||
Return Nothing
|
||||
@ -2917,4 +2922,8 @@ Class TextBoxTraceListener
|
||||
Public Overrides Sub WriteLine(ByVal msg As String)
|
||||
Write(msg & vbCrLf)
|
||||
End Sub
|
||||
End Class
|
||||
End Class
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -110,6 +110,33 @@ Namespace My.Resources
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Sucht eine lokalisierte Zeichenfolge, die {"sources":[{"file":" ähnelt.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property AoD_files() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("AoD_files", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Sucht eine lokalisierte Zeichenfolge, die "image":" ähnelt.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property AoD_Image() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("AoD_Image", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Sucht eine lokalisierte Zeichenfolge, die "title":" ähnelt.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property AoD_Titel() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("AoD_Titel", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Sucht eine lokalisierte Zeichenfolge, die [Script Info]
|
||||
'''; Template for error handling in the Crunchyrol Downloader by hama3254 https://github.com/hama3254/Crunchyroll-Downloader-v3.0
|
||||
|
@ -493,4 +493,13 @@ Style: Default,Arial,20,&H00FFFFFF,&H0000FFFF,&H00000000,&H00000
|
||||
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
|
||||
Dialogue: 0,0:00:00.00,0:00:00.00,Default,,0000,0000,0000,,some ideas on how templated karaoke could work in auto4/lua</value>
|
||||
</data>
|
||||
<data name="AoD_files" xml:space="preserve">
|
||||
<value>{"sources":[{"file":"</value>
|
||||
</data>
|
||||
<data name="AoD_Image" xml:space="preserve">
|
||||
<value>"image":"</value>
|
||||
</data>
|
||||
<data name="AoD_Titel" xml:space="preserve">
|
||||
<value>"title":"</value>
|
||||
</data>
|
||||
</root>
|
Binary file not shown.
Binary file not shown.
@ -47,6 +47,21 @@ Crunchyroll Downloader
|
||||
Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Crunchyroll_Downloader.My.Resources.Resources.AoD_files">
|
||||
<summary>
|
||||
Sucht eine lokalisierte Zeichenfolge, die {"sources":[{"file":" ähnelt.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Crunchyroll_Downloader.My.Resources.Resources.AoD_Image">
|
||||
<summary>
|
||||
Sucht eine lokalisierte Zeichenfolge, die "image":" ähnelt.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Crunchyroll_Downloader.My.Resources.Resources.AoD_Titel">
|
||||
<summary>
|
||||
Sucht eine lokalisierte Zeichenfolge, die "title":" ähnelt.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Crunchyroll_Downloader.My.Resources.Resources.ass_template">
|
||||
<summary>
|
||||
Sucht eine lokalisierte Zeichenfolge, die [Script Info]
|
||||
|
@ -42,9 +42,8 @@
|
||||
<i class="checkmark">✘</i>
|
||||
</div>
|
||||
<h1>Failed!</h1>
|
||||
<p>System.Net.Sockets.SocketException (0x80004005): Eine vorhandene Verbindung wurde vom Remotehost geschlossen
|
||||
bei System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
|
||||
bei Crunchyroll_Downloader.Main.ProcessRequest(Socket clientSocket) in D:\Projecte\Crunchyroll Downloader - v3.0-final\Crunchyroll-Downloader-v3.0\Crunchyroll Downloader\Main.vb:Zeile 2541.</p>
|
||||
<p>System.IndexOutOfRangeException: Der Index war außerhalb des Arraybereichs.
|
||||
bei Crunchyroll_Downloader.Main.ProcessRequest(Socket clientSocket) in D:\Projecte\Crunchyroll Downloader - v3.0-final\Crunchyroll-Downloader-v3.0\Crunchyroll Downloader\Main.vb:Zeile 2580.</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -47,6 +47,21 @@ Crunchyroll Downloader
|
||||
Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Crunchyroll_Downloader.My.Resources.Resources.AoD_files">
|
||||
<summary>
|
||||
Sucht eine lokalisierte Zeichenfolge, die {"sources":[{"file":" ähnelt.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Crunchyroll_Downloader.My.Resources.Resources.AoD_Image">
|
||||
<summary>
|
||||
Sucht eine lokalisierte Zeichenfolge, die "image":" ähnelt.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Crunchyroll_Downloader.My.Resources.Resources.AoD_Titel">
|
||||
<summary>
|
||||
Sucht eine lokalisierte Zeichenfolge, die "title":" ähnelt.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Crunchyroll_Downloader.My.Resources.Resources.ass_template">
|
||||
<summary>
|
||||
Sucht eine lokalisierte Zeichenfolge, die [Script Info]
|
||||
|
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue
Block a user