Sigma
This commit is contained in:
parent
d0dc547680
commit
06be8925e8
@ -37,3 +37,15 @@ body {
|
||||
background-color: #007acc;
|
||||
border-color: #007acc;
|
||||
}
|
||||
|
||||
@media (max-width: 991.98px) {
|
||||
.split-container {
|
||||
flex-direction: column;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.editor-container, .output-container {
|
||||
height: 50vh; /* Adjust as needed */
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
@ -8,6 +8,8 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||
const saveBtn = document.getElementById('save-btn');
|
||||
const loadBtn = document.getElementById('load-btn');
|
||||
const clearOutputBtn = document.getElementById('clear-output-btn');
|
||||
const runBtn = document.getElementById('run-btn');
|
||||
const runOutput = document.getElementById('run-output');
|
||||
const obfuscatedOutput = document.getElementById('obfuscated-output');
|
||||
const loader = document.getElementById('loader');
|
||||
const versionSpan = document.getElementById('luau-version');
|
||||
@ -248,12 +250,62 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||
});
|
||||
|
||||
// --- Split View ---
|
||||
Split(['#split-0', '#split-1'], {
|
||||
sizes: [50, 50],
|
||||
minSize: 200,
|
||||
gutterSize: 8,
|
||||
onDrag: function() {
|
||||
editor.resize();
|
||||
let split;
|
||||
|
||||
function setupSplit() {
|
||||
if (window.innerWidth < 992) {
|
||||
if (split) {
|
||||
split.destroy();
|
||||
split = null;
|
||||
}
|
||||
} else {
|
||||
if (!split) {
|
||||
split = Split(['#split-0', '#split-1'], {
|
||||
sizes: [50, 50],
|
||||
minSize: 200,
|
||||
gutterSize: 8,
|
||||
onDrag: function() {
|
||||
editor.resize();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
window.addEventListener('resize', setupSplit);
|
||||
setupSplit(); // Initial call
|
||||
|
||||
runBtn.addEventListener('click', async () => {
|
||||
const code = editor.getValue();
|
||||
runOutput.textContent = '';
|
||||
loader.style.display = 'block';
|
||||
runBtn.disabled = true;
|
||||
|
||||
// Give the UI a moment to update
|
||||
await new Promise(resolve => setTimeout(resolve, 50));
|
||||
|
||||
try {
|
||||
const formData = new FormData();
|
||||
formData.append('code', code);
|
||||
|
||||
const response = await fetch('run.php', {
|
||||
method: 'POST',
|
||||
body: formData
|
||||
});
|
||||
|
||||
if (response.ok) {
|
||||
const result = await response.text();
|
||||
runOutput.textContent = result;
|
||||
} else {
|
||||
runOutput.textContent = `Error: ${response.statusText}`;
|
||||
}
|
||||
|
||||
} catch (err) {
|
||||
runOutput.textContent = `Error: ${err.message}`;
|
||||
console.error(err);
|
||||
} finally {
|
||||
loader.style.display = 'none';
|
||||
runBtn.disabled = false;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
63
index.php
63
index.php
@ -37,37 +37,46 @@
|
||||
<div class="container-fluid">
|
||||
<a class="navbar-brand" href="#">Luau Obfuscator</a>
|
||||
<div class="ms-auto d-flex align-items-center">
|
||||
<span id="luau-version" class="navbar-text me-3">Loading Luau...</span>
|
||||
<span id="save-status" class="navbar-text me-3"></span>
|
||||
|
||||
<span id="luau-version" class="navbar-text me-3 d-none d-lg-inline">Loading Luau...</span>
|
||||
<div class="btn-group me-2" role="group">
|
||||
<button class="btn btn-primary" id="obfuscate-btn">Obfuscate</button>
|
||||
<button class="btn btn-success" id="run-btn">Run</button>
|
||||
</div>
|
||||
|
||||
<div class="btn-group me-2" role="group">
|
||||
<button class="btn btn-outline-secondary" id="save-btn">Save</button>
|
||||
<button class="btn btn-outline-secondary" id="load-btn">Restore</button>
|
||||
</div>
|
||||
|
||||
<div class="dropdown me-2">
|
||||
<button class="btn btn-secondary dropdown-toggle" type="button" id="examples-dropdown" data-bs-toggle="dropdown" aria-expanded="false">
|
||||
Load Example
|
||||
</button>
|
||||
<ul class="dropdown-menu dropdown-menu-dark" aria-labelledby="examples-dropdown" id="examples-menu">
|
||||
<!-- Examples will be populated by JS -->
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<button class="btn btn-outline-light" id="clear-output-btn">Clear Obfuscated</button>
|
||||
|
||||
<button class="btn btn-info ms-2" id="share-btn" data-bs-toggle="modal" data-bs-target="#share-modal">
|
||||
<i class="bi bi-share-fill"></i> Share
|
||||
</button>
|
||||
|
||||
<button class="btn btn-outline-light ms-2" id="settings-btn" data-bs-toggle="modal" data-bs-target="#settings-modal">
|
||||
<i class="bi bi-gear-fill"></i>
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="collapse navbar-collapse" id="navbarSupportedContent">
|
||||
<ul class="navbar-nav ms-auto mb-2 mb-lg-0">
|
||||
<li class="nav-item d-lg-none"><span id="luau-version-mobile" class="navbar-text">Loading Luau...</span></li>
|
||||
<li class="nav-item"><span id="save-status" class="navbar-text"></span></li>
|
||||
<li class="nav-item btn-group" role="group">
|
||||
<button class="btn btn-outline-secondary" id="save-btn">Save</button>
|
||||
<button class="btn btn-outline-secondary" id="load-btn">Restore</button>
|
||||
</li>
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="examples-dropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
|
||||
Load Example
|
||||
</a>
|
||||
<ul class="dropdown-menu dropdown-menu-dark" aria-labelledby="examples-dropdown" id="examples-menu">
|
||||
<!-- Examples will be populated by JS -->
|
||||
</ul>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<button class="btn btn-outline-light" id="clear-output-btn">Clear Obfuscated</button>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<button class="btn btn-info ms-2" id="share-btn" data-bs-toggle="modal" data-bs-target="#share-modal">
|
||||
<i class="bi bi-share-fill"></i> Share
|
||||
</button>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<button class="btn btn-outline-light ms-2" id="settings-btn" data-bs-toggle="modal" data-bs-target="#settings-modal">
|
||||
<i class="bi bi-gear-fill"></i>
|
||||
</button>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
@ -82,6 +91,8 @@ print("Current time: " .. os.date())</div>
|
||||
<span class="visually-hidden">Loading...</span>
|
||||
</div>
|
||||
<pre id="obfuscated-output"></pre>
|
||||
<h5 class="text-light">Run Output</h5>
|
||||
<pre id="run-output"></pre>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
15
run.php
Executable file
15
run.php
Executable file
@ -0,0 +1,15 @@
|
||||
<?php
|
||||
if (isset($_POST['code'])) {
|
||||
$code = $_POST['code'];
|
||||
$tmp_dir = '/home/ubuntu/.gemini/tmp/ec2c6b8cb2ac3d6ef62b888a61e62d5ab1e71e46b3c4963f2a040a3c33c7038b/';
|
||||
$file = tempnam($tmp_dir, 'luau_');
|
||||
file_put_contents($file, $code);
|
||||
|
||||
$output = shell_exec("luau " . escapeshellarg($file) . " 2>&1");
|
||||
unlink($file);
|
||||
|
||||
echo $output;
|
||||
} else {
|
||||
echo "No code provided.";
|
||||
}
|
||||
?>
|
||||
Loading…
x
Reference in New Issue
Block a user