AoD added

AoD added
This commit is contained in:
hama3254 2020-11-04 19:11:38 +01:00
parent 0717281b1c
commit 7306429b79
28 changed files with 1648 additions and 89 deletions

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -9,7 +9,10 @@
"48": "icons/icon-48.png" "48": "icons/icon-48.png"
}, },
"permissions": [ "permissions": [
"*://anime-on-demand.de/*",
"*://www.anime-on-demand.de/*",
"activeTab", "activeTab",
"cookies",
"tabs" "tabs"
], ],

View File

@ -16,11 +16,10 @@
<div id="frame2" class="frame" > <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_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_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'>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 Episodes</button>
<button type="button" class='btn_class' id='btn_enable_select'>Select 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_all'>Select All</button>

View File

@ -19,7 +19,17 @@ browser.tabs.query({
code: 'document.getElementsByClassName("trackVideo")[0].href' code: 'document.getElementsByClassName("trackVideo")[0].href'
}); });
funimation.then(FunimationSuccess, FunimationError); 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 { } else {
document.getElementById("btn_add").hidden = true; document.getElementById("btn_add").hidden = true;
@ -29,9 +39,28 @@ browser.tabs.query({
document.getElementById("btn_select_none").hidden = true; document.getElementById("btn_select_none").hidden = true;
document.getElementById("btn_enable_funimation_select").hidden = true; document.getElementById("btn_enable_funimation_select").hidden = true;
document.getElementById("btn_add_funimation").hidden = true; document.getElementById("btn_add_funimation").hidden = true;
document.getElementById("btn_add_AoD").hidden = true;
} }
}, console.error) }, 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', () => { document.getElementById('btn_enable_select').addEventListener('click', () => {
browser.tabs.executeScript({ 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);' 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_add").hidden = true;
document.getElementById("btn_enable_funimation_select").hidden = true; document.getElementById("btn_enable_funimation_select").hidden = true;
document.getElementById("btn_add_funimation").hidden = true; document.getElementById("btn_add_funimation").hidden = true;
document.getElementById("btn_add_AoD").hidden = true;
}); });
document.getElementById('btn_select_all').addEventListener('click', () => { document.getElementById('btn_select_all').addEventListener('click', () => {
@ -130,6 +160,7 @@ function onExecuted(result) {
document.getElementById("btn_enable_select").hidden = true; document.getElementById("btn_enable_select").hidden = true;
document.getElementById("btn_add_funimation").hidden = true; document.getElementById("btn_add_funimation").hidden = true;
document.getElementById("btn_enable_funimation_select").hidden = true; document.getElementById("btn_enable_funimation_select").hidden = true;
document.getElementById("btn_add_AoD").hidden = true;
console.log(true); console.log(true);
} else { } else {
document.getElementById("btn_add").hidden = true; document.getElementById("btn_add").hidden = true;
@ -139,6 +170,7 @@ function onExecuted(result) {
document.getElementById("btn_select_none").hidden = true; document.getElementById("btn_select_none").hidden = true;
document.getElementById("btn_add_funimation").hidden = true; document.getElementById("btn_add_funimation").hidden = true;
document.getElementById("btn_enable_funimation_select").hidden = true; document.getElementById("btn_enable_funimation_select").hidden = true;
document.getElementById("btn_add_AoD").hidden = true;
console.log(false); console.log(false);
} }
@ -154,6 +186,7 @@ function onError(error) {
document.getElementById("btn_enable_select").hidden = true; document.getElementById("btn_enable_select").hidden = true;
document.getElementById("btn_add_funimation").hidden = true; document.getElementById("btn_add_funimation").hidden = true;
document.getElementById("btn_enable_funimation_select").hidden = true; document.getElementById("btn_enable_funimation_select").hidden = true;
document.getElementById("btn_add_AoD").hidden = true;
} }
function add_fun_ok(result) { 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_enable_select").hidden = true;
document.getElementById("btn_add").hidden = true; document.getElementById("btn_add").hidden = true;
document.getElementById("btn_add_funimation").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_all").hidden = false;
document.getElementById("btn_select_none").hidden = false; document.getElementById("btn_select_none").hidden = false;
document.getElementById("btn_enable_select").hidden = true; 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_enable_funimation_select").hidden = true;
document.getElementById("btn_add_funimation").hidden = true; document.getElementById("btn_add_funimation").hidden = true;
document.getElementById("btn_add_AoD").hidden = true;
console.log(true); console.log(true);
} else { } else {
document.getElementById("btn_add").hidden = true; document.getElementById("btn_add").hidden = true;
@ -263,6 +299,7 @@ function FunimationSuccess(result) {
document.getElementById("btn_select_all").hidden = true; document.getElementById("btn_select_all").hidden = true;
document.getElementById("btn_select_none").hidden = true; document.getElementById("btn_select_none").hidden = true;
document.getElementById("btn_enable_funimation_select").hidden = false; document.getElementById("btn_enable_funimation_select").hidden = false;
document.getElementById("btn_add_AoD").hidden = true;
console.log(false); console.log(false);
} }
@ -278,5 +315,6 @@ function FunimationError(error) {
document.getElementById("btn_enable_select").hidden = true; document.getElementById("btn_enable_select").hidden = true;
document.getElementById("btn_add_funimation").hidden = false; document.getElementById("btn_add_funimation").hidden = false;
document.getElementById("btn_enable_funimation_select").hidden = true; document.getElementById("btn_enable_funimation_select").hidden = true;
document.getElementById("btn_add_AoD").hidden = true;
} }

View File

@ -273,9 +273,9 @@ Partial Class Anime_Add
Me.ClientSize = New System.Drawing.Size(630, 275) Me.ClientSize = New System.Drawing.Size(630, 275)
Me.Controls.Add(Me.pictureBox3) Me.Controls.Add(Me.pictureBox3)
Me.Controls.Add(Me.pictureBox4) Me.Controls.Add(Me.pictureBox4)
Me.Controls.Add(Me.groupBox2)
Me.Controls.Add(Me.groupBox1) Me.Controls.Add(Me.groupBox1)
Me.Controls.Add(Me.GroupBox3) Me.Controls.Add(Me.GroupBox3)
Me.Controls.Add(Me.groupBox2)
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
Me.Name = "Anime_Add" Me.Name = "Anime_Add"
Me.Text = "Add" Me.Text = "Add"

View File

@ -2,10 +2,15 @@
Imports System.Net Imports System.Net
Imports Gecko Imports Gecko
Imports System.IO Imports System.IO
Imports System.Threading
Public Class Anime_Add Public Class Anime_Add
Public Mass_DL_Cancel As Boolean = False Public Mass_DL_Cancel As Boolean = False
Public List_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 Private Sub ComboBox2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox2.SelectedIndexChanged
Try Try
If ComboBox2.Text = Main.SubFolder_Nothing Then If ComboBox2.Text = Main.SubFolder_Nothing Then
@ -24,6 +29,7 @@ Public Class Anime_Add
End Sub End Sub
Private Sub Anime_Add_Load(sender As Object, e As EventArgs) Handles MyBase.Load Private Sub Anime_Add_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.Icon = My.Resources.icon Me.Icon = My.Resources.icon
Try Try
Dim ListBox1List As New List(Of String) Dim ListBox1List As New List(Of String)
@ -206,7 +212,7 @@ Public Class Anime_Add
Main.LoginOnly = "Download Mode!" Main.LoginOnly = "Download Mode!"
If groupBox1.Visible = True Then If groupBox1.Visible = True Then
Try 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 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 If MessageBox.Show("Are you sure you want cancel the advanced download?", "confirm?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
StatusLabel.Text = "Status: idle" StatusLabel.Text = "Status: idle"
@ -232,6 +238,160 @@ Public Class Anime_Add
End If End If
End If 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 ElseIf CBool(InStr(textBox1.Text, "Test=true")) Then
GeckoFX.WebBrowser1.Navigate(textBox1.Text) GeckoFX.WebBrowser1.Navigate(textBox1.Text)
Else 'If CBool(InStr(textBox1.Text, "vrv.co")) Then Else 'If CBool(InStr(textBox1.Text, "vrv.co")) Then
@ -280,7 +440,20 @@ Public Class Anime_Add
Main.b = True Main.b = True
groupBox1.Visible = True groupBox1.Visible = True
pictureBox4.Image = My.Resources.main_button_download_default 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 Else
StatusLabel.Text = "Status: idle" StatusLabel.Text = "Status: idle"
pictureBox4.Image = My.Resources.add_mass_running_cancel pictureBox4.Image = My.Resources.add_mass_running_cancel
Mass_DL_Cancel = True Mass_DL_Cancel = True
@ -352,34 +525,37 @@ Public Class Anime_Add
End Sub End Sub
Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
'MsgBox("Test") If AoD_Mode = False Then
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)
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)) Dim URLGrapp2 As String() = URLGrapp(1).Split(New String() {Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
comboBox4.Items.Add(URLGrapp2(0))
Next comboBox3.Items.Add(URLGrapp2(0))
'comboBox3.SelectedIndex = 0 comboBox4.Items.Add(URLGrapp2(0))
'comboBox4.SelectedIndex = 0 Next
'comboBox3.SelectedIndex = 0
'comboBox4.SelectedIndex = 0
End If
End Sub End Sub
Private Sub PictureBox1_MouseEnter(sender As Object, e As EventArgs) Handles PictureBox1.MouseEnter Private Sub PictureBox1_MouseEnter(sender As Object, e As EventArgs) Handles PictureBox1.MouseEnter
@ -470,4 +646,251 @@ Public Class Anime_Add
#End Region #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("&amp;", "&").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 End Class

View File

@ -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" 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" '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) 'MsgBox(Xpcom.XulRunnerVersion)
Xpcom.ProfileDirectory = ProfileDirectory 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 GeckoPreferences.User("general.useragent.override") = sUserAgent
'Xpcom.Initialize("C:\Program Files\Mozilla Firefox") 'Xpcom.Initialize("C:\Program Files\Mozilla Firefox")
GeckoPreferences.Default("browser.cache.disk.enable") = False GeckoPreferences.Default("browser.cache.disk.enable") = False
GeckoPreferences.Default("network.cookie.thirdparty.sessionOnly") = 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("Services.sync.prefs.sync.privacy.clearOnShutdown.cookies") = False
GeckoPreferences.Default("plugin.state.flash") = 0 GeckoPreferences.Default("plugin.state.flash") = 0
GeckoPreferences.Default("zoom.maxPercent") = 100 GeckoPreferences.Default("zoom.maxPercent") = 100
@ -53,6 +56,8 @@ Namespace My
' GeckoPreferences.Default("media.autoplay.default") = 2 ' GeckoPreferences.Default("media.autoplay.default") = 2
'GeckoPreferences.Default("media.autoplay.block-webaudio") = False 'GeckoPreferences.Default("media.autoplay.block-webaudio") = False
'GeckoPreferences.Default("javascript.enabled") = False 'GeckoPreferences.Default("javascript.enabled") = False
Return True Return True
Catch ex As Exception Catch ex As Exception
MsgBox(ex.ToString) MsgBox(ex.ToString)

View File

@ -33,7 +33,6 @@ Partial Class CRD_List_Item
Me.Label_percent = New System.Windows.Forms.Label() Me.Label_percent = New System.Windows.Forms.Label()
Me.ProgressBar1 = New System.Windows.Forms.ProgressBar() Me.ProgressBar1 = New System.Windows.Forms.ProgressBar()
Me.ToolTip1 = New System.Windows.Forms.ToolTip(Me.components) 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.Timer2 = New System.Windows.Forms.Timer(Me.components)
Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components) Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.ViewInExplorerToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() 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.Style = System.Windows.Forms.ProgressBarStyle.Continuous
Me.ProgressBar1.TabIndex = 8 Me.ProgressBar1.TabIndex = 8
' '
'Timer1
'
Me.Timer1.Interval = 1000
'
'Timer2 'Timer2
' '
Me.Timer2.Enabled = True 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.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ViewInExplorerToolStripMenuItem, Me.PlaybackVideoFileToolStripMenuItem})
Me.ContextMenuStrip1.Name = "ContextMenuStrip1" Me.ContextMenuStrip1.Name = "ContextMenuStrip1"
Me.ContextMenuStrip1.Size = New System.Drawing.Size(173, 48) Me.ContextMenuStrip1.Size = New System.Drawing.Size(181, 70)
' '
'ViewInExplorerToolStripMenuItem 'ViewInExplorerToolStripMenuItem
' '
Me.ViewInExplorerToolStripMenuItem.Name = "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" Me.ViewInExplorerToolStripMenuItem.Text = "View in explorer"
' '
'PlaybackVideoFileToolStripMenuItem 'PlaybackVideoFileToolStripMenuItem
' '
Me.PlaybackVideoFileToolStripMenuItem.Name = "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" Me.PlaybackVideoFileToolStripMenuItem.Text = "playback video file"
' '
'CRD_List_Item 'CRD_List_Item
@ -195,7 +190,6 @@ Partial Class CRD_List_Item
Friend WithEvents Label_percent As Label Friend WithEvents Label_percent As Label
Friend WithEvents ProgressBar1 As ProgressBar Friend WithEvents ProgressBar1 As ProgressBar
Friend WithEvents ToolTip1 As ToolTip Friend WithEvents ToolTip1 As ToolTip
Friend WithEvents Timer1 As Timer
Friend WithEvents Timer2 As Timer Friend WithEvents Timer2 As Timer
Friend WithEvents ContextMenuStrip1 As ContextMenuStrip Friend WithEvents ContextMenuStrip1 As ContextMenuStrip
Friend WithEvents ViewInExplorerToolStripMenuItem As ToolStripMenuItem Friend WithEvents ViewInExplorerToolStripMenuItem As ToolStripMenuItem

View File

@ -120,9 +120,6 @@
<metadata name="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>19, 12</value> <value>19, 12</value>
</metadata> </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"> <metadata name="Timer2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>207, 12</value> <value>207, 12</value>
</metadata> </metadata>

View File

@ -13,7 +13,7 @@ Public Class CRD_List_Item
Dim timeout As DateTime Dim timeout As DateTime
Dim Canceld As Boolean = False Dim Canceld As Boolean = False
Dim Finished As Boolean = False
Dim Label_website_Text As String = Nothing Dim Label_website_Text As String = Nothing
Dim StatusRunning As Boolean = True Dim StatusRunning As Boolean = True
Dim ffmpeg_command As String = Nothing Dim ffmpeg_command As String = Nothing
@ -44,7 +44,6 @@ Public Class CRD_List_Item
#End Region #End Region
#Region "Set UI" #Region "Set UI"
Public Sub SetLabelWebsite(ByVal Text As String) Public Sub SetLabelWebsite(ByVal Text As String)
Label_website.Text = Text Label_website.Text = Text
Label_website_Text = Text Label_website_Text = Text
End Sub End Sub
@ -107,9 +106,6 @@ Public Class CRD_List_Item
End Function End Function
#End Region #End Region
#Region "Set Variables" #Region "Set Variables"
'Public Sub SetUsedMap(ByVal Value As String)
' UsedMap = Value
'End Sub
Public Sub Setffmpeg_command(ByVal Value As String) Public Sub Setffmpeg_command(ByVal Value As String)
ffmpeg_command = Value ffmpeg_command = Value
End Sub End Sub
@ -269,7 +265,6 @@ Public Class CRD_List_Item
End Sub End Sub
Private Sub Item_Load(sender As Object, e As EventArgs) Handles MyBase.Load Private Sub Item_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.ContextMenuStrip = ContextMenuStrip1 '.ContextMenu Me.ContextMenuStrip = ContextMenuStrip1 '.ContextMenu
Timer1.Enabled = True
Dim locationY As Integer = 0 Dim locationY As Integer = 0
bt_del.SetBounds(775, locationY + 10, 35, 29) bt_del.SetBounds(775, locationY + 10, 35, 29)
bt_pause.SetBounds(740, locationY + 15, 25, 20) bt_pause.SetBounds(740, locationY + 15, 25, 20)
@ -447,6 +442,12 @@ Public Class CRD_List_Item
End If End If
Dim client0 As New WebClient Dim client0 As New WebClient
client0.Encoding = Encoding.UTF8 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)) Dim text As String = client0.DownloadString(m3u8_url(1))
If InStr(text, "RESOLUTION=") Then 'master m3u8 no fragments If InStr(text, "RESOLUTION=") Then 'master m3u8 no fragments
Dim new_m3u8_2() As String = text.Split(New String() {vbLf}, System.StringSplitOptions.RemoveEmptyEntries) 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 End Function
Sub ProcessClosed(ByVal sender As Object, ByVal e As System.EventArgs) Sub ProcessClosed(ByVal sender As Object, ByVal e As System.EventArgs)
Try
If ProgressBar1.Value < 100 Then If Finished = False Then
If Canceld = False Then If Canceld = False Then
Label_website.Text = "The download process seems to have crashed" Label_website.Text = "The download process seems to have crashed"
Label_percent.Text = "Press the play button again to retry." Label_percent.Text = "Press the play button again to retry."
ProgressBar1.Value = 100 ProgressBar1.Value = 100
Retry = True Retry = True
StatusRunning = False StatusRunning = False
End If
End If End If
End If Catch ex As Exception
End Try
'Me.Invoke(New Action(Function() 'Me.Invoke(New Action(Function()
' Label_percent.Text = "Finished - event" ' Label_percent.Text = "Finished - event"
' Return Nothing ' Return Nothing
@ -836,6 +840,7 @@ Public Class CRD_List_Item
Return Nothing Return Nothing
End Function)) End Function))
ElseIf InStr(e.Data, "muxing overhead:") Then ElseIf InStr(e.Data, "muxing overhead:") Then
Finished = True
Me.Invoke(New Action(Function() Me.Invoke(New Action(Function()
Dim Done As String() = Label_percent.Text.Split(New String() {"MB"}, System.StringSplitOptions.RemoveEmptyEntries) Dim Done As String() = Label_percent.Text.Split(New String() {"MB"}, System.StringSplitOptions.RemoveEmptyEntries)
Label_percent.Text = "Finished - " + Done(0) + "MB" Label_percent.Text = "Finished - " + Done(0) + "MB"
@ -941,22 +946,7 @@ Public Class CRD_List_Item
Next Next
End Sub 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 Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick
Try Try
@ -991,5 +981,6 @@ Public Class CRD_List_Item
End If End If
Process.Start(DownloadPfad.Replace(Chr(34), "")) Process.Start(DownloadPfad.Replace(Chr(34), ""))
End Sub End Sub
End Class End Class

View File

@ -189,9 +189,19 @@ Public Class GeckoFX
Anime_Add.StatusLabel.Text = "fail?" Anime_Add.StatusLabel.Text = "fail?"
End If End If
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 Else
If Main.b = False Then If Main.b = False Then
Main.WebbrowserURL = WebBrowser1.Url.ToString Main.WebbrowserURL = WebBrowser1.Url.ToString
Main.WebbrowserText = WebBrowser1.Document.Body.OuterHtml Main.WebbrowserText = WebBrowser1.Document.Body.OuterHtml
Main.WebbrowserTitle = WebBrowser1.DocumentTitle Main.WebbrowserTitle = WebBrowser1.DocumentTitle

View File

@ -7,9 +7,10 @@ Imports System.ComponentModel
Imports System.Net.WebUtility Imports System.Net.WebUtility
Imports System.Net.Sockets Imports System.Net.Sockets
Imports System.Drawing.Drawing2D Imports System.Drawing.Drawing2D
Imports Gecko
Public Class Main 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 HTMLString As String = My.Resources.Startuphtml
Public RunServer As Boolean = True Public RunServer As Boolean = True
Public ListBoxList As New List(Of String) Public ListBoxList As New List(Of String)
@ -77,15 +78,16 @@ Public Class Main
Public HybridMode As Boolean = False Public HybridMode As Boolean = False
Public HardSubFunimation As Boolean = False Public HardSubFunimation As Boolean = False
#Region "Sprachen Vairablen" #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_automatic As String = "[automatic : Series/Season]"
Public SubFolder_Nothing As String = "[ ignore subfolder ]" Public SubFolder_Nothing As String = "[ ignore subfolder ]"
Dim DL_Path_String As String = "Please choose download directory." 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." 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 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." 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 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 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: " 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 End Sub
Private Sub RemoveTempFiles() Private Sub RemoveTempFiles()
Try 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 For Each file As String In files
If InStr(file, "CRD-Temp-File-") Then If InStr(file, "CRD-Temp-File-") Then
IO.File.Delete(file) System.IO.File.Delete(file)
End If End If
Next Next
@ -1956,6 +1958,7 @@ Public Class Main
End If End If
Next Next
RunningDownloads = ItemDownloadingCount RunningDownloads = ItemDownloadingCount
Catch ex As Exception Catch ex As Exception
End Try End Try
@ -2336,7 +2339,7 @@ Public Class Main
UsedSub = einstellungen.GeräteID() + SubtitelFormat UsedSub = einstellungen.GeräteID() + SubtitelFormat
File.WriteAllText(Application.StartupPath + "\" + UsedSub, SubText, Encoding.UTF8) File.WriteAllText(Application.StartupPath + "\" + UsedSub, SubText, Encoding.UTF8)
End If End If
Else Else
If HardSubFunimation = True Then If HardSubFunimation = True Then
Dim SubText As String = client0.DownloadString(UsedSub) Dim SubText As String = client0.DownloadString(UsedSub)
Dim SubtitelFormat As String = ".srt" Dim SubtitelFormat As String = ".srt"
@ -2560,7 +2563,9 @@ Public Class Main
'MsgBox(htmlReq) 'MsgBox(htmlReq)
If strArray(0).Trim().ToUpper.Equals("POST") Then If strArray(0).Trim().ToUpper.Equals("POST") Then
Debug.WriteLine("receiving data from the add-on") Debug.WriteLine("receiving data from the add-on")
Debug.WriteLine(UrlDecode(htmlReq))
Me.Invoke(New Action(Function() Me.Invoke(New Action(Function()
StatusMainForm.Text = "Status: receiving data from the add-on" StatusMainForm.Text = "Status: receiving data from the add-on"
Return Nothing Return Nothing
@ -2917,4 +2922,8 @@ Class TextBoxTraceListener
Public Overrides Sub WriteLine(ByVal msg As String) Public Overrides Sub WriteLine(ByVal msg As String)
Write(msg & vbCrLf) Write(msg & vbCrLf)
End Sub End Sub
End Class End Class

View File

@ -110,6 +110,33 @@ Namespace My.Resources
End Get End Get
End Property End Property
'''<summary>
''' Sucht eine lokalisierte Zeichenfolge, die {&quot;sources&quot;:[{&quot;file&quot;:&quot; ä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 &quot;image&quot;:&quot; ä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 &quot;title&quot;:&quot; ähnelt.
'''</summary>
Friend ReadOnly Property AoD_Titel() As String
Get
Return ResourceManager.GetString("AoD_Titel", resourceCulture)
End Get
End Property
'''<summary> '''<summary>
''' Sucht eine lokalisierte Zeichenfolge, die [Script Info] ''' 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 '''; Template for error handling in the Crunchyrol Downloader by hama3254 https://github.com/hama3254/Crunchyroll-Downloader-v3.0

View File

@ -493,4 +493,13 @@ Style: Default,Arial,20,&amp;H00FFFFFF,&amp;H0000FFFF,&amp;H00000000,&amp;H00000
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text 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> 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>
<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> </root>

View File

@ -47,6 +47,21 @@ Crunchyroll Downloader
Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
</summary> </summary>
</member> </member>
<member name="P:Crunchyroll_Downloader.My.Resources.Resources.AoD_files">
<summary>
Sucht eine lokalisierte Zeichenfolge, die {&quot;sources&quot;:[{&quot;file&quot;:&quot; ähnelt.
</summary>
</member>
<member name="P:Crunchyroll_Downloader.My.Resources.Resources.AoD_Image">
<summary>
Sucht eine lokalisierte Zeichenfolge, die &quot;image&quot;:&quot; ähnelt.
</summary>
</member>
<member name="P:Crunchyroll_Downloader.My.Resources.Resources.AoD_Titel">
<summary>
Sucht eine lokalisierte Zeichenfolge, die &quot;title&quot;:&quot; ähnelt.
</summary>
</member>
<member name="P:Crunchyroll_Downloader.My.Resources.Resources.ass_template"> <member name="P:Crunchyroll_Downloader.My.Resources.Resources.ass_template">
<summary> <summary>
Sucht eine lokalisierte Zeichenfolge, die [Script Info] Sucht eine lokalisierte Zeichenfolge, die [Script Info]

View File

@ -42,9 +42,8 @@
<i class="checkmark"></i> <i class="checkmark"></i>
</div> </div>
<h1>Failed!</h1> <h1>Failed!</h1>
<p>System.Net.Sockets.SocketException (0x80004005): Eine vorhandene Verbindung wurde vom Remotehost geschlossen <p>System.IndexOutOfRangeException: Der Index war außerhalb des Arraybereichs.
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 2580.</p>
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>
</div> </div>
</body> </body>
</html> </html>

View File

@ -47,6 +47,21 @@ Crunchyroll Downloader
Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
</summary> </summary>
</member> </member>
<member name="P:Crunchyroll_Downloader.My.Resources.Resources.AoD_files">
<summary>
Sucht eine lokalisierte Zeichenfolge, die {&quot;sources&quot;:[{&quot;file&quot;:&quot; ähnelt.
</summary>
</member>
<member name="P:Crunchyroll_Downloader.My.Resources.Resources.AoD_Image">
<summary>
Sucht eine lokalisierte Zeichenfolge, die &quot;image&quot;:&quot; ähnelt.
</summary>
</member>
<member name="P:Crunchyroll_Downloader.My.Resources.Resources.AoD_Titel">
<summary>
Sucht eine lokalisierte Zeichenfolge, die &quot;title&quot;:&quot; ähnelt.
</summary>
</member>
<member name="P:Crunchyroll_Downloader.My.Resources.Resources.ass_template"> <member name="P:Crunchyroll_Downloader.My.Resources.Resources.ass_template">
<summary> <summary>
Sucht eine lokalisierte Zeichenfolge, die [Script Info] Sucht eine lokalisierte Zeichenfolge, die [Script Info]