Merge branch 'main' of https://dev.lunaticbum.kr/lun_admin/android_multiviewwer
# Conflicts: # app/src/main/kotlin/bums/lunatic/launcher/home/RssHome.kt # app/src/main/kotlin/bums/lunatic/launcher/utils/JsoupUtils.kt ...
This commit is contained in:
@@ -1,40 +1,65 @@
|
||||
|
||||
browser.webRequest.onHeadersReceived.addListener(
|
||||
function(details) {
|
||||
let headers = details.responseHeaders || [];
|
||||
// Cache-Control 헤더가 없거나 no-store, no-cache 등일 때 수정
|
||||
let found = false;
|
||||
for (let header of headers) {
|
||||
if (header.name.toLowerCase() === "cache-control") {
|
||||
header.value = "public, max-age=31536000"; // 1년 캐시
|
||||
found = true;
|
||||
}
|
||||
}
|
||||
if (!found) {
|
||||
headers.push({name: "Cache-Control", value: "public, max-age=31536000"});
|
||||
}
|
||||
return {responseHeaders: headers};
|
||||
},
|
||||
{urls: ["*://*/*.gif"], types: ["image"]},
|
||||
["blocking", "responseHeaders"]
|
||||
);
|
||||
//const originalLog = console.log;
|
||||
//console.log = function(...args) {
|
||||
// // 메시지 가공 또는 네이티브로 전달
|
||||
// originalLog.apply(console, args);
|
||||
// browser.runtime.sendNativeMessage("browser", args);
|
||||
//};
|
||||
|
||||
browser.webRequest.onBeforeRequest.addListener(
|
||||
function(details) {
|
||||
return { cancel: true };
|
||||
},
|
||||
{ urls: ["*://*/*.gif"], types: ["image"] },
|
||||
["blocking"]
|
||||
);
|
||||
//window.addEventListener('error', function(event) {
|
||||
// if (event.message && event.message.includes('No impl for message: MozAfterPaint')) {
|
||||
// // 앱으로 오류 신호 전달
|
||||
// browser.runtime.sendMessage({ type: 'RELOAD_REQUEST' });
|
||||
//const port = browser.runtime.connectNative("browser");
|
||||
//// 모든 요청을 가로챔
|
||||
//browser.webRequest.onCompleted.addListener(async (details) => {
|
||||
// // 원래 요청 URL
|
||||
// const url = details.url;
|
||||
// try {
|
||||
// // 실제 데이터 fetch (credentials, 쿠키 등 필요시 옵션 맞춤)
|
||||
// const res = await fetch(url, {credentials: "include"});
|
||||
// const blob = await res.blob();
|
||||
// // 데이터 -> ArrayBuffer
|
||||
// const arrayBuffer = await blob.arrayBuffer();
|
||||
// // base64로 변환
|
||||
// const base64 = btoa(String.fromCharCode(...new Uint8Array(arrayBuffer)));
|
||||
// // 네이티브 앱에게 전달
|
||||
// port.postMessage(JSON.stringify({type:"CACAHE",msg:msg , url: url, data: base64}));
|
||||
//// browser.runtime.sendNativeMessage(
|
||||
//// "browser", // 등록한 네이티브 앱 id
|
||||
//// { url: url, data: base64 }
|
||||
//// );
|
||||
// } catch(e) {
|
||||
// // 에러 처리
|
||||
// console.error(e);
|
||||
// }
|
||||
//});
|
||||
//}, {urls: ["<all_urls>"]});
|
||||
//
|
||||
////
|
||||
////browser.webRequest.onHeadersReceived.addListener(
|
||||
//// function(details) {
|
||||
//// let headers = details.responseHeaders || [];
|
||||
//// // Cache-Control 헤더가 없거나 no-store, no-cache 등일 때 수정
|
||||
//// let found = false;
|
||||
//// for (let header of headers) {
|
||||
//// if (header.name.toLowerCase() === "cache-control") {
|
||||
//// header.value = "public, max-age=31536000"; // 1년 캐시
|
||||
//// found = true;
|
||||
//// }
|
||||
//// }
|
||||
//// if (!found) {
|
||||
//// headers.push({name: "Cache-Control", value: "public, max-age=31536000"});
|
||||
//// }
|
||||
//// return {responseHeaders: headers};
|
||||
//// },
|
||||
//// {urls: ["*://*/*.gif"], types: ["image"]},
|
||||
//// ["blocking", "responseHeaders"]
|
||||
////);
|
||||
//////const originalLog = console.log;
|
||||
//////console.log = function(...args) {
|
||||
////// // 메시지 가공 또는 네이티브로 전달
|
||||
////// originalLog.apply(console, args);
|
||||
////// browser.runtime.sendNativeMessage("browser", args);
|
||||
//////};
|
||||
////
|
||||
////browser.webRequest.onBeforeRequest.addListener(
|
||||
//// function(details) {
|
||||
//// return { cancel: true };
|
||||
//// },
|
||||
//// { urls: ["*://*/*.gif"], types: ["image"] },
|
||||
//// ["blocking"]
|
||||
////);
|
||||
////window.addEventListener('error', function(event) {
|
||||
//// if (event.message && event.message.includes('No impl for message: MozAfterPaint')) {
|
||||
//// // 앱으로 오류 신호 전달
|
||||
//// browser.runtime.sendMessage({ type: 'RELOAD_REQUEST' });
|
||||
//// }
|
||||
////});
|
||||
File diff suppressed because one or more lines are too long
@@ -22,7 +22,6 @@
|
||||
"nativeMessagingFromContent",
|
||||
"geckoViewAddons",
|
||||
"webRequest",
|
||||
"webRequestBlocking",
|
||||
"*://*/*.gif"
|
||||
"webRequestBlocking"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
|
||||
const list = ["?page=2","?page=3","?page=4","?page=5","?page=6"];
|
||||
const port = browser.runtime.connectNative("browser");
|
||||
port.onMessage.addListener(response => {
|
||||
var type= response["type"];
|
||||
@@ -285,5 +285,126 @@ if (port) {
|
||||
)
|
||||
}
|
||||
|
||||
if (document.querySelectorAll('[class^="col-md-4 mb-4 video-item"]').length > 1) {
|
||||
var datas = []
|
||||
document.querySelectorAll('[class^="col-md-4 mb-4 video-item"]').forEach(function (e) {
|
||||
var date = 0
|
||||
try {
|
||||
const dateString = e.querySelector('[class^="mb-2"]').querySelector("a").textContent.trim();
|
||||
|
||||
const [day, month, year] = dateString.split("/").map(Number);
|
||||
date = new Date(year, month - 1, day).getTime();
|
||||
}catch (e) {
|
||||
|
||||
}
|
||||
var actor = ""
|
||||
try {
|
||||
actor = e.querySelector('[class^="mb-1"]').getAttribute("alt").trim()
|
||||
}catch (e) {
|
||||
|
||||
}
|
||||
var desc = ""
|
||||
try {
|
||||
e.querySelectorAll('[class^="badge badge-"]').forEach(function (e) {
|
||||
try {
|
||||
if (Number(e.textContent) > 0) {
|
||||
|
||||
}else {
|
||||
if (desc.length > 0) {
|
||||
desc += ","
|
||||
}
|
||||
desc += e.textContent.trim()
|
||||
}
|
||||
}catch (e) {}
|
||||
}
|
||||
)
|
||||
}catch (e) {
|
||||
|
||||
}
|
||||
var thumb = ""
|
||||
try {
|
||||
thumb = e.querySelector("td").querySelector("a").getAttribute('data-link')
|
||||
}catch (e) {
|
||||
|
||||
}
|
||||
var magnet = ""
|
||||
try {
|
||||
e.querySelectorAll("td").forEach(function (e) {
|
||||
e.querySelectorAll("a").forEach(function (e) {
|
||||
if(e.getAttribute("href").startsWith("magnet")) {
|
||||
magnet = e.getAttribute("href").replaceAll("&", "&");
|
||||
}
|
||||
})
|
||||
})
|
||||
}catch (e) {
|
||||
|
||||
}
|
||||
|
||||
var title = "";
|
||||
try {
|
||||
title = e.querySelector(".name").querySelector("a").querySelector("span").textContent.trim();
|
||||
}catch (e) {
|
||||
|
||||
}
|
||||
var originPage = ""
|
||||
try {
|
||||
|
||||
originPage = location.protocol + "//" + location.hostname + e.querySelector(".name").querySelector("a").getAttribute("href");
|
||||
}catch (e) {
|
||||
|
||||
}
|
||||
var screenshots = ""
|
||||
try {
|
||||
e.querySelectorAll("a").forEach(function (e) {
|
||||
if(e.getAttribute("href").search("screenshots") > -1) {
|
||||
screenshots = e.getAttribute("href");
|
||||
}
|
||||
})
|
||||
}catch (e) {
|
||||
|
||||
}
|
||||
datas.push({
|
||||
"title" : title,
|
||||
"description" : desc,
|
||||
"originPage" : originPage,
|
||||
"magnet" : magnet,
|
||||
"thumbnail" : thumb,
|
||||
"pubDate" : date,
|
||||
"screenshots" : screenshots,
|
||||
"chosung" : "",
|
||||
"category" : "PRIVATE"
|
||||
});
|
||||
})
|
||||
sendMessage(
|
||||
{
|
||||
type: "PRIVATES",
|
||||
privates: datas
|
||||
}
|
||||
);
|
||||
|
||||
gotoNext()
|
||||
}
|
||||
|
||||
},1500)
|
||||
}
|
||||
|
||||
function gotoNext() {
|
||||
if (location.href.search("page") < 0) {
|
||||
targetUrl = location.protocol + "//" + location.hostname + "/" + list[0]
|
||||
}else {
|
||||
var targetUrl = ""
|
||||
for (i = 0; i < list.length - 1; i++) {
|
||||
try {
|
||||
if (location.href.search(list[i]) > -1) {
|
||||
targetUrl = location.protocol + "//" + location.hostname + list[i + 1]
|
||||
}
|
||||
}catch (e) {
|
||||
console.error(e)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
if (targetUrl.length > 5) {
|
||||
setTimeout(function () {location.href = targetUrl},3000)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user