diff --git a/.vs/Crunchyroll Downloader/v17/.suo b/.vs/Crunchyroll Downloader/v17/.suo index b13060c..862e801 100644 Binary files a/.vs/Crunchyroll Downloader/v17/.suo and b/.vs/Crunchyroll Downloader/v17/.suo differ diff --git a/CRD-addon/background.js b/CRD-addon/background.js deleted file mode 100644 index 7a0f36c..0000000 --- a/CRD-addon/background.js +++ /dev/null @@ -1,32 +0,0 @@ -browser.webRequest.onHeadersReceived.addListener( - details => { - browser.test.log(`onHeadersReceived ${JSON.stringify(details)}\n`); - if (!details.fromCache) { - //console.log("not cached"); - browser.test.sendMessage("statusCode", details.statusCode); - const mime = details.responseHeaders.find(header => { - return header.value && header.name === "Server"; - }); - if (mime) { - //console.log(mime.value); - browser.runtime.sendMessage({ - Server: mime.value - }); - - } else { - details.responseHeaders.push({ - name: "Content-Security-Policy", - value: "upgrade-insecure-requests", - }); - } - - return { - responseHeaders: details.responseHeaders, - }; - } else { - console.log("cached"); - } -}, { - urls: ["http://127.0.0.1/*"], -}, - ["blocking", "responseHeaders"]); diff --git a/CRD-addon/icons/icon-128.png b/CRD-addon/icons/icon-128.png deleted file mode 100644 index 7e9eb88..0000000 Binary files a/CRD-addon/icons/icon-128.png and /dev/null differ diff --git a/CRD-addon/icons/icon-20.png b/CRD-addon/icons/icon-20.png deleted file mode 100644 index 012e057..0000000 Binary files a/CRD-addon/icons/icon-20.png and /dev/null differ diff --git a/CRD-addon/icons/icon-48.png b/CRD-addon/icons/icon-48.png deleted file mode 100644 index 323edbf..0000000 Binary files a/CRD-addon/icons/icon-48.png and /dev/null differ diff --git a/CRD-addon/images/submit.png b/CRD-addon/images/submit.png deleted file mode 100644 index 0c6adb8..0000000 Binary files a/CRD-addon/images/submit.png and /dev/null differ diff --git a/CRD-addon/inject.js b/CRD-addon/inject.js deleted file mode 100644 index 3b16d99..0000000 --- a/CRD-addon/inject.js +++ /dev/null @@ -1,34 +0,0 @@ -var episodeCount = document.getElementsByClassName("episode").length; -var i; -for (i = 0; i < episodeCount; i++) { - document.getElementsByClassName("episode")[i].setAttribute('href', "javascript:" + document.getElementsByClassName("episode")[i].href); - document.getElementsByClassName("episode")[i].setAttribute('onclick', 'deselect(this.id)') - //document.getElementsByClassName("episode")[i].style.background = "#f78c25"; - document.getElementsByClassName("episode")[i].setAttribute('id', makeid(8)) - //document.getElementsByClassName("episode")[i].classList.add('CRD-Selected') -} - -function deselect(clicked_id) { - var seleceted = document.getElementById(clicked_id).classList.contains('CRD-Selected') - - if (seleceted == true) { - document.getElementById(clicked_id).classList.remove('CRD-Selected') - document.getElementById(clicked_id).style.background = "#ffffff"; - - } else { - document.getElementById(clicked_id).classList.add('CRD-Selected') - document.getElementById(clicked_id).style.background = "#f78c25"; - - } - -} - -function makeid(length) { - var result = ''; - var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; - var charactersLength = characters.length; - for (var i = 0; i < length; i++) { - result += characters.charAt(Math.floor(Math.random() * charactersLength)); - } - return result; -} diff --git a/CRD-addon/inject_beta.js b/CRD-addon/inject_beta.js deleted file mode 100644 index c26768b..0000000 --- a/CRD-addon/inject_beta.js +++ /dev/null @@ -1,10 +0,0 @@ -var episodeCount = document.getElementsByClassName("c-playable-card__link").length; -var i; -for (i = 0; i < episodeCount; i++) { - var old_element = document.getElementsByClassName("c-playable-card__link")[i]; - var new_element = old_element.cloneNode(true); - old_element.parentNode.replaceChild(new_element, old_element); - document.getElementsByClassName("c-playable-card__link")[i].setAttribute('href', "javascript:" + document.getElementsByClassName("c-playable-card__link")[i].href); - document.getElementsByClassName("c-playable-card__link")[i].setAttribute('onclick', 'this.classList.contains("CRD-Selected")?(this.classList.remove("CRD-Selected"),this.style.background="#000000",this.style.opacity="0"):(this.classList.add("CRD-Selected"),this.style.background="#f78c25",this.style.opacity="0.5");'); - -} diff --git a/CRD-addon/inject_funimation.js b/CRD-addon/inject_funimation.js deleted file mode 100644 index 3b16d99..0000000 --- a/CRD-addon/inject_funimation.js +++ /dev/null @@ -1,34 +0,0 @@ -var episodeCount = document.getElementsByClassName("episode").length; -var i; -for (i = 0; i < episodeCount; i++) { - document.getElementsByClassName("episode")[i].setAttribute('href', "javascript:" + document.getElementsByClassName("episode")[i].href); - document.getElementsByClassName("episode")[i].setAttribute('onclick', 'deselect(this.id)') - //document.getElementsByClassName("episode")[i].style.background = "#f78c25"; - document.getElementsByClassName("episode")[i].setAttribute('id', makeid(8)) - //document.getElementsByClassName("episode")[i].classList.add('CRD-Selected') -} - -function deselect(clicked_id) { - var seleceted = document.getElementById(clicked_id).classList.contains('CRD-Selected') - - if (seleceted == true) { - document.getElementById(clicked_id).classList.remove('CRD-Selected') - document.getElementById(clicked_id).style.background = "#ffffff"; - - } else { - document.getElementById(clicked_id).classList.add('CRD-Selected') - document.getElementById(clicked_id).style.background = "#f78c25"; - - } - -} - -function makeid(length) { - var result = ''; - var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; - var charactersLength = characters.length; - for (var i = 0; i < length; i++) { - result += characters.charAt(Math.floor(Math.random() * charactersLength)); - } - return result; -} diff --git a/CRD-addon/inject_funimation_new.js b/CRD-addon/inject_funimation_new.js deleted file mode 100644 index 1b23ee4..0000000 --- a/CRD-addon/inject_funimation_new.js +++ /dev/null @@ -1,11 +0,0 @@ -var episodeCount = document.getElementsByClassName("episode-card").length; -var i; -for (i = 0; i < episodeCount; i++) { - var old_element = document.getElementsByClassName("episode-card")[i]; - var new_element = old_element.cloneNode(true); - old_element.parentNode.replaceChild(new_element, old_element); - document.getElementsByClassName("episode-card")[i].classList.remove('transparent') - document.getElementsByClassName("episode-card")[i].setAttribute('href', "javascript:" + document.getElementsByClassName("episode-card")[i].href); - document.getElementsByClassName("episode-card")[i].setAttribute('onclick', 'this.classList.contains("CRD-Selected")?(this.classList.remove("CRD-Selected"),this.style.background="#000000",this.style.borderStyle="none",this.style.opacity="1"):(this.classList.add("CRD-Selected"),this.style.background="#400099",this.style.borderStyle="solid", this.style.borderColor="#400099", this.style.borderWidth = "10px");'); - -} diff --git a/CRD-addon/manifest.json b/CRD-addon/manifest.json deleted file mode 100644 index 60a7434..0000000 --- a/CRD-addon/manifest.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "manifest_version": 2, - "name": "Crunchyroll Downloader Addon", - "version": "0.6.0", - - "description": "A Firefox Addon for my Crunchyroll Downloader", - - "icons": { - "48": "icons/icon-48.png" - }, - "permissions": [ - "storage", - "activeTab", - "webRequest", - "webRequestBlocking", - "http://127.0.0.1/*", - "tabs" - ], - "content_scripts": [ - { - "all_frames": true, - "matches": ["http://beta.crunchyroll.com/*", "https://beta.crunchyroll.com/*"], - "match_about_blank": true, - "js": ["inject_beta.js"] - } - ], - - "browser_action": { - "default_icon": { - "128": "icons/icon-128.png", - "48": "icons/icon-48.png", - "20": "icons/icon-20.png" - }, - "default_title": "CR-Downloader", - "default_popup": "popup.html" - }, - - "background": { - "scripts": ["background.js"] - } - -} \ No newline at end of file diff --git a/CRD-addon/popup.css b/CRD-addon/popup.css deleted file mode 100644 index 601a798..0000000 --- a/CRD-addon/popup.css +++ /dev/null @@ -1,30 +0,0 @@ -.btn_class { - background-color: #ff8000; - border: none; - color: white; - padding: 10px; - text-align: center; - text-decoration: none; - font-size: 16px; - margin-left:12px; - margin-right:12px; - margin-Top:12px; - margin-Bottom:12px; - border-radius: 12px; - cursor:pointer; -} -.txt_class { - background-color: #ebe9e8; - border: none; - color: black; - padding: 10px; - text-align: center; - text-decoration: none; - font-size: 16px; - margin-left:12px; - margin-right:12px; - margin-Top:12px; - margin-Bottom:12px; - border-radius: 12px; - cursor:pointer; -} \ No newline at end of file diff --git a/CRD-addon/popup.html b/CRD-addon/popup.html deleted file mode 100644 index dd7223f..0000000 --- a/CRD-addon/popup.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - CR Unblocker plugin popup - - - - -
- -
- - - - - - - - - - - Enter the port or start the Desktop application - - -
- -
- - - diff --git a/CRD-addon/popup.js b/CRD-addon/popup.js deleted file mode 100644 index 6d9d6f5..0000000 --- a/CRD-addon/popup.js +++ /dev/null @@ -1,583 +0,0 @@ -var Port; -var FunCookie; -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_mass_funimation").hidden = true; -document.getElementById("btn_add_AoD").hidden = true; - -browser.storage.local.get("CRD_Port") -.then(gotPort, NoPort); - -function getServerValue(request, sender, sendResponse) { - if (request.Server == "CRD 1.0") { - document.getElementById("CRD-Webserver").hidden = false; - document.getElementById("txtOutput").remove(); - document.getElementById("txtInput").hidden = true; - document.getElementById("btn_set_port").hidden = true; - browser.tabs.query({ - currentWindow: true, - active: true - }).then((tabs) => { - - let tab = tabs[0]; // Safe to assume there will only be one resultconsole.log(tab.url); - console.log(tab.url); - if (tab.url.includes('crunchyroll.com')) { - if (tab.url.includes('beta.crunchyroll.com')) { - var crunchyroll = browser.tabs.executeScript({ - code: 'document.getElementsByClassName("c-playable-card__link")[0].href;' - }); - - crunchyroll.then(onExecuted, onError); - - } else { - - var crunchyroll = browser.tabs.executeScript({ - code: 'document.getElementsByClassName("episode")[0].href;' - }); - - crunchyroll.then(onExecuted, onError); - } - - } else if (tab.url.includes('funimation.com')) { - - var funimation = browser.tabs.executeScript({ - - code: 'document.getElementsByClassName("trackVideo")[0].href' - }); - funimation.then(FunimationSuccess, FunimationOldNotFound); - } 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 = true; //false if implemented - - } else { - - 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 = true; - } - }, console.error) - } else {} - -} -browser.runtime.onMessage.addListener(getServerValue); - -function setItem() { - console.log("OK"); -} -function notsetItem() { - console.log("Not OK"); -} - -function gotPort(result) { - try { - onStartup(result.CRD_Port.value); - console.log("Port: " + result.CRD_Port.value) - } catch (e) { - onStartup(80); - console.log("no port") - } - -} - -function NoPort(result) { - onStartup(80); - console.log("no port") -} - -function onStartup(result) { - Port = result; - var ifrm = document.createElement("iframe"); - ifrm.src = "http://127.0.0.1:" + Port; - ifrm.style = "border:0px solid black;"; - ifrm.style.width = "760px"; - ifrm.style.height = "320px"; - ifrm.id = "CRD-Webserver"; - ifrm.hidden = true; - document.body.appendChild(ifrm); - -} - -document.getElementById('btn_set_port').addEventListener('click', () => { - let CRD_Port = { - value: document.getElementById('txtInput').value - } - - browser.storage.local.set({ - CRD_Port - }) - .then(setItem, notsetItem); - - window.close(); -}); - -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.query({ - currentWindow: true, - active: true - }).then((tabs) => { - - let tab = tabs[0]; // Safe to assume there will only be one resultconsole.log(tab.url); - console.log(tab.url); - - if (tab.url.includes('beta.crunchyroll.com')) { - - let executing = browser.tabs.executeScript({ - file: "inject_beta.js" - }); - executing.then(OnChange); - - } else { - - browser.tabs.executeScript({ - code: 'var script=document.createElement("script");script.type="text/javascript",script.src="http://127.0.0.1:' + Port + '/inject.js",document.head.appendChild(script);' - }); //load script from local CRD Server included in https://github.com/hama3254/Crunchyroll-Downloader-v3.0 - - document.getElementById("btn_add_mass").hidden = false; - document.getElementById("btn_select_all").hidden = false; - document.getElementById("btn_select_none").hidden = false; - document.getElementById("btn_enable_select").hidden = true; - document.getElementById("btn_add").hidden = true; - document.getElementById("btn_enable_funimation_select").hidden = true; - document.getElementById("btn_add_funimation").hidden = true; - document.getElementById("btn_add_AoD").hidden = true; - - } - }, console.error) -}); - -function OnChange(result) { - - window.close() -} - -document.getElementById('btn_select_all').addEventListener('click', () => { - browser.tabs.query({ - currentWindow: true, - active: true - }).then((tabs) => { - - let tab = tabs[0]; - if (tab.url.includes('beta.crunchyroll.com')) { - - browser.tabs.executeScript({ - code: 'var i,episodeCount=document.getElementsByClassName("c-playable-card__link").length;for(i=0;i { - browser.tabs.query({ - currentWindow: true, - active: true - }).then((tabs) => { - - let tab = tabs[0]; - if (tab.url.includes('beta.crunchyroll.com')) { - - browser.tabs.executeScript({ - code: 'var i,episodeCount=document.getElementsByClassName("c-playable-card__link").length;for(i=0;i { - - browser.tabs.query({ - currentWindow: true, - active: true - }).then((tabs) => { - - let tab = tabs[0]; - if (tab.url.includes('beta.crunchyroll.com')) { - - - add_beta_ok(tab.url) - - } else if (tab.url.includes('crunchyroll.com')) { - - var add_one = browser.tabs.executeScript({ - code: "document.getElementsByClassName('no-js')[0].innerHTML;" - }); - add_one.then(add_one_ok, add_one_error); - - } else if (tab.url.includes('funimation.com')) { - - browser.tabs.executeScript({ - code: 'var i,episodeCount=document.getElementsByClassName("fullEpisodeThumbs").length;for(i=0;i { - - var add_fun = browser.tabs.executeScript({ - code: "document.cookie" //"document.getElementsByClassName('show-details')[0].innerHTML;" - }); - add_fun.then(add_fun_ok, add_one_error); - -}); - -document.getElementById('btn_add_mass').addEventListener('click', () => { - - var add_mass = browser.tabs.executeScript({ - code: 'var i,URLList="";for(i=0;i { - - var add_mass = browser.tabs.executeScript({ - code: 'var i,URLList="";for(i=0;i { - let tab = tabs[0]; // Safe to assume there will only be one resultconsole.log(tab.url); - console.log(tab.url); - - document.getElementById("btn_add_funimation").disabled = true; - document.getElementById("btn_add_funimation").style.background = "#c9c9c9" - - var xhttp = new XMLHttpRequest(); - xhttp.open("POST", "http://127.0.0.1:" + Port + "/post", true); - xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); - xhttp.send("FunimationURL=" + tab.url + "&FunimationCookie=" + result); - - setTimeout(function () { - document.getElementById("btn_add_funimation").style.background = "#ff8000" - }, 10000); - setTimeout(function () { - document.getElementById("btn_add_funimation").disabled = false; - }, 10000); - - }, console.error) -} - -function add_one_ok(result) { - - document.getElementById("btn_add").disabled = true; - document.getElementById("btn_add").style.background = "#c9c9c9" - - var xhttp = new XMLHttpRequest(); - xhttp.open("POST", "http://127.0.0.1:" + Port + "/post", true); - xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); - xhttp.send("HTMLSingle=" + result); - - setTimeout(function () { - document.getElementById("btn_add").style.background = "#ff8000" - }, 10000); - setTimeout(function () { - document.getElementById("btn_add").disabled = false; - }, 10000); - -} - -function add_one_error(error) { - console.log(`Error: ${error}`); -} -function add_mass_ok(result) { - - document.getElementById("btn_add_mass").disabled = true; - document.getElementById("btn_add_mass").style.background = "#c9c9c9" - - var xhttp = new XMLHttpRequest(); - xhttp.open("POST", "http://127.0.0.1:" + Port + "/post", true); - xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); - xhttp.send("HTMLMass=" + result); - - setTimeout(function () { - document.getElementById("btn_add_mass").style.background = "#ff8000" - }, 10000); - setTimeout(function () { - document.getElementById("btn_add_mass").disabled = false; - }, 10000); - -} - - -function add_beta_ok(result) { - - document.getElementById("btn_add").disabled = true; - document.getElementById("btn_add").style.background = "#c9c9c9" - - var xhttp = new XMLHttpRequest(); - xhttp.open("POST", "http://127.0.0.1:" + Port + "/post", true); - xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); - xhttp.send("HTMLMass=" + result); - - setTimeout(function () { - document.getElementById("btn_add").style.background = "#ff8000" - }, 10000); - setTimeout(function () { - document.getElementById("btn_add").disabled = false; - }, 10000); - -} - -function add_mass_fun_ok(result) { - - document.getElementById("btn_add_mass_funimation").disabled = true; - document.getElementById("btn_add_mass_funimation").style.background = "#c9c9c9" - - var postdata = result + "&FunimationCookie=" + FunCookie - - var xhttp = new XMLHttpRequest(); - xhttp.open("POST", "http://127.0.0.1:" + Port + "/post", true); - xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); - xhttp.send("FunimationMass=" + postdata); - - setTimeout(function () { - document.getElementById("btn_add_mass_funimation").style.background = "#ff8000" - }, 10000); - setTimeout(function () { - document.getElementById("btn_add_mass_funimation").disabled = false; - }, 10000); - -} - -function add_mass_error(error) { - console.log(`Error: ${error}`); -} -//funimation - -document.getElementById('btn_enable_funimation_select').addEventListener('click', () => { - - - var funimation = browser.tabs.executeScript({ - - code: 'document.getElementsByClassName("episode-card")[0].href' - }); - funimation.then(FunimationNewSelect, FunimationOldSelect); - - - -}); - -function FunimationOldSelect(result) { - - browser.tabs.executeScript({ - code: 'var script=document.createElement("script");script.type="text/javascript",script.src="http://127.0.0.1:' + Port + '/inject_funimation.js",document.head.appendChild(script);' - }); //load script from local CRD Server included in https://github.com/hama3254/Crunchyroll-Downloader-v3.0 - - document.getElementById("btn_add_mass").hidden = true; - document.getElementById("btn_add_mass_funimation").hidden = false; - document.getElementById("btn_select_all").hidden = false; - document.getElementById("btn_select_none").hidden = false; - document.getElementById("btn_enable_select").hidden = true; - document.getElementById("btn_add").hidden = true; - document.getElementById("btn_add_funimation").hidden = true; - document.getElementById("btn_add_AoD").hidden = true; - document.getElementById("btn_enable_funimation_select").hidden = true; - -} - - -function FunimationNewSelect(result) { - - browser.tabs.executeScript({ - file: 'inject_funimation_new.js' - }); - - document.getElementById("btn_add_mass").hidden = true; - document.getElementById("btn_add_mass_funimation").hidden = false; - document.getElementById("btn_select_all").hidden = false; - document.getElementById("btn_select_none").hidden = false; - document.getElementById("btn_enable_select").hidden = true; - document.getElementById("btn_add").hidden = true; - document.getElementById("btn_add_funimation").hidden = true; - document.getElementById("btn_add_AoD").hidden = true; - document.getElementById("btn_enable_funimation_select").hidden = true; - -} - -function fun_cookie_ok(result) { - - FunCookie = result; - -} - -function FunimationSuccess(result) { - console.log(result[0]); - - if (result[0].includes('javascript:')) { - document.getElementById("btn_add").hidden = true; - document.getElementById("btn_add_mass").hidden = true; - document.getElementById("btn_add_mass_funimation").hidden = false; - document.getElementById("btn_select_all").hidden = false; - document.getElementById("btn_select_none").hidden = false; - document.getElementById("btn_enable_select").hidden = true; - document.getElementById("btn_add_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; - var SaveFunimationCookie = browser.tabs.executeScript({ - code: "document.cookie" - }); - SaveFunimationCookie.then(fun_cookie_ok, add_mass_error); - console.log(true); - } else { - document.getElementById("btn_add").hidden = true; - document.getElementById("btn_add_funimation").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 = false; - document.getElementById("btn_add_AoD").hidden = true; - var SaveFunimationCookie = browser.tabs.executeScript({ - code: "document.cookie" - }); - SaveFunimationCookie.then(fun_cookie_ok, add_mass_error); - console.log(false); - } -} -function FunimationOldNotFound(error) { - - var funimation = browser.tabs.executeScript({ - - code: 'document.getElementsByClassName("episode-card")[0].href' - }); - funimation.then(FunimationSuccess, FunimationError); -} - -function FunimationError(error) { - - console.log(`Error: ${error}`); - - document.getElementById("btn_add").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_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; - - - -} diff --git a/Crunchyroll Downloader/Anime_Add.Designer.vb b/Crunchyroll Downloader/Anime_Add.Designer.vb index b5343b1..7683d67 100644 --- a/Crunchyroll Downloader/Anime_Add.Designer.vb +++ b/Crunchyroll Downloader/Anime_Add.Designer.vb @@ -321,9 +321,9 @@ Partial Class Anime_Add Me.ListBox1.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.ListBox1.FormattingEnabled = True Me.ListBox1.ItemHeight = 15 - Me.ListBox1.Location = New System.Drawing.Point(13, 18) + Me.ListBox1.Location = New System.Drawing.Point(13, 30) Me.ListBox1.Name = "ListBox1" - Me.ListBox1.Size = New System.Drawing.Size(693, 244) + Me.ListBox1.Size = New System.Drawing.Size(693, 229) Me.ListBox1.TabIndex = 0 ' 'Timer1 @@ -382,6 +382,7 @@ Partial Class Anime_Add 'Timer3 ' Me.Timer3.Enabled = True + Me.Timer3.Interval = 2000 ' 'Anime_Add ' @@ -392,9 +393,9 @@ Partial Class Anime_Add Me.Controls.Add(Me.btn_dl) Me.Controls.Add(Me.Btn_min) Me.Controls.Add(Me.Btn_Close) - Me.Controls.Add(Me.groupBox1) Me.Controls.Add(Me.GroupBox3) Me.Controls.Add(Me.groupBox2) + Me.Controls.Add(Me.groupBox1) Me.Font = New System.Drawing.Font("Arial", 24.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Name = "Anime_Add" Me.Padding = New System.Windows.Forms.Padding(10, 60, 20, 20) diff --git a/Crunchyroll Downloader/Anime_Add.resx b/Crunchyroll Downloader/Anime_Add.resx index 8500321..fa7a95f 100644 --- a/Crunchyroll Downloader/Anime_Add.resx +++ b/Crunchyroll Downloader/Anime_Add.resx @@ -127,7 +127,7 @@ iVBORw0KGgoAAAANSUhEUgAAABoAAAAhCAYAAADH97ugAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wAAADsABataJCQAAAAd0SU1FB+QMDQ03N1b5UIAAAAApSURBVEhL7cyxCQAwDASx339pZ4EUcTC4keDa + vQAADr0BR/uQrQAAAAd0SU1FB+QMDQ03N1b5UIAAAAApSURBVEhL7cyxCQAwDASx339pZ4EUcTC4keDa CwDMqs/abpOXAGBZcgDKSBvlblfsRgAAAABJRU5ErkJggg== diff --git a/Crunchyroll Downloader/Anime_Add.vb b/Crunchyroll Downloader/Anime_Add.vb index eb6df75..2cc6915 100644 --- a/Crunchyroll Downloader/Anime_Add.vb +++ b/Crunchyroll Downloader/Anime_Add.vb @@ -7,7 +7,6 @@ Imports System.Threading Imports MetroFramework.Forms Imports MetroFramework Imports MetroFramework.Components -Imports CefSharp Imports System.Text Imports System.Runtime.InteropServices.ComTypes Imports System.Windows.Forms.VisualStyles.VisualStyleElement.Status @@ -16,7 +15,6 @@ Public Class Anime_Add Public Mass_DL_Cancel As Boolean = False Public List_DL_Cancel As Boolean = False - Public ThreadList As New List(Of Thread) @@ -26,103 +24,74 @@ Public Class Anime_Add Public Sub LoadBrowser(ByVal Url As String) - 'Main.LoadedUrl = Url + Main.LoadingUrl = Url Main.LoadedUrls.Clear() - If CBool(InStr(Url, "crunchyroll.com")) = True And CBool(InStr(Url, "series")) = True Then + 'Browser.WebView2.Source = New Uri(Url) + 'Exit Sub + 'MsgBox(Url) + + If CBool(InStr(Url, "crunchyroll.com")) = True And CBool(InStr(Url, "series")) = True Or CBool(InStr(Url, "crunchyroll.com")) = True And CBool(InStr(Url, "watch")) = True Then + - Dim locale1() As String = Url.Split(New String() {"crunchyroll.com/"}, System.StringSplitOptions.RemoveEmptyEntries) - Dim locale2() As String = locale1(1).Split(New String() {"/series"}, System.StringSplitOptions.RemoveEmptyEntries) - Main.locale = Main.Convert_locale(locale2(0)) - If Main.locale = "en-US" Then - Main.Url_locale = "" - Else - Main.Url_locale = locale2(0) - End If - CefSharp_Browser.WebBrowser1.Load(Url) - ElseIf CBool(InStr(Url, "crunchyroll.com")) = True And CBool(InStr(Url, "watch")) = True And CBool(Main.CrBetaBasic = Nothing) = False Then #Region "Get Cookies" + Main.CR_Cookies = "Cookie: " + 'MsgBox("Cookies") + Browser.GetCookies(Url) + 'MsgBox("Cookies2") + + Debug.WriteLine(Main.CookieList.Count.ToString) + If Main.CookieList.Count = 0 Then + Browser.WebView2.CoreWebView2.Navigate(Url) + StatusLabel.Text = "Status: loading in browser..." + Main.Text = "Status: loading in browser..." + Exit Sub + End If + Try - Dim rk As RegistryKey = Registry.CurrentUser.CreateSubKey("Software\CRDownloader") - Dim etp_rt As Boolean = False - Dim ajs_user_id As Boolean = False - Dim Collector As New TaskCookieVisitor - Dim CM As ICookieManager = CefSharp_Browser.WebBrowser1.GetCookieManager - CM.VisitAllCookies(Collector) + + Dim DeviceRegion As String = Nothing - Dim list As List(Of Global.CefSharp.Cookie) = Collector.Task.Result() - For i As Integer = 0 To list.Count - 1 + ' Main.CookieList = Collector.Task.Result() + For i As Integer = 0 To Main.CookieList.Count - 1 - '__cf_bm - If CBool(InStr(list.Item(i).Domain, ".crunchyroll.com")) And CBool(InStr(list.Item(i).Name, "_evidon_suppress")) = False Then - Main.CR_Cookies = Main.CR_Cookies + list.Item(i).Name + "=" + list.Item(i).Value + ";" + If CBool(InStr(Main.CookieList.Item(i).Domain, ".crunchyroll.com")) And CBool(InStr(Main.CookieList.Item(i).Name, "_evidon_suppress")) = False Then + Main.CR_Cookies = Main.CR_Cookies + Main.CookieList.Item(i).Name + "=" + Main.CookieList.Item(i).Value + ";" End If - 'If CBool(InStr(list.Item(i).Domain, ".crunchyroll.com")) And CBool(InStr(list.Item(i).Name, "c_locale")) Then - ' Main.locale = list.Item(i).Value - 'End If - 'If CBool(InStr(list.Item(i).Domain, ".crunchyroll.com")) = True And CBool(InStr(list.Item(i).Name, "etp_rt")) = True And Main.CheckCRLogin = True And Main.CR_etp_rt = Nothing Then - ' Debug.WriteLine("etp_rt = True") - ' etp_rt = True - ' Main.CR_etp_rt = list.Item(i).Value - ' rk.SetValue("etp_rt", Main.CR_etp_rt, RegistryValueKind.String) - 'ElseIf CBool(InStr(list.Item(i).Domain, ".crunchyroll.com")) = True And CBool(InStr(list.Item(i).Name, "__cf_bm")) = True = True And Main.CheckCRLogin = True And Main.CR_ajs_user_id = Nothing Then - ' 'MsgBox(list.Item(i).Value) - ' Debug.WriteLine("ajs_user_id = True") - ' ajs_user_id = True - ' Main.CR_ajs_user_id = list.Item(i).Value - ' rk.SetValue("ajs_user_id", Main.CR_ajs_user_id, RegistryValueKind.String) - 'End If Next - 'If Main.locale = Nothing Then - Dim locale1() As String = Url.Split(New String() {"crunchyroll.com/"}, System.StringSplitOptions.RemoveEmptyEntries) - Dim locale2() As String = locale1(1).Split(New String() {"/watch"}, System.StringSplitOptions.RemoveEmptyEntries) - 'MsgBox(locale2(0)) - Main.locale = Main.Convert_locale(locale2(0)) - 'End If - If Main.locale = "en-US" Then - Main.Url_locale = "" - Else - Main.Url_locale = locale2(0) + If CBool(InStr(Url, "/series")) Then + Dim locale1() As String = Url.Split(New String() {"crunchyroll.com/"}, System.StringSplitOptions.RemoveEmptyEntries) + Dim locale2() As String = locale1(1).Split(New String() {"/series"}, System.StringSplitOptions.RemoveEmptyEntries) + Main.locale = Main.Convert_locale(locale2(0)) + If Main.locale = "en-US" Then + Main.Url_locale = "" + Else + Main.Url_locale = locale2(0) + End If + ElseIf CBool(InStr(Url, "/watch")) Then + Dim locale1() As String = Url.Split(New String() {"crunchyroll.com/"}, System.StringSplitOptions.RemoveEmptyEntries) + Dim locale2() As String = locale1(1).Split(New String() {"/watch"}, System.StringSplitOptions.RemoveEmptyEntries) + 'MsgBox(locale2(0)) + + Main.locale = Main.Convert_locale(locale2(0)) + 'End If + If Main.locale = "en-US" Then + Main.Url_locale = "" + Else + Main.Url_locale = locale2(0) + End If End If - 'MsgBox(Main.locale) - - If Main.locale = Nothing Then - - CefSharp_Browser.WebBrowser1.Load(Url) - Exit Sub - End If - - - 'If Main.CR_etp_rt IsNot Nothing And etp_rt = False Then - ' Main.CR_Cookies = "Cookie: " + "etp_rt" + "=" + Main.CR_etp_rt + ";" + Main.CR_Cookies.Replace("Cookie: ", "") - ' Dim etp_rt_cookie As New CefSharp.Cookie - ' etp_rt_cookie.Name = "etp_rt" - ' etp_rt_cookie.Value = Main.CR_etp_rt - ' etp_rt_cookie.HttpOnly = True - ' etp_rt_cookie.Domain = ".crunchyroll.com" - ' Debug.WriteLine("Set etp_rt_cookie: " + CM.SetCookieAsync("http://www.crunchyroll.com", etp_rt_cookie).Result.ToString) - 'End If - - 'If Main.CR_ajs_user_id IsNot Nothing And ajs_user_id = False Then - ' Main.CR_Cookies = Main.CR_Cookies + "ajs_user_id" + "=" + Main.CR_ajs_user_id + ";" - ' Dim ajs_user_id_cookie As New CefSharp.Cookie - ' ajs_user_id_cookie.Name = "__cf_bm" - ' ajs_user_id_cookie.Value = Main.CR_ajs_user_id - ' ajs_user_id_cookie.HttpOnly = True - ' ajs_user_id_cookie.Domain = ".crunchyroll.com" - ' Debug.WriteLine("Set ajs_user_id_cookie: " + CM.SetCookieAsync("http://www.crunchyroll.com", ajs_user_id_cookie).Result.ToString) - 'End If - - + 'MsgBox("locale: " + Main.locale) Catch ex As Exception - CefSharp_Browser.WebBrowser1.Load(Url) + Browser.WebView2.CoreWebView2.Navigate(Url) + StatusLabel.Text = "Status: loading in browser..." Exit Sub End Try @@ -142,6 +111,8 @@ Public Class Anime_Add Dim v1Token As String = Main.CurlPost("https://www.crunchyroll.com/auth/v1/token", Main.CR_Cookies, Auth, Post) + + If CBool(InStr(v1Token, "curl:")) = True And CBool(InStr(v1Token, "400")) = True Then v1Token = Main.CurlPost("https://www.crunchyroll.com/auth/v1/token", Main.CR_Cookies, Auth, Post.Replace("etp_rt_cookie", "client_id")) @@ -153,6 +124,13 @@ Public Class Anime_Add Me.StatusLabel.Text = "Status: Failed - bad request, check CR login" Main.Text = "Status: Failed - bad request, check CR login" Debug.WriteLine("Status: Failed - bad request, check CR login") + If GroupBox3.Visible = True Then + GroupBox3.Visible = False + groupBox2.Visible = False + groupBox1.Visible = True + List_DL_Cancel = False + btn_dl.BackgroundImage = My.Resources.main_button_download_default + End If Main.b = True Exit Sub @@ -161,7 +139,8 @@ Public Class Anime_Add End If If CBool(InStr(v1Token, "curl:")) = True Then - CefSharp_Browser.WebBrowser1.Load(Url) + Browser.WebView2.CoreWebView2.Navigate(Url) + StatusLabel.Text = "Status: loading in browser..." Exit Sub End If @@ -173,27 +152,17 @@ Public Class Anime_Add Dim ObjectsUrl As String = Nothing - 'Try - 'Using client As New WebClient() - ' client.Encoding = System.Text.Encoding.UTF8 - ' client.Headers.Add(My.Resources.ffmpeg_user_agend.Replace(Chr(34), "")) - ' client.Headers.Add("ACCEPT: application/json, text/javascript, */*; q=0.01") - ' client.Headers.Add("Accept-Encoding: identity") - ' client.Headers.Add("Referer: " + Url) - ' client.Headers.Add("Authorization: " + CRBetaBearer) - ' client.Headers.Add(Cookies) '+ WebBrowser1.Document.Cookie) - 'MsgBox(OmUStreamSplitEpisodeIndex(1)) + Dim Auth2 As String = " -H " + Chr(34) + "Authorization: " + CRBetaBearer + Chr(34) Dim v2Content As String = Main.CurlAuth("https://www.crunchyroll.com/index/v2", Main.CR_Cookies, Auth2) 'client.DownloadString("https://www.crunchyroll.com/index/v2") - 'Debug.WriteLine(v2Content) - 'MsgBox("v2: " + v2Content) If CBool(InStr(v2Content, "curl:")) = True Then v2Content = Main.CurlAuth("https://www.crunchyroll.com/index/v2", Main.CR_Cookies, Auth2) End If If CBool(InStr(v2Content, "curl:")) = True Then - CefSharp_Browser.WebBrowser1.Load(Url) + Browser.WebView2.CoreWebView2.Navigate(Url) + StatusLabel.Text = "Status: loading in browser..." Exit Sub End If @@ -214,104 +183,108 @@ Public Class Anime_Add Dim key_pair_id2() As String = key_pair_id(1).Split(New String() {Chr(34) + "," + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries) - 'MsgBox(Url) - Dim ObjectsURLBuilder3() As String = Url.Split(New String() {"watch/"}, System.StringSplitOptions.RemoveEmptyEntries) - Dim ObjectsURLBuilder4() As String = ObjectsURLBuilder3(1).Split(New String() {"/"}, System.StringSplitOptions.RemoveEmptyEntries) + If CBool(InStr(Url, "crunchyroll.com")) = True And CBool(InStr(Url, "series/")) = True Then - ObjectsUrl = "https://www.crunchyroll.com/cms/v2" + bucket2(0) + "/objects/" + ObjectsURLBuilder4(0) + "?locale=" + Main.locale + "&Signature=" + signature2(0) + "&Policy=" + policy2(0) + "&Key-Pair-Id=" + key_pair_id2(0) - 'End Using - 'MsgBox(ObjectsUrl) - - Debug.WriteLine("ObjectsUrl: " + ObjectsUrl) + Dim Series_idUrlBuilder() As String = Url.Split(New String() {"series/"}, System.StringSplitOptions.RemoveEmptyEntries) + Dim Series_idUrlBuilder2() As String = Series_idUrlBuilder(1).Split(New String() {"/"}, System.StringSplitOptions.RemoveEmptyEntries) - 'Catch ex As Exception - ' MsgBox(ex.ToString) - ' CefSharp_Browser.WebBrowser1.Load(Url) - ' Exit Sub - 'End Try + Dim SeriesUrl As String = "https://www.crunchyroll.com/cms/v2" + bucket2(0) + "/seasons?series_id=" + Series_idUrlBuilder2(0) + "&locale=" + Main.locale + "&Signature=" + signature2(0) + "&Policy=" + policy2(0) + "&Key-Pair-Id=" + key_pair_id2(0) - Dim StreamsUrl As String = Nothing - Dim ObjectJson As String - Try - ObjectJson = Main.Curl(ObjectsUrl) - 'MsgBox(ObjectJson) + 'MsgBox(SeriesUrl) + Main.GetBetaSeasons(SeriesUrl) - If CBool(InStr(ObjectJson, "curl:")) = True Then + + ElseIf CBool(InStr(Url, "crunchyroll.com")) = True And CBool(InStr(Url, "watch/")) = True And CBool(Main.CrBetaBasic = Nothing) = False Then + + + + 'MsgBox(Url) + Dim ObjectsURLBuilder3() As String = Url.Split(New String() {"watch/"}, System.StringSplitOptions.RemoveEmptyEntries) + Dim ObjectsURLBuilder4() As String = ObjectsURLBuilder3(1).Split(New String() {"/"}, System.StringSplitOptions.RemoveEmptyEntries) + + + ObjectsUrl = "https://www.crunchyroll.com/cms/v2" + bucket2(0) + "/objects/" + ObjectsURLBuilder4(0) + "?locale=" + Main.locale + "&Signature=" + signature2(0) + "&Policy=" + policy2(0) + "&Key-Pair-Id=" + key_pair_id2(0) + 'End Using + 'MsgBox(ObjectsUrl) + + Debug.WriteLine("ObjectsUrl: " + ObjectsUrl) + + + Dim StreamsUrl As String = Nothing + Dim ObjectJson As String + Try ObjectJson = Main.Curl(ObjectsUrl) - End If + 'MsgBox(ObjectJson) - If CBool(InStr(ObjectJson, "curl:")) = True Then - CefSharp_Browser.WebBrowser1.Load(Url) + If CBool(InStr(ObjectJson, "curl:")) = True Then + ObjectJson = Main.Curl(ObjectsUrl) + End If + + If CBool(InStr(ObjectJson, "curl:")) = True Then + Browser.WebView2.CoreWebView2.Navigate(Url) + Exit Sub + ElseIf CBool(InStr(ObjectJson, "videos/")) = False Then + + StatusLabel.Text = "Status: Failed - no video, check CR login" + Main.Text = "Status: Failed - no video, check CR login" + Debug.WriteLine("Status: Failed - no video, check CR login") + If GroupBox3.Visible = True Then + GroupBox3.Visible = False + groupBox2.Visible = False + groupBox1.Visible = True + List_DL_Cancel = False + btn_dl.BackgroundImage = My.Resources.main_button_download_default + End If + Exit Sub + End If + + Catch ex As Exception + Browser.WebView2.CoreWebView2.Navigate(Url) Exit Sub - ElseIf CBool(InStr(ObjectJson, "videos/")) = False Then + End Try - StatusLabel.Text = "Status: Failed - no video, check CR login" - Main.Text = "Status: Failed - no video, check CR login" - Debug.WriteLine("Status: Failed - no video, check CR login") + Try + Dim StreamsUrlBuilder() As String = ObjectJson.Split(New String() {"videos/"}, System.StringSplitOptions.RemoveEmptyEntries) + Dim StreamsUrlBuilder2() As String = StreamsUrlBuilder(1).Split(New String() {"/streams"}, System.StringSplitOptions.RemoveEmptyEntries) + + Dim StreamsUrlBuilder3() As String = ObjectsUrl.Split(New String() {"objects/"}, System.StringSplitOptions.RemoveEmptyEntries) + Dim StreamsUrlBuilder4() As String = StreamsUrlBuilder3(1).Split(New String() {"?"}, System.StringSplitOptions.RemoveEmptyEntries) + + StreamsUrl = StreamsUrlBuilder3(0) + "videos/" + StreamsUrlBuilder2(0) + "/streams?" + StreamsUrlBuilder4(1) + + ' Debug.WriteLine(StreamsUrl) + Catch ex As Exception + Browser.WebView2.CoreWebView2.Navigate(Url) Exit Sub - End If + End Try - 'Try - ' Using client As New WebClient() - ' client.Encoding = System.Text.Encoding.UTF8 - ' client.Headers.Add(My.Resources.ffmpeg_user_agend.Replace(Chr(34), "")) - ' ObjectJson = client.DownloadString(ObjectsUrl) - ' End Using - 'Catch ex As Exception - ' Debug.WriteLine("error- getting name data") - ' Exit Sub - 'End Try - - Catch ex As Exception - CefSharp_Browser.WebBrowser1.Load(Url) - Exit Sub - End Try - - Try - Dim StreamsUrlBuilder() As String = ObjectJson.Split(New String() {"videos/"}, System.StringSplitOptions.RemoveEmptyEntries) - Dim StreamsUrlBuilder2() As String = StreamsUrlBuilder(1).Split(New String() {"/streams"}, System.StringSplitOptions.RemoveEmptyEntries) - - Dim StreamsUrlBuilder3() As String = ObjectsUrl.Split(New String() {"objects/"}, System.StringSplitOptions.RemoveEmptyEntries) - Dim StreamsUrlBuilder4() As String = StreamsUrlBuilder3(1).Split(New String() {"?"}, System.StringSplitOptions.RemoveEmptyEntries) - - StreamsUrl = StreamsUrlBuilder3(0) + "videos/" + StreamsUrlBuilder2(0) + "/streams?" + StreamsUrlBuilder4(1) - - ' Debug.WriteLine(StreamsUrl) - Catch ex As Exception - CefSharp_Browser.WebBrowser1.Load(Url) - Exit Sub - End Try - - Main.GetBetaVideoProxy(StreamsUrl, Url) + Main.GetBetaVideoProxy(StreamsUrl, Url) + Else + Browser.WebView2.CoreWebView2.Navigate(Url) + End If Else - CefSharp_Browser.WebBrowser1.Load(Url) + 'to do End If - - End Sub Private Sub ComboBox2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox2.SelectedIndexChanged Try If ComboBox2.Text = SubFolder_Nothing Then - Dim rk As RegistryKey = Registry.CurrentUser.CreateSubKey("Software\CRDownloader") - rk.SetValue("SubFolder_Value", SubFolder_Nothing, RegistryValueKind.String) SubFolder_Value = SubFolder_Nothing + My.Settings.SubFolder_Value = SubFolder_Value ElseIf ComboBox2.Text = SubFolder_automatic Then - Dim rk As RegistryKey = Registry.CurrentUser.CreateSubKey("Software\CRDownloader") - rk.SetValue("SubFolder_Value", SubFolder_automatic, RegistryValueKind.String) SubFolder_Value = SubFolder_automatic + My.Settings.SubFolder_Value = SubFolder_Value ElseIf ComboBox2.Text = SubFolder_automatic2 Then - Dim rk As RegistryKey = Registry.CurrentUser.CreateSubKey("Software\CRDownloader") - rk.SetValue("SubFolder_Value", SubFolder_automatic2, RegistryValueKind.String) SubFolder_Value = SubFolder_automatic2 + My.Settings.SubFolder_Value = SubFolder_Value Else - Dim rk As RegistryKey = Registry.CurrentUser.CreateSubKey("Software\CRDownloader") - rk.SetValue("SubFolder_Value", ComboBox2.Text, RegistryValueKind.String) SubFolder_Value = ComboBox2.Text + My.Settings.SubFolder_Value = SubFolder_Value End If Catch ex As Exception ComboBox2.Text = SubFolder_Nothing @@ -367,8 +340,7 @@ Public Class Anime_Add ' Dim SubFolder_Value As String Try - Dim rkg As RegistryKey = Registry.CurrentUser.OpenSubKey("Software\CRDownloader") - SubFolder_Value = rkg.GetValue("SubFolder_Value").ToString + SubFolder_Value = My.Settings.SubFolder_Value If SubFolder_Value = SubFolder_Nothing Then ComboBox2.Items.Add(SubFolder_automatic) ComboBox2.Items.Add(SubFolder_automatic2) @@ -421,38 +393,23 @@ Public Class Anime_Add Catch ex As Exception End Try + + 'Timer3.Enabled = True + End Sub - 'Public Sub BetaCR(ByVal Auth As String, ByVal Cookie As String) - ' Try - ' Using client As New WebClient() - ' client.Encoding = System.Text.Encoding.UTF8 - ' client.Headers.Add(My.Resources.ffmpeg_user_agend.Replace(Chr(34), "")) - ' client.Headers.Add("ACCEPT: gzip") - ' client.Headers.Add("Cookie: " + Cookie) - ' client.Headers.Add("Authorization: " + Auth) - ' client.Headers.Add("Content-Type: application/x-www-form-urlencoded") - ' client.Headers.Add("Referer: https://beta.crunchyroll.com/") ' - ' Dim reqparm As New Specialized.NameValueCollection - - ' reqparm.Add("grant_type", "etp_rt_cookie") - ' Dim responsebytes = client.UploadValues("https://beta-api.crunchyroll.com/auth/v1/token", "POST", reqparm) - ' Dim responsebody = (New Text.UTF8Encoding).GetString(responsebytes) - ' 'My.Computer.Clipboard.SetText(responsebody) - ' End Using - ' Catch ex As Exception - ' MsgBox(ex.ToString) - ' End Try - - - 'End Sub Private Sub Btn_dl_Click(sender As Object, e As EventArgs) Handles btn_dl.Click - CefSharp_Browser.Show() + If Application.OpenForms().OfType(Of Browser).Any = True Then + Else + Main.UserBowser = False + Browser.Show() + End If + Main.LoginOnly = "Download Mode!" 'MsgBox(Main.WebbrowserURL) If SubTitlesOnlyCB.Text = "[Default]" Then @@ -491,8 +448,10 @@ Public Class Anime_Add Main.WebbrowserURL = textBox1.Text If CBool(InStr(textBox1.Text, "funimation.com/v/")) Then - Dim Episode() As String = textBox1.Text.Split(New String() {"/"}, System.StringSplitOptions.RemoveEmptyEntries) + Dim Episode0() As String = textBox1.Text.Split(New String() {"?"}, System.StringSplitOptions.RemoveEmptyEntries) + Dim Episode() As String = Episode0(0).Split(New String() {"/"}, System.StringSplitOptions.RemoveEmptyEntries) Dim v1JsonUrl As String = "https://d33et77evd9bgg.cloudfront.net/data/v1/episodes/" + Episode(Episode.Length - 1) + ".json" + MsgBox(v1JsonUrl) Dim v1Json As String = Nothing Try Using client As New WebClient() @@ -500,10 +459,11 @@ Public Class Anime_Add client.Headers.Add(My.Resources.ffmpeg_user_agend.Replace(Chr(34), "")) v1Json = client.DownloadString(v1JsonUrl) End Using + Main.WebbrowserURL = textBox1.Text Main.GetFunimationNewJS_VideoProxy(Nothing, v1Json) Exit Sub Catch ex As Exception - Debug.WriteLine("error- getting v1Json data for the bypasss") + Debug.WriteLine("error- getting v1Json data for the bypass") Debug.WriteLine(ex.ToString) End Try @@ -701,24 +661,6 @@ Public Class Anime_Add Debug.WriteLine(EpisodeJsonURL) - - - 'CefSharp_Browser.WebBrowser1.LoadUrl(EpisodeJsonURL) - - - 'Try - ' Using client As New WebClient() - ' client.Encoding = System.Text.Encoding.UTF8 - ' client.Headers.Add(My.Resources.ffmpeg_user_agend.Replace(Chr(34), "")) - ' EpisodeJson = client.DownloadString(EpisodeJsonURL) - ' End Using - 'Catch ex As Exception - ' Debug.WriteLine("error- getting EpisodeJson data") - ' Debug.WriteLine(ex.ToString) - ' Exit Sub - 'End Try - - Dim EpisodeJson As String = Main.Curl(EpisodeJsonURL) 'localHTML.Replace("", "").Replace("", "").Replace("
", "").Replace("
", "").Replace("", "").Replace(My.Resources.htmlReplace, "") @@ -884,7 +826,9 @@ Public Class Anime_Add Dim UriUsed As String = ListBox1.GetItemText(ListBox1.Items(0)) If CBool(InStr(UriUsed, "funimation.com/v/")) Then - Dim Episode() As String = UriUsed.Split(New String() {"/"}, System.StringSplitOptions.RemoveEmptyEntries) + Dim Episode0() As String = textBox1.Text.Split(New String() {"?"}, System.StringSplitOptions.RemoveEmptyEntries) + Dim Episode() As String = Episode0(0).Split(New String() {"/"}, System.StringSplitOptions.RemoveEmptyEntries) + Dim v1JsonUrl As String = "https://d33et77evd9bgg.cloudfront.net/data/v1/episodes/" + Episode(Episode.Length - 1) + ".json" Dim v1Json As String = Nothing Try @@ -921,11 +865,11 @@ Public Class Anime_Add Else If Main.Grapp_RDY = True Then Main.Grapp_RDY = False + StatusLabel.Text = "Status: loading ..." + Main.Text = "Status: loading ..." LoadBrowser(ListBox1.GetItemText(ListBox1.Items(0))) ListBox1.Items.Remove(ListBox1.Items(0)) Main.b = False - StatusLabel.Text = "Status: loading ..." - Main.Text = "Status: loading ..." Main.Invalidate() End If @@ -1014,8 +958,6 @@ Public Class Anime_Add If FolderBrowserDialog1.ShowDialog() = DialogResult.OK Then ComboBox2.Items.Clear() Main.Pfad = FolderBrowserDialog1.SelectedPath - 'Dim rk0 As RegistryKey = Registry.CurrentUser.CreateSubKey("Software\CRDownloader") - 'rk0.SetValue("Ordner", Main.Pfad, RegistryValueKind.String) My.Settings.Pfad = Main.Pfad My.Settings.Save() @@ -1068,19 +1010,9 @@ Public Class Anime_Add End If End Sub - Private Sub Timer3_Tick(sender As Object, e As EventArgs) Handles Timer3.Tick - Try - For tlc As Integer = 0 To ThreadList.Count - 1 - If ThreadList.Item(tlc).IsAlive Then - Else - ThreadList.Remove(ThreadList.Item(tlc)) - End If - Next - Catch ex As Exception - - End Try - End Sub - - + 'Private Sub Timer3_Tick(sender As Object, e As EventArgs) Handles Timer3.Tick + ' Timer3.Enabled = False + ' 'MsgBox(True.ToString) + 'End Sub End Class diff --git a/Crunchyroll Downloader/App.config b/Crunchyroll Downloader/App.config index ca8ac4b..76e4e62 100644 --- a/Crunchyroll Downloader/App.config +++ b/Crunchyroll Downloader/App.config @@ -11,15 +11,7 @@ - - - - - - - - - + diff --git a/Crunchyroll Downloader/CefSharp_Browser.Designer.vb b/Crunchyroll Downloader/Browser.Designer.vb similarity index 68% rename from Crunchyroll Downloader/CefSharp_Browser.Designer.vb rename to Crunchyroll Downloader/Browser.Designer.vb index 1e1c217..e854fcf 100644 --- a/Crunchyroll Downloader/CefSharp_Browser.Designer.vb +++ b/Crunchyroll Downloader/Browser.Designer.vb @@ -1,5 +1,5 @@ -Partial Class CefSharp_Browser +Partial Class Browser Inherits System.Windows.Forms.Form 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. @@ -25,11 +25,12 @@ Partial Class CefSharp_Browser Me.components = New System.ComponentModel.Container() Me.TextBox1 = New System.Windows.Forms.TextBox() Me.Button1 = New System.Windows.Forms.Button() - Me.Btn_Scan = New System.Windows.Forms.Button() Me.Panel1 = New System.Windows.Forms.Panel() - Me.WebBrowser1 = New CefSharp.WinForms.ChromiumWebBrowser() + Me.WebView2 = New Microsoft.Web.WebView2.WinForms.WebView2() Me.Timer1 = New System.Windows.Forms.Timer(Me.components) + Me.Timer2 = New System.Windows.Forms.Timer(Me.components) Me.Panel1.SuspendLayout() + CType(Me.WebView2, System.ComponentModel.ISupportInitialize).BeginInit() Me.SuspendLayout() ' 'TextBox1 @@ -38,80 +39,74 @@ Partial Class CefSharp_Browser Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.TextBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle Me.TextBox1.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.TextBox1.Location = New System.Drawing.Point(291, 1) + Me.TextBox1.Location = New System.Drawing.Point(114, 1) Me.TextBox1.Name = "TextBox1" - Me.TextBox1.Size = New System.Drawing.Size(976, 26) + Me.TextBox1.Size = New System.Drawing.Size(1153, 26) Me.TextBox1.TabIndex = 1 ' 'Button1 ' - Me.Button1.Location = New System.Drawing.Point(189, 1) + Me.Button1.Location = New System.Drawing.Point(12, 1) Me.Button1.Name = "Button1" Me.Button1.Size = New System.Drawing.Size(96, 26) Me.Button1.TabIndex = 2 Me.Button1.Text = "Copy URL" Me.Button1.UseVisualStyleBackColor = True ' - 'Btn_Scan - ' - Me.Btn_Scan.Enabled = False - Me.Btn_Scan.Location = New System.Drawing.Point(5, 1) - Me.Btn_Scan.Name = "Btn_Scan" - Me.Btn_Scan.Size = New System.Drawing.Size(178, 26) - Me.Btn_Scan.TabIndex = 3 - Me.Btn_Scan.Text = "Start network scan" - Me.Btn_Scan.UseVisualStyleBackColor = True - ' 'Panel1 ' Me.Panel1.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ Or System.Windows.Forms.AnchorStyles.Left) _ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.Panel1.Controls.Add(Me.WebBrowser1) + Me.Panel1.Controls.Add(Me.WebView2) Me.Panel1.Location = New System.Drawing.Point(0, 30) Me.Panel1.Name = "Panel1" Me.Panel1.Size = New System.Drawing.Size(1280, 720) Me.Panel1.TabIndex = 4 ' - 'WebBrowser1 + 'WebView2 ' - Me.WebBrowser1.ActivateBrowserOnCreation = False - Me.WebBrowser1.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ - Or System.Windows.Forms.AnchorStyles.Left) _ - Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.WebBrowser1.Location = New System.Drawing.Point(0, 0) - Me.WebBrowser1.Name = "WebBrowser1" - Me.WebBrowser1.Size = New System.Drawing.Size(1280, 720) - Me.WebBrowser1.TabIndex = 0 + Me.WebView2.AllowExternalDrop = True + Me.WebView2.CreationProperties = Nothing + Me.WebView2.DefaultBackgroundColor = System.Drawing.Color.White + Me.WebView2.Dock = System.Windows.Forms.DockStyle.Fill + Me.WebView2.Location = New System.Drawing.Point(0, 0) + Me.WebView2.Name = "WebView2" + Me.WebView2.Size = New System.Drawing.Size(1280, 720) + Me.WebView2.TabIndex = 0 + Me.WebView2.ZoomFactor = 1.0R ' 'Timer1 ' Me.Timer1.Interval = 1000 ' - 'CefSharp_Browser + 'Timer2 + ' + Me.Timer2.Interval = 15000 + ' + 'Browser ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.ClientSize = New System.Drawing.Size(1279, 750) Me.Controls.Add(Me.Panel1) - Me.Controls.Add(Me.Btn_Scan) Me.Controls.Add(Me.Button1) Me.Controls.Add(Me.TextBox1) Me.MinimumSize = New System.Drawing.Size(480, 480) - Me.Name = "CefSharp_Browser" + Me.Name = "Browser" Me.ShowIcon = False Me.Text = "Browser" Me.Panel1.ResumeLayout(False) + CType(Me.WebView2, System.ComponentModel.ISupportInitialize).EndInit() Me.ResumeLayout(False) Me.PerformLayout() End Sub - 'Public WithEvents WebBrowser1 As Gecko.GeckoWebBrowser Friend WithEvents TextBox1 As TextBox Friend WithEvents Button1 As Button - Friend WithEvents Btn_Scan As Button Friend WithEvents Panel1 As Panel Friend WithEvents Timer1 As Timer - Friend WithEvents WebBrowser1 As CefSharp.WinForms.ChromiumWebBrowser + Friend WithEvents Timer2 As Timer + Public WithEvents WebView2 As Microsoft.Web.WebView2.WinForms.WebView2 End Class diff --git a/Crunchyroll Downloader/CefSharp_Browser.resx b/Crunchyroll Downloader/Browser.resx similarity index 96% rename from Crunchyroll Downloader/CefSharp_Browser.resx rename to Crunchyroll Downloader/Browser.resx index d0d99f4..22db872 100644 --- a/Crunchyroll Downloader/CefSharp_Browser.resx +++ b/Crunchyroll Downloader/Browser.resx @@ -120,4 +120,7 @@ 17, 17 + + 106, 17 + \ No newline at end of file diff --git a/Crunchyroll Downloader/Browser.vb b/Crunchyroll Downloader/Browser.vb new file mode 100644 index 0000000..063647d --- /dev/null +++ b/Crunchyroll Downloader/Browser.vb @@ -0,0 +1,263 @@ +Option Strict On + +Imports System.IO +Imports System.ComponentModel +Imports System.Threading +Imports System.Net +Imports System.Net.WebUtility +Imports System.IO.Compression +Imports System.Text +Imports System.Security.Policy +Imports Microsoft.Web.WebView2.Core +Imports MetroFramework.Drawing + +Public Class Browser + + + + + Private Sub WebView2_CoreWebView2InitializationCompleted(sender As Object, e As CoreWebView2InitializationCompletedEventArgs) Handles WebView2.CoreWebView2InitializationCompleted + WebView2.CoreWebView2.AddWebResourceRequestedFilter("https://www.crunchyroll.com/*", CoreWebView2WebResourceContext.All) + WebView2.CoreWebView2.AddWebResourceRequestedFilter("https://www.funimation.com/*", CoreWebView2WebResourceContext.All) + 'WebView2.CoreWebView2.AddWebResourceRequestedFilter("*", CoreWebView2WebResourceContext.All) + + AddHandler WebView2.CoreWebView2.WebResourceRequested, AddressOf ObserveHttp + WebView2.CoreWebView2.Settings.UserAgent = My.Resources.ffmpeg_user_agend.Replace(Chr(34), "").Replace("User-Agent: ", "") + If WebView2.CoreWebView2.Source = "about:blank" Or WebView2.CoreWebView2.Source = Nothing Then + 'TextBox1.Text = Main.Startseite + WebView2.CoreWebView2.Navigate(Main.Startseite) + + End If + + End Sub + + + Private Sub WebView2_SourceChanged(sender As Object, e As CoreWebView2SourceChangedEventArgs) Handles WebView2.SourceChanged + Try + TextBox1.Text = WebView2.CoreWebView2.Source + + Catch ex As Exception + End Try + + End Sub + + + + Private Sub WebView2_NavigationCompleted(sender As Object, e As CoreWebView2NavigationCompletedEventArgs) Handles WebView2.NavigationCompleted + ' Dim HTML As String = WebView2.CoreWebView2. + 'TextBox1.Text = WebView2.CoreWebView2.Source + ' Exit Sub + + If e.HttpStatusCode = 200 Then + Dim DocumentTitle As String = WebView2.CoreWebView2.DocumentTitle + + Debug.WriteLine("NavigationCompleted: " + Date.Now.ToString) + Main.WebbrowserURL = WebView2.CoreWebView2.Source + TextBox1.Text = Main.WebbrowserURL + + 'Main.WebbrowserText = "" 'HTML + Main.WebbrowserTitle = DocumentTitle + Main.ProcessHTML("", Main.WebbrowserURL, DocumentTitle) + + GetCookies(Main.WebbrowserURL) + End If + + End Sub + + Public Async Sub GetCookies(ByVal Uri As String) + Main.CookieList = Await WebView2.CoreWebView2.CookieManager.GetCookiesAsync(Uri) + End Sub + + + Private Sub GeckoFX_Load(sender As Object, e As EventArgs) Handles Me.Load + Main.waveOutSetVolume(0, 0) + If Me.Width > My.Computer.Screen.Bounds.Width Then + Me.Width = My.Computer.Screen.Bounds.Width + Panel1.Width = Me.Size.Width - 15 ', Me.Size.Height - 69) + Panel1.Location = New Point(0, 30) + TextBox1.Width = My.Computer.Screen.Bounds.Width - 435 + + End If + + If Me.Size.Height > My.Computer.Screen.Bounds.Height Then + Me.Height = My.Computer.Screen.Bounds.Height + Panel1.Height = Me.Size.Height - 69 + Panel1.Location = New Point(0, 30) + End If + + + Try + Me.Icon = My.Resources.icon + Catch ex As Exception + + End Try + + If Main.UserBowser = False Then + Me.Location = New Point(-10000, 10000) + + End If + WebView2.Source = New Uri(Main.Startseite) + End Sub + + Private Sub Browser_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing + 'Main.UserBowser = False + 'Me.Location = New Point(-10000, -10000) + 'Main.LoadingUrl = "" + 'Debug.WriteLine("Collecting") + 'Dim Collector As New TaskCookieVisitor + 'Dim CM As ICookieManager = WebBrowser1.GetCookieManager + 'CM.VisitAllCookies(Collector) + 'Main.CookieList = Collector.Task.Result() + 'Debug.WriteLine("Collecting-end") + ''e.Cancel = True + End Sub + + + Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click + 'MsgBox(Main.CR_etp_rt) + 'MsgBox(Main.CR_ajs_user_id) + 'MsgBox(Main.CheckCRLogin.ToString) + Try + My.Computer.Clipboard.SetText(WebView2.CoreWebView2.Source) + MsgBox("copied: " + Chr(34) + WebView2.CoreWebView2.Source + Chr(34)) + Catch ex As Exception + End Try + + 'My.Computer.Clipboard.SetText(WebBrowser1.Document.Body.InnerHtml) + + End Sub + + Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown + Try + If e.KeyCode = Keys.Return Then + e.SuppressKeyPress = True + Debug.WriteLine("Start loading: " + Date.Now.ToString) + WebView2.CoreWebView2.Navigate(TextBox1.Text) + End If + + Catch ex As Exception + MsgBox("Error in URL", MsgBoxStyle.Critical) + End Try + End Sub + + + + + + + + + Private Sub ObserveHttp(ByVal sender As Object, ByVal e As CoreWebView2WebResourceRequestedEventArgs) 'Handles RequestResource.GetUrl + + If CBool(InStr(e.Request.Uri, "crunchyroll.com")) = True And Main.CrBetaBasic = Nothing Then + Dim Headers As New List(Of KeyValuePair(Of String, String)) + Headers.AddRange(e.Request.Headers.ToList) + For i As Integer = 0 To Headers.Count + If CBool(InStr(Headers.Item(i).Value, "Basic")) Then + Main.CrBetaBasic = Headers.Item(i).Value + Debug.WriteLine(Main.CrBetaBasic) + End If + Next + End If + + + + If CBool(InStr(Main.LoadingUrl, "crunchyroll.com")) Then + If CBool(InStr(e.Request.Uri, "crunchyroll.com/")) And CBool(InStr(e.Request.Uri, "streams?")) Then + Debug.WriteLine("Crunchyroll-Single: " + e.Request.Uri) + If (Me.InvokeRequired) Then + Me.Invoke(Sub() Main.LoadedUrls.Add(e.Request.Uri)) + Exit Sub + Else + Main.LoadedUrls.Add(e.Request.Uri) + Exit Sub + End If + ElseIf CBool(InStr(e.Request.Uri, "crunchyroll.com/")) And CBool(InStr(e.Request.Uri, "/objects/")) And CBool(InStr(e.Request.Uri, "/watch/")) Then + If (Me.InvokeRequired) Then + Me.Invoke(Sub() Main.LoadedUrls.Add(e.Request.Uri)) + Exit Sub + Else + Main.LoadedUrls.Add(e.Request.Uri) + Exit Sub + End If + Debug.WriteLine(e.Request.Uri) + ElseIf CBool(InStr(e.Request.Uri, "crunchyroll.com/")) And CBool(InStr(e.Request.Uri, "seasons?series_id=")) Then + Debug.WriteLine("Crunchyroll-Season: " + e.Request.Uri) + If (Me.InvokeRequired) Then + Me.Invoke(Sub() Main.LoadedUrls.Add(e.Request.Uri)) + Exit Sub + Else + Main.LoadedUrls.Add(e.Request.Uri) + Exit Sub + End If + End If + + + + + ElseIf CBool(InStr(Main.LoadingUrl, "funimation.com")) Then + If CBool(InStr(e.Request.Uri, "?deviceType=web")) Then + 'Debug.WriteLine(e.Request.Uri) + Dim parms As String() = e.Request.Uri.Split(New String() {"?deviceType="}, System.StringSplitOptions.RemoveEmptyEntries) + Main.FunimationDeviceRegion = "?deviceType=" + parms(1) + + End If + If CBool(InStr(e.Request.Uri, "https://title-api.prd.funimationsvc.com")) Then + Debug.WriteLine("Funimtaion: " + e.Request.Uri) + If (Me.InvokeRequired) Then + Me.Invoke(Sub() Main.LoadedUrls.Add(e.Request.Uri)) + Exit Sub + Else + Main.LoadedUrls.Add(e.Request.Uri) + Exit Sub + End If + ElseIf CBool(InStr(e.Request.Uri, "/data/v2/shows/")) Then + Debug.WriteLine("Funimtaion: " + e.Request.Uri) + If (Me.InvokeRequired) Then + Me.Invoke(Sub() Main.LoadedUrls.Add(e.Request.Uri)) + Exit Sub + Else + Main.LoadedUrls.Add(e.Request.Uri) + Exit Sub + End If + ElseIf CBool(InStr(e.Request.Uri, "/data/v1/episodes/")) Then + Debug.WriteLine("Funimtaion: " + e.Request.Uri) + If (Me.InvokeRequired) Then + Me.Invoke(Sub() Main.LoadedUrls.Add(e.Request.Uri)) + Exit Sub + Else + Main.LoadedUrls.Add(e.Request.Uri) + Exit Sub + End If + End If + + End If + + End Sub + + + + Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick + Me.Close() + End Sub + + + + + + + + + + + + + + + + 'Private Sub WebBrowser1_ConsoleMessage(sender As Object, e As ConsoleMessageEventArgs) Handles WebBrowser1.ConsoleMessage + ' Debug.WriteLine(e.Message) + 'End Sub + +End Class + diff --git a/Crunchyroll Downloader/CRD_List_Item.Designer.vb b/Crunchyroll Downloader/CRD_List_Item.Designer.vb index 78f3e6d..c30ac86 100644 --- a/Crunchyroll Downloader/CRD_List_Item.Designer.vb +++ b/Crunchyroll Downloader/CRD_List_Item.Designer.vb @@ -122,7 +122,7 @@ Partial Class CRD_List_Item Me.Label_Hardsub.BackColor = System.Drawing.Color.Transparent Me.Label_Hardsub.FontSize = MetroFramework.MetroLabelSize.Tall Me.Label_Hardsub.FontWeight = MetroFramework.MetroLabelWeight.Regular - Me.Label_Hardsub.Location = New System.Drawing.Point(265, 97) + Me.Label_Hardsub.Location = New System.Drawing.Point(255, 97) Me.Label_Hardsub.Name = "Label_Hardsub" Me.Label_Hardsub.Size = New System.Drawing.Size(126, 25) Me.Label_Hardsub.TabIndex = 6 diff --git a/Crunchyroll Downloader/CRD_List_Item.vb b/Crunchyroll Downloader/CRD_List_Item.vb index c0d256c..c45b29c 100644 --- a/Crunchyroll Downloader/CRD_List_Item.vb +++ b/Crunchyroll Downloader/CRD_List_Item.vb @@ -55,6 +55,7 @@ Public Class CRD_List_Item Dim FailedSegments As New List(Of FailedSegemtsWithURL) Dim LogText As New List(Of String) + Dim GlobalLogfile As String Private Event UpdateUI(ByVal Percent As Integer, ByVal di As DirectoryInfo, ByVal Idle As Integer) @@ -75,7 +76,7 @@ Public Class CRD_List_Item Label_website.Location = New Point(195, 12) Label_Anime.Location = New Point(195, 40) Label_Reso.Location = New Point(195, 97) - Label_Hardsub.Location = New Point(265, 97) + Label_Hardsub.Location = New Point(255, 97) Label_percent.SetBounds(Me.Width - 400, 97, 378, 27) Label_percent.AutoSize = False ProgressBar1.SetBounds(195, 70, 601, 20) @@ -455,6 +456,10 @@ Public Class CRD_List_Item HistoryDL_Pfad = DL_Pfad HistoryFilename = Filename + GlobalLogfile = DL_Pfad.Replace(".mkv", ".txt").Replace(Chr(34), "") + + 'Debug.WriteLine(GlobalLogfile) + 'If (Me.InvokeRequired) Then ' Me.Invoke(Sub() @@ -1298,9 +1303,26 @@ Public Class CRD_List_Item Sub FFMPEGOutput(ByVal sender As Object, ByVal e As DataReceivedEventArgs) Try LogText.Add(Date.Now.ToString + " " + e.Data) + 'My.Computer.FileSystem.WriteAllText(GlobalLogfile, Date.Now.ToString + " " + e.Data, True) + 'Dim Log As String = "" + 'Dim logfile As String = DownloadPfad.Replace(Main.VideoFormat, ".log").Replace(Chr(34), "") + + 'For i As Integer = 1 To LogText.Count - 1 + ' Log = Log + vbNewLine + ' Log = Log + LogText.Item(i) + 'Next + 'WriteText(logfile, Log) Catch ex As Exception + Debug.WriteLine("FFMPEGOutput: " + ex.ToString) End Try + 'Dim TH As String = "FFMPEGOutput_ID: " + Thread.CurrentThread.Name + 'Debug.WriteLine(TH) + + 'My.Computer.FileSystem.WriteAllText(GlobalLogfile, TH, True) + 'My.Computer.FileSystem.WriteAllText(GlobalLogfile, vbNewLine, True) + 'Thread.CurrentThread.Name = "FFMPEGOutput" + #Region "Detect Auto resolution" Try diff --git a/Crunchyroll Downloader/CefSharp_Browser.vb b/Crunchyroll Downloader/CefSharp_Browser.vb deleted file mode 100644 index 3038fa0..0000000 --- a/Crunchyroll Downloader/CefSharp_Browser.vb +++ /dev/null @@ -1,361 +0,0 @@ -Option Strict On - -Imports System.IO -Imports CefSharp -Imports System.ComponentModel -Imports System.Threading -Imports System.Net -Imports System.Net.WebUtility -Imports System.IO.Compression -Imports System.Text -Imports AdapterRequestHandler -Imports System.Security.Policy - -Public Class CefSharp_Browser - - - - 'Public keks As String = Nothing - 'Public c As Boolean = True - Dim t As Thread - Public ScanTrue As Boolean = False - Public ScanTime As Integer = 0 - - - Dim DocumentTitle As String = "" - Dim Document As String = "" - Dim Cookie As String = "" - - Dim LoadingUrl As String = "" - - Private Sub WebBrowser1_FrameLoadStart(sender As Object, e As FrameLoadStartEventArgs) Handles WebBrowser1.FrameLoadStart - LoadingUrl = e.Url - Main.LoadedUrls.Clear() - End Sub - - - - - Private Sub WebBrowser1_FrameLoadEnd(sender As Object, e As FrameLoadEndEventArgs) Handles WebBrowser1.FrameLoadEnd - If e.Frame.IsMain Then - - - - Me.Invoke(New Action(Function() As Object - ' Main.LoadedUrls.Clear() - Debug.WriteLine("FrameLoadEnd" + Date.Now.ToString) - Main.WebbrowserURL = WebBrowser1.Address - TextBox1.Text = Main.WebbrowserURL - - Try - If Btn_Scan.Enabled = False And Btn_Scan.Text = "Start network scan" Then - Btn_Scan.Enabled = True - - End If - Catch ex As Exception - End Try - - - Return Nothing - End Function)) - - GetHTML() - - End If - End Sub - - - 'Private Sub WebBrowser1_LoadingStateChanged(sender As Object, ByVal Status As LoadingStateChangedEventArgs) Handles WebBrowser1.LoadingStateChanged - ' 'Debug.WriteLine("b:" + Main.b.ToString) - ' Debug.WriteLine(InvokeRequired.ToString) - - ' If Status.IsLoading = True Then - ' Exit Sub - ' End If - - 'End Sub - - Async Sub GetHTML() - Try - - Dim HTML As String = Await WebBrowser1.GetSourceAsync - ' Dim HTML2 As String = Await - - Document = HTML - Debug.WriteLine("get html") - - Me.Invoke(New Action(Function() As Object - - Main.WebbrowserText = HTML - Main.WebbrowserURL = WebBrowser1.Address - Main.WebbrowserTitle = DocumentTitle - Main.ProcessHTML(HTML, WebBrowser1.Address, DocumentTitle) - 'If Main.UserBowser = False Then - ' Me.Close() - 'End If - Return Nothing - End Function)) - - Catch ex As Exception - - End Try - End Sub - - - - - Private Sub GeckoFX_Load(sender As Object, e As EventArgs) Handles MyBase.Load - AddHandler RequestResource.GetUrl, AddressOf ObserveHttp - WebBrowser1.RequestHandler = New RequestEventHandler() - Main.waveOutSetVolume(0, 0) - If Me.Width > My.Computer.Screen.Bounds.Width Then - Me.Width = My.Computer.Screen.Bounds.Width - WebBrowser1.Width = Me.Size.Width - 15 ', Me.Size.Height - 69) - WebBrowser1.Location = New Point(0, 30) - TextBox1.Width = My.Computer.Screen.Bounds.Width - 435 - - End If - - If Me.Size.Height > My.Computer.Screen.Bounds.Height Then - Me.Height = My.Computer.Screen.Bounds.Height - WebBrowser1.Height = Me.Size.Height - 69 - WebBrowser1.Location = New Point(0, 30) - End If - - If Main.Debug2 = True Then - Debug_Mode.Show() - Debug_Mode.Location = New Point(Me.Location.X + Me.Width - 15, Me.Location.Y) - End If - 'MsgBox(WebBrowser1.Address) - If WebBrowser1.Address = "about:blank" Or WebBrowser1.Address = Nothing Then - TextBox1.Text = Main.Startseite - WebBrowser1.Load(Main.Startseite) - - End If - Try - Me.Icon = My.Resources.icon - Catch ex As Exception - - End Try - - If Main.UserBowser = False Then - Me.Location = New Point(-10000, -10000) - - End If - End Sub - - Private Sub CefSharp_Browser_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing - Main.UserBowser = False - Me.Location = New Point(-10000, -10000) - - e.Cancel = True - End Sub - - - Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click - 'MsgBox(Main.CR_etp_rt) - 'MsgBox(Main.CR_ajs_user_id) - 'MsgBox(Main.CheckCRLogin.ToString) - - Try - My.Computer.Clipboard.SetText(WebBrowser1.Address) - MsgBox("copied: " + Chr(34) + WebBrowser1.Address + Chr(34)) - Catch ex As Exception - End Try - - 'My.Computer.Clipboard.SetText(WebBrowser1.Document.Body.InnerHtml) - - End Sub - - Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown - Try - If e.KeyCode = Keys.Return Then - e.SuppressKeyPress = True - Debug.WriteLine("Start loading: " + Date.Now.ToString) - WebBrowser1.Load(TextBox1.Text) - End If - - Catch ex As Exception - MsgBox("Error in URL", MsgBoxStyle.Critical) - End Try - End Sub - - Private Sub WebBrowser1_DocumentTitleChanged(sender As Object, e As TitleChangedEventArgs) Handles WebBrowser1.TitleChanged - - If (Me.InvokeRequired) Then - Me.Invoke(Sub() - DocumentTitle = e.Title - Me.Text = "Browser - " + e.Title - - End Sub) - Else - DocumentTitle = e.Title - Me.Text = "Browser - " + e.Title - - End If - - Try - TextBox1.Text = WebBrowser1.Address - Catch ex As Exception - End Try - End Sub - - Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Btn_Scan.Click - - Main.m3u8List.Clear() - Main.mpdList.Clear() - Main.txtList.Clear() - Btn_Scan.Enabled = False - ScanTrue = True - Main.LogBrowserData = True - NetworkScanEnd() - - End Sub - - Private Sub GeckoFX_LocationChanged(sender As Object, e As EventArgs) Handles Me.LocationChanged - If Main.Debug2 = True Then - Debug_Mode.Location = New Point(Me.Location.X + Me.Width - 15, Me.Location.Y) - End If - End Sub - - - Private Sub ObserveHttp(e As RequestResourceEventArgs) 'Handles RequestResource.GetUrl - - If CBool(InStr(LoadingUrl, "crunchyroll.com")) Then - If CBool(InStr(e.Request.Url, "crunchyroll.com/")) And CBool(InStr(e.Request.Url, "streams?")) Then - Debug.WriteLine("Crunchyroll-Single: " + e.Request.Url) - If (Me.InvokeRequired) Then - Me.Invoke(Sub() Main.LoadedUrls.Add(e.Request.Url)) - Exit Sub - Else - Main.LoadedUrls.Add(e.Request.Url) - Exit Sub - End If - ElseIf CBool(InStr(e.Request.Url, "crunchyroll.com/")) And CBool(InStr(e.Request.Url, "/objects/")) And CBool(InStr(e.Request.Url, "/watch/")) Then - If (Me.InvokeRequired) Then - Me.Invoke(Sub() Main.LoadedUrls.Add(e.Request.Url)) - Exit Sub - Else - Main.LoadedUrls.Add(e.Request.Url) - Exit Sub - End If - Debug.WriteLine(e.Request.Url) - ElseIf CBool(InStr(e.Request.Url, "crunchyroll.com/")) And CBool(InStr(e.Request.Url, "seasons?series_id=")) Then - Debug.WriteLine("Crunchyroll-Season: " + e.Request.Url) - If (Me.InvokeRequired) Then - Me.Invoke(Sub() Main.LoadedUrls.Add(e.Request.Url)) - Exit Sub - Else - Main.LoadedUrls.Add(e.Request.Url) - Exit Sub - End If - End If - - - If (Me.InvokeRequired) Then - Me.Invoke(Sub() - If CBool(InStr(e.Request.Url, "crunchyroll.com")) = True And CBool(InStr(e.Request.Headers, "Basic ")) = True And Main.CrBetaBasic = Nothing Then - Dim Basic As String() = e.Request.Headers.Split(New String() {"Basic "}, System.StringSplitOptions.RemoveEmptyEntries) - Dim Basic2 As String() = Basic(1).Split(New String() {","}, System.StringSplitOptions.RemoveEmptyEntries) - Main.CrBetaBasic = "Basic " + Basic2(0) - Debug.WriteLine(Main.CrBetaBasic) - End If - - - - End Sub) - Else - If CBool(InStr(e.Request.Url, "crunchyroll.com")) = True And CBool(InStr(e.Request.Headers, "Basic ")) = True And Main.CrBetaBasic = Nothing Then - - Dim Basic As String() = e.Request.Headers.Split(New String() {"Basic "}, System.StringSplitOptions.RemoveEmptyEntries) - Dim Basic2 As String() = Basic(1).Split(New String() {","}, System.StringSplitOptions.RemoveEmptyEntries) - Main.CrBetaBasic = "Basic " + Basic2(0) - Debug.WriteLine(Main.CrBetaBasic) - - End If - - End If - ElseIf CBool(InStr(LoadingUrl, "funimation.com")) Then - If CBool(InStr(e.Request.Url, "?deviceType=web")) Then - 'Debug.WriteLine(e.Request.Url) - Dim parms As String() = e.Request.Url.Split(New String() {"?deviceType="}, System.StringSplitOptions.RemoveEmptyEntries) - Main.FunimationDeviceRegion = "?deviceType=" + parms(1) - - End If - If CBool(InStr(e.Request.Url, "https://title-api.prd.funimationsvc.com")) Then - Debug.WriteLine("Funimtaion: " + e.Request.Url) - If (Me.InvokeRequired) Then - Me.Invoke(Sub() Main.LoadedUrls.Add(e.Request.Url)) - Exit Sub - Else - Main.LoadedUrls.Add(e.Request.Url) - Exit Sub - End If - ElseIf CBool(InStr(e.Request.Url, "/data/v2/shows/")) Then - Debug.WriteLine("Funimtaion: " + e.Request.Url) - If (Me.InvokeRequired) Then - Me.Invoke(Sub() Main.LoadedUrls.Add(e.Request.Url)) - Exit Sub - Else - Main.LoadedUrls.Add(e.Request.Url) - Exit Sub - End If - ElseIf CBool(InStr(e.Request.Url, "/data/v1/episodes/")) Then - Debug.WriteLine("Funimtaion: " + e.Request.Url) - If (Me.InvokeRequired) Then - Me.Invoke(Sub() Main.LoadedUrls.Add(e.Request.Url)) - Exit Sub - Else - Main.LoadedUrls.Add(e.Request.Url) - Exit Sub - End If - End If - - End If - - - - - ' - 'Debug.WriteLine(e.Request.Url) - - - - - - End Sub - - Public Sub NetworkScanEnd() - For i As Integer = 20 To 0 Step -1 - Pause(1) - Btn_Scan.Text = "network scan is in progess " + Math.Abs(i).ToString - Try - Anime_Add.StatusLabel.Text = "network scan is in progess " + Math.Abs(i).ToString - Catch ex As Exception - - End Try - Next - ScanTrue = False - Main.LogBrowserData = False - Try - Main.WebbrowserURL = WebBrowser1.Address - Main.WebbrowserText = Document - Main.WebbrowserTitle = DocumentTitle - Main.WebbrowserCookie = Cookie - Catch ex As Exception - End Try - Btn_Scan.Text = "use network scan dialog" - network_scan.Show() - End Sub - - - - - - - 'Private Sub WebBrowser1_ConsoleMessage(sender As Object, e As ConsoleMessageEventArgs) Handles WebBrowser1.ConsoleMessage - ' Debug.WriteLine(e.Message) - 'End Sub - -End Class - diff --git a/Crunchyroll Downloader/Crunchyroll Downloader.vbproj b/Crunchyroll Downloader/Crunchyroll Downloader.vbproj index 95510ad..3501efb 100644 --- a/Crunchyroll Downloader/Crunchyroll Downloader.vbproj +++ b/Crunchyroll Downloader/Crunchyroll Downloader.vbproj @@ -1,8 +1,5 @@  - - - Debug @@ -107,18 +104,17 @@ 41999,42016,42017,42018,42019,42020,42021,42022,42032,42036 - - ..\packages\CefSharp.Common.103.0.90\lib\net452\CefSharp.dll + + ..\..\metroframework-modern-ui\MetroFramework\bin\x64\Debug\MetroFramework.dll - - ..\packages\CefSharp.Common.103.0.90\lib\net452\CefSharp.Core.dll + + ..\packages\Microsoft.Web.WebView2.1.0.1418.22\lib\net45\Microsoft.Web.WebView2.Core.dll - - ..\packages\CefSharp.WinForms.103.0.90\lib\net462\CefSharp.WinForms.dll + + ..\packages\Microsoft.Web.WebView2.1.0.1418.22\lib\net45\Microsoft.Web.WebView2.WinForms.dll - - False - ..\..\metroframework-modern-ui\MetroFramework\bin\Debug\MetroFramework.dll + + ..\packages\Microsoft.Web.WebView2.1.0.1418.22\lib\net45\Microsoft.Web.WebView2.Wpf.dll ..\..\..\MyProvider\MyProvider\bin\x64\Debug\MyProvider.dll @@ -126,9 +122,6 @@ ..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll - - ..\..\RequestHandler\RequestHandler\bin\x64\Debug\RequestHandler.dll - @@ -169,12 +162,6 @@ True Resources.resx - - network_scan.vb - - - Form - Anime_Add.vb @@ -187,16 +174,10 @@ Form - - Debug_Mode.vb + + Browser.vb - - Form - - - CefSharp_Browser.vb - - + Form @@ -235,20 +216,14 @@ Trackbar.vb - - network_scan.vb - Anime_Add.vb einstellungen.vb - - Debug_Mode.vb - - - CefSharp_Browser.vb + + Browser.vb CRD_List_Item.vb @@ -419,14 +394,11 @@ + Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}". - - - - + - \ No newline at end of file diff --git a/Crunchyroll Downloader/Debug_Mode.Designer.vb b/Crunchyroll Downloader/Debug_Mode.Designer.vb deleted file mode 100644 index 81643ba..0000000 --- a/Crunchyroll Downloader/Debug_Mode.Designer.vb +++ /dev/null @@ -1,123 +0,0 @@ - _ -Partial Class Debug_Mode - Inherits System.Windows.Forms.Form - - 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. - _ - Protected Overrides Sub Dispose(ByVal disposing As Boolean) - Try - If disposing AndAlso components IsNot Nothing Then - components.Dispose() - End If - Finally - MyBase.Dispose(disposing) - End Try - End Sub - - 'Wird vom Windows Form-Designer benötigt. - Private components As System.ComponentModel.IContainer - - 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. - 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. - 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. - _ - Private Sub InitializeComponent() - Me.ComboBox1 = New System.Windows.Forms.ComboBox() - Me.RichTextBox1 = New System.Windows.Forms.RichTextBox() - Me.ComboBox2 = New System.Windows.Forms.ComboBox() - Me.Button1 = New System.Windows.Forms.Button() - Me.RichTextBox2 = New System.Windows.Forms.RichTextBox() - Me.Button2 = New System.Windows.Forms.Button() - Me.Button3 = New System.Windows.Forms.Button() - Me.SuspendLayout() - ' - 'ComboBox1 - ' - Me.ComboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList - Me.ComboBox1.FormattingEnabled = True - Me.ComboBox1.Location = New System.Drawing.Point(61, 84) - Me.ComboBox1.Name = "ComboBox1" - Me.ComboBox1.Size = New System.Drawing.Size(414, 21) - Me.ComboBox1.TabIndex = 1 - ' - 'RichTextBox1 - ' - Me.RichTextBox1.Location = New System.Drawing.Point(49, 151) - Me.RichTextBox1.Name = "RichTextBox1" - Me.RichTextBox1.Size = New System.Drawing.Size(444, 241) - Me.RichTextBox1.TabIndex = 3 - Me.RichTextBox1.Text = "" - ' - 'ComboBox2 - ' - Me.ComboBox2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList - Me.ComboBox2.FormattingEnabled = True - Me.ComboBox2.Items.AddRange(New Object() {".txt", ".m3u8", ".mpd"}) - Me.ComboBox2.Location = New System.Drawing.Point(61, 25) - Me.ComboBox2.Name = "ComboBox2" - Me.ComboBox2.Size = New System.Drawing.Size(414, 21) - Me.ComboBox2.TabIndex = 4 - ' - 'Button1 - ' - Me.Button1.Location = New System.Drawing.Point(194, 409) - Me.Button1.Name = "Button1" - Me.Button1.Size = New System.Drawing.Size(139, 23) - Me.Button1.TabIndex = 5 - Me.Button1.Text = "URL Convert" - Me.Button1.UseVisualStyleBackColor = True - ' - 'RichTextBox2 - ' - Me.RichTextBox2.Location = New System.Drawing.Point(49, 451) - Me.RichTextBox2.Name = "RichTextBox2" - Me.RichTextBox2.Size = New System.Drawing.Size(444, 241) - Me.RichTextBox2.TabIndex = 3 - Me.RichTextBox2.Text = "" - ' - 'Button2 - ' - Me.Button2.Location = New System.Drawing.Point(230, 715) - Me.Button2.Name = "Button2" - Me.Button2.Size = New System.Drawing.Size(75, 23) - Me.Button2.TabIndex = 5 - Me.Button2.Text = "Reso Test" - Me.Button2.UseVisualStyleBackColor = True - ' - 'Button3 - ' - Me.Button3.Location = New System.Drawing.Point(382, 715) - Me.Button3.Name = "Button3" - Me.Button3.Size = New System.Drawing.Size(75, 23) - Me.Button3.TabIndex = 6 - Me.Button3.Text = "Button3" - Me.Button3.UseVisualStyleBackColor = True - ' - 'Debug_Mode - ' - Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) - Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font - Me.ClientSize = New System.Drawing.Size(537, 750) - Me.Controls.Add(Me.Button3) - Me.Controls.Add(Me.Button2) - Me.Controls.Add(Me.Button1) - Me.Controls.Add(Me.RichTextBox2) - Me.Controls.Add(Me.ComboBox2) - Me.Controls.Add(Me.RichTextBox1) - Me.Controls.Add(Me.ComboBox1) - Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow - Me.Name = "Debug_Mode" - Me.ShowIcon = False - Me.ShowInTaskbar = False - Me.Text = "Debug" - Me.ResumeLayout(False) - - End Sub - Friend WithEvents ComboBox1 As ComboBox - Friend WithEvents ComboBox2 As ComboBox - Friend WithEvents Button1 As Button - Public WithEvents RichTextBox2 As RichTextBox - Friend WithEvents Button2 As Button - Public WithEvents RichTextBox1 As RichTextBox - Friend WithEvents Button3 As Button -End Class diff --git a/Crunchyroll Downloader/Debug_Mode.resx b/Crunchyroll Downloader/Debug_Mode.resx deleted file mode 100644 index 1af7de1..0000000 --- a/Crunchyroll Downloader/Debug_Mode.resx +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - \ No newline at end of file diff --git a/Crunchyroll Downloader/Debug_Mode.vb b/Crunchyroll Downloader/Debug_Mode.vb deleted file mode 100644 index bab6f5c..0000000 --- a/Crunchyroll Downloader/Debug_Mode.vb +++ /dev/null @@ -1,88 +0,0 @@ -Option Strict On - - -Public Class Debug_Mode - Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load - - End Sub - - Private Sub Form1_LocationChanged(sender As Object, e As EventArgs) Handles Me.LocationChanged - - - End Sub - - Private Sub Button1_Click(sender As Object, e As EventArgs) - - End Sub - - Private Sub Button2_Click(sender As Object, e As EventArgs) - ComboBox1.Items.Clear() - For i As Integer = 0 To Main.m3u8List.Count - 1 - ComboBox1.Items.Add(Main.m3u8List.Item(i)) - Next - End Sub - - Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged - RichTextBox1.Text = ComboBox1.Text - End Sub - - Private Sub ComboBox2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox2.SelectedIndexChanged - If ComboBox2.Text = ".txt" Then - ComboBox1.Items.Clear() - For i As Integer = 0 To Main.txtList.Count - 1 - ComboBox1.Items.Add(Main.txtList.Item(i)) - Next - ElseIf ComboBox2.Text = ".m3u8" Then - ComboBox1.Items.Clear() - For i As Integer = 0 To Main.m3u8List.Count - 1 - ComboBox1.Items.Add(Main.m3u8List.Item(i)) - Next - ElseIf ComboBox2.Text = ".mpd" Then - ComboBox1.Items.Clear() - For i As Integer = 0 To Main.mpdList.Count - 1 - ComboBox1.Items.Add(Main.mpdList.Item(i)) - Next - End If - End Sub - - - Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Button1.Click - Dim HTMLString As String = RichTextBox1.Text - Dim HTMLSplit() As String = HTMLString.Split(New String() {vbNewLine}, System.StringSplitOptions.RemoveEmptyEntries) - For i As Integer = 0 To HTMLSplit.Count - 1 - If CBool(InStr(HTMLSplit(i), ".mpd?")) Then - Dim URLPart2() As String = HTMLSplit(i).Split(New String() {" GET "}, System.StringSplitOptions.RemoveEmptyEntries) - Dim URLPart2Split2() As String = URLPart2(1).Split(New String() {" HTTP/"}, System.StringSplitOptions.RemoveEmptyEntries) - Dim URLPart1() As String = HTMLSplit(i).Split(New String() {" Host: "}, System.StringSplitOptions.RemoveEmptyEntries) - RichTextBox2.Text = "https://" + URLPart1(1) + URLPart2Split2(0) - 'MsgBox(Main.NonCR_URL) - 'RichTextBox1.Text = RichTextBox1.Text + vbNewLine + URL_Final - Exit For - ElseIf CBool(InStr(HTMLSplit(i), ".m3u8?")) Then - Dim URLPart2() As String = HTMLSplit(i).Split(New String() {" GET "}, System.StringSplitOptions.RemoveEmptyEntries) - Dim URLPart2Split2() As String = URLPart2(1).Split(New String() {" HTTP/"}, System.StringSplitOptions.RemoveEmptyEntries) - Dim URLPart1() As String = HTMLSplit(i).Split(New String() {" Host: "}, System.StringSplitOptions.RemoveEmptyEntries) - RichTextBox2.Text = "https://" + URLPart1(1) + URLPart2Split2(0) - 'MsgBox(Main.NonCR_URL) - 'RichTextBox1.Text = RichTextBox1.Text + vbNewLine + URL_Final - Exit For - ElseIf CBool(InStr(HTMLSplit(i), ".txt?")) Then - Dim URLPart2() As String = HTMLSplit(i).Split(New String() {" GET "}, System.StringSplitOptions.RemoveEmptyEntries) - Dim URLPart2Split2() As String = URLPart2(1).Split(New String() {" HTTP/"}, System.StringSplitOptions.RemoveEmptyEntries) - Dim URLPart1() As String = HTMLSplit(i).Split(New String() {" Host: "}, System.StringSplitOptions.RemoveEmptyEntries) - RichTextBox2.Text = "https://" + URLPart1(1) + URLPart2Split2(0) - 'MsgBox(Main.NonCR_URL) - 'RichTextBox1.Text = RichTextBox1.Text + vbNewLine + URL_Final - Exit For - End If - Next - End Sub - - Private Sub Button2_Click_1(sender As Object, e As EventArgs) Handles Button2.Click - 'Main.FFMPEG_Reso(RichTextBox2.Text) - End Sub - - Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click - 'MsgBox(Main.ResoAvalibe) - End Sub -End Class \ No newline at end of file diff --git a/Crunchyroll Downloader/Main.designer.vb b/Crunchyroll Downloader/Main.designer.vb index f890f31..1c2e40f 100644 --- a/Crunchyroll Downloader/Main.designer.vb +++ b/Crunchyroll Downloader/Main.designer.vb @@ -41,7 +41,7 @@ Partial Class Main Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components) Me.ToggleDebugModeToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.OpenSettingsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.TestDownloadToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.Funimation_Token = New System.Windows.Forms.ToolStripMenuItem() Me.CheckCRBetaTokenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.AddonHTMLToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.Timer3OffToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() @@ -52,6 +52,7 @@ Partial Class Main Me.ItemBoundsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.DummyItemToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.Panel1 = New System.Windows.Forms.Panel() + Me.ScanTimeout = New System.Windows.Forms.Timer(Me.components) CType(Me.PictureBox5, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.ConsoleBar, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.MetroStyleManager1, System.ComponentModel.ISupportInitialize).BeginInit() @@ -69,7 +70,7 @@ Partial Class Main 'Timer2 ' Me.Timer2.Enabled = True - Me.Timer2.Interval = 1000 + Me.Timer2.Interval = 3000 ' 'Timer3 ' @@ -160,7 +161,7 @@ Partial Class Main ' 'ContextMenuStrip1 ' - Me.ContextMenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToggleDebugModeToolStripMenuItem, Me.OpenSettingsToolStripMenuItem, Me.TestDownloadToolStripMenuItem, Me.CheckCRBetaTokenToolStripMenuItem, Me.AddonHTMLToolStripMenuItem, Me.Timer3OffToolStripMenuItem, Me.ThreadCount, Me.MsgBoxToolStripMenuItem, Me.CRCookieToolStripMenuItem, Me.ClearAllSettingsToolStripMenuItem, Me.ItemBoundsToolStripMenuItem, Me.DummyItemToolStripMenuItem}) + Me.ContextMenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToggleDebugModeToolStripMenuItem, Me.OpenSettingsToolStripMenuItem, Me.Funimation_Token, Me.CheckCRBetaTokenToolStripMenuItem, Me.AddonHTMLToolStripMenuItem, Me.Timer3OffToolStripMenuItem, Me.ThreadCount, Me.MsgBoxToolStripMenuItem, Me.CRCookieToolStripMenuItem, Me.ClearAllSettingsToolStripMenuItem, Me.ItemBoundsToolStripMenuItem, Me.DummyItemToolStripMenuItem}) Me.ContextMenuStrip1.Name = "ContextMenuStrip1" resources.ApplyResources(Me.ContextMenuStrip1, "ContextMenuStrip1") ' @@ -174,10 +175,10 @@ Partial Class Main Me.OpenSettingsToolStripMenuItem.Name = "OpenSettingsToolStripMenuItem" resources.ApplyResources(Me.OpenSettingsToolStripMenuItem, "OpenSettingsToolStripMenuItem") ' - 'TestDownloadToolStripMenuItem + 'Funimation_Token ' - Me.TestDownloadToolStripMenuItem.Name = "TestDownloadToolStripMenuItem" - resources.ApplyResources(Me.TestDownloadToolStripMenuItem, "TestDownloadToolStripMenuItem") + Me.Funimation_Token.Name = "Funimation_Token" + resources.ApplyResources(Me.Funimation_Token, "Funimation_Token") ' 'CheckCRBetaTokenToolStripMenuItem ' @@ -229,6 +230,10 @@ Partial Class Main resources.ApplyResources(Me.Panel1, "Panel1") Me.Panel1.Name = "Panel1" ' + 'ScanTimeout + ' + Me.ScanTimeout.Interval = 1000 + ' 'Main ' Me.ApplyImageInvert = True @@ -275,7 +280,7 @@ Partial Class Main Friend WithEvents ContextMenuStrip1 As ContextMenuStrip Friend WithEvents ToggleDebugModeToolStripMenuItem As ToolStripMenuItem Friend WithEvents OpenSettingsToolStripMenuItem As ToolStripMenuItem - Friend WithEvents TestDownloadToolStripMenuItem As ToolStripMenuItem + Friend WithEvents Funimation_Token As ToolStripMenuItem Friend WithEvents CheckCRBetaTokenToolStripMenuItem As ToolStripMenuItem Friend WithEvents AddonHTMLToolStripMenuItem As ToolStripMenuItem Friend WithEvents Timer3OffToolStripMenuItem As ToolStripMenuItem @@ -286,4 +291,5 @@ Partial Class Main Friend WithEvents ItemBoundsToolStripMenuItem As ToolStripMenuItem Friend WithEvents DummyItemToolStripMenuItem As ToolStripMenuItem Public WithEvents Panel1 As Panel + Friend WithEvents ScanTimeout As Timer End Class diff --git a/Crunchyroll Downloader/Main.resx b/Crunchyroll Downloader/Main.resx index 3c61daa..4d741d5 100644 --- a/Crunchyroll Downloader/Main.resx +++ b/Crunchyroll Downloader/Main.resx @@ -151,7 +151,7 @@ 9 - 612, 17 + 370, 2 272, 14 @@ -231,21 +231,6 @@ 842, 630 - - True - - - 1, 71 - - - 798, 403 - - - 840, 546 - - - 0 - Panel1 @@ -258,24 +243,6 @@ 1 - - None - - - Flat - - - NoControl - - - 800, 1 - - - 40, 40 - - - 5 - Btn_Close @@ -288,24 +255,6 @@ 2 - - None - - - Flat - - - NoControl - - - 757, 1 - - - 40, 40 - - - 4 - Btn_min @@ -318,24 +267,6 @@ 3 - - Zoom - - - Flat - - - NoControl - - - 641, 18 - - - 80, 35 - - - 3 - Btn_Settings @@ -348,21 +279,6 @@ 4 - - Zoom - - - Flat - - - 124, 18 - - - 80, 35 - - - 2 - Btn_Browser @@ -375,24 +291,6 @@ 5 - - Zoom - - - Flat - - - NoControl - - - 11, 18 - - - 80, 35 - - - 1 - Btn_add @@ -465,10 +363,10 @@ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - TestDownloadToolStripMenuItem + + Funimation_Token - + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 @@ -525,6 +423,12 @@ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + ScanTimeout + + + System.Windows.Forms.Timer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + Main @@ -534,9 +438,165 @@ 276, 52 + + Zoom + + + Flat + + + NoControl + + + 11, 18 + + + 80, 35 + + + 1 + + + Btn_add + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 6 + + + Zoom + + + Flat + + + 124, 18 + + + 80, 35 + + + 2 + + + Btn_Browser + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 5 + + + Zoom + + + Flat + + + NoControl + + + 641, 18 + + + 80, 35 + + + 3 + + + Btn_Settings + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 4 + + + None + + + Flat + + + NoControl + + + 757, 1 + + + 40, 40 + + + 4 + + + Btn_min + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 3 + + + None + + + Flat + + + NoControl + + + 800, 1 + + + 40, 40 + + + 5 + + + Btn_Close + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 2 + - 578, 45 + 352, 49 + + 234, 268 + + + ContextMenuStrip1 + + + System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + 233, 22 @@ -549,10 +609,10 @@ Open Settings - + 233, 22 - + Check Funimation Token @@ -609,13 +669,34 @@ Dummy_Item - - 234, 268 + + True - - ContextMenuStrip1 + + 1, 71 - - System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 798, 403 + + 840, 546 + + + 0 + + + Panel1 + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 1 + + + 167, 10 + \ No newline at end of file diff --git a/Crunchyroll Downloader/Main.vb b/Crunchyroll Downloader/Main.vb index ed32b2c..46e4393 100644 --- a/Crunchyroll Downloader/Main.vb +++ b/Crunchyroll Downloader/Main.vb @@ -13,20 +13,16 @@ Imports System.Globalization Imports System.ComponentModel Imports Newtonsoft.Json.Linq Imports System.Runtime.InteropServices -Imports CefSharp.WinForms -Imports CefSharp Imports System.Security.Policy Imports MyProvider.MyProvider Imports System.Windows - +Imports Microsoft.Web.WebView2.Core Public Class Main Inherits MetroForm Dim t As Thread Dim HTML As String = Nothing Public CR_Cookies As String = "Cookie: " - Public CR_etp_rt As String = Nothing - Public CR_ajs_user_id As String = Nothing Public CheckCRLogin As Boolean = True 'Public LoadedUrl As String = Nothing @@ -37,11 +33,11 @@ Public Class Main Public CrBetaBasic As String = Nothing Public locale As String = Nothing Public Url_locale As String = Nothing - + Dim ProcessCounting As Integer = 30 'Public CrBetaObjects As String = Nothing 'Public CrBetaStreams As String = Nothing 'Public CrBetaStreamsUrl As String = Nothing - + Public LoadingUrl As String = "" Public LoadedUrls As New List(Of String) Public FunimationAPIRegion As String = Nothing Public FunimationRegion As String = Nothing @@ -59,6 +55,7 @@ Public Class Main Dim ServerThread As Thread Public KodiNaming As Boolean = False Public ErrorTolerance As Integer = 0 + Public CookieList As New List(Of CoreWebView2Cookie) 'Public liList As New List(Of String) Public HTMLString As String = My.Resources.Startuphtml Public ListBoxList As New List(Of String) @@ -66,9 +63,6 @@ Public Class Main Public RunningDownloads As Integer = 0 Public UseQueue As Boolean = False Public StartServer As Integer = 0 - Public m3u8List As New List(Of String) - Public txtList As New List(Of String) - Public mpdList As New List(Of String) Public ResoAvalibe As String = Nothing Public ResoSearchRunning As Boolean = False Public UsedMap As String = Nothing @@ -105,7 +99,7 @@ Public Class Main Public Reso As Integer Public Season_Prefix As String = "[default season prefix]" Public Episode_Prefix As String = "[default episode prefix]" - Dim Reso2 As String + Public ResoSave As String = "6666x6666" Public ResoFunBackup As String = "6666x6666" Public SubSprache As String @@ -279,6 +273,7 @@ Public Class Main Private Sub ConsoleBar_Click(sender As Object, e As EventArgs) Handles ConsoleBar.Click If TheTextBox.Visible = True Then + 'TheTextBox.Lines = DebugList.ToArray TheTextBox.Visible = False ListViewHeightOffset = 7 ConsoleBar.Location = New Point(0, Me.Height - ListViewHeightOffset) @@ -318,11 +313,13 @@ Public Class Main Dim W As Integer = Panel1.Width If Panel1.Controls.Count * 142 > Panel1.Height Then - w = Panel1.Width - SystemInformation.VerticalScrollBarWidth + W = Panel1.Width - SystemInformation.VerticalScrollBarWidth End If Dim Item As New List(Of CRD_List_Item) Item.AddRange(Panel1.Controls.OfType(Of CRD_List_Item)) + Item.Reverse() + For s As Integer = 0 To Item.Count - 1 Item(s).SetBounds(0, 142 * s, W - 2, 142) If Debug2 = True Then @@ -376,7 +373,7 @@ Public Class Main End Function - Private Sub Form8_Load(sender As Object, e As EventArgs) Handles MyBase.Load + Private Sub Main_Load(sender As Object, e As EventArgs) Handles MyBase.Load ' #Region "settings path" @@ -394,33 +391,6 @@ Public Class Main b = True Thread.CurrentThread.Name = "Main" Debug.WriteLine("Thread Name: " + Thread.CurrentThread.Name) - 'Try - ' Dim rkg As RegistryKey = Registry.CurrentUser.OpenSubKey("Software\CRDownloader") - ' ProfileFolder = rkg.GetValue("ProfilFolder").ToString - 'Catch ex As Exception - 'End Try - Dim settings As CefSettings = New CefSettings() - If Not Directory.Exists(Path.GetDirectoryName(ProfileFolder)) Then - ' Nein! Jetzt erstellen... - Try - Directory.CreateDirectory(Path.GetDirectoryName(ProfileFolder)) - settings.CachePath = ProfileFolder - Catch ex As Exception - ' Ordner wurde nich erstellt - settings.CachePath = Application.StartupPath + "\lib" - End Try - Else - settings.CachePath = ProfileFolder - End If - settings.CefCommandLineArgs.Add("disable-features=PreloadMediaEngagementData, MediaEngagementBypassAutoplayPolicies") - settings.CefCommandLineArgs.Add("disable-gpu") - settings.CefCommandLineArgs.Add("disable-gpu-vsync") - settings.CefCommandLineArgs.Add("disable-d3d11") - settings.CefCommandLineArgs.Add("disable-gpu-rasterization") - settings.UserAgent = My.Resources.ffmpeg_user_agend.Replace("User-Agent: ", "").Replace(Chr(34), "") - settings.DisableGpuAcceleration() - settings.LogFile = Path.Combine(Application.StartupPath, "lib", "browser.log") - Cef.Initialize(settings) DarkModeValue = My.Settings.DarkModeValue @@ -877,7 +847,7 @@ Public Class Main CurlOutput = CurlOutput + sr.ReadToEnd CurlError = CurlError + sr2.ReadToEnd 'ffmpegOutput2 = sr.ReadLine - Debug.WriteLine(CurlOutput) + 'Debug.WriteLine(CurlOutput) Loop Until Proc.HasExited Or Microsoft.VisualBasic.DateAndTime.Timer < finish @@ -918,7 +888,7 @@ Public Class Main End If cmd = cmd + "--no-alpn -fsSLm 15 -A " + My.Resources.ffmpeg_user_agend.Replace("User-Agent: ", "") + Cookies + Auth + Post + " " + Chr(34) + Url + Chr(34) Dim Proc As New Process - 'MsgBox(cmd) + 'Debug.WriteLine("CurlPost: " + cmd) Dim CurlOutput As String = Nothing Dim CurlError As String = Nothing ' all parameters required to run the process @@ -945,25 +915,25 @@ Public Class Main CurlOutput = CurlOutput + sr.ReadToEnd CurlError = CurlError + sr2.ReadToEnd 'ffmpegOutput2 = sr.ReadLine - Debug.WriteLine(CurlOutput) + 'Debug.WriteLine(CurlOutput) Loop Until Proc.HasExited Or Microsoft.VisualBasic.DateAndTime.Timer < finish If CurlOutput = Nothing And CurlError = Nothing Then - Debug.WriteLine("curl-E: " + "curl: ") + Debug.WriteLine("CurlPost-E: " + "curl: ") Return CurlError ElseIf CurlOutput = Nothing And CurlError IsNot Nothing Then - Debug.WriteLine("curl-E: " + CurlError) + Debug.WriteLine("CurlPost-E: " + CurlError) Return CurlError ElseIf CurlOutput IsNot Nothing And CurlError = Nothing Then - Debug.WriteLine("curl-O: " + CurlOutput) + Debug.WriteLine("CurlPost-O: " + CurlOutput) Return CurlOutput ElseIf CurlOutput IsNot Nothing And CurlError IsNot Nothing Then - Debug.WriteLine("curl-O: " + CurlOutput) + Debug.WriteLine("CurlPost-O: " + CurlOutput) Return CurlOutput Else - Debug.WriteLine("curl-E: " + "curl: ") + Debug.WriteLine("CurlPost-E: " + "curl: ") Return CurlError End If @@ -1016,24 +986,24 @@ Public Class Main CurlOutput = CurlOutput + sr.ReadToEnd CurlError = CurlError + sr2.ReadToEnd 'ffmpegOutput2 = sr.ReadLine - Debug.WriteLine(CurlOutput) + 'Debug.WriteLine(CurlOutput) Loop Until Proc.HasExited Or Microsoft.VisualBasic.DateAndTime.Timer < finish If CurlOutput = Nothing And CurlError = Nothing Then - Debug.WriteLine("curl-E: " + "curl: ") + Debug.WriteLine("CurlAuth-E: " + "curl: ") Return CurlError ElseIf CurlOutput = Nothing And CurlError IsNot Nothing Then - Debug.WriteLine("curl-E: " + CurlError) + Debug.WriteLine("CurlAuth-E: " + CurlError) Return CurlError ElseIf CurlOutput IsNot Nothing And CurlError = Nothing Then - Debug.WriteLine("curl-O: " + CurlOutput) + Debug.WriteLine("CurlAuth-O: " + CurlOutput) Return CurlOutput ElseIf CurlOutput IsNot Nothing And CurlError IsNot Nothing Then - Debug.WriteLine("curl-O: " + CurlOutput) + Debug.WriteLine("CurlAuth-O: " + CurlOutput) Return CurlOutput Else - Debug.WriteLine("curl-E: " + "curl: ") + Debug.WriteLine("CurlAuth-E: " + "curl: ") Return CurlError End If @@ -1052,7 +1022,6 @@ Public Class Main Dim ListOfEpisodes As New List(Of String) Dim EpisodeSplit() As String = CrBetaMassEpisodes.Split(New String() {Chr(34) + "id" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries) - 'My.Computer.FileSystem.WriteAllText("D:\Projecte\Crunchyroll Downloader - v3.0-final\Crunchyroll-Downloader-v3.0 - CefSharp\Crunchyroll Downloader\bin\x64\Debug\WebInterface\EpisodeSplit.txt", CrBetaMassEpisodes, False) '"slug_title":" For i As Integer = 1 To EpisodeSplit.Count - 1 Dim EpisodeSplit2() As String = EpisodeSplit(i).Split(New String() {Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries) @@ -1084,6 +1053,8 @@ Public Class Main Dim ItemFinshedCount As Integer = 0 ' Dim Item As New List(Of CRD_List_Item) Item.AddRange(Panel1.Controls.OfType(Of CRD_List_Item)) + Item.Reverse() + For i2 As Integer = 0 To Item.Count - 1 If Item(i2).GetIsStatusFinished() = True Then ItemFinshedCount = ItemFinshedCount + 1 @@ -1176,7 +1147,7 @@ Public Class Main End If If CBool(InStr(SeasonJson, "curl:")) = True Then - MsgBox("Error - Getting SeasonJson data") + MsgBox("Error - Getting SeasonJson data" + vbNewLine + SeasonJson) Exit Sub End If SeasonJson = CleanJSON(SeasonJson) @@ -1210,10 +1181,6 @@ Public Class Main 'CrBetaStreamsUrl = Nothing 'LoadedUrl = Nothing - 'My.Computer.FileSystem.WriteAllText("D:\Projecte\Crunchyroll Downloader - v3.0-final\Crunchyroll-Downloader-v3.0 - CefSharp\Crunchyroll Downloader\bin\x64\Debug\WebInterface\debugObjects.txt", ObjectJson, False) - - 'My.Computer.FileSystem.WriteAllText("D:\Projecte\Crunchyroll Downloader - v3.0-final\Crunchyroll-Downloader-v3.0 - CefSharp\Crunchyroll Downloader\bin\x64\Debug\WebInterface\debugStreams.txt", VideoJson, False) - Try Grapp_RDY = False @@ -1234,6 +1201,8 @@ Public Class Main Dim CR_episode_int As String = Nothing Dim CR_title As String = Nothing Dim CR_audio_locale As String = Nothing + Dim ResoUsed As String = "x" + Reso.ToString + #Region "Name + Pfad" Dim Pfad2 As String Dim TextBox2_Text As String = Nothing @@ -1263,7 +1232,7 @@ Public Class Main End If If CBool(InStr(ObjectJson, "curl:")) = True Then - MsgBox("Error - Getting ObjectJson data") + MsgBox("Error - Getting ObjectJson data" + vbNewLine + ObjectJson) Exit Sub End If @@ -1566,7 +1535,7 @@ Public Class Main If CBool(InStr(VideoJson, "curl:")) = True Then VideoJson = Nothing - MsgBox("Error - Getting VideoJson data") + MsgBox("Error - Getting VideoJson data" + vbNewLine + VideoJson) Exit Sub End If @@ -1584,7 +1553,7 @@ Public Class Main ' Exit Sub 'End Try - Dim LangNew As String = ConvertCC(SubSprache) + Dim CR_HardSubLang As String = ConvertCC(SubSprache) #End Region #Region "Download softsub file or build ffmpeg cmd" Dim SoftSubs2 As New List(Of String) @@ -1734,7 +1703,7 @@ Public Class Main For i As Integer = 0 To CR_Streams.Count - 1 Debug.WriteLine(CR_Streams.Item(i).subLang) - If CR_Streams.Item(i).subLang = LangNew Then + If CR_Streams.Item(i).subLang = CR_HardSubLang Then CR_URI_Master = CR_Streams.Item(i).Url ElseIf CR_Streams.Item(i).subLang = "" And CR_audio_locale IsNot "ja-JP" And DubMode = True Then 'nothing/raw RawStream = CR_Streams.Item(i).Url @@ -1754,12 +1723,12 @@ Public Class Main If UserCloseDialog = True Then Throw New System.Exception(Chr(34) + "UserAbort" + Chr(34)) Else - LangNew = ResoBackString + CR_HardSubLang = ResoBackString ResoBackString = Nothing For i As Integer = 0 To CR_Streams.Count - 1 Debug.WriteLine(CR_Streams.Item(i).subLang) - If CR_Streams.Item(i).subLang = LangNew Then + If CR_Streams.Item(i).subLang = CR_HardSubLang Then CR_URI_Master = CR_Streams.Item(i).Url End If @@ -1837,11 +1806,11 @@ Public Class Main 'MsgBox(str) If CBool(InStr(str, "x" + Reso.ToString + ",")) Then - Reso2 = "x" + Reso.ToString + ResoUsed = "x" + Reso.ToString Else 'MsgBox(str) If CBool(InStr(str, ResoSave + ",")) Then - Reso2 = Reso2 + ResoUsed = ResoSave Else Me.Invoke(New Action(Function() As Object DialogTaskString = "Resolution" @@ -1853,61 +1822,85 @@ Public Class Main If UserCloseDialog = True Then Throw New System.Exception(Chr(34) + "UserAbort" + Chr(34)) Else - Reso2 = ResoBackString + 'MsgBox(ResoBackString) + ResoUsed = ResoBackString ResoSave = ResoBackString End If End If End If - Dim ffmpeg_url_1 As String() = str.Split(New String() {Reso2 + ","}, System.StringSplitOptions.RemoveEmptyEntries) - Dim ffmpeg_url_3 As String() = Nothing - Dim ffmpeg_url_2 As String() = ffmpeg_url_1(1).Split(New [Char]() {Chr(34)}) - ffmpeg_url_3 = ffmpeg_url_2(2).Split(New [Char]() {System.Convert.ToChar("#")}) + Dim ffmpeg_url_3 As String = Nothing + Dim LineChar As String = vbLf + If CBool(InStr(str, vbCrLf)) Then + LineChar = vbCrLf + ElseIf CBool(InStr(str, vbCr)) Then + LineChar = vbCr + End If + Dim ffmpeg_url_1 As String() = str.Split(New String() {LineChar}, System.StringSplitOptions.RemoveEmptyEntries) + + For i As Integer = 0 To ffmpeg_url_1.Count - 2 'Step 2 + If CBool(InStr(ffmpeg_url_1(i), ResoUsed + ",")) Then + ffmpeg_url_3 = ffmpeg_url_1(i + 1) + End If + Next + 'MsgBox(ffmpeg_url_3) Debug.WriteLine("Line 2120-CR_audio_locale: " + CR_audio_locale) - If MergeSubs = True And CR_MetadataUsage = False Then - URL_DL = "-i " + Chr(34) + ffmpeg_url_3(0).Trim() + Chr(34) + SoftSubMergeURLs + SoftSubMergeMaps + " " + ffmpeg_command_temp + " -c:s " + MergeSubsFormat + SoftSubMergeMetatata + " -metadata:s:a:0 language=" + CCtoMP4CC(CR_audio_locale) + If MergeSubs = True And CR_MetadataUsage = False Then + URL_DL = "-i " + Chr(34) + ffmpeg_url_3.Trim() + Chr(34) + SoftSubMergeURLs + SoftSubMergeMaps + " " + ffmpeg_command_temp + " -c:s " + MergeSubsFormat + SoftSubMergeMetatata + " -metadata:s:a:0 language=" + CCtoMP4CC(CR_audio_locale) ElseIf MergeSubs = False And CR_MetadataUsage = False Then - URL_DL = "-i " + Chr(34) + ffmpeg_url_3(0).Trim() + Chr(34) + " -metadata:s:a:0 language=" + CCtoMP4CC(CR_audio_locale) + " " + ffmpeg_command_temp + URL_DL = "-i " + Chr(34) + ffmpeg_url_3.Trim() + Chr(34) + " -metadata:s:a:0 language=" + CCtoMP4CC(CR_audio_locale) + " " + ffmpeg_command_temp ElseIf MergeSubs = True And CR_MetadataUsage = True Then - URL_DL = "-i " + Chr(34) + ffmpeg_url_3(0).Trim() + Chr(34) + " -i " + Chr(34) + Mdata_File + Chr(34) + SoftSubMergeURLs + SoftSubMergeMaps + " -map_metadata 1" + " " + ffmpeg_command_temp + " -c:s " + MergeSubsFormat + SoftSubMergeMetatata + " -metadata:s:a:0 language=" + CCtoMP4CC(CR_audio_locale) + URL_DL = "-i " + Chr(34) + ffmpeg_url_3.Trim() + Chr(34) + " -i " + Chr(34) + Mdata_File + Chr(34) + SoftSubMergeURLs + SoftSubMergeMaps + " -map_metadata 1" + " " + ffmpeg_command_temp + " -c:s " + MergeSubsFormat + SoftSubMergeMetatata + " -metadata:s:a:0 language=" + CCtoMP4CC(CR_audio_locale) ElseIf MergeSubs = False And CR_MetadataUsage = True Then - URL_DL = "-i " + Chr(34) + ffmpeg_url_3(0).Trim() + Chr(34) + " -i " + Chr(34) + Mdata_File + Chr(34) + " -map_metadata 1" + " -metadata:s:a:0 language=" + CCtoMP4CC(CR_audio_locale) + " " + ffmpeg_command_temp + URL_DL = "-i " + Chr(34) + ffmpeg_url_3.Trim() + Chr(34) + " -i " + Chr(34) + Mdata_File + Chr(34) + " -map_metadata 1" + " -metadata:s:a:0 language=" + CCtoMP4CC(CR_audio_locale) + " " + ffmpeg_command_temp End If - 'If MergeSubs = True And CR_MetadataUsage = False Then - ' URL_DL = "-i " + Chr(34) + ffmpeg_url_3(0).Trim() + Chr(34) + SoftSubMergeURLs + SoftSubMergeMaps + " " + ffmpeg_command + " -c:s " + MergeSubsFormat + SoftSubMergeMetatata + " -metadata:s:a:0 language=" + CCtoMP4CC(CR_audio_locale) - 'Else - ' URL_DL = "-i " + Chr(34) + ffmpeg_url_3(0).Trim() + Chr(34) + " -metadata:s:a:0 language=" + CCtoMP4CC(CR_audio_locale) + " " + ffmpeg_command_temp - 'End If + 'If MergeSubs = True And CR_MetadataUsage = False Then + ' URL_DL = "-i " + Chr(34) + ffmpeg_url_3(0).Trim() + Chr(34) + SoftSubMergeURLs + SoftSubMergeMaps + " " + ffmpeg_command + " -c:s " + MergeSubsFormat + SoftSubMergeMetatata + " -metadata:s:a:0 language=" + CCtoMP4CC(CR_audio_locale) + 'Else + ' URL_DL = "-i " + Chr(34) + ffmpeg_url_3(0).Trim() + Chr(34) + " -metadata:s:a:0 language=" + CCtoMP4CC(CR_audio_locale) + " " + ffmpeg_command_temp + 'End If + End If End If - End If #Region "thumbnail" Dim thumbnail As String() = ObjectJson.Split(New String() {"https://"}, System.StringSplitOptions.RemoveEmptyEntries) Dim thumbnail2 As String() = thumbnail(1).Split(New String() {Chr(34) + "}"}, System.StringSplitOptions.RemoveEmptyEntries) '(New [Char]() {"-"}) Dim thumbnail3 As String = "https://" + thumbnail2(0).Replace("\/", "/") #End Region -#Region "
  • constructor" - Dim Subsprache3 As String = "none" 'HardSubValuesToDisplay(SubSprache2.Replace(Chr(34), "")) - Dim ResoHTMLDisplay As String = Nothing - If ResoBackString = Nothing Then - ResoHTMLDisplay = Reso.ToString + "p" - ElseIf DialogTaskString = "Language" Then - ResoHTMLDisplay = Reso.ToString + "p" - Else - Dim ResoHTML As String() = ResoBackString.Split(New String() {"x"}, System.StringSplitOptions.RemoveEmptyEntries) - If ResoHTML.Count > 1 Then - ResoHTMLDisplay = ResoHTML(1) + "p" - Else - ResoHTMLDisplay = ResoHTML(0) + "p" - End If +#Region "item constructor" + Dim SubType_Value As String = Nothing 'HardSubValuesToDisplay(SubSprache2.Replace(Chr(34), "")) + + 'MsgBox(CR_HardSubLang) + + If Not CR_HardSubLang = "" Then + SubType_Value = "Hardsub: " + HardSubValuesToDisplay(CR_HardSubLang) End If + + If SoftSubs2.Count > 0 And CR_HardSubLang = "" Then + SubType_Value = "Softsubs: " + For i As Integer = 0 To SoftSubs2.Count - 1 + SubType_Value = SubType_Value + HardSubValuesToDisplay(SoftSubs2(i)) + If i < SoftSubs2.Count - 1 Then + SubType_Value = SubType_Value + ", " + End If + Next + End If + + Dim ResoHTMLDisplay As String = Nothing + Dim ResoHTML As String() = ResoUsed.Split(New String() {"x"}, System.StringSplitOptions.RemoveEmptyEntries) + If ResoHTML.Count > 1 Then + ResoHTMLDisplay = ResoHTML(1) + "p" + Else + ResoHTMLDisplay = ResoHTML(0) + "p" + End If + Dim L2Name As String = String.Join(" ", CR_FilenName.Split(invalids, StringSplitOptions.RemoveEmptyEntries)).TrimEnd("."c) 'System.Text.RegularExpressions.Regex.Replace(CR_FilenName_Backup, "[^\w\\-]", " ") + If Reso = 42 And HybridMode = False Then ResoHTMLDisplay = "[Auto]" - ElseIf Reso = 42 And HybridMode = False Then - ResoHTMLDisplay = Reso2 End If + Pfad_DL = Pfad2 Dim L1Name_Split As String() = WebsiteURL.Split(New String() {"/"}, System.StringSplitOptions.RemoveEmptyEntries) Dim L1Name As String = L1Name_Split(1).Replace("www.", "") + " | Dub : " + HardSubValuesToDisplay(CR_audio_locale) @@ -1918,7 +1911,7 @@ Public Class Main Me.Invoke(New Action(Function() As Object - ListItemAdd(Path.GetFileName(Pfad_DL.Replace(Chr(34), "")), L1Name, L2Name, ResoHTMLDisplay, Subsprache3, SubValuesToDisplay(), thumbnail3, URL_DL, Pfad_DL) + ListItemAdd(Path.GetFileName(Pfad_DL.Replace(Chr(34), "")), L1Name, L2Name, ResoHTMLDisplay, SubType_Value, SubValuesToDisplay(), thumbnail3, URL_DL, Pfad_DL) Return Nothing End Function)) 'liList.Add(My.Resources.htmlvorThumbnail + thumbnail3 + My.Resources.htmlnachTumbnail + CR_title + "
    " + CR_season_number + " " + CR_episode + My.Resources.htmlvorAufloesung + ResoHTMLDisplay + My.Resources.htmlvorSoftSubs + vbNewLine + SubValuesToDisplay() + My.Resources.htmlvorHardSubs + Subsprache3 + My.Resources.htmlnachHardSubs + "") @@ -2029,6 +2022,8 @@ Public Class Main Dim Item As New List(Of CRD_List_Item) Item.AddRange(Panel1.Controls.OfType(Of CRD_List_Item)) + Item.Reverse() + For i As Integer = 0 To Item.Count - 1 Item(i).KillRunningTask() Next @@ -2128,10 +2123,10 @@ Public Class Main Private Sub Btn_add_Click(sender As Object, e As EventArgs) Handles Btn_add.Click - If Application.OpenForms().OfType(Of CefSharp_Browser).Any = True Then + If Application.OpenForms().OfType(Of Browser).Any = True Then Else UserBowser = False - CefSharp_Browser.Show() + Browser.Show() End If If Anime_Add.WindowState = System.Windows.Forms.FormWindowState.Minimized Then @@ -2185,11 +2180,11 @@ Public Class Main Debug.WriteLine(Date.Now.ToString + "." + Date.Now.Millisecond.ToString) UserBowser = True - If Application.OpenForms().OfType(Of CefSharp_Browser).Any = True Then - CefSharp_Browser.Location = Me.Location + If Application.OpenForms().OfType(Of Browser).Any = True Then + Browser.Location = Me.Location Else - CefSharp_Browser.Location = Me.Location - CefSharp_Browser.Show() + Browser.Location = Me.Location + Browser.Show() End If @@ -2276,9 +2271,10 @@ Public Class Main Dim ItemFinshedCount As Integer = 0 Dim Item As New List(Of CRD_List_Item) Item.AddRange(Panel1.Controls.OfType(Of CRD_List_Item)) + Item.Reverse() For i As Integer = 0 To Item.Count - 1 - Debug.WriteLine(Item(i).GetIsStatusFinished().ToString) + 'Debug.WriteLine(Item(i).GetIsStatusFinished().ToString) If Item(i).GetIsStatusFinished() = True Then ItemFinshedCount = ItemFinshedCount + 1 End If @@ -2448,6 +2444,8 @@ Public Class Main Dim ItemFinshedCount As Integer = 0 Dim Item As New List(Of CRD_List_Item) Item.AddRange(Panel1.Controls.OfType(Of CRD_List_Item)) + Item.Reverse() + For i2 As Integer = 0 To Item.Count - 1 If Item(i2).GetIsStatusFinished() = True Then ItemFinshedCount = ItemFinshedCount + 1 @@ -2483,8 +2481,10 @@ Public Class Main b = False If CBool(InStr(ListOfEpisodes(i), "funimation.com/v/")) Then - Dim Episode() As String = ListOfEpisodes(i).Split(New String() {"/"}, System.StringSplitOptions.RemoveEmptyEntries) + Dim Episode0() As String = ListOfEpisodes(i).Split(New String() {"?"}, System.StringSplitOptions.RemoveEmptyEntries) + Dim Episode() As String = Episode0(0).Split(New String() {"/"}, System.StringSplitOptions.RemoveEmptyEntries) Dim v1JsonUrl As String = "https://d33et77evd9bgg.cloudfront.net/data/v1/episodes/" + Episode(Episode.Length - 1) + ".json" + 'MsgBox(v1JsonUrl) Dim v1Json As String = Nothing Try Using client As New WebClient() @@ -2492,6 +2492,7 @@ Public Class Main client.Headers.Add(My.Resources.ffmpeg_user_agend.Replace(Chr(34), "")) v1Json = client.DownloadString(v1JsonUrl) End Using + WebbrowserURL = ListOfEpisodes(i) GetFunimationNewJS_VideoProxy(Nothing, v1Json) Catch ex As Exception Debug.WriteLine("error- getting v1Json data for the bypasss") @@ -2568,12 +2569,9 @@ Public Class Main Return "N/A" End If End Function - Public Sub GetFunimationNewJS_VideoProxy(Optional ByVal v1JsonURL As String = Nothing, Optional ByVal v1JsonData As String = Nothing) + Public Async Sub GetFunimationNewJS_VideoProxy(Optional ByVal v1JsonURL As String = Nothing, Optional ByVal v1JsonData As String = Nothing) Try - Dim Collector As New TaskCookieVisitor - Dim CM As ICookieManager = CefSharp_Browser.WebBrowser1.GetCookieManager - CM.VisitAllCookies(Collector) - Dim list As List(Of Global.CefSharp.Cookie) = Collector.Task.Result() + Dim list As List(Of CoreWebView2Cookie) = Await Browser.WebView2.CoreWebView2.CookieManager.GetCookiesAsync("https://www.funimation.com/") Dim Cookie As String = "" For i As Integer = 0 To list.Count - 1 If CBool(InStr(list.Item(i).Domain, "funimation.com")) Then 'list.Item(i).Domain = "funimation.com" Then @@ -3313,6 +3311,7 @@ Public Class Main Dim Item As New List(Of CRD_List_Item) Item.AddRange(Panel1.Controls.OfType(Of CRD_List_Item)) + Item.Reverse() Dim GeckoHTML As String = My.Resources.htmlTop + vbNewLine + My.Resources.htmlTitlel.Replace("Placeholder", Me.Text.Replace("open the add window to continue", "")) @@ -3393,92 +3392,48 @@ Public Class Main Exit Sub End If 'MsgBox("loaded!") - If CBool(InStr(Address, "crunchyroll.com")) Then + If CBool(InStr(Address, "crunchyroll.com")) Or CBool(InStr(Address, "funimation.com")) Then WebbrowserURL = Address + ScanTimeout.Start() - For i As Integer = 10 To 1 Step -1 - If Application.OpenForms().OfType(Of Anime_Add).Any = True Then - Anime_Add.StatusLabel.Text = "Status: Processing Url " + i.ToString - End If - Me.Text = "Status: Processing Url " + i.ToString - Pause(1) + 'ElseIf CBool(InStr(Address, "funimation.com")) Then - If b = True Then - If Application.OpenForms().OfType(Of Anime_Add).Any = True Then - Anime_Add.StatusLabel.Text = "Status: idle" - End If - Me.Text = "Crunchyroll Downloader" - Grapp_RDY = True - LoadedUrls.Clear() - Debug.WriteLine("canceled....") - Exit Sub - End If - Next - - Debug.WriteLine("LoadedUrls: " + LoadedUrls.Count.ToString) - For i As Integer = 0 To LoadedUrls.Count - 1 - Debug.WriteLine("LoadedUrls: " + LoadedUrls(i)) - Next - - If LoadedUrls.Count > 0 Then - If Application.OpenForms().OfType(Of Anime_Add).Any = True Then - Anime_Add.StatusLabel.Text = "Status: Processing... " - End If - Me.Text = "Status: Processing... " - ProcessUrls() - Debug.WriteLine("ProcessUrls") - Exit Sub - Else - If Application.OpenForms().OfType(Of Anime_Add).Any = True Then - Anime_Add.StatusLabel.Text = "Status: nothing found" - End If - Me.Text = "Status: nothing found" - ProcessUrls() - Debug.WriteLine("3530: nothing found") - Grapp_RDY = True - Exit Sub - End If - - ElseIf CBool(InStr(Address, "funimation.com")) Then - Dim Collector As New TaskCookieVisitor - Dim CM As ICookieManager = CefSharp_Browser.WebBrowser1.GetCookieManager - CM.VisitAllCookies(Collector) - Dim list As List(Of Global.CefSharp.Cookie) = Collector.Task.Result() - Dim Cookie As String = "" - For i As Integer = 0 To list.Count - 1 - If CBool(InStr(list.Item(i).Domain, "funimation.com")) Then 'list.Item(i).Domain = "funimation.com" Then - 'MsgBox(list.Item(i).Name + vbNewLine + list.Item(i).Value) - Cookie = Cookie + list.Item(i).Name + "=" + list.Item(i).Value + ";" - End If - If CBool(InStr(list.Item(i).Domain, "funimation.com")) And CBool(InStr(list.Item(i).Name, "src_token")) Then 'list.Item(i).Domain = "funimation.com" Then - 'MsgBox(list.Item(i).Name + vbNewLine + list.Item(i).Value) - FunimationToken = "Token " + list.Item(i).Value - End If - Next - If b = False Then - WebbrowserCookie = Cookie - WebbrowserURL = Address - Text = "Crunchyroll Downloader" - For i As Integer = 10 To 0 Step -1 - Anime_Add.StatusLabel.Text = "Status: checking traffic - " + i.ToString - Pause(1) - Next - Dim Evaluator = New Thread(Sub() Me.ProcessUrls()) - Evaluator.Start() - Exit Sub - End If - Else - WebbrowserURL = Address - Text = "Crunchyroll Downloader" - For i As Integer = 10 To 0 Step -1 - Anime_Add.StatusLabel.Text = "Status: checking traffic - " + i.ToString - Pause(1) - Next - ProcessUrls() - 'Pause(10) - 'ProcessUrls() + ' Dim list As List(Of CoreWebView2Cookie) = Await Browser.WebView2.CoreWebView2.CookieManager.GetCookiesAsync("https://www.funimation.com") + ' Dim Cookie As String = "" + ' For i As Integer = 0 To list.Count - 1 + ' If CBool(InStr(list.Item(i).Domain, "funimation.com")) Then 'list.Item(i).Domain = "funimation.com" Then + ' 'MsgBox(list.Item(i).Name + vbNewLine + list.Item(i).Value) + ' Cookie = Cookie + list.Item(i).Name + "=" + list.Item(i).Value + ";" + ' End If + ' If CBool(InStr(list.Item(i).Domain, "funimation.com")) And CBool(InStr(list.Item(i).Name, "src_token")) Then 'list.Item(i).Domain = "funimation.com" Then + ' 'MsgBox(list.Item(i).Name + vbNewLine + list.Item(i).Value) + ' FunimationToken = "Token " + list.Item(i).Value + ' End If + ' Next + ' If b = False Then + ' WebbrowserCookie = Cookie + ' WebbrowserURL = Address + ' Text = "Crunchyroll Downloader" + ' For i As Integer = 10 To 0 Step -1 + ' Anime_Add.StatusLabel.Text = "Status: checking traffic - " + i.ToString + ' Pause(1) + ' Next + ' Dim Evaluator = New Thread(Sub() Me.ProcessUrls()) + ' Evaluator.Start() + ' Exit Sub + ' End If + 'Else + ' WebbrowserURL = Address + ' Text = "Crunchyroll Downloader" + ' For i As Integer = 10 To 0 Step -1 + ' Anime_Add.StatusLabel.Text = "Status: checking traffic - " + i.ToString + ' Pause(1) + ' Next + ' ProcessUrls() + ' 'Pause(10) + ' 'ProcessUrls() End If 'End If End Sub @@ -3487,6 +3442,64 @@ Public Class Main #End Region + + Private Sub Process(sender As Object, e As EventArgs) Handles ScanTimeout.Tick + If b = True Then + If Application.OpenForms().OfType(Of Anime_Add).Any = True Then + Anime_Add.StatusLabel.Text = "Status: idle" + End If + Me.Text = "Crunchyroll Downloader" + Grapp_RDY = True + LoadedUrls.Clear() + Debug.WriteLine("canceled....") + ProcessCounting = 30 + ScanTimeout.Enabled = False + Exit Sub + End If + + If LoadedUrls.Count = 0 And ProcessCounting > 0 Then + + If Application.OpenForms().OfType(Of Anime_Add).Any = True Then + Anime_Add.StatusLabel.Text = "Status: Processing Url " + ProcessCounting.ToString + End If + Me.Text = "Status: Processing Url " + ProcessCounting.ToString + + ProcessCounting = ProcessCounting - 1 + Exit Sub + ElseIf LoadedUrls.Count = 0 And ProcessCounting > 0 Then + If Application.OpenForms().OfType(Of Anime_Add).Any = True Then + Anime_Add.StatusLabel.Text = "Status: nothing found" + End If + Me.Text = "Status: nothing found" + 'ProcessUrls() + b = True + Debug.WriteLine("3412: nothing found") + Grapp_RDY = True + ProcessCounting = 30 + ScanTimeout.Enabled = False + Exit Sub + End If + + + Debug.WriteLine("LoadedUrls: " + LoadedUrls.Count.ToString) + 'For i As Integer = 0 To LoadedUrls.Count - 1 + ' Debug.WriteLine("LoadedUrls: " + LoadedUrls(i)) + 'Next + + If Application.OpenForms().OfType(Of Anime_Add).Any = True Then + Anime_Add.StatusLabel.Text = "Status: Processing... " + End If + Me.Text = "Status: Processing... " + ProcessUrls() + Debug.WriteLine("ProcessUrls") + + ProcessCounting = 30 + ScanTimeout.Enabled = False + Exit Sub + + + + End Sub Public Sub ProcessUrls() Debug.WriteLine(LoadedUrls.Count.ToString) Debug.WriteLine(Date.Now.ToString + " Thread Name: " + Thread.CurrentThread.Name) @@ -3505,7 +3518,7 @@ Public Class Main GetBetaVideoProxy(requesturl, WebbrowserURL) b = True - 'CefSharp_Browser.WebBrowser1.LoadUrl(requesturl) + 'Browser.WebBrowser1.LoadUrl(requesturl) LoadedUrls.Clear() @@ -3570,7 +3583,7 @@ Public Class Main Me.Text = "Status: Crunchyroll season found." Debug.WriteLine("Crunchyroll season found") GetBetaSeasons(requesturl) - 'CefSharp_Browser.WebBrowser1.LoadUrl(requesturl) + 'Browser.WebBrowser1.LoadUrl(requesturl) b = True LoadedUrls.Clear() Me.Text = "Crunchyroll Downloader" @@ -3618,21 +3631,6 @@ Public Class Main Exit Sub End If If CBool(InStr(requesturl, "https://title-api.prd.funimationsvc.com")) And CBool(InStr(requesturl, "?region=")) Then - Try - Dim Collector As New TaskCookieVisitor - Dim CM As ICookieManager = CefSharp_Browser.WebBrowser1.GetCookieManager - CM.VisitAllCookies(Collector) - Dim list As List(Of Global.CefSharp.Cookie) = Collector.Task.Result() - Dim Cookie As String = "" - For ii As Integer = 0 To list.Count - 1 - If CBool(InStr(list.Item(ii).Domain, "funimation.com")) Then 'list.Item(i).Domain = "funimation.com" Then - 'MsgBox(list.Item(i).Name + vbNewLine + list.Item(i).Value) - Cookie = Cookie + list.Item(ii).Name + "=" + list.Item(ii).Value + ";" - End If - Next - WebbrowserCookie = Cookie - Catch ex As Exception - End Try If FunimationAPIRegion = Nothing Then Me.Invoke(New Action(Function() As Object Dim parms As String() = requesturl.Split(New String() {"?region="}, System.StringSplitOptions.RemoveEmptyEntries) @@ -3641,29 +3639,9 @@ Public Class Main End Function)) End If If b = False Then - 'If CBool(InStr(requesturl, "https://title-api.prd.funimationsvc.com/v1/episodes/")) Then - ' GetFunimationJS_VideoProxy(requesturl) - ' Debug.WriteLine("processing :" + requesturl) - ' b = True - ' Exit For - 'Else + If CBool(InStr(requesturl, "https://title-api.prd.funimationsvc.com/v1/show")) And CBool(InStr(requesturl, "/episodes/")) Then b = True - Try - Dim Collector As New TaskCookieVisitor - Dim CM As ICookieManager = CefSharp_Browser.WebBrowser1.GetCookieManager - CM.VisitAllCookies(Collector) - Dim list As List(Of Global.CefSharp.Cookie) = Collector.Task.Result() - Dim Cookie As String = "" - For ii As Integer = 0 To list.Count - 1 - If CBool(InStr(list.Item(ii).Domain, "funimation.com")) Then 'list.Item(i).Domain = "funimation.com" Then - 'MsgBox(list.Item(i).Name + vbNewLine + list.Item(i).Value) - Cookie = Cookie + list.Item(ii).Name + "=" + list.Item(ii).Value + ";" - End If - Next - WebbrowserCookie = Cookie - Catch ex As Exception - End Try GetFunimationNewJS_VideoProxy(requesturl) Debug.WriteLine("processing :" + requesturl) LoadedUrls.Clear() @@ -3687,25 +3665,25 @@ Public Class Main End Sub Public Sub Navigate(ByVal Url As String) - If Application.OpenForms().OfType(Of CefSharp_Browser).Any = True Then + If Application.OpenForms().OfType(Of Browser).Any = True Then If InvokeRequired = True Then Me.Invoke(New Action(Function() As Object - CefSharp_Browser.WebBrowser1.Load(Url) + Browser.WebView2.CoreWebView2.Navigate(Url) Return Nothing End Function)) Else - CefSharp_Browser.WebBrowser1.Load(Url) + Browser.WebView2.CoreWebView2.Navigate(Url) End If Else If InvokeRequired = True Then Me.Invoke(New Action(Function() As Object - CefSharp_Browser.Show() - CefSharp_Browser.WebBrowser1.Load(Url) + Browser.Show() + Browser.WebView2.CoreWebView2.Navigate(Url) Return Nothing End Function)) Else - CefSharp_Browser.Show() - CefSharp_Browser.WebBrowser1.Load(Url) + Browser.Show() + Browser.WebView2.CoreWebView2.Navigate(Url) End If End If End Sub @@ -4149,10 +4127,6 @@ Public Class Main Me.WindowState = System.Windows.Forms.FormWindowState.Minimized End Sub - Private Sub Button1_Click_2(sender As Object, e As EventArgs) - network_scan.Show() - End Sub - Private Sub Timer4_Tick(sender As Object, e As EventArgs) Handles Timer4.Tick If Application.OpenForms().OfType(Of Anime_Add).Any = False Then @@ -4170,14 +4144,14 @@ Public Class Main Panel1.Select() End Sub - Private Sub TestDownloadToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles TestDownloadToolStripMenuItem.Click + Private Async Sub Funimation_Token_Click(sender As Object, e As EventArgs) Handles Funimation_Token.Click Dim Token As String = Nothing Try - Dim Collector As New TaskCookieVisitor - Dim CM As ICookieManager = CefSharp_Browser.WebBrowser1.GetCookieManager - CM.VisitAllCookies(Collector) Dim DeviceRegion As String = Nothing - Dim list As List(Of Global.CefSharp.Cookie) = Collector.Task.Result() + + 'Browser.GetCookies() + + Dim list As List(Of CoreWebView2Cookie) = Await Browser.WebView2.CoreWebView2.CookieManager.GetCookiesAsync("https://www.funimation.com/") Dim Cookie As String = "" For i As Integer = 0 To list.Count - 1 If CBool(InStr(list.Item(i).Domain, "funimation.com")) Then 'list.Item(i).Domain = "funimation.com" Then @@ -4242,8 +4216,12 @@ Public Class Main Private Sub CRCookieToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles CRCookieToolStripMenuItem.Click 'MsgBox(Curl(InputBox("test", "test"))) + 'For i As Integer = 0 To CookieList.Count - 1 - MsgBox(CR_Cookies) + + 'Next + MsgBox(CookieList.Count.ToString) + 'MsgBox(CR_Cookies) End Sub Private Sub ClearAllSettingsToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ClearAllSettingsToolStripMenuItem.Click @@ -4290,6 +4268,8 @@ Public Class Main Dim Item As New List(Of CRD_List_Item) Item.AddRange(Panel1.Controls.OfType(Of CRD_List_Item)) + Item.Reverse() + For s As Integer = 0 To Item.Count - 1 Item(s).SetBounds(0, 142 * s, W - 2, 142) If Debug2 = True Then @@ -4326,6 +4306,8 @@ Public Class Main + + #End Region End Class diff --git a/Crunchyroll Downloader/MaxPath.resx b/Crunchyroll Downloader/MaxPath.resx deleted file mode 100644 index 1af7de1..0000000 --- a/Crunchyroll Downloader/MaxPath.resx +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - \ No newline at end of file diff --git a/Crunchyroll Downloader/My Project/AssemblyInfo.vb b/Crunchyroll Downloader/My Project/AssemblyInfo.vb index a4199b5..65fb66c 100644 --- a/Crunchyroll Downloader/My Project/AssemblyInfo.vb +++ b/Crunchyroll Downloader/My Project/AssemblyInfo.vb @@ -32,6 +32,6 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - - + + diff --git a/Crunchyroll Downloader/My Project/Resources.Designer.vb b/Crunchyroll Downloader/My Project/Resources.Designer.vb index 4915e51..21dddd1 100644 --- a/Crunchyroll Downloader/My Project/Resources.Designer.vb +++ b/Crunchyroll Downloader/My Project/Resources.Designer.vb @@ -1,1013 +1,1012 @@ -'------------------------------------------------------------------------------ -' -' Dieser Code wurde von einem Tool generiert. -' Laufzeitversion:4.0.30319.42000 -' -' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn -' der Code erneut generiert wird. -' -'------------------------------------------------------------------------------ - -Option Strict On -Option Explicit On - -Imports System - -Namespace My.Resources - - 'Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert - '-Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert. - 'Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen - 'mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu. - ''' - ''' Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. - ''' - _ - Friend Module Resources - - Private resourceMan As Global.System.Resources.ResourceManager - - Private resourceCulture As Global.System.Globalization.CultureInfo - - ''' - ''' Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. - ''' - _ - Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager - Get - If Object.ReferenceEquals(resourceMan, Nothing) Then - Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("Crunchyroll_Downloader.Resources", GetType(Resources).Assembly) - resourceMan = temp - End If - Return resourceMan - End Get - End Property - - ''' - ''' Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle - ''' Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. - ''' - _ - Friend Property Culture() As Global.System.Globalization.CultureInfo - Get - Return resourceCulture - End Get - Set - resourceCulture = value - End Set - End Property - - ''' - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - ''' - Friend ReadOnly Property about_icon() As System.Drawing.Bitmap - Get - Dim obj As Object = ResourceManager.GetObject("about_icon", resourceCulture) - Return CType(obj,System.Drawing.Bitmap) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - ''' - Friend ReadOnly Property add_mass_cancel() As System.Drawing.Bitmap - Get - Dim obj As Object = ResourceManager.GetObject("add_mass_cancel", resourceCulture) - Return CType(obj,System.Drawing.Bitmap) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - ''' - Friend ReadOnly Property add_mass_cancel_hover() As System.Drawing.Bitmap - Get - Dim obj As Object = ResourceManager.GetObject("add_mass_cancel_hover", resourceCulture) - Return CType(obj,System.Drawing.Bitmap) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die {"sources":[{"file":" ähnelt. - ''' - Friend ReadOnly Property AoD_files() As String - Get - Return ResourceManager.GetString("AoD_files", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die <h1 itemprop="name"> ähnelt. - ''' - Friend ReadOnly Property AoD_HTML_Anime_Title() As String - Get - Return ResourceManager.GetString("AoD_HTML_Anime_Title", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die <h3 class="episodebox-title" title=" ähnelt. - ''' - Friend ReadOnly Property AoD_HTML_Episode_Title() As String - Get - Return ResourceManager.GetString("AoD_HTML_Episode_Title", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die "image":" ähnelt. - ''' - Friend ReadOnly Property AoD_Image() As String - Get - Return ResourceManager.GetString("AoD_Image", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die "mediaid": ähnelt. - ''' - Friend ReadOnly Property AoD_MediaID() As String - Get - Return ResourceManager.GetString("AoD_MediaID", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die "title":" ähnelt. - ''' - Friend ReadOnly Property AoD_Titel() As String - Get - Return ResourceManager.GetString("AoD_Titel", resourceCulture) - End Get - End Property - - ''' - ''' 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 - '''; ass file from https://github.com/Aegisub/Aegisub/blob/master/automation/v4-docs/template-scripting-ideas.ass - '''; Script generated by Aegisub v2.00 PRE-RELEASE (SVN r939, jfs) - '''; http://www.aegisub.net - '''Title: Default Aegisub file - '''ScriptType: v4.00+ - '''WrapStyle: 0 - '''PlayResX: 640 - '''PlayResY: 480 - '''Video Aspect Ratio: 0 - '''Video Zoom: 6 - '''Video Position: 0 - ''' - '''[V4+ Styles] - ''' [Rest der Zeichenfolge wurde abgeschnitten]"; ähnelt. - ''' - Friend ReadOnly Property ass_template() As String - Get - Return ResourceManager.GetString("ass_template", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - ''' - Friend ReadOnly Property balken() As System.Drawing.Bitmap - Get - Dim obj As Object = ResourceManager.GetObject("balken", resourceCulture) - Return CType(obj,System.Drawing.Bitmap) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - ''' - Friend ReadOnly Property balken_console() As System.Drawing.Bitmap - Get - Dim obj As Object = ResourceManager.GetObject("balken_console", resourceCulture) - Return CType(obj,System.Drawing.Bitmap) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die <img id="footer_country_flag" src="https://www.crunchyroll.com/i/country_flags/ ähnelt. - ''' - Friend ReadOnly Property CC_String() As String - Get - Return ResourceManager.GetString("CC_String", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die display_episode_number":" ähnelt. - ''' - Friend ReadOnly Property CR_Episode_Nr() As String - Get - Return ResourceManager.GetString("CR_Episode_Nr", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die <meta property="og:url" content=" ähnelt. - ''' - Friend ReadOnly Property CR_Head_Url_Split() As String - Get - Return ResourceManager.GetString("CR_Head_Url_Split", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die <h4 id="showmedia_about_name" class="strong">“ ähnelt. - ''' - Friend ReadOnly Property CR_MediaName() As String - Get - Return ResourceManager.GetString("CR_MediaName", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die ”</h4> ähnelt. - ''' - Friend ReadOnly Property CR_MediaName2() As String - Get - Return ResourceManager.GetString("CR_MediaName2", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die </span> ähnelt. - ''' - Friend ReadOnly Property CR_MovieBT() As String - Get - Return ResourceManager.GetString("CR_MovieBT", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die <span itemprop="name"> ähnelt. - ''' - Friend ReadOnly Property CR_MovieTop() As String - Get - Return ResourceManager.GetString("CR_MovieTop", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die seasonNumber":" ähnelt. - ''' - Friend ReadOnly Property CR_Season_Nr() As String - Get - Return ResourceManager.GetString("CR_Season_Nr", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - ''' - Friend ReadOnly Property crdSettings_Button_SafeExit() As System.Drawing.Bitmap - Get - Dim obj As Object = ResourceManager.GetObject("crdSettings_Button_SafeExit", resourceCulture) - Return CType(obj,System.Drawing.Bitmap) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - ''' - Friend ReadOnly Property crdSettings_Button_SafeExit_hover() As System.Drawing.Bitmap - Get - Dim obj As Object = ResourceManager.GetObject("crdSettings_Button_SafeExit_hover", resourceCulture) - Return CType(obj,System.Drawing.Bitmap) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - ''' - Friend ReadOnly Property DialogNotFound_Submit() As System.Drawing.Bitmap - Get - Dim obj As Object = ResourceManager.GetObject("DialogNotFound_Submit", resourceCulture) - Return CType(obj,System.Drawing.Bitmap) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - ''' - Friend ReadOnly Property DialogNotFound_Submit_hover() As System.Drawing.Bitmap - Get - Dim obj As Object = ResourceManager.GetObject("DialogNotFound_Submit_hover", resourceCulture) - Return CType(obj,System.Drawing.Bitmap) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - ''' - Friend ReadOnly Property download_subs() As System.Drawing.Bitmap - Get - Dim obj As Object = ResourceManager.GetObject("download_subs", resourceCulture) - Return CType(obj,System.Drawing.Bitmap) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - ''' - Friend ReadOnly Property download_subs_hover() As System.Drawing.Bitmap - Get - Dim obj As Object = ResourceManager.GetObject("download_subs_hover", resourceCulture) - Return CType(obj,System.Drawing.Bitmap) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> - '''<html><head> - '''<title>404 Not Found</title> - '''</head><body> - '''<h1>Not Found</h1> - '''<p>The requested URL was not found on this server.</p> - '''<hr> - '''<address>Server at Crunchyroll Downloader Port 8080</address> - '''</body></html> ähnelt. - ''' - Friend ReadOnly Property Error_404() As String - Get - Return ResourceManager.GetString("Error_404", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die ;FFMETADATA1 - '''title=[Titel] - ''' - '''[CHAPTER] - '''TIMEBASE=1/1000 - '''START=[Start] - '''END=[END] - '''title=Opening - ''' - '''[CHAPTER] - '''TIMEBASE=1/1000 - '''START=[after] - '''END=[duration_ms] ähnelt. - ''' - Friend ReadOnly Property ffmpeg_metadata() As String - Get - Return ResourceManager.GetString("ffmpeg_metadata", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die ;FFMETADATA1 - '''title=[Titel] - ''' - '''[CHAPTER] - '''TIMEBASE=1/1000 - '''START=1 - '''END=[Start-1] - ''' - '''[CHAPTER] - '''TIMEBASE=1/1000 - '''START=[Start] - '''END=[duration_ms] - '''title=Ending ähnelt. - ''' - Friend ReadOnly Property ffmpeg_metadata_out() As String - Get - Return ResourceManager.GetString("ffmpeg_metadata_out", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:106.0) Gecko/20100101 Firefox/106.0" ähnelt. - ''' - Friend ReadOnly Property ffmpeg_user_agend() As String - Get - Return ResourceManager.GetString("ffmpeg_user_agend", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die src="/player/ ähnelt. - ''' - Friend ReadOnly Property Funimation_Player_ID() As String - Get - Return ResourceManager.GetString("Funimation_Player_ID", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die src="https://www.funimation.com/player/ ähnelt. - ''' - Friend ReadOnly Property Funimation_Player_ID_2() As String - Get - Return ResourceManager.GetString("Funimation_Player_ID_2", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die <a class="trackVideo ng-binding" href=" ähnelt. - ''' - Friend ReadOnly Property Funimation_Split_1() As String - Get - Return ResourceManager.GetString("Funimation_Split_1", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die "> ähnelt. - ''' - Friend ReadOnly Property Funimation_Split_2() As String - Get - Return ResourceManager.GetString("Funimation_Split_2", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die "src": ähnelt. - ''' - Friend ReadOnly Property Funimation_src_string() As String - Get - Return ResourceManager.GetString("Funimation_src_string", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die {"src": " ähnelt. - ''' - Friend ReadOnly Property Funimation_subs_src() As String - Get - Return ResourceManager.GetString("Funimation_subs_src", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die ", "kind": "subtitle", "type": "CC", "language": " ähnelt. - ''' - Friend ReadOnly Property Funimation_Subtitle_String() As String - Get - Return ResourceManager.GetString("Funimation_Subtitle_String", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die ", "kind": "subtitle", "type": "Full", "language": " ähnelt. - ''' - Friend ReadOnly Property Funimation_Subtitle_String2() As String - Get - Return ResourceManager.GetString("Funimation_Subtitle_String2", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die ", "kind": "subtitle", "type": "full", "language": " ähnelt. - ''' - Friend ReadOnly Property Funimation_Subtitle_String3() As String - Get - Return ResourceManager.GetString("Funimation_Subtitle_String3", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die <meta property="og:image" content=" ähnelt. - ''' - Friend ReadOnly Property Funimation_thumbnail() As String - Get - Return ResourceManager.GetString("Funimation_thumbnail", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die ","resolution":"adaptive" ähnelt. - ''' - Friend ReadOnly Property hls_endString() As String - Get - Return ResourceManager.GetString("hls_endString", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die "format":"adaptive_hls", ähnelt. - ''' - Friend ReadOnly Property hls_Value() As String - Get - Return ResourceManager.GetString("hls_Value", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die <script> - ''' - '''setInterval(function loadXMLDoc() { - ''' var xhttp = new XMLHttpRequest(); - ''' xhttp.onreadystatechange = function() { - ''' if (this.readyState == 4 && this.status == 200) { - ''' document.getElementById("bodypage").innerHTML = this.responseText; - ''' //console.log(this.responseText); - ''' } - ''' }; - ''' xhttp.open("GET", "/", true); - ''' xhttp.send(); - '''}, 1000); - '''</script> - '''</body></html> ähnelt. - ''' - Friend ReadOnly Property htmlEnd() As String - Get - Return ResourceManager.GetString("htmlEnd", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die </a> - ''' - '''</div> - ''' - '''</div> - ''' - '''</div> - ''' - '''<img alt="image error" src="balken1.png" class="class-balken"> ähnelt. - ''' - Friend ReadOnly Property htmlnachHardSubs() As String - Get - Return ResourceManager.GetString("htmlnachHardSubs", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die " class="imagestyle"> - ''' - '''<div> - ''' - '''<span class="titel" dir="auto"> ähnelt. - ''' - Friend ReadOnly Property htmlnachTumbnail() As String - Get - Return ResourceManager.GetString("htmlnachTumbnail", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die <html><head><meta name="color-scheme" content="light dark"></head><pre style="word-wrap: break-word; white-space: pre-wrap;"> ähnelt. - ''' - Friend ReadOnly Property htmlReplace() As String - Get - Return ResourceManager.GetString("htmlReplace", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die <a class="main_titel">Placeholder</a> - '''<img alt="image error" src="balken.png" class="class-balken"> ähnelt. - ''' - Friend ReadOnly Property htmlTitlel() As String - Get - Return ResourceManager.GetString("htmlTitlel", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die <!DOCTYPE html> - '''<head> - '''<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> - '''</head> - '''<html> - ''' <title>CRD</title> - ''' - ''' <style> - ''' .main-bg {margin:0 0 0 0;background-color:#F2F2F2;font-family:Consolas;font-size:16px;} - ''' .div-spacer{width:16px;height:110px;display:block;margin-bottom:14px;position:relative} - ''' .div-episode{width:730px;height:110px;display:block;margin-bottom:14px;position:relative} - ''' .class-balken{width:735px;height:8px;display:block;margin-bottom:4px;marg [Rest der Zeichenfolge wurde abgeschnitten]"; ähnelt. - ''' - Friend ReadOnly Property htmlTop() As String - Get - Return ResourceManager.GetString("htmlTop", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die </span> - ''' - '''<div class="progressbar"> - ''' - '''<div class="progressbar-value" style="width: 0%"></div> - ''' - '''</div> - '''<span dir="auto" class='percenttext'>0%</span> - '''<div> - '''<br> - '''<span dir="auto" class="resotext"> ähnelt. - ''' - Friend ReadOnly Property htmlvorAufloesung() As String - Get - Return ResourceManager.GetString("htmlvorAufloesung", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die "> <img alt="image error" src="cc1.png" class="class-cc"> ähnelt. - ''' - Friend ReadOnly Property htmlvorHardSubs() As String - Get - Return ResourceManager.GetString("htmlvorHardSubs", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die </span> - ''' - '''<a href="#" class="cc-wert" title="Softsubs: ähnelt. - ''' - Friend ReadOnly Property htmlvorSoftSubs() As String - Get - Return ResourceManager.GetString("htmlvorSoftSubs", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die - ''' <div class="div-episode"> - ''' - '''<img alt="image error" src=" ähnelt. - ''' - Friend ReadOnly Property htmlvorThumbnail() As String - Get - Return ResourceManager.GetString("htmlvorThumbnail", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Icon ähnlich wie (Symbol). - ''' - Friend ReadOnly Property icon() As System.Drawing.Icon - Get - Dim obj As Object = ResourceManager.GetObject("icon", resourceCulture) - Return CType(obj,System.Drawing.Icon) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die "error":false,"code":"ok" ähnelt. - ''' - Friend ReadOnly Property LoginSuccess() As String - Get - Return ResourceManager.GetString("LoginSuccess", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - ''' - Friend ReadOnly Property main_add() As System.Drawing.Bitmap - Get - Dim obj As Object = ResourceManager.GetObject("main_add", resourceCulture) - Return CType(obj,System.Drawing.Bitmap) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - ''' - Friend ReadOnly Property main_add_invert() As System.Drawing.Bitmap - Get - Dim obj As Object = ResourceManager.GetObject("main_add_invert", resourceCulture) - Return CType(obj,System.Drawing.Bitmap) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - ''' - Friend ReadOnly Property main_add_invert_dark() As System.Drawing.Bitmap - Get - Dim obj As Object = ResourceManager.GetObject("main_add_invert_dark", resourceCulture) - Return CType(obj,System.Drawing.Bitmap) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - ''' - Friend ReadOnly Property main_background() As System.Drawing.Bitmap - Get - Dim obj As Object = ResourceManager.GetObject("main_background", resourceCulture) - Return CType(obj,System.Drawing.Bitmap) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - ''' - Friend ReadOnly Property main_browser() As System.Drawing.Bitmap - Get - Dim obj As Object = ResourceManager.GetObject("main_browser", resourceCulture) - Return CType(obj,System.Drawing.Bitmap) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - ''' - Friend ReadOnly Property main_browser_invert() As System.Drawing.Bitmap - Get - Dim obj As Object = ResourceManager.GetObject("main_browser_invert", resourceCulture) - Return CType(obj,System.Drawing.Bitmap) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - ''' - Friend ReadOnly Property main_browser_invert_dark() As System.Drawing.Bitmap - Get - Dim obj As Object = ResourceManager.GetObject("main_browser_invert_dark", resourceCulture) - Return CType(obj,System.Drawing.Bitmap) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - ''' - Friend ReadOnly Property main_button_download_deactivate() As System.Drawing.Bitmap - Get - Dim obj As Object = ResourceManager.GetObject("main_button_download_deactivate", resourceCulture) - Return CType(obj,System.Drawing.Bitmap) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - ''' - Friend ReadOnly Property main_button_download_default() As System.Drawing.Bitmap - Get - Dim obj As Object = ResourceManager.GetObject("main_button_download_default", resourceCulture) - Return CType(obj,System.Drawing.Bitmap) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - ''' - Friend ReadOnly Property main_button_download_hovert() As System.Drawing.Bitmap - Get - Dim obj As Object = ResourceManager.GetObject("main_button_download_hovert", resourceCulture) - Return CType(obj,System.Drawing.Bitmap) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - ''' - Friend ReadOnly Property main_close() As System.Drawing.Bitmap - Get - Dim obj As Object = ResourceManager.GetObject("main_close", resourceCulture) - Return CType(obj,System.Drawing.Bitmap) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - ''' - Friend ReadOnly Property main_close_dark() As System.Drawing.Bitmap - Get - Dim obj As Object = ResourceManager.GetObject("main_close_dark", resourceCulture) - Return CType(obj,System.Drawing.Bitmap) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - ''' - Friend ReadOnly Property main_close_dark_hover() As System.Drawing.Bitmap - Get - Dim obj As Object = ResourceManager.GetObject("main_close_dark_hover", resourceCulture) - Return CType(obj,System.Drawing.Bitmap) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - ''' - Friend ReadOnly Property main_close_hover() As System.Drawing.Bitmap - Get - Dim obj As Object = ResourceManager.GetObject("main_close_hover", resourceCulture) - Return CType(obj,System.Drawing.Bitmap) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - ''' - Friend ReadOnly Property main_del() As System.Drawing.Bitmap - Get - Dim obj As Object = ResourceManager.GetObject("main_del", resourceCulture) - Return CType(obj,System.Drawing.Bitmap) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - ''' - Friend ReadOnly Property main_mini() As System.Drawing.Bitmap - Get - Dim obj As Object = ResourceManager.GetObject("main_mini", resourceCulture) - Return CType(obj,System.Drawing.Bitmap) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - ''' - Friend ReadOnly Property main_mini_dark() As System.Drawing.Bitmap - Get - Dim obj As Object = ResourceManager.GetObject("main_mini_dark", resourceCulture) - Return CType(obj,System.Drawing.Bitmap) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - ''' - Friend ReadOnly Property main_mini_dark_hover() As System.Drawing.Bitmap - Get - Dim obj As Object = ResourceManager.GetObject("main_mini_dark_hover", resourceCulture) - Return CType(obj,System.Drawing.Bitmap) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - ''' - Friend ReadOnly Property main_mini_red() As System.Drawing.Bitmap - Get - Dim obj As Object = ResourceManager.GetObject("main_mini_red", resourceCulture) - Return CType(obj,System.Drawing.Bitmap) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - ''' - Friend ReadOnly Property main_pause() As System.Drawing.Bitmap - Get - Dim obj As Object = ResourceManager.GetObject("main_pause", resourceCulture) - Return CType(obj,System.Drawing.Bitmap) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - ''' - Friend ReadOnly Property main_pause_hover() As System.Drawing.Bitmap - Get - Dim obj As Object = ResourceManager.GetObject("main_pause_hover", resourceCulture) - Return CType(obj,System.Drawing.Bitmap) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - ''' - Friend ReadOnly Property main_pause_play() As System.Drawing.Bitmap - Get - Dim obj As Object = ResourceManager.GetObject("main_pause_play", resourceCulture) - Return CType(obj,System.Drawing.Bitmap) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - ''' - Friend ReadOnly Property main_pause_play_hover() As System.Drawing.Bitmap - Get - Dim obj As Object = ResourceManager.GetObject("main_pause_play_hover", resourceCulture) - Return CType(obj,System.Drawing.Bitmap) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - ''' - Friend ReadOnly Property main_setting_invert() As System.Drawing.Bitmap - Get - Dim obj As Object = ResourceManager.GetObject("main_setting_invert", resourceCulture) - Return CType(obj,System.Drawing.Bitmap) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - ''' - Friend ReadOnly Property main_setting_invert_dark() As System.Drawing.Bitmap - Get - Dim obj As Object = ResourceManager.GetObject("main_setting_invert_dark", resourceCulture) - Return CType(obj,System.Drawing.Bitmap) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - ''' - Friend ReadOnly Property main_settings() As System.Drawing.Bitmap - Get - Dim obj As Object = ResourceManager.GetObject("main_settings", resourceCulture) - Return CType(obj,System.Drawing.Bitmap) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - ''' - Friend ReadOnly Property Main_top() As System.Drawing.Bitmap - Get - Dim obj As Object = ResourceManager.GetObject("Main_top", resourceCulture) - Return CType(obj,System.Drawing.Bitmap) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die </p> - ''' </div> - ''' </body> - '''</html> ähnelt. - ''' - Friend ReadOnly Property Post_error_Bottom() As String - Get - Return ResourceManager.GetString("Post_error_Bottom", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die <html> - ''' <head> - ''' <meta charset="UTF-8"> - ''' </head> - ''' <style> - ''' body { - ''' text-align: center; - ''' padding: 40px 0; - ''' background: #EBF0F5; - ''' } - ''' h1 { - ''' color: #ad3f26; - ''' font-family: sans-serif; - ''' font-weight: 900; - ''' font-size: 40px; - ''' margin-bottom: 10px; - ''' } - ''' p { - ''' color: #404F5E; - ''' font-family: sans-serif; - ''' font-size:20px; - ''' margin: 0; - ''' } - ''' i { - ''' co [Rest der Zeichenfolge wurde abgeschnitten]"; ähnelt. - ''' - Friend ReadOnly Property Post_error_Top() As String - Get - Return ResourceManager.GetString("Post_error_Top", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die <!DOCTYPE html> - '''<html> - ''' <title>CRD</title> - ''' - ''' <style> - ''' .main-bg {margin:0 0 0 -36px;background-color:#757575;} - ''' .imagestyle{width:156px;height:88px;display:block;margin-bottom:4px} .ulStyle{margin:0 0 0 -10px;display:block;position:relative;margin-top:8px} - ''' .ulStyle li{margin-left:12px;float:left;display:block;position:relative} - ''' .listyle{width:156px;display:block;background:#fff;padding:16px;margin-bottom:14px;position:relative;background-color:#b5b3b3} - ''' .progressbar{height:14p [Rest der Zeichenfolge wurde abgeschnitten]"; ähnelt. - ''' - Friend ReadOnly Property Startuphtml() As String - Get - Return ResourceManager.GetString("Startuphtml", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die "thumbnail":{"url":" ähnelt. - ''' - Friend ReadOnly Property thumbnailString() As String - Get - Return ResourceManager.GetString("thumbnailString", resourceCulture) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die US cookies can't be used as long you are logged in. - '''I delete the curremt session with the unlock, if you want to be logged in with the US cookie you need to enter you data on the left. ähnelt. - ''' - Friend ReadOnly Property US_ToolTip() As String - Get - Return ResourceManager.GetString("US_ToolTip", resourceCulture) - End Get - End Property - End Module -End Namespace +'------------------------------------------------------------------------------ +' +' Dieser Code wurde von einem Tool generiert. +' Laufzeitversion:4.0.30319.42000 +' +' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +' der Code erneut generiert wird. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + +Imports System + +Namespace My.Resources + + 'Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert + '-Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert. + 'Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen + 'mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu. + ''' + ''' Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("Crunchyroll_Downloader.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + ''' Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set + resourceCulture = value + End Set + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property about_icon() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("about_icon", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property add_mass_cancel() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("add_mass_cancel", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property add_mass_cancel_hover() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("add_mass_cancel_hover", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die {"sources":[{"file":" ähnelt. + ''' + Friend ReadOnly Property AoD_files() As String + Get + Return ResourceManager.GetString("AoD_files", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die <h1 itemprop="name"> ähnelt. + ''' + Friend ReadOnly Property AoD_HTML_Anime_Title() As String + Get + Return ResourceManager.GetString("AoD_HTML_Anime_Title", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die <h3 class="episodebox-title" title=" ähnelt. + ''' + Friend ReadOnly Property AoD_HTML_Episode_Title() As String + Get + Return ResourceManager.GetString("AoD_HTML_Episode_Title", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die "image":" ähnelt. + ''' + Friend ReadOnly Property AoD_Image() As String + Get + Return ResourceManager.GetString("AoD_Image", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die "mediaid": ähnelt. + ''' + Friend ReadOnly Property AoD_MediaID() As String + Get + Return ResourceManager.GetString("AoD_MediaID", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die "title":" ähnelt. + ''' + Friend ReadOnly Property AoD_Titel() As String + Get + Return ResourceManager.GetString("AoD_Titel", resourceCulture) + End Get + End Property + + ''' + ''' 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 + '''; ass file from https://github.com/Aegisub/Aegisub/blob/master/automation/v4-docs/template-scripting-ideas.ass + '''; Script generated by Aegisub v2.00 PRE-RELEASE (SVN r939, jfs) + '''; http://www.aegisub.net + '''Title: Default Aegisub file + '''ScriptType: v4.00+ + '''WrapStyle: 0 + '''PlayResX: 640 + '''PlayResY: 480 + '''Video Aspect Ratio: 0 + '''Video Zoom: 6 + '''Video Position: 0 + ''' + '''[V4+ Styles] ''' [Rest der Zeichenfolge wurde abgeschnitten]"; ähnelt. + ''' + Friend ReadOnly Property ass_template() As String + Get + Return ResourceManager.GetString("ass_template", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property balken() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("balken", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property balken_console() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("balken_console", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die <img id="footer_country_flag" src="https://www.crunchyroll.com/i/country_flags/ ähnelt. + ''' + Friend ReadOnly Property CC_String() As String + Get + Return ResourceManager.GetString("CC_String", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die display_episode_number":" ähnelt. + ''' + Friend ReadOnly Property CR_Episode_Nr() As String + Get + Return ResourceManager.GetString("CR_Episode_Nr", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die <meta property="og:url" content=" ähnelt. + ''' + Friend ReadOnly Property CR_Head_Url_Split() As String + Get + Return ResourceManager.GetString("CR_Head_Url_Split", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die <h4 id="showmedia_about_name" class="strong">“ ähnelt. + ''' + Friend ReadOnly Property CR_MediaName() As String + Get + Return ResourceManager.GetString("CR_MediaName", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die ”</h4> ähnelt. + ''' + Friend ReadOnly Property CR_MediaName2() As String + Get + Return ResourceManager.GetString("CR_MediaName2", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die </span> ähnelt. + ''' + Friend ReadOnly Property CR_MovieBT() As String + Get + Return ResourceManager.GetString("CR_MovieBT", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die <span itemprop="name"> ähnelt. + ''' + Friend ReadOnly Property CR_MovieTop() As String + Get + Return ResourceManager.GetString("CR_MovieTop", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die seasonNumber":" ähnelt. + ''' + Friend ReadOnly Property CR_Season_Nr() As String + Get + Return ResourceManager.GetString("CR_Season_Nr", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property crdSettings_Button_SafeExit() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("crdSettings_Button_SafeExit", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property crdSettings_Button_SafeExit_hover() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("crdSettings_Button_SafeExit_hover", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property DialogNotFound_Submit() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("DialogNotFound_Submit", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property DialogNotFound_Submit_hover() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("DialogNotFound_Submit_hover", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property download_subs() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("download_subs", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property download_subs_hover() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("download_subs_hover", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> + '''<html><head> + '''<title>404 Not Found</title> + '''</head><body> + '''<h1>Not Found</h1> + '''<p>The requested URL was not found on this server.</p> + '''<hr> + '''<address>Server at Crunchyroll Downloader Port 8080</address> + '''</body></html> ähnelt. + ''' + Friend ReadOnly Property Error_404() As String + Get + Return ResourceManager.GetString("Error_404", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die ;FFMETADATA1 + '''title=[Titel] + ''' + '''[CHAPTER] + '''TIMEBASE=1/1000 + '''START=[Start] + '''END=[END] + '''title=Opening + ''' + '''[CHAPTER] + '''TIMEBASE=1/1000 + '''START=[after] + '''END=[duration_ms] ähnelt. + ''' + Friend ReadOnly Property ffmpeg_metadata() As String + Get + Return ResourceManager.GetString("ffmpeg_metadata", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die ;FFMETADATA1 + '''title=[Titel] + ''' + '''[CHAPTER] + '''TIMEBASE=1/1000 + '''START=1 + '''END=[Start-1] + ''' + '''[CHAPTER] + '''TIMEBASE=1/1000 + '''START=[Start] + '''END=[duration_ms] + '''title=Ending ähnelt. + ''' + Friend ReadOnly Property ffmpeg_metadata_out() As String + Get + Return ResourceManager.GetString("ffmpeg_metadata_out", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:107.0) Gecko/20100101 Firefox/107.0" ähnelt. + ''' + Friend ReadOnly Property ffmpeg_user_agend() As String + Get + Return ResourceManager.GetString("ffmpeg_user_agend", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die src="/player/ ähnelt. + ''' + Friend ReadOnly Property Funimation_Player_ID() As String + Get + Return ResourceManager.GetString("Funimation_Player_ID", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die src="https://www.funimation.com/player/ ähnelt. + ''' + Friend ReadOnly Property Funimation_Player_ID_2() As String + Get + Return ResourceManager.GetString("Funimation_Player_ID_2", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die <a class="trackVideo ng-binding" href=" ähnelt. + ''' + Friend ReadOnly Property Funimation_Split_1() As String + Get + Return ResourceManager.GetString("Funimation_Split_1", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die "> ähnelt. + ''' + Friend ReadOnly Property Funimation_Split_2() As String + Get + Return ResourceManager.GetString("Funimation_Split_2", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die "src": ähnelt. + ''' + Friend ReadOnly Property Funimation_src_string() As String + Get + Return ResourceManager.GetString("Funimation_src_string", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die {"src": " ähnelt. + ''' + Friend ReadOnly Property Funimation_subs_src() As String + Get + Return ResourceManager.GetString("Funimation_subs_src", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die ", "kind": "subtitle", "type": "CC", "language": " ähnelt. + ''' + Friend ReadOnly Property Funimation_Subtitle_String() As String + Get + Return ResourceManager.GetString("Funimation_Subtitle_String", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die ", "kind": "subtitle", "type": "Full", "language": " ähnelt. + ''' + Friend ReadOnly Property Funimation_Subtitle_String2() As String + Get + Return ResourceManager.GetString("Funimation_Subtitle_String2", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die ", "kind": "subtitle", "type": "full", "language": " ähnelt. + ''' + Friend ReadOnly Property Funimation_Subtitle_String3() As String + Get + Return ResourceManager.GetString("Funimation_Subtitle_String3", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die <meta property="og:image" content=" ähnelt. + ''' + Friend ReadOnly Property Funimation_thumbnail() As String + Get + Return ResourceManager.GetString("Funimation_thumbnail", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die ","resolution":"adaptive" ähnelt. + ''' + Friend ReadOnly Property hls_endString() As String + Get + Return ResourceManager.GetString("hls_endString", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die "format":"adaptive_hls", ähnelt. + ''' + Friend ReadOnly Property hls_Value() As String + Get + Return ResourceManager.GetString("hls_Value", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die <script> + ''' + '''setInterval(function loadXMLDoc() { + ''' var xhttp = new XMLHttpRequest(); + ''' xhttp.onreadystatechange = function() { + ''' if (this.readyState == 4 && this.status == 200) { + ''' document.getElementById("bodypage").innerHTML = this.responseText; + ''' //console.log(this.responseText); + ''' } + ''' }; + ''' xhttp.open("GET", "/", true); + ''' xhttp.send(); + '''}, 1000); + '''</script> + '''</body></html> ähnelt. + ''' + Friend ReadOnly Property htmlEnd() As String + Get + Return ResourceManager.GetString("htmlEnd", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die </a> + ''' + '''</div> + ''' + '''</div> + ''' + '''</div> + ''' + '''<img alt="image error" src="balken1.png" class="class-balken"> ähnelt. + ''' + Friend ReadOnly Property htmlnachHardSubs() As String + Get + Return ResourceManager.GetString("htmlnachHardSubs", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die " class="imagestyle"> + ''' + '''<div> + ''' + '''<span class="titel" dir="auto"> ähnelt. + ''' + Friend ReadOnly Property htmlnachTumbnail() As String + Get + Return ResourceManager.GetString("htmlnachTumbnail", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die <html><head><meta name="color-scheme" content="light dark"></head><pre style="word-wrap: break-word; white-space: pre-wrap;"> ähnelt. + ''' + Friend ReadOnly Property htmlReplace() As String + Get + Return ResourceManager.GetString("htmlReplace", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die <a class="main_titel">Placeholder</a> + '''<img alt="image error" src="balken.png" class="class-balken"> ähnelt. + ''' + Friend ReadOnly Property htmlTitlel() As String + Get + Return ResourceManager.GetString("htmlTitlel", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die <!DOCTYPE html> + '''<head> + '''<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> + '''</head> + '''<html> + ''' <title>CRD</title> + ''' + ''' <style> + ''' .main-bg {margin:0 0 0 0;background-color:#F2F2F2;font-family:Consolas;font-size:16px;} + ''' .div-spacer{width:16px;height:110px;display:block;margin-bottom:14px;position:relative} + ''' .div-episode{width:730px;height:110px;display:block;margin-bottom:14px;position:relative} + ''' .class-balken{width:735px;height:8px;display:block;margin-bottom:4px;marg [Rest der Zeichenfolge wurde abgeschnitten]"; ähnelt. + ''' + Friend ReadOnly Property htmlTop() As String + Get + Return ResourceManager.GetString("htmlTop", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die </span> + ''' + '''<div class="progressbar"> + ''' + '''<div class="progressbar-value" style="width: 0%"></div> + ''' + '''</div> + '''<span dir="auto" class='percenttext'>0%</span> + '''<div> + '''<br> + '''<span dir="auto" class="resotext"> ähnelt. + ''' + Friend ReadOnly Property htmlvorAufloesung() As String + Get + Return ResourceManager.GetString("htmlvorAufloesung", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die "> <img alt="image error" src="cc1.png" class="class-cc"> ähnelt. + ''' + Friend ReadOnly Property htmlvorHardSubs() As String + Get + Return ResourceManager.GetString("htmlvorHardSubs", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die </span> + ''' + '''<a href="#" class="cc-wert" title="Softsubs: ähnelt. + ''' + Friend ReadOnly Property htmlvorSoftSubs() As String + Get + Return ResourceManager.GetString("htmlvorSoftSubs", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die + ''' <div class="div-episode"> + ''' + '''<img alt="image error" src=" ähnelt. + ''' + Friend ReadOnly Property htmlvorThumbnail() As String + Get + Return ResourceManager.GetString("htmlvorThumbnail", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Icon ähnlich wie (Symbol). + ''' + Friend ReadOnly Property icon() As System.Drawing.Icon + Get + Dim obj As Object = ResourceManager.GetObject("icon", resourceCulture) + Return CType(obj,System.Drawing.Icon) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die "error":false,"code":"ok" ähnelt. + ''' + Friend ReadOnly Property LoginSuccess() As String + Get + Return ResourceManager.GetString("LoginSuccess", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property main_add() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("main_add", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property main_add_invert() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("main_add_invert", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property main_add_invert_dark() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("main_add_invert_dark", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property main_background() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("main_background", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property main_browser() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("main_browser", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property main_browser_invert() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("main_browser_invert", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property main_browser_invert_dark() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("main_browser_invert_dark", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property main_button_download_deactivate() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("main_button_download_deactivate", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property main_button_download_default() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("main_button_download_default", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property main_button_download_hovert() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("main_button_download_hovert", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property main_close() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("main_close", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property main_close_dark() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("main_close_dark", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property main_close_dark_hover() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("main_close_dark_hover", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property main_close_hover() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("main_close_hover", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property main_del() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("main_del", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property main_mini() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("main_mini", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property main_mini_dark() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("main_mini_dark", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property main_mini_dark_hover() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("main_mini_dark_hover", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property main_mini_red() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("main_mini_red", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property main_pause() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("main_pause", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property main_pause_hover() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("main_pause_hover", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property main_pause_play() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("main_pause_play", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property main_pause_play_hover() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("main_pause_play_hover", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property main_setting_invert() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("main_setting_invert", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property main_setting_invert_dark() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("main_setting_invert_dark", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property main_settings() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("main_settings", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property Main_top() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("Main_top", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die </p> + ''' </div> + ''' </body> + '''</html> ähnelt. + ''' + Friend ReadOnly Property Post_error_Bottom() As String + Get + Return ResourceManager.GetString("Post_error_Bottom", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die <html> + ''' <head> + ''' <meta charset="UTF-8"> + ''' </head> + ''' <style> + ''' body { + ''' text-align: center; + ''' padding: 40px 0; + ''' background: #EBF0F5; + ''' } + ''' h1 { + ''' color: #ad3f26; + ''' font-family: sans-serif; + ''' font-weight: 900; + ''' font-size: 40px; + ''' margin-bottom: 10px; + ''' } + ''' p { + ''' color: #404F5E; + ''' font-family: sans-serif; + ''' font-size:20px; + ''' margin: 0; + ''' } + ''' i { + ''' co [Rest der Zeichenfolge wurde abgeschnitten]"; ähnelt. + ''' + Friend ReadOnly Property Post_error_Top() As String + Get + Return ResourceManager.GetString("Post_error_Top", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die <!DOCTYPE html> + '''<html> + ''' <title>CRD</title> + ''' + ''' <style> + ''' .main-bg {margin:0 0 0 -36px;background-color:#757575;} + ''' .imagestyle{width:156px;height:88px;display:block;margin-bottom:4px} .ulStyle{margin:0 0 0 -10px;display:block;position:relative;margin-top:8px} + ''' .ulStyle li{margin-left:12px;float:left;display:block;position:relative} + ''' .listyle{width:156px;display:block;background:#fff;padding:16px;margin-bottom:14px;position:relative;background-color:#b5b3b3} + ''' .progressbar{height:14p [Rest der Zeichenfolge wurde abgeschnitten]"; ähnelt. + ''' + Friend ReadOnly Property Startuphtml() As String + Get + Return ResourceManager.GetString("Startuphtml", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die "thumbnail":{"url":" ähnelt. + ''' + Friend ReadOnly Property thumbnailString() As String + Get + Return ResourceManager.GetString("thumbnailString", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die US cookies can't be used as long you are logged in. + '''I delete the curremt session with the unlock, if you want to be logged in with the US cookie you need to enter you data on the left. ähnelt. + ''' + Friend ReadOnly Property US_ToolTip() As String + Get + Return ResourceManager.GetString("US_ToolTip", resourceCulture) + End Get + End Property + End Module +End Namespace diff --git a/Crunchyroll Downloader/My Project/Resources.resx b/Crunchyroll Downloader/My Project/Resources.resx index 5c45f9d..751414f 100644 --- a/Crunchyroll Downloader/My Project/Resources.resx +++ b/Crunchyroll Downloader/My Project/Resources.resx @@ -392,7 +392,7 @@ Dialogue: 0,0:00:00.00,0:00:00.00,Default,,0000,0000,0000,,some ideas on how tem ..\Resources\crdSettings_Button_SafeExit_hover.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:106.0) Gecko/20100101 Firefox/106.0" + "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:107.0) Gecko/20100101 Firefox/107.0" ..\Resources\crdSettings_Button_SafeExit.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a diff --git a/Crunchyroll Downloader/Subfolder.vb b/Crunchyroll Downloader/Subfolder.vb index 32646ad..45cc589 100644 --- a/Crunchyroll Downloader/Subfolder.vb +++ b/Crunchyroll Downloader/Subfolder.vb @@ -1,5 +1,7 @@ -Imports System.IO +Imports System.ComponentModel +Imports System.IO Imports System.Text +Imports System.Windows.Forms.VisualStyles Module Subfolder Public SubFolder_automatic As String = "[automatic by Series and Season]" @@ -97,22 +99,56 @@ Module Subfolder Private tBox As RichTextBox Dim lastmsg As String = Nothing + + Public Sub New(ByVal box As RichTextBox) Me.tBox = box End Sub - Public Overrides Sub Write(ByVal msg As String) + Dim WithEvents BG As BackgroundWorker + + Sub RunBG(ByVal sender As Object, e As DoWorkEventArgs) Handles BG.DoWork + Dim msg As String = CStr(e.Argument) + If msg <> lastmsg Then + lastmsg = msg + Else + Exit Sub + End If + Try tBox.Parent.Invoke(New MethodInvoker(Sub() - If msg <> lastmsg Then - lastmsg = msg - tBox.AppendText(msg) - - End If + tBox.AppendText(msg) End Sub)) Catch ex As Exception + End Try - 'My.Computer.FileSystem.WriteAllText(Application.StartupPath + "\log.txt", msg, True) + + End Sub + + Sub StopBG(sender As Object, e As EventArgs) + Dim T As Timer = CType(sender, Timer) + If BG.IsBusy Then + BG.CancelAsync() + T.Dispose() + Else + T.Dispose() + End If + End Sub + + Public Overrides Sub Write(ByVal msg As String) + + Dim time As New Timer + AddHandler time.Tick, AddressOf StopBG + time.Interval = 500 + time.Start() + BG = New BackgroundWorker + BG.WorkerSupportsCancellation = True + BG.RunWorkerAsync(msg) + + + + + End Sub Public Overrides Sub WriteLine(ByVal msg As String) diff --git a/Crunchyroll Downloader/einstellungen.Designer.vb b/Crunchyroll Downloader/einstellungen.Designer.vb index 856948a..91820c7 100644 --- a/Crunchyroll Downloader/einstellungen.Designer.vb +++ b/Crunchyroll Downloader/einstellungen.Designer.vb @@ -1125,7 +1125,7 @@ Partial Class Einstellungen Me.TabControl1.FontWeight = MetroFramework.MetroTabControlWeight.Regular Me.TabControl1.Location = New System.Drawing.Point(22, 60) Me.TabControl1.Name = "TabControl1" - Me.TabControl1.SelectedIndex = 0 + Me.TabControl1.SelectedIndex = 5 Me.TabControl1.Size = New System.Drawing.Size(509, 567) Me.TabControl1.TabIndex = 0 Me.TabControl1.UseSelectable = True @@ -1642,9 +1642,9 @@ Partial Class Einstellungen Me.TabPage7.Controls.Add(Me.Label4) Me.TabPage7.Controls.Add(Me.Label6) Me.TabPage7.Controls.Add(Me.Label5) - Me.TabPage7.Location = New System.Drawing.Point(4, 35) + Me.TabPage7.Location = New System.Drawing.Point(4, 44) Me.TabPage7.Name = "TabPage7" - Me.TabPage7.Size = New System.Drawing.Size(501, 528) + Me.TabPage7.Size = New System.Drawing.Size(501, 519) Me.TabPage7.TabIndex = 5 Me.TabPage7.Text = " About " ' @@ -1695,7 +1695,7 @@ Partial Class Einstellungen Me.Label7.Name = "Label7" Me.Label7.Size = New System.Drawing.Size(100, 30) Me.Label7.TabIndex = 46 - Me.Label7.Text = "CefSharp" + Me.Label7.Text = "WebView2" Me.Label7.TextAlign = System.Drawing.ContentAlignment.MiddleCenter ' 'Label3 diff --git a/Crunchyroll Downloader/einstellungen.vb b/Crunchyroll Downloader/einstellungen.vb index 01ca29f..29c889f 100644 --- a/Crunchyroll Downloader/einstellungen.vb +++ b/Crunchyroll Downloader/einstellungen.vb @@ -18,7 +18,7 @@ Public Class Einstellungen Private Sub Einstellungen_Load(sender As Object, e As EventArgs) Handles MyBase.Load - Label6.Text = "You have: v" + Application.ProductVersion.ToString + Label6.Text = "You have: v" + Application.ProductVersion.ToString '+ " WebView2_Test" BackgroundWorker1.RunWorkerAsync() @@ -681,12 +681,12 @@ Public Class Einstellungen My.Settings.ffmpeg_command = Main.ffmpeg_command - If CBool(InStr(FFMPEG_CommandP1.Text, "nvenc")) Then + If CBool(InStr(FFMPEG_CommandP1.Text, "nvenc")) = True And CBool(Main.VideoFormat = ".aac") = False Then If NumericUpDown1.Value > 2 Then NumericUpDown1.Value = 2 End If - ElseIf CBool(InStr(FFMPEG_CommandP1.Text, "libx26")) Then + ElseIf CBool(InStr(FFMPEG_CommandP1.Text, "libx26")) = True And CBool(Main.VideoFormat = ".aac") = False Then If NumericUpDown1.Value > 1 Then NumericUpDown1.Value = 1 End If @@ -910,7 +910,7 @@ Public Class Einstellungen Private Sub Label7_Click(sender As Object, e As EventArgs) - Process.Start("https://github.com/cefsharp/CefSharp") + Process.Start("https://learn.microsoft.com/de-de/microsoft-edge/webview2/") End Sub Private Sub Label3_Click(sender As Object, e As EventArgs) diff --git a/Crunchyroll Downloader/network_scan.Designer.vb b/Crunchyroll Downloader/network_scan.Designer.vb deleted file mode 100644 index 29342ff..0000000 --- a/Crunchyroll Downloader/network_scan.Designer.vb +++ /dev/null @@ -1,175 +0,0 @@ - -Partial Class network_scan - Inherits MetroFramework.Forms.MetroForm - - - 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. - - Protected Overrides Sub Dispose(ByVal disposing As Boolean) - Try - If disposing AndAlso components IsNot Nothing Then - components.Dispose() - End If - Finally - MyBase.Dispose(disposing) - End Try - End Sub - - 'Wird vom Windows Form-Designer benötigt. - Private components As System.ComponentModel.IContainer - - 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. - 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. - 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. - - Private Sub InitializeComponent() - Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(network_scan)) - Me.pictureBox4 = New System.Windows.Forms.PictureBox() - Me.groupBox2 = New System.Windows.Forms.GroupBox() - Me.ComboBox3 = New MetroFramework.Controls.MetroComboBox() - Me.ComboBox1 = New MetroFramework.Controls.MetroComboBox() - Me.ComboBox2 = New MetroFramework.Controls.MetroComboBox() - Me.NetworkStatusLabel = New MetroFramework.Controls.MetroLabel() - Me.Btn_min = New System.Windows.Forms.PictureBox() - Me.Btn_Close = New System.Windows.Forms.PictureBox() - CType(Me.pictureBox4, System.ComponentModel.ISupportInitialize).BeginInit() - Me.groupBox2.SuspendLayout() - CType(Me.Btn_min, System.ComponentModel.ISupportInitialize).BeginInit() - CType(Me.Btn_Close, System.ComponentModel.ISupportInitialize).BeginInit() - Me.SuspendLayout() - ' - 'pictureBox4 - ' - Me.pictureBox4.BackColor = System.Drawing.Color.Transparent - Me.pictureBox4.Cursor = System.Windows.Forms.Cursors.Hand - Me.pictureBox4.Image = Global.Crunchyroll_Downloader.My.Resources.Resources.main_button_download_default - Me.pictureBox4.Location = New System.Drawing.Point(85, 304) - Me.pictureBox4.Name = "pictureBox4" - Me.pictureBox4.Size = New System.Drawing.Size(530, 50) - Me.pictureBox4.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage - Me.pictureBox4.TabIndex = 42 - Me.pictureBox4.TabStop = False - ' - 'groupBox2 - ' - Me.groupBox2.BackColor = System.Drawing.Color.Transparent - Me.groupBox2.Controls.Add(Me.ComboBox3) - Me.groupBox2.Controls.Add(Me.ComboBox1) - Me.groupBox2.Controls.Add(Me.ComboBox2) - Me.groupBox2.Controls.Add(Me.NetworkStatusLabel) - Me.groupBox2.Location = New System.Drawing.Point(10, 63) - Me.groupBox2.Name = "groupBox2" - Me.groupBox2.Size = New System.Drawing.Size(680, 220) - Me.groupBox2.TabIndex = 44 - Me.groupBox2.TabStop = False - ' - 'ComboBox3 - ' - Me.ComboBox3.Enabled = False - Me.ComboBox3.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.ComboBox3.FormattingEnabled = True - Me.ComboBox3.ItemHeight = 23 - Me.ComboBox3.Location = New System.Drawing.Point(15, 112) - Me.ComboBox3.Name = "ComboBox3" - Me.ComboBox3.Size = New System.Drawing.Size(650, 29) - Me.ComboBox3.TabIndex = 37 - Me.ComboBox3.UseSelectable = True - ' - 'ComboBox1 - ' - Me.ComboBox1.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.ComboBox1.FormattingEnabled = True - Me.ComboBox1.ItemHeight = 23 - Me.ComboBox1.Items.AddRange(New Object() {"Video Stream", "Audio Stream", "Subtile"}) - Me.ComboBox1.Location = New System.Drawing.Point(15, 20) - Me.ComboBox1.Name = "ComboBox1" - Me.ComboBox1.Size = New System.Drawing.Size(650, 29) - Me.ComboBox1.TabIndex = 1 - Me.ComboBox1.UseSelectable = True - ' - 'ComboBox2 - ' - Me.ComboBox2.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.ComboBox2.FormattingEnabled = True - Me.ComboBox2.ItemHeight = 23 - Me.ComboBox2.Location = New System.Drawing.Point(15, 65) - Me.ComboBox2.Name = "ComboBox2" - Me.ComboBox2.Size = New System.Drawing.Size(650, 29) - Me.ComboBox2.TabIndex = 1 - Me.ComboBox2.UseSelectable = True - ' - 'NetworkStatusLabel - ' - Me.NetworkStatusLabel.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ - Or System.Windows.Forms.AnchorStyles.Left) _ - Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.NetworkStatusLabel.BackColor = System.Drawing.Color.Transparent - Me.NetworkStatusLabel.FontSize = MetroFramework.MetroLabelSize.Tall - Me.NetworkStatusLabel.FontWeight = MetroFramework.MetroLabelWeight.Regular - Me.NetworkStatusLabel.ForeColor = System.Drawing.Color.Black - Me.NetworkStatusLabel.Location = New System.Drawing.Point(15, 160) - Me.NetworkStatusLabel.Name = "NetworkStatusLabel" - Me.NetworkStatusLabel.Size = New System.Drawing.Size(651, 50) - Me.NetworkStatusLabel.TabIndex = 36 - Me.NetworkStatusLabel.Text = "..." - Me.NetworkStatusLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter - ' - 'Btn_min - ' - Me.Btn_min.BackColor = System.Drawing.Color.Transparent - Me.Btn_min.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None - Me.Btn_min.Cursor = System.Windows.Forms.Cursors.Hand - Me.Btn_min.Image = CType(resources.GetObject("Btn_min.Image"), System.Drawing.Image) - Me.Btn_min.Location = New System.Drawing.Point(567, 1) - Me.Btn_min.Margin = New System.Windows.Forms.Padding(0) - Me.Btn_min.Name = "Btn_min" - Me.Btn_min.Size = New System.Drawing.Size(25, 25) - Me.Btn_min.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom - Me.Btn_min.TabIndex = 73 - Me.Btn_min.TabStop = False - ' - 'Btn_Close - ' - Me.Btn_Close.BackColor = System.Drawing.Color.Transparent - Me.Btn_Close.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center - Me.Btn_Close.Cursor = System.Windows.Forms.Cursors.Hand - Me.Btn_Close.Image = Global.Crunchyroll_Downloader.My.Resources.Resources.main_close - Me.Btn_Close.Location = New System.Drawing.Point(592, 1) - Me.Btn_Close.Margin = New System.Windows.Forms.Padding(0) - Me.Btn_Close.Name = "Btn_Close" - Me.Btn_Close.Size = New System.Drawing.Size(40, 40) - Me.Btn_Close.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom - Me.Btn_Close.TabIndex = 72 - Me.Btn_Close.TabStop = False - ' - 'network_scan - ' - Me.ApplyImageInvert = True - Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None - Me.BorderStyle = MetroFramework.Forms.MetroFormBorderStyle.FixedSingle - Me.ClientSize = New System.Drawing.Size(700, 377) - Me.Controls.Add(Me.Btn_min) - Me.Controls.Add(Me.Btn_Close) - Me.Controls.Add(Me.pictureBox4) - Me.Controls.Add(Me.groupBox2) - Me.Name = "network_scan" - Me.Padding = New System.Windows.Forms.Padding(10, 60, 20, 20) - Me.Text = "Select a stream or subtitle" - Me.TextAlign = MetroFramework.Forms.MetroFormTextAlign.Center - CType(Me.pictureBox4, System.ComponentModel.ISupportInitialize).EndInit() - Me.groupBox2.ResumeLayout(False) - CType(Me.Btn_min, System.ComponentModel.ISupportInitialize).EndInit() - CType(Me.Btn_Close, System.ComponentModel.ISupportInitialize).EndInit() - Me.ResumeLayout(False) - - End Sub - Public WithEvents pictureBox4 As PictureBox - Public WithEvents groupBox2 As GroupBox - Public WithEvents NetworkStatusLabel As MetroFramework.Controls.MetroLabel - Friend WithEvents MetroTextBox1 As MetroFramework.Controls.MetroTextBox - Public WithEvents ComboBox1 As MetroFramework.Controls.MetroComboBox - Public WithEvents ComboBox2 As MetroFramework.Controls.MetroComboBox - Private WithEvents Btn_min As PictureBox - Private WithEvents Btn_Close As PictureBox - Public WithEvents ComboBox3 As MetroFramework.Controls.MetroComboBox -End Class diff --git a/Crunchyroll Downloader/network_scan.resx b/Crunchyroll Downloader/network_scan.resx deleted file mode 100644 index ecb5ade..0000000 --- a/Crunchyroll Downloader/network_scan.resx +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - - iVBORw0KGgoAAAANSUhEUgAAABoAAAAhCAYAAADH97ugAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - xAAADsQBlSsOGwAAAAd0SU1FB+QMDQ03N1b5UIAAAAApSURBVEhL7cyxCQAwDASx339pZ4EUcTC4keDa - CwDMqs/abpOXAGBZcgDKSBvlblfsRgAAAABJRU5ErkJggg== - - - \ No newline at end of file diff --git a/Crunchyroll Downloader/network_scan.vb b/Crunchyroll Downloader/network_scan.vb deleted file mode 100644 index 5554118..0000000 --- a/Crunchyroll Downloader/network_scan.vb +++ /dev/null @@ -1,512 +0,0 @@ -Option Strict On - -Imports Microsoft.Win32 -Imports System.Net -Imports System.IO -Imports System.Threading -Imports MetroFramework.Forms -Imports MetroFramework -Imports MetroFramework.Components -Imports System.Text - -Public Class network_scan - - - 'If b = False Then - ' m3u8List.Clear() - ' mpdList.Clear() - ' txtList.Clear() - ' Button2.Enabled = False - ' ScanTrue = True - ' LogBrowserData = True - ' NetworkScanEnd() - ' End If - - Dim Manager As MetroStyleManager = Main.Manager - Dim SubtitleFormat As String = Nothing - Dim VideoStreams As New List(Of String) - Dim AudioStreams As New List(Of String) - - Private Sub Network_scan_Load(sender As Object, e As EventArgs) Handles MyBase.Load - ComboBox2.Enabled = False - Manager.Owner = Me - Me.StyleManager = Manager - Btn_Close.Image = Main.CloseImg - Btn_min.Image = Main.MinImg - Try - Me.Icon = My.Resources.icon - Catch ex As Exception - End Try - Me.Location = New Point(CInt(Main.Location.X + Main.Width / 2 - Me.Width / 2), CInt(Main.Location.Y + Main.Height / 2 - Me.Height / 2)) - pictureBox4.Enabled = False - pictureBox4.Image = My.Resources.main_button_download_deactivate - End Sub - - Sub CheckVideoAudio(ByVal url As String) - Dim exepath As String = Application.StartupPath + "\ffmpeg.exe" - Dim startinfo As New System.Diagnostics.ProcessStartInfo - Dim sr As StreamReader - Dim cmd As String = "-headers " + My.Resources.ffmpeg_user_agend + " -i " + Chr(34) + url + Chr(34) 'start ffmpeg with command strFFCMD string - - 'MsgBox(cmd) - Dim ffmpegOutput As String = Nothing - Dim ffmpegOutputLine As String = Nothing - Dim ffmpegOutputLine2 As String = Nothing - - Dim NetworkScanTime As String = Nothing - - ' all parameters required to run the process - startinfo.FileName = exepath - startinfo.Arguments = cmd - startinfo.UseShellExecute = False - startinfo.WindowStyle = ProcessWindowStyle.Hidden - startinfo.RedirectStandardError = True - startinfo.RedirectStandardOutput = True - startinfo.CreateNoWindow = True - Dim proc As New Process - proc.StartInfo = startinfo - proc.Start() ' start the process - sr = proc.StandardError 'standard error is used by ffmpeg - - Do - ffmpegOutputLine = sr.ReadLine - ffmpegOutput = ffmpegOutput + vbNewLine + ffmpegOutputLine - - Loop Until proc.HasExited 'And ffmpegOutputLine = Nothing Or ffmpegOutputLine = "" - - Dim ffmpegOutput2() As String = ffmpegOutput.Split(New String() {vbNewLine}, System.StringSplitOptions.RemoveEmptyEntries) - For i As Integer = 0 To ffmpegOutput2.Count - 1 - - - If CBool(InStr(ffmpegOutput2(i), ": Video:")) Then - - Dim ZeileReso() As String = ffmpegOutput2(i).Split(New String() {" ["}, System.StringSplitOptions.RemoveEmptyEntries) - Dim ZeileReso2() As String = ZeileReso(0).Split(New String() {"x"}, System.StringSplitOptions.RemoveEmptyEntries) - Dim ZeileReso3() As String = ffmpegOutput2(i).Split(New String() {": Video:"}, System.StringSplitOptions.RemoveEmptyEntries) - Dim ZeileReso4() As String = ZeileReso3(0).Split(New String() {"Stream #"}, System.StringSplitOptions.RemoveEmptyEntries) - - - - If CBool(InStr(ZeileReso2(ZeileReso2.Count - 1), ", ")) Then - - Dim ZeileReso5() As String = ZeileReso2(ZeileReso2.Count - 1).Split(New String() {", "}, System.StringSplitOptions.RemoveEmptyEntries) - ComboBox3.Items.Add(ZeileReso5(0).Trim + ":--:" + ZeileReso4(1)) - - Else - ComboBox3.Items.Add(ZeileReso2(ZeileReso2.Count - 1).Trim + ":--:" + ZeileReso4(1)) - - End If - ElseIf CBool(InStr(ffmpegOutput2(i), ": Audio:")) Then - - Dim ZeileStream() As String = ffmpegOutput2(i).Split(New String() {": Audio:"}, System.StringSplitOptions.RemoveEmptyEntries) - - ComboBox3.Items.Add("Audio:" + ZeileStream(1)) - - - End If - - Next - End Sub - - Private Sub PictureBox4_MouseEnter(sender As Object, e As EventArgs) Handles pictureBox4.MouseEnter - If pictureBox4.Enabled = True Then - pictureBox4.Image = My.Resources.main_button_download_hovert - Else - pictureBox4.Image = My.Resources.main_button_download_deactivate - End If - - End Sub - - Private Sub PictureBox4_MouseLeave(sender As Object, e As EventArgs) Handles pictureBox4.MouseLeave - If pictureBox4.Enabled = True Then - pictureBox4.Image = My.Resources.main_button_download_default - Else - pictureBox4.Image = My.Resources.main_button_download_deactivate - End If - - End Sub - - Private Sub Btn_Close_Click(sender As Object, e As EventArgs) Handles Btn_Close.Click - Me.Close() - End Sub - - Private Sub Network_scan_Resize(sender As Object, e As EventArgs) Handles Me.Resize - Btn_Close.Location = New Point(Me.Width - 40, 1) - Btn_min.Location = New Point(Me.Width - 68, 10) - End Sub - - Private Sub Btn_min_Click(sender As Object, e As EventArgs) Handles Btn_min.Click - Me.WindowState = System.Windows.Forms.FormWindowState.Minimized - End Sub - - - Private Sub Btn_min_MouseEnter(sender As Object, e As EventArgs) Handles Btn_min.MouseEnter - - Btn_min.Image = My.Resources.main_mini_red - End Sub - - Private Sub Btn_min_MouseLeave(sender As Object, e As EventArgs) Handles Btn_min.MouseLeave - - Btn_min.Image = Main.MinImg - End Sub - Private Sub Btn_Close_MouseEnter(sender As Object, e As EventArgs) Handles Btn_Close.MouseEnter - - Btn_Close.Image = My.Resources.main_del - End Sub - - Private Sub Btn_Close_MouseLeave(sender As Object, e As EventArgs) Handles Btn_Close.MouseLeave - - Btn_Close.Image = Main.CloseImg - End Sub - - Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged - ComboBox3.Enabled = False - ComboBox3.Items.Clear() - ComboBox3.Text = Nothing - ComboBox2.Items.Clear() - ComboBox2.Text = Nothing - ComboBox2.Enabled = True - SubtitleFormat = Nothing - pictureBox4.Enabled = False - pictureBox4.Image = My.Resources.main_button_download_deactivate - If ComboBox1.SelectedItem.ToString = "Video Stream" Then - If Main.m3u8List.Count > 0 Then - For i As Integer = 0 To Main.m3u8List.Count - 1 - ComboBox2.Items.Add(Main.m3u8List.Item(i)) - Next - ElseIf Main.mpdList.Count > 0 Then - If Main.mpdList.Count > 0 Then - For i As Integer = 0 To Main.mpdList.Count - 1 - ComboBox2.Items.Add(Main.mpdList.Item(i)) - Next - End If - End If - ElseIf ComboBox1.SelectedItem.ToString = "Subtile" Then - If Main.txtList.Count > 0 Then - For i As Integer = 0 To Main.txtList.Count - 1 - ComboBox2.Items.Add(Main.txtList.Item(i)) - Next - End If - End If - End Sub - - Private Sub ComboBox2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox2.SelectedIndexChanged - SubtitleFormat = Nothing - pictureBox4.Enabled = False - pictureBox4.Image = My.Resources.main_button_download_deactivate - ComboBox3.Enabled = False - ComboBox3.Items.Clear() - ComboBox3.Text = Nothing - - NetworkStatusLabel.Text = "Checking input..." - Pause(1) - 'If CBool(InStr(ComboBox2.Text, ".mpd") Or CBool(InStr(ComboBox2.Text, ".m3u8") Then - - Dim exepath As String = Application.StartupPath + "\ffmpeg.exe" - Dim startinfo As New System.Diagnostics.ProcessStartInfo - Dim sr As StreamReader - Dim cmd As String = "-headers " + My.Resources.ffmpeg_user_agend + " -i " + Chr(34) + ComboBox2.Text + Chr(34) 'start ffmpeg with command strFFCMD string - - 'MsgBox(cmd) - Dim ffmpegOutput As String = Nothing - Dim ffmpegOutputLine As String = Nothing - Dim ffmpegOutputLine2 As String = Nothing - - Dim NetworkScanTime As String = Nothing - - ' all parameters required to run the process - startinfo.FileName = exepath - startinfo.Arguments = cmd - startinfo.UseShellExecute = False - startinfo.WindowStyle = ProcessWindowStyle.Hidden - startinfo.RedirectStandardError = True - startinfo.RedirectStandardOutput = True - startinfo.CreateNoWindow = True - Dim proc As New Process - proc.StartInfo = startinfo - proc.Start() ' start the process - sr = proc.StandardError 'standard error is used by ffmpeg - - Do - ffmpegOutputLine = sr.ReadLine - ffmpegOutput = ffmpegOutput + vbNewLine + ffmpegOutputLine - - Loop Until proc.HasExited 'And ffmpegOutputLine = Nothing Or ffmpegOutputLine = "" - - Dim ffmpegOutput2() As String = ffmpegOutput.Split(New String() {vbNewLine}, System.StringSplitOptions.RemoveEmptyEntries) - For i As Integer = 0 To ffmpegOutput2.Count - 1 - - If CBool(InStr(ffmpegOutput2(i), ": Video:")) Then - Dim ZeileReso() As String = ffmpegOutput2(i).Split(New String() {" ["}, System.StringSplitOptions.RemoveEmptyEntries) - Dim ZeileReso2() As String = ZeileReso(0).Split(New String() {"x"}, System.StringSplitOptions.RemoveEmptyEntries) - Dim ZeileReso3() As String = ffmpegOutput2(i).Split(New String() {": Video:"}, System.StringSplitOptions.RemoveEmptyEntries) - Dim ZeileReso4() As String = ZeileReso3(0).Split(New String() {"Stream #"}, System.StringSplitOptions.RemoveEmptyEntries) - - - If CBool(InStr(ZeileReso2(ZeileReso2.Count - 1), ", ")) Then - Dim ZeileReso5() As String = ZeileReso2(ZeileReso2.Count - 1).Split(New String() {", "}, System.StringSplitOptions.RemoveEmptyEntries) - ComboBox3.Items.Add(ZeileReso5(0).Trim + ":--:" + ZeileReso4(1)) - - Else - ComboBox3.Items.Add(ZeileReso2(ZeileReso2.Count - 1).Trim + ":--:" + ZeileReso4(1)) - - End If - - - - ElseIf CBool(InStr(ffmpegOutput2(i), ": Audio:")) Then - Dim ZeileStream() As String = ffmpegOutput2(i).Split(New String() {": Audio:"}, System.StringSplitOptions.RemoveEmptyEntries) - - - ComboBox3.Items.Add("Audio:" + ZeileStream(1)) - - ElseIf CBool(InStr(ffmpegOutput2(i), "Duration: N/A, bitrate: N/A")) Then - - ElseIf CBool(InStr(ffmpegOutput2(i), "Subtitle: ")) Then - Dim Format As String() = ffmpegOutput2(i).Split(New String() {"Subtitle: "}, System.StringSplitOptions.RemoveEmptyEntries) - SubtitleFormat = Format(1) - - ElseIf CBool(InStr(ffmpegOutput2(i), "Duration: ")) Then - Dim ZeitGesamt As String() = ffmpegOutput2(i).Split(New String() {"Duration: "}, System.StringSplitOptions.RemoveEmptyEntries) - Dim ZeitGesamt2 As String() = ZeitGesamt(1).Split(New [Char]() {System.Convert.ToChar(".")}) - NetworkScanTime = ZeitGesamt2(0) - ElseIf CBool(InStr(ffmpegOutput2(i), "At least one output file must be specified")) Then - - ElseIf CBool(InStr(ffmpegOutput2(i), "Invalid data found when processing input")) Then - NetworkStatusLabel.Text = "Invalid data found when processing input" - Exit Sub - End If - Next - If SubtitleFormat IsNot Nothing Then - NetworkStatusLabel.Text = "Subtitle found with format: " + SubtitleFormat - pictureBox4.Enabled = True - pictureBox4.Image = My.Resources.main_button_download_default - ElseIf NetworkScanTime = Nothing Then - If ComboBox3.Items.Count > 0 Then - NetworkStatusLabel.Text = "Duration check failed but it found valid streams." - ComboBox3.Enabled = True - Else - NetworkStatusLabel.Text = "No video stream found in that url." - End If - Else - NetworkStatusLabel.Text = "Video found with a duration of: " + NetworkScanTime - ComboBox3.Enabled = True - End If - - - - - End Sub - - Private Sub ComboBox3_SelectedIndexChanged_1(sender As Object, e As EventArgs) Handles ComboBox3.SelectedIndexChanged - pictureBox4.Enabled = True - pictureBox4.Image = My.Resources.main_button_download_default - End Sub - - Private Sub PictureBox4_Click(sender As Object, e As EventArgs) Handles pictureBox4.Click - pictureBox4.Enabled = False - pictureBox4.Image = My.Resources.main_button_download_deactivate - - Dim FileName As String = Main.WebbrowserTitle.Replace(" - Watch on VRV", "").Replace("Free Streaming", "").Replace("Tubi", "") - FileName = Main.RemoveExtraSpaces(String.Join(" ", FileName.Split(Main.invalids, StringSplitOptions.RemoveEmptyEntries)).TrimEnd("."c)) 'System.Text.RegularExpressions.Regex.Replace(FileName, "[^\w\\-]", " ")) - Dim FilePfad As String = Main.Pfad + "\" + FileName - - - - If CBool(InStr(ComboBox3.Text, "Audio:")) Then - FilePfad = FilePfad + ".mka" - - - Dim m3u8Final As String = "-i " + Chr(34) + ComboBox2.Text + Chr(34) + " -c:a copy" - - - - - 'MsgBox(m3u8Final) - Dim DisplayReso As String = "Audio" - Dim Pfad2 As String = Chr(34) + FilePfad + Chr(34) - Dim Title As String = FileName '+ ".mp4" - Dim L1Name_Split As String() = Main.WebbrowserURL.Split(New String() {"/"}, System.StringSplitOptions.RemoveEmptyEntries) - Dim L1Name As String = L1Name_Split(1) - Me.Invoke(New Action(Function() As Object - Main.ListItemAdd(Main.Pfad, L1Name, Title, DisplayReso, "Unknown", "None", "", m3u8Final, Pfad2) - 'Main.liList.Add(My.Resources.htmlvorThumbnail + "" + My.Resources.htmlnachTumbnail + "
    " + Title + My.Resources.htmlvorAufloesung + "[Auto]" + My.Resources.htmlvorSoftSubs + vbNewLine + "None" + My.Resources.htmlvorHardSubs + "null" + My.Resources.htmlnachHardSubs + "") - Return Nothing - End Function)) - Else - - Dim client0 As New WebClient - client0.Encoding = Encoding.UTF8 - If Main.WebbrowserCookie = Nothing Then - Else - client0.Headers.Add(HttpRequestHeader.Cookie, Main.WebbrowserCookie) - End If - - Dim RequestURL As String = ComboBox2.Text - - ComboBox2.Text = Nothing - - Dim RequestReso As String = Nothing - Dim RequestMap As String = Nothing - If ComboBox3.Enabled = True Then - Dim ResoSplit() As String = ComboBox3.Text.Split(New String() {":--:"}, System.StringSplitOptions.RemoveEmptyEntries) - RequestReso = ResoSplit(0) - RequestMap = ResoSplit(1) - End If - - If ComboBox1.SelectedItem.ToString = "Video Stream" Then - - If CBool(InStr(RequestURL, ".m3u8")) Then - Main.m3u8List.Remove(RequestURL) - ElseIf CBool(InStr(RequestURL, ".mpd")) Then - Main.mpdList.Remove(RequestURL) - End If - - 'Me.Invoke(New Action(Function() - ' MsgBox(m3u8_Master_url) - ' Return Nothing - ' End Function)) - 'My.Computer.FileSystem.WriteAllText(Application.StartupPath + "\Test.txt", text, False) - Dim thumbnail As String() = Nothing - Dim thumbnail2 As String() = Nothing - Dim thumbnail4 As String = "https://abload.de/img/main-delx4krg.png" - Try - If CBool(InStr(Main.WebbrowserText, "thumbnail")) Then - thumbnail = Main.WebbrowserText.Split(New String() {"thumbnail"}, System.StringSplitOptions.RemoveEmptyEntries) - End If - Catch ex As Exception - - End Try - Try - For i As Integer = 0 To thumbnail.Count - 1 - If CBool(InStr(thumbnail(i), ".jpg")) Then - If CBool(InStr(thumbnail(i), "https:")) Then - thumbnail2 = thumbnail(i).Split(New String() {".jpg"}, System.StringSplitOptions.RemoveEmptyEntries) - Dim thumbnail3 As String() = thumbnail2(0).Split(New String() {"https:"}, System.StringSplitOptions.RemoveEmptyEntries) - thumbnail4 = "https:" + thumbnail3(thumbnail3.Count - 1).Replace("&", "&").Replace("/u0026", "&").Replace("\u002F", "/").Replace("\/", "/") + ".jpg" - Exit For - End If - End If - Next - - Catch ex As Exception - End Try - - Dim m3u8Final As String = "-i " + Chr(34) + RequestURL + Chr(34) + " -map " + RequestMap + " -map 0:a" + Main.ffmpeg_command - - If Main.HybridMode = True Then - Dim client As New WebClient - client.Encoding = System.Text.Encoding.UTF8 - Dim text As String = client.DownloadString(RequestURL) - - If CBool(InStr(text, "RESOLUTION=")) Then 'master m3u8 no fragments - Dim new_m3u8() As String = text.Split(New String() {vbLf}, System.StringSplitOptions.RemoveEmptyEntries) - For i2 As Integer = 0 To new_m3u8.Count - 1 - - 'MsgBox("x" + Main.Resu.ToString) - If CBool(InStr(new_m3u8(i2), "x" + RequestReso.ToString)) = True Then - - m3u8Final = "-i " + Chr(34) + new_m3u8(i2 + 1) + Chr(34) + Main.ffmpeg_command - - - Exit For - - End If - - Next - - End If - - - End If - - - - - - 'MsgBox(m3u8Final) - Dim DisplayReso As String = RequestReso.ToString + "p" - Dim Pfad2 As String = Chr(34) + FilePfad + Main.VideoFormat + Chr(34) - Dim Title As String = FileName '+ ".mp4" - Dim L1Name_Split As String() = Main.WebbrowserURL.Split(New String() {"/"}, System.StringSplitOptions.RemoveEmptyEntries) - Dim L1Name As String = L1Name_Split(1) - Me.Invoke(New Action(Function() As Object - Main.ListItemAdd(Main.Pfad, L1Name, Title, DisplayReso, "Unknown", "None", thumbnail4, m3u8Final, Pfad2) - 'Main.liList.Add(My.Resources.htmlvorThumbnail + thumbnail4 + My.Resources.htmlnachTumbnail + "
    " + Title + My.Resources.htmlvorAufloesung + "[Auto]" + My.Resources.htmlvorSoftSubs + vbNewLine + "None" + My.Resources.htmlvorHardSubs + "null" + My.Resources.htmlnachHardSubs + "") - Return Nothing - End Function)) - ElseIf ComboBox1.SelectedItem.ToString = "Subtile" Then - Dim CheckFile As String = Nothing - Main.txtList.Remove(RequestURL) - If SubtitleFormat IsNot Nothing Then - client0.DownloadFileAsync(New Uri(RequestURL), FilePfad + "." + SubtitleFormat) - CheckFile = FilePfad + "." + SubtitleFormat - ElseIf CBool(InStr(RequestURL, ".txt")) Then - client0.DownloadFileAsync(New Uri(RequestURL), FilePfad + ".txt") - CheckFile = FilePfad + ".txt" - ElseIf CBool(InStr(RequestURL, ".vtt")) Then - client0.DownloadFileAsync(New Uri(RequestURL), FilePfad + ".vtt") - CheckFile = FilePfad + ".vtt" - ElseIf CBool(InStr(RequestURL, ".srt")) Then - client0.DownloadFileAsync(New Uri(RequestURL), FilePfad + ".srt") - CheckFile = FilePfad + ".srt" - ElseIf CBool(InStr(RequestURL, ".ass")) Then - client0.DownloadFileAsync(New Uri(RequestURL), FilePfad + ".ass") - CheckFile = FilePfad + ".ass" - ElseIf CBool(InStr(RequestURL, ".ssa")) Then - client0.DownloadFileAsync(New Uri(RequestURL), FilePfad + ".ssa") - CheckFile = FilePfad + ".ssa" - ElseIf CBool(InStr(RequestURL, ".dfxp")) Then - client0.DownloadFileAsync(New Uri(RequestURL), FilePfad + ".dfxp") - CheckFile = FilePfad + ".dfxp" - End If - - Pause(5) - If File.Exists(CheckFile) Then - NetworkStatusLabel.Text = "Subtitles have been Downloaded" - Else - Pause(5) - If File.Exists(CheckFile) Then - NetworkStatusLabel.Text = "Subtitles have been Downloaded" - Else - 'NetworkStatusLabel.Text = "Subtitles have been Downloaded" - End If - End If - - End If - - End If - - - End Sub - - Private Sub ComboBox2_Click(sender As Object, e As EventArgs) Handles ComboBox2.Click - ComboBox3.Enabled = False - ComboBox3.Items.Clear() - ComboBox3.Text = Nothing - ComboBox2.Items.Clear() - ComboBox2.Text = Nothing - SubtitleFormat = Nothing - pictureBox4.Enabled = False - pictureBox4.Image = My.Resources.main_button_download_deactivate - If ComboBox1.SelectedItem.ToString = "Video Stream" Then - If Main.m3u8List.Count > 0 Then - For i As Integer = 0 To Main.m3u8List.Count - 1 - ComboBox2.Items.Add(Main.m3u8List.Item(i)) - Next - ElseIf Main.mpdList.Count > 0 Then - If Main.mpdList.Count > 0 Then - For i As Integer = 0 To Main.mpdList.Count - 1 - ComboBox2.Items.Add(Main.mpdList.Item(i)) - Next - End If - End If - ElseIf ComboBox1.SelectedItem.ToString = "Subtile" Then - If Main.txtList.Count > 0 Then - For i As Integer = 0 To Main.txtList.Count - 1 - ComboBox2.Items.Add(Main.txtList.Item(i)) - Next - End If - End If - End Sub -End Class \ No newline at end of file diff --git a/Crunchyroll Downloader/packages.config b/Crunchyroll Downloader/packages.config index 44a6436..974a4fa 100644 --- a/Crunchyroll Downloader/packages.config +++ b/Crunchyroll Downloader/packages.config @@ -1,8 +1,5 @@  - - - - + \ No newline at end of file diff --git a/item.png b/item.png deleted file mode 100644 index 4e7a38c..0000000 Binary files a/item.png and /dev/null differ diff --git a/main.png b/main.png deleted file mode 100644 index 46faf68..0000000 Binary files a/main.png and /dev/null differ