mirror of
https://github.com/chiteroman/PlayIntegrityFix.git
synced 2025-01-18 11:02:40 +02:00
Add action-on-webui
Add `action-on-webui` support to old version KernelSU and Apatch users. Old version Magisk users are able to use KSUWebUIStandalone to run `action.sh` through WebUI.
This commit is contained in:
parent
5f552802b4
commit
420ebda8bc
BIN
module/webroot/assets/RobotoMono-Regular.ttf
Normal file
BIN
module/webroot/assets/RobotoMono-Regular.ttf
Normal file
Binary file not shown.
14
module/webroot/index.html
Normal file
14
module/webroot/index.html
Normal file
@ -0,0 +1,14 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Play Integrity Fix</title>
|
||||
<link rel="stylesheet" href="styles.css" type="text/css">
|
||||
<link rel="stylesheet" type="text/css" href="/mmrl/insets.css" />
|
||||
<script type="module" crossorigin src="scripts.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="output">[+] Fetching pif.json, please wait...</div>
|
||||
</body>
|
||||
</html>
|
37
module/webroot/scripts.js
Normal file
37
module/webroot/scripts.js
Normal file
@ -0,0 +1,37 @@
|
||||
// Execute shell commands with ksu.exec
|
||||
async function execCommand(command) {
|
||||
const callbackName = `exec_callback_${Date.now()}`;
|
||||
return new Promise((resolve, reject) => {
|
||||
window[callbackName] = (errno, stdout, stderr) => {
|
||||
delete window[callbackName];
|
||||
errno === 0 ? resolve(stdout) : reject(stderr);
|
||||
};
|
||||
ksu.exec(command, "{}", callbackName);
|
||||
});
|
||||
}
|
||||
|
||||
// Function to run the script and display its output
|
||||
async function runAction() {
|
||||
const output = document.querySelector('.output');
|
||||
try {
|
||||
const scriptOutput = await execCommand("sh /data/adb/modules/playintegrityfix/action.sh");
|
||||
output.innerHTML = '';
|
||||
const lines = scriptOutput.split('\n');
|
||||
lines.forEach(line => {
|
||||
const lineElement = document.createElement('div');
|
||||
lineElement.style.whiteSpace = 'pre-wrap';
|
||||
lineElement.textContent = line;
|
||||
if (line === '') {
|
||||
lineElement.innerHTML = ' ';
|
||||
}
|
||||
output.appendChild(lineElement);
|
||||
});
|
||||
} catch (error) {
|
||||
output.innerHTML = '[!] Error: Fail to execute action.sh';
|
||||
console.error('Script execution failed:', error);
|
||||
}
|
||||
}
|
||||
|
||||
document.addEventListener('DOMContentLoaded', async () => {
|
||||
setTimeout(runAction, 200);
|
||||
});
|
27
module/webroot/styles.css
Normal file
27
module/webroot/styles.css
Normal file
@ -0,0 +1,27 @@
|
||||
@font-face {
|
||||
font-family: 'Mono';
|
||||
src: url('assets/RobotoMono-Regular.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Mono';
|
||||
padding-top: var(--window-inset-top);
|
||||
padding-bottom: var(--window-inset-bottom);
|
||||
}
|
||||
|
||||
.output {
|
||||
font-size: 14px;
|
||||
left: 10px;
|
||||
width: calc(100vw - 20px);
|
||||
white-space: nowrap;
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
body {
|
||||
background-color: #121212;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user