mirror of
https://github.com/hama3254/Crunchyroll-Downloader-v3.0.git
synced 2024-12-24 15:11:48 +01:00
Merge WebView2 version
Merge WebView2 version
This commit is contained in:
parent
54297c5f54
commit
ce0d9f7054
Binary file not shown.
@ -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 |
@ -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;
|
||||
}
|
@ -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");');
|
||||
|
||||
}
|
@ -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;
|
||||
}
|
@ -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");');
|
||||
|
||||
}
|
@ -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"]
|
||||
}
|
||||
|
||||
}
|
@ -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;
|
||||
}
|
@ -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>
|
@ -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;
|
||||
|
||||
|
||||
|
||||
}
|
7
Crunchyroll Downloader/Anime_Add.Designer.vb
generated
7
Crunchyroll Downloader/Anime_Add.Designer.vb
generated
@ -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)
|
||||
|
@ -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>
|
||||
|
@ -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,11 +24,47 @@ 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
|
||||
|
||||
|
||||
|
||||
#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 DeviceRegion As String = Nothing
|
||||
' Main.CookieList = Collector.Task.Result()
|
||||
For i As Integer = 0 To Main.CookieList.Count - 1
|
||||
|
||||
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
|
||||
|
||||
Next
|
||||
|
||||
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))
|
||||
@ -39,49 +73,11 @@ Public Class Anime_Add
|
||||
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: "
|
||||
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
|
||||
|
||||
'__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 + ";"
|
||||
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
|
||||
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
|
||||
@ -89,40 +85,13 @@ Public Class Anime_Add
|
||||
Else
|
||||
Main.Url_locale = locale2(0)
|
||||
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,6 +183,23 @@ Public Class Anime_Add
|
||||
Dim key_pair_id2() As String = key_pair_id(1).Split(New String() {Chr(34) + "," + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||
|
||||
|
||||
If CBool(InStr(Url, "crunchyroll.com")) = True And CBool(InStr(Url, "series/")) = True Then
|
||||
|
||||
|
||||
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)
|
||||
|
||||
|
||||
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)
|
||||
|
||||
'MsgBox(SeriesUrl)
|
||||
Main.GetBetaSeasons(SeriesUrl)
|
||||
|
||||
|
||||
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)
|
||||
@ -226,12 +212,6 @@ Public Class Anime_Add
|
||||
Debug.WriteLine("ObjectsUrl: " + ObjectsUrl)
|
||||
|
||||
|
||||
'Catch ex As Exception
|
||||
' MsgBox(ex.ToString)
|
||||
' CefSharp_Browser.WebBrowser1.Load(Url)
|
||||
' Exit Sub
|
||||
'End Try
|
||||
|
||||
Dim StreamsUrl As String = Nothing
|
||||
Dim ObjectJson As String
|
||||
Try
|
||||
@ -243,29 +223,25 @@ Public Class Anime_Add
|
||||
End If
|
||||
|
||||
If CBool(InStr(ObjectJson, "curl:")) = True Then
|
||||
CefSharp_Browser.WebBrowser1.Load(Url)
|
||||
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
|
||||
|
||||
'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)
|
||||
Browser.WebView2.CoreWebView2.Navigate(Url)
|
||||
Exit Sub
|
||||
End Try
|
||||
|
||||
@ -280,7 +256,7 @@ Public Class Anime_Add
|
||||
|
||||
' Debug.WriteLine(StreamsUrl)
|
||||
Catch ex As Exception
|
||||
CefSharp_Browser.WebBrowser1.Load(Url)
|
||||
Browser.WebView2.CoreWebView2.Navigate(Url)
|
||||
Exit Sub
|
||||
End Try
|
||||
|
||||
@ -288,30 +264,27 @@ Public Class Anime_Add
|
||||
|
||||
|
||||
Else
|
||||
CefSharp_Browser.WebBrowser1.Load(Url)
|
||||
Browser.WebView2.CoreWebView2.Navigate(Url)
|
||||
End If
|
||||
Else
|
||||
'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
|
||||
|
||||
|
@ -11,14 +11,6 @@
|
||||
<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>
|
||||
</runtime>
|
||||
<system.net>
|
||||
|
@ -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
|
@ -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>
|
263
Crunchyroll Downloader/Browser.vb
Normal file
263
Crunchyroll Downloader/Browser.vb
Normal 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
|
||||
|
2
Crunchyroll Downloader/CRD_List_Item.Designer.vb
generated
2
Crunchyroll Downloader/CRD_List_Item.Designer.vb
generated
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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>
|
123
Crunchyroll Downloader/Debug_Mode.Designer.vb
generated
123
Crunchyroll Downloader/Debug_Mode.Designer.vb
generated
@ -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
|
@ -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>
|
@ -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
|
20
Crunchyroll Downloader/Main.designer.vb
generated
20
Crunchyroll Downloader/Main.designer.vb
generated
@ -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
|
||||
|
@ -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=">>Panel1.Name" xml:space="preserve">
|
||||
<value>Panel1</value>
|
||||
</data>
|
||||
@ -258,24 +243,6 @@
|
||||
<data name=">>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=">>Btn_Close.Name" xml:space="preserve">
|
||||
<value>Btn_Close</value>
|
||||
</data>
|
||||
@ -288,24 +255,6 @@
|
||||
<data name=">>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=">>Btn_min.Name" xml:space="preserve">
|
||||
<value>Btn_min</value>
|
||||
</data>
|
||||
@ -318,24 +267,6 @@
|
||||
<data name=">>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=">>Btn_Settings.Name" xml:space="preserve">
|
||||
<value>Btn_Settings</value>
|
||||
</data>
|
||||
@ -348,21 +279,6 @@
|
||||
<data name=">>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=">>Btn_Browser.Name" xml:space="preserve">
|
||||
<value>Btn_Browser</value>
|
||||
</data>
|
||||
@ -375,24 +291,6 @@
|
||||
<data name=">>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=">>Btn_add.Name" xml:space="preserve">
|
||||
<value>Btn_add</value>
|
||||
</data>
|
||||
@ -465,10 +363,10 @@
|
||||
<data name=">>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=">>TestDownloadToolStripMenuItem.Name" xml:space="preserve">
|
||||
<value>TestDownloadToolStripMenuItem</value>
|
||||
<data name=">>Funimation_Token.Name" xml:space="preserve">
|
||||
<value>Funimation_Token</value>
|
||||
</data>
|
||||
<data name=">>TestDownloadToolStripMenuItem.Type" xml:space="preserve">
|
||||
<data name=">>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=">>CheckCRBetaTokenToolStripMenuItem.Name" xml:space="preserve">
|
||||
@ -525,6 +423,12 @@
|
||||
<data name=">>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=">>ScanTimeout.Name" xml:space="preserve">
|
||||
<value>ScanTimeout</value>
|
||||
</data>
|
||||
<data name=">>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=">>$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=">>Btn_add.Name" xml:space="preserve">
|
||||
<value>Btn_add</value>
|
||||
</data>
|
||||
<data name=">>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=">>Btn_add.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>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=">>Btn_Browser.Name" xml:space="preserve">
|
||||
<value>Btn_Browser</value>
|
||||
</data>
|
||||
<data name=">>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=">>Btn_Browser.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>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=">>Btn_Settings.Name" xml:space="preserve">
|
||||
<value>Btn_Settings</value>
|
||||
</data>
|
||||
<data name=">>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=">>Btn_Settings.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>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=">>Btn_min.Name" xml:space="preserve">
|
||||
<value>Btn_min</value>
|
||||
</data>
|
||||
<data name=">>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=">>Btn_min.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>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=">>Btn_Close.Name" xml:space="preserve">
|
||||
<value>Btn_Close</value>
|
||||
</data>
|
||||
<data name=">>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=">>Btn_Close.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>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=">>ContextMenuStrip1.Name" xml:space="preserve">
|
||||
<value>ContextMenuStrip1</value>
|
||||
</data>
|
||||
<data name=">>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=">>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=">>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=">>Panel1.Name" xml:space="preserve">
|
||||
<value>Panel1</value>
|
||||
</data>
|
||||
<data name=">>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=">>Panel1.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>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>
|
@ -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,25 +1822,37 @@ 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)
|
||||
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
|
||||
|
||||
@ -1887,27 +1868,39 @@ Public Class Main
|
||||
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), ""))
|
||||
#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
|
||||
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)
|
||||
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
|
||||
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
|
||||
|
||||
|
@ -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>
|
@ -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")>
|
||||
|
@ -159,8 +159,7 @@ Namespace My.Resources
|
||||
'''Video Zoom: 6
|
||||
'''Video Position: 0
|
||||
'''
|
||||
'''[V4+ Styles]
|
||||
''' [Rest der Zeichenfolge wurde abgeschnitten]"; ähnelt.
|
||||
'''[V4+ Styles]
''' [Rest der Zeichenfolge wurde abgeschnitten]"; ähnelt.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property ass_template() As String
|
||||
Get
|
||||
@ -380,7 +379,7 @@ Namespace My.Resources
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Sucht eine lokalisierte Zeichenfolge, die "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:106.0) Gecko/20100101 Firefox/106.0" ähnelt.
|
||||
''' Sucht eine lokalisierte Zeichenfolge, die "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:107.0) Gecko/20100101 Firefox/107.0" ähnelt.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property ffmpeg_user_agend() As String
|
||||
Get
|
||||
|
@ -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>
|
||||
|
@ -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)
|
||||
Try
|
||||
tBox.Parent.Invoke(New MethodInvoker(Sub()
|
||||
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
|
||||
tBox.AppendText(msg)
|
||||
|
||||
Else
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
Try
|
||||
tBox.Parent.Invoke(New MethodInvoker(Sub()
|
||||
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)
|
||||
|
8
Crunchyroll Downloader/einstellungen.Designer.vb
generated
8
Crunchyroll Downloader/einstellungen.Designer.vb
generated
@ -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
|
||||
|
@ -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)
|
||||
|
175
Crunchyroll Downloader/network_scan.Designer.vb
generated
175
Crunchyroll Downloader/network_scan.Designer.vb
generated
@ -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
|
@ -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>
|
@ -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("&", "&").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
|
@ -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>
|
Loading…
Reference in New Issue
Block a user