Merge WebView2 version

Merge WebView2 version
This commit is contained in:
hama3254 2022-12-02 18:43:43 +01:00
parent 54297c5f54
commit ce0d9f7054
44 changed files with 2009 additions and 4168 deletions

Binary file not shown.

View File

@ -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"]);

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 793 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

View File

@ -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;
}

View File

@ -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");');
}

View File

@ -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;
}

View File

@ -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");');
}

View File

@ -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"]
}
}

View File

@ -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;
}

View File

@ -1,37 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="popup.css" />
<meta charset="utf-8" />
<title>CR Unblocker plugin popup</title>
<style>
.body{background-color: #f2f2f2;}
.main-bg {background-color:#757575;}
.frame{height: 70px; width: 770px;}
.link{font-size:16px;font-weight:600;line-height:1.5;margin-top:5px;margin-bottom:5px;font-family: Arial, Helvetica, sans-serif;}
</style>
</head>
<body>
<center>
<div id="frame2" class="frame" >
<button type="button" class='btn_class' id='btn_enable_funimation_select'>Select Episodes</button>
<button type="button" class='btn_class' id='btn_add_funimation'>Add this Funimation Episode</button>
<button type="button" class='btn_class' id='btn_add'>Add this Crunchyroll Episode</button>
<button type="button" class='btn_class' id='btn_add_AoD'>Add this Series</button>
<button type="button" class='btn_class' id='btn_add_mass'>Add selected Crunchyroll Episodes</button>
<button type="button" class='btn_class' id='btn_add_mass_funimation'>Add selected Funimation Episodes</button>
<button type="button" class='btn_class' id='btn_enable_select'>Select Episodes</button>
<button type="button" class='btn_class' id='btn_select_all'>Select All</button>
<button type="button" class='btn_class' id='btn_select_none'>Deselect All</button>
<a target="_blank" id="txtOutput" class='link' rel="noopener noreferrer" href="https://github.com/hama3254/Crunchyroll-Downloader-v3.0">Enter the port or start the Desktop application</a>
<input name="captchaText" id="txtInput" class='txt_class' type="text" value="">
<button type="button" class='btn_class' id='btn_set_port'>Set Port</button>
</div>
</center>
<script type="text/javascript" src="popup.js"></script>
</body>
</html>

View File

@ -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<episodeCount;i++)document.getElementsByClassName("c-playable-card__link")[i].style.background="#f78c25",document.getElementsByClassName("c-playable-card__link")[i].style.opacity = "0.5",document.getElementsByClassName("c-playable-card__link")[i].classList.add("CRD-Selected");'
});
} else if (tab.url.includes('crunchyroll.com')) {
browser.tabs.executeScript({
code: 'var i,episodeCount=document.getElementsByClassName("episode").length;for(i=0;i<episodeCount;i++)document.getElementsByClassName("episode")[i].style.background="#f78c25",document.getElementsByClassName("episode")[i].classList.add("CRD-Selected");'
});
} else if (tab.url.includes('funimation.com')) {
browser.tabs.executeScript({
code: 'var i,episodeCount=document.getElementsByClassName("fullEpisodeThumbs").length;for(i=0;i<episodeCount;i++)document.getElementsByClassName("fullEpisodeThumbs")[i].style.background="#f78c25",document.getElementsByClassName("fullEpisodeThumbs")[i].classList.add("CRD-Selected");'
});
browser.tabs.executeScript({
code: 'var i,episodeCount=document.getElementsByClassName("episode-card").length;for(i=0;i<episodeCount;i++)document.getElementsByClassName("episode-card")[i].style.background="#400099",document.getElementsByClassName("episode-card")[i].classList.add("CRD-Selected"),document.getElementsByClassName("episode-card")[i].style.borderStyle="solid", document.getElementsByClassName("episode-card")[i].style.borderColor="#400099", document.getElementsByClassName("episode-card")[i].style.borderWidth = "10px";'
});
} else {}
}, console.error)
});
document.getElementById('btn_select_none').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<episodeCount;i++)document.getElementsByClassName("c-playable-card__link")[i].style.background="#000000",document.getElementsByClassName("c-playable-card__link")[i].style.opacity="0",document.getElementsByClassName("c-playable-card__link")[i].classList.remove("CRD-Selected");'
});
} else if (tab.url.includes('crunchyroll.com')) {
browser.tabs.executeScript({
code: 'var i,episodeCount=document.getElementsByClassName("episode").length;for(i=0;i<episodeCount;i++)document.getElementsByClassName("episode")[i].style.background="#ffffff",document.getElementsByClassName("episode")[i].classList.remove("CRD-Selected");'
});
} else if (tab.url.includes('funimation.com')) {
browser.tabs.executeScript({
code: 'var i,episodeCount=document.getElementsByClassName("fullEpisodeThumbs").length;for(i=0;i<episodeCount;i++)document.getElementsByClassName("fullEpisodeThumbs")[i].style.background="#ffffff",document.getElementsByClassName("fullEpisodeThumbs")[i].classList.remove("CRD-Selected");'
});
browser.tabs.executeScript({
code: 'var i,episodeCount=document.getElementsByClassName("episode-card").length;for(i=0;i<episodeCount;i++)document.getElementsByClassName("episode-card")[i].style.background="#1e1e1e",document.getElementsByClassName("episode-card")[i].classList.remove("CRD-Selected"),document.getElementsByClassName("episode-card")[i].style.borderStyle="none";'
});
} else {}
}, console.error)
});
document.getElementById('btn_add').addEventListener('click', () => {
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<episodeCount;i++)document.getElementsByClassName("fullEpisodeThumbs")[i].style.background="#ffffff",document.getElementsByClassName("fullEpisodeThumbs")[i].classList.remove("CRD-Selected");'
});
} else {}
}, console.error)
});
document.getElementById('btn_add_funimation').addEventListener('click', () => {
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<document.getElementsByClassName("CRD-Selected").length;i++)URLList+=document.getElementsByClassName("CRD-Selected")[i].getAttribute("href");URLList;'
});
add_mass.then(add_mass_ok, add_mass_error);
});
document.getElementById('btn_add_mass_funimation').addEventListener('click', () => {
var add_mass = browser.tabs.executeScript({
code: 'var i,URLList="";for(i=0;i<document.getElementsByClassName("CRD-Selected").length;i++)URLList+=document.getElementsByClassName("CRD-Selected")[i].getAttribute("href");URLList;'
});
add_mass.then(add_mass_fun_ok, add_mass_error);
});
function onExecuted(result) {
console.log(result[0]);
if (result[0].includes('javascript:')) {
document.getElementById("btn_add").hidden = true;
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_funimation").hidden = true;
document.getElementById("btn_enable_funimation_select").hidden = true;
document.getElementById("btn_add_AoD").hidden = true;
console.log(true);
} else {
document.getElementById("btn_add").hidden = true;
document.getElementById("btn_enable_select").hidden = false;
document.getElementById("btn_add_mass").hidden = true;
document.getElementById("btn_select_all").hidden = true;
document.getElementById("btn_select_none").hidden = true;
document.getElementById("btn_add_funimation").hidden = true;
document.getElementById("btn_enable_funimation_select").hidden = true;
document.getElementById("btn_add_AoD").hidden = true;
console.log(false);
}
}
function onError(error) {
console.log(`Error: ${error}`);
document.getElementById("btn_add").hidden = false;
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 = true;
document.getElementById("btn_enable_funimation_select").hidden = true;
document.getElementById("btn_add_AoD").hidden = true;
}
function add_fun_ok(result) {
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);
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;
}

View File

@ -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)

View File

@ -127,7 +127,7 @@
<data name="Btn_min.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABoAAAAhCAYAAADH97ugAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wAAADsABataJCQAAAAd0SU1FB+QMDQ03N1b5UIAAAAApSURBVEhL7cyxCQAwDASx339pZ4EUcTC4keDa
vQAADr0BR/uQrQAAAAd0SU1FB+QMDQ03N1b5UIAAAAApSURBVEhL7cyxCQAwDASx339pZ4EUcTC4keDa
CwDMqs/abpOXAGBZcgDKSBvlblfsRgAAAABJRU5ErkJggg==
</value>
</data>

View File

@ -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("<body>", "").Replace("</body>", "").Replace("<pre>", "").Replace("</pre>", "").Replace("</html>", "").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

View File

@ -11,15 +11,7 @@
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="lib" />
<dependentAssembly>
<assemblyIdentity name="CefSharp" publicKeyToken="40c4b6fc221f4138" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-103.0.90.0" newVersion="103.0.90.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="CefSharp.Core" publicKeyToken="40c4b6fc221f4138" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-103.0.90.0" newVersion="103.0.90.0" />
</dependentAssembly>
</assemblyBinding>
</assemblyBinding>
</runtime>
<system.net>
<settings>

View File

@ -1,5 +1,5 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
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

View File

@ -120,4 +120,7 @@
<metadata name="Timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="Timer2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>106, 17</value>
</metadata>
</root>

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -1,8 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\CefSharp.Common.103.0.90\build\CefSharp.Common.props" Condition="Exists('..\packages\CefSharp.Common.103.0.90\build\CefSharp.Common.props')" />
<Import Project="..\packages\cef.redist.x86.103.0.9\build\cef.redist.x86.props" Condition="Exists('..\packages\cef.redist.x86.103.0.9\build\cef.redist.x86.props')" />
<Import Project="..\packages\cef.redist.x64.103.0.9\build\cef.redist.x64.props" Condition="Exists('..\packages\cef.redist.x64.103.0.9\build\cef.redist.x64.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@ -107,18 +104,17 @@
<WarningsAsErrors>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036</WarningsAsErrors>
</PropertyGroup>
<ItemGroup>
<Reference Include="CefSharp, Version=103.0.90.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138, processorArchitecture=MSIL">
<HintPath>..\packages\CefSharp.Common.103.0.90\lib\net452\CefSharp.dll</HintPath>
<Reference Include="MetroFramework">
<HintPath>..\..\metroframework-modern-ui\MetroFramework\bin\x64\Debug\MetroFramework.dll</HintPath>
</Reference>
<Reference Include="CefSharp.Core, Version=103.0.90.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138, processorArchitecture=MSIL">
<HintPath>..\packages\CefSharp.Common.103.0.90\lib\net452\CefSharp.Core.dll</HintPath>
<Reference Include="Microsoft.Web.WebView2.Core, Version=1.0.1418.22, Culture=neutral, PublicKeyToken=2a8ab48044d2601e, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Web.WebView2.1.0.1418.22\lib\net45\Microsoft.Web.WebView2.Core.dll</HintPath>
</Reference>
<Reference Include="CefSharp.WinForms, Version=103.0.90.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138, processorArchitecture=MSIL">
<HintPath>..\packages\CefSharp.WinForms.103.0.90\lib\net462\CefSharp.WinForms.dll</HintPath>
<Reference Include="Microsoft.Web.WebView2.WinForms, Version=1.0.1418.22, Culture=neutral, PublicKeyToken=2a8ab48044d2601e, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Web.WebView2.1.0.1418.22\lib\net45\Microsoft.Web.WebView2.WinForms.dll</HintPath>
</Reference>
<Reference Include="MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a, processorArchitecture=AMD64">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\metroframework-modern-ui\MetroFramework\bin\Debug\MetroFramework.dll</HintPath>
<Reference Include="Microsoft.Web.WebView2.Wpf, Version=1.0.1418.22, Culture=neutral, PublicKeyToken=2a8ab48044d2601e, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Web.WebView2.1.0.1418.22\lib\net45\Microsoft.Web.WebView2.Wpf.dll</HintPath>
</Reference>
<Reference Include="MyProvider">
<HintPath>..\..\..\MyProvider\MyProvider\bin\x64\Debug\MyProvider.dll</HintPath>
@ -126,9 +122,6 @@
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="RequestHandler">
<HintPath>..\..\RequestHandler\RequestHandler\bin\x64\Debug\RequestHandler.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Configuration" />
<Reference Include="System.Data" />
@ -169,12 +162,6 @@
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="network_scan.Designer.vb">
<DependentUpon>network_scan.vb</DependentUpon>
</Compile>
<Compile Include="network_scan.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="Anime_Add.Designer.vb">
<DependentUpon>Anime_Add.vb</DependentUpon>
</Compile>
@ -187,16 +174,10 @@
<Compile Include="einstellungen.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="Debug_Mode.Designer.vb">
<DependentUpon>Debug_Mode.vb</DependentUpon>
<Compile Include="Browser.Designer.vb">
<DependentUpon>Browser.vb</DependentUpon>
</Compile>
<Compile Include="Debug_Mode.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="CefSharp_Browser.Designer.vb">
<DependentUpon>CefSharp_Browser.vb</DependentUpon>
</Compile>
<Compile Include="CefSharp_Browser.vb">
<Compile Include="Browser.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="ProcessSleep.vb" />
@ -235,20 +216,14 @@
<EmbeddedResource Include="Trackbar.resx">
<DependentUpon>Trackbar.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="network_scan.resx">
<DependentUpon>network_scan.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Anime_Add.resx">
<DependentUpon>Anime_Add.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="einstellungen.resx">
<DependentUpon>einstellungen.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Debug_Mode.resx">
<DependentUpon>Debug_Mode.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="CefSharp_Browser.resx">
<DependentUpon>CefSharp_Browser.vb</DependentUpon>
<EmbeddedResource Include="Browser.resx">
<DependentUpon>Browser.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="CRD_List_Item.resx">
<DependentUpon>CRD_List_Item.vb</DependentUpon>
@ -419,14 +394,11 @@
<WCFMetadata Include="Connected Services\" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<Import Project="..\packages\Microsoft.Web.WebView2.1.0.1418.22\build\Microsoft.Web.WebView2.targets" Condition="Exists('..\packages\Microsoft.Web.WebView2.1.0.1418.22\build\Microsoft.Web.WebView2.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>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}".</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\cef.redist.x64.103.0.9\build\cef.redist.x64.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\cef.redist.x64.103.0.9\build\cef.redist.x64.props'))" />
<Error Condition="!Exists('..\packages\cef.redist.x86.103.0.9\build\cef.redist.x86.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\cef.redist.x86.103.0.9\build\cef.redist.x86.props'))" />
<Error Condition="!Exists('..\packages\CefSharp.Common.103.0.90\build\CefSharp.Common.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\CefSharp.Common.103.0.90\build\CefSharp.Common.props'))" />
<Error Condition="!Exists('..\packages\CefSharp.Common.103.0.90\build\CefSharp.Common.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\CefSharp.Common.103.0.90\build\CefSharp.Common.targets'))" />
<Error Condition="!Exists('..\packages\Microsoft.Web.WebView2.1.0.1418.22\build\Microsoft.Web.WebView2.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Web.WebView2.1.0.1418.22\build\Microsoft.Web.WebView2.targets'))" />
</Target>
<Import Project="..\packages\CefSharp.Common.103.0.90\build\CefSharp.Common.targets" Condition="Exists('..\packages\CefSharp.Common.103.0.90\build\CefSharp.Common.targets')" />
</Project>

View File

@ -1,123 +0,0 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class Debug_Mode
Inherits System.Windows.Forms.Form
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()> _
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.
<System.Diagnostics.DebuggerStepThrough()> _
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

View File

@ -1,120 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -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

View File

@ -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

View File

@ -151,7 +151,7 @@
<value>9</value>
</data>
<metadata name="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>612, 17</value>
<value>370, 2</value>
</metadata>
<metadata name="Timer2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>272, 14</value>
@ -231,21 +231,6 @@
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>842, 630</value>
</data>
<data name="Panel1.AutoScroll" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="Panel1.Location" type="System.Drawing.Point, System.Drawing">
<value>1, 71</value>
</data>
<data name="Panel1.MinimumSize" type="System.Drawing.Size, System.Drawing">
<value>798, 403</value>
</data>
<data name="Panel1.Size" type="System.Drawing.Size, System.Drawing">
<value>840, 546</value>
</data>
<data name="Panel1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;Panel1.Name" xml:space="preserve">
<value>Panel1</value>
</data>
@ -258,24 +243,6 @@
<data name="&gt;&gt;Panel1.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="Btn_Close.BackgroundImageLayout" type="System.Windows.Forms.ImageLayout, System.Windows.Forms">
<value>None</value>
</data>
<data name="Btn_Close.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
<value>Flat</value>
</data>
<data name="Btn_Close.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="Btn_Close.Location" type="System.Drawing.Point, System.Drawing">
<value>800, 1</value>
</data>
<data name="Btn_Close.Size" type="System.Drawing.Size, System.Drawing">
<value>40, 40</value>
</data>
<data name="Btn_Close.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
</data>
<data name="&gt;&gt;Btn_Close.Name" xml:space="preserve">
<value>Btn_Close</value>
</data>
@ -288,24 +255,6 @@
<data name="&gt;&gt;Btn_Close.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="Btn_min.BackgroundImageLayout" type="System.Windows.Forms.ImageLayout, System.Windows.Forms">
<value>None</value>
</data>
<data name="Btn_min.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
<value>Flat</value>
</data>
<data name="Btn_min.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="Btn_min.Location" type="System.Drawing.Point, System.Drawing">
<value>757, 1</value>
</data>
<data name="Btn_min.Size" type="System.Drawing.Size, System.Drawing">
<value>40, 40</value>
</data>
<data name="Btn_min.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="&gt;&gt;Btn_min.Name" xml:space="preserve">
<value>Btn_min</value>
</data>
@ -318,24 +267,6 @@
<data name="&gt;&gt;Btn_min.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="Btn_Settings.BackgroundImageLayout" type="System.Windows.Forms.ImageLayout, System.Windows.Forms">
<value>Zoom</value>
</data>
<data name="Btn_Settings.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
<value>Flat</value>
</data>
<data name="Btn_Settings.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="Btn_Settings.Location" type="System.Drawing.Point, System.Drawing">
<value>641, 18</value>
</data>
<data name="Btn_Settings.Size" type="System.Drawing.Size, System.Drawing">
<value>80, 35</value>
</data>
<data name="Btn_Settings.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="&gt;&gt;Btn_Settings.Name" xml:space="preserve">
<value>Btn_Settings</value>
</data>
@ -348,21 +279,6 @@
<data name="&gt;&gt;Btn_Settings.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="Btn_Browser.BackgroundImageLayout" type="System.Windows.Forms.ImageLayout, System.Windows.Forms">
<value>Zoom</value>
</data>
<data name="Btn_Browser.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
<value>Flat</value>
</data>
<data name="Btn_Browser.Location" type="System.Drawing.Point, System.Drawing">
<value>124, 18</value>
</data>
<data name="Btn_Browser.Size" type="System.Drawing.Size, System.Drawing">
<value>80, 35</value>
</data>
<data name="Btn_Browser.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="&gt;&gt;Btn_Browser.Name" xml:space="preserve">
<value>Btn_Browser</value>
</data>
@ -375,24 +291,6 @@
<data name="&gt;&gt;Btn_Browser.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="Btn_add.BackgroundImageLayout" type="System.Windows.Forms.ImageLayout, System.Windows.Forms">
<value>Zoom</value>
</data>
<data name="Btn_add.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
<value>Flat</value>
</data>
<data name="Btn_add.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="Btn_add.Location" type="System.Drawing.Point, System.Drawing">
<value>11, 18</value>
</data>
<data name="Btn_add.Size" type="System.Drawing.Size, System.Drawing">
<value>80, 35</value>
</data>
<data name="Btn_add.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;Btn_add.Name" xml:space="preserve">
<value>Btn_add</value>
</data>
@ -465,10 +363,10 @@
<data name="&gt;&gt;OpenSettingsToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;TestDownloadToolStripMenuItem.Name" xml:space="preserve">
<value>TestDownloadToolStripMenuItem</value>
<data name="&gt;&gt;Funimation_Token.Name" xml:space="preserve">
<value>Funimation_Token</value>
</data>
<data name="&gt;&gt;TestDownloadToolStripMenuItem.Type" xml:space="preserve">
<data name="&gt;&gt;Funimation_Token.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;CheckCRBetaTokenToolStripMenuItem.Name" xml:space="preserve">
@ -525,6 +423,12 @@
<data name="&gt;&gt;DummyItemToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;ScanTimeout.Name" xml:space="preserve">
<value>ScanTimeout</value>
</data>
<data name="&gt;&gt;ScanTimeout.Type" xml:space="preserve">
<value>System.Windows.Forms.Timer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>Main</value>
</data>
@ -534,9 +438,165 @@
<metadata name="Timer4.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>276, 52</value>
</metadata>
<data name="Btn_add.BackgroundImageLayout" type="System.Windows.Forms.ImageLayout, System.Windows.Forms">
<value>Zoom</value>
</data>
<data name="Btn_add.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
<value>Flat</value>
</data>
<data name="Btn_add.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="Btn_add.Location" type="System.Drawing.Point, System.Drawing">
<value>11, 18</value>
</data>
<data name="Btn_add.Size" type="System.Drawing.Size, System.Drawing">
<value>80, 35</value>
</data>
<data name="Btn_add.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;Btn_add.Name" xml:space="preserve">
<value>Btn_add</value>
</data>
<data name="&gt;&gt;Btn_add.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;Btn_add.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;Btn_add.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="Btn_Browser.BackgroundImageLayout" type="System.Windows.Forms.ImageLayout, System.Windows.Forms">
<value>Zoom</value>
</data>
<data name="Btn_Browser.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
<value>Flat</value>
</data>
<data name="Btn_Browser.Location" type="System.Drawing.Point, System.Drawing">
<value>124, 18</value>
</data>
<data name="Btn_Browser.Size" type="System.Drawing.Size, System.Drawing">
<value>80, 35</value>
</data>
<data name="Btn_Browser.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="&gt;&gt;Btn_Browser.Name" xml:space="preserve">
<value>Btn_Browser</value>
</data>
<data name="&gt;&gt;Btn_Browser.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;Btn_Browser.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;Btn_Browser.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="Btn_Settings.BackgroundImageLayout" type="System.Windows.Forms.ImageLayout, System.Windows.Forms">
<value>Zoom</value>
</data>
<data name="Btn_Settings.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
<value>Flat</value>
</data>
<data name="Btn_Settings.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="Btn_Settings.Location" type="System.Drawing.Point, System.Drawing">
<value>641, 18</value>
</data>
<data name="Btn_Settings.Size" type="System.Drawing.Size, System.Drawing">
<value>80, 35</value>
</data>
<data name="Btn_Settings.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="&gt;&gt;Btn_Settings.Name" xml:space="preserve">
<value>Btn_Settings</value>
</data>
<data name="&gt;&gt;Btn_Settings.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;Btn_Settings.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;Btn_Settings.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="Btn_min.BackgroundImageLayout" type="System.Windows.Forms.ImageLayout, System.Windows.Forms">
<value>None</value>
</data>
<data name="Btn_min.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
<value>Flat</value>
</data>
<data name="Btn_min.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="Btn_min.Location" type="System.Drawing.Point, System.Drawing">
<value>757, 1</value>
</data>
<data name="Btn_min.Size" type="System.Drawing.Size, System.Drawing">
<value>40, 40</value>
</data>
<data name="Btn_min.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="&gt;&gt;Btn_min.Name" xml:space="preserve">
<value>Btn_min</value>
</data>
<data name="&gt;&gt;Btn_min.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;Btn_min.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;Btn_min.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="Btn_Close.BackgroundImageLayout" type="System.Windows.Forms.ImageLayout, System.Windows.Forms">
<value>None</value>
</data>
<data name="Btn_Close.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
<value>Flat</value>
</data>
<data name="Btn_Close.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="Btn_Close.Location" type="System.Drawing.Point, System.Drawing">
<value>800, 1</value>
</data>
<data name="Btn_Close.Size" type="System.Drawing.Size, System.Drawing">
<value>40, 40</value>
</data>
<data name="Btn_Close.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
</data>
<data name="&gt;&gt;Btn_Close.Name" xml:space="preserve">
<value>Btn_Close</value>
</data>
<data name="&gt;&gt;Btn_Close.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;Btn_Close.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;Btn_Close.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<metadata name="ContextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>578, 45</value>
<value>352, 49</value>
</metadata>
<data name="ContextMenuStrip1.Size" type="System.Drawing.Size, System.Drawing">
<value>234, 268</value>
</data>
<data name="&gt;&gt;ContextMenuStrip1.Name" xml:space="preserve">
<value>ContextMenuStrip1</value>
</data>
<data name="&gt;&gt;ContextMenuStrip1.Type" xml:space="preserve">
<value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="ToggleDebugModeToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>233, 22</value>
</data>
@ -549,10 +609,10 @@
<data name="OpenSettingsToolStripMenuItem.Text" xml:space="preserve">
<value>Open Settings</value>
</data>
<data name="TestDownloadToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<data name="Funimation_Token.Size" type="System.Drawing.Size, System.Drawing">
<value>233, 22</value>
</data>
<data name="TestDownloadToolStripMenuItem.Text" xml:space="preserve">
<data name="Funimation_Token.Text" xml:space="preserve">
<value>Check Funimation Token</value>
</data>
<data name="CheckCRBetaTokenToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
@ -609,13 +669,34 @@
<data name="DummyItemToolStripMenuItem.Text" xml:space="preserve">
<value>Dummy_Item</value>
</data>
<data name="ContextMenuStrip1.Size" type="System.Drawing.Size, System.Drawing">
<value>234, 268</value>
<data name="Panel1.AutoScroll" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="&gt;&gt;ContextMenuStrip1.Name" xml:space="preserve">
<value>ContextMenuStrip1</value>
<data name="Panel1.Location" type="System.Drawing.Point, System.Drawing">
<value>1, 71</value>
</data>
<data name="&gt;&gt;ContextMenuStrip1.Type" xml:space="preserve">
<value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<data name="Panel1.MinimumSize" type="System.Drawing.Size, System.Drawing">
<value>798, 403</value>
</data>
<data name="Panel1.Size" type="System.Drawing.Size, System.Drawing">
<value>840, 546</value>
</data>
<data name="Panel1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;Panel1.Name" xml:space="preserve">
<value>Panel1</value>
</data>
<data name="&gt;&gt;Panel1.Type" xml:space="preserve">
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;Panel1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;Panel1.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<metadata name="ScanTimeout.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>167, 10</value>
</metadata>
</root>

View File

@ -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 "<li> 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 + " <br> " + CR_season_number + " " + CR_episode + My.Resources.htmlvorAufloesung + ResoHTMLDisplay + My.Resources.htmlvorSoftSubs + vbNewLine + SubValuesToDisplay() + My.Resources.htmlvorHardSubs + Subsprache3 + My.Resources.htmlnachHardSubs + "<!-- " + L2Name + "-->")
@ -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

View File

@ -1,120 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -32,6 +32,6 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("3.9.10")>
<Assembly: AssemblyFileVersion("3.9.10")>
<Assembly: AssemblyVersion("3.10")>
<Assembly: AssemblyFileVersion("3.10")>
<Assembly: NeutralResourcesLanguage("en")>

File diff suppressed because it is too large Load Diff

View File

@ -392,7 +392,7 @@ Dialogue: 0,0:00:00.00,0:00:00.00,Default,,0000,0000,0000,,some ideas on how tem
<value>..\Resources\crdSettings_Button_SafeExit_hover.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ffmpeg_user_agend" xml:space="preserve">
<value>"User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:106.0) Gecko/20100101 Firefox/106.0"</value>
<value>"User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:107.0) Gecko/20100101 Firefox/107.0"</value>
</data>
<data name="crdSettings_Button_SafeExit" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\crdSettings_Button_SafeExit.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>

View File

@ -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)

View File

@ -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

View File

@ -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)

View File

@ -1,175 +0,0 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
Partial Class network_scan
Inherits MetroFramework.Forms.MetroForm
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()>
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.
<System.Diagnostics.DebuggerStepThrough()>
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

View File

@ -1,128 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="Btn_min.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABoAAAAhCAYAAADH97ugAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB+QMDQ03N1b5UIAAAAApSURBVEhL7cyxCQAwDASx339pZ4EUcTC4keDa
CwDMqs/abpOXAGBZcgDKSBvlblfsRgAAAABJRU5ErkJggg==
</value>
</data>
</root>

View File

@ -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 + "<br>" + Title + My.Resources.htmlvorAufloesung + "[Auto]" + My.Resources.htmlvorSoftSubs + vbNewLine + "None" + My.Resources.htmlvorHardSubs + "null" + My.Resources.htmlnachHardSubs + "<!-- " + Title + "-->")
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("&amp;", "&").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 + "<br>" + Title + My.Resources.htmlvorAufloesung + "[Auto]" + My.Resources.htmlvorSoftSubs + vbNewLine + "None" + My.Resources.htmlvorHardSubs + "null" + My.Resources.htmlnachHardSubs + "<!-- " + Title + "-->")
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

View File

@ -1,8 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="cef.redist.x64" version="103.0.9" targetFramework="net48" />
<package id="cef.redist.x86" version="103.0.9" targetFramework="net48" />
<package id="CefSharp.Common" version="103.0.90" targetFramework="net48" />
<package id="CefSharp.WinForms" version="103.0.90" targetFramework="net48" />
<package id="Microsoft.Web.WebView2" version="1.0.1418.22" targetFramework="net48" />
<package id="Newtonsoft.Json" version="13.0.1" targetFramework="net452" />
</packages>

BIN
item.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

BIN
main.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB