Skip to content

Commit 301ba90

Browse files
authored
Refactor HTML structure and styles for clarity
1 parent 7ce32f6 commit 301ba90

1 file changed

Lines changed: 112 additions & 142 deletions

File tree

index.html

Lines changed: 112 additions & 142 deletions
Original file line numberDiff line numberDiff line change
@@ -6,161 +6,131 @@
66
<title>pobfus // repository</title>
77
<style>
88
:root { --bg: #0a0a0a; --panel: #0d0d0d; --brd: #1a1a1a; --txt: #888; --main: #eee; --acc: #00ff88; }
9-
* { box-sizing: border-box; transition: 0.1s; }
10-
body {
11-
background: var(--bg); color: var(--main);
12-
font-family: "fira code", monospace; margin: 0;
13-
display: flex; height: 100vh; overflow: hidden; text-transform: lowercase;
14-
}
15-
16-
.sidebar {
17-
width: 320px; min-width: 320px; background: var(--panel); border-right: 1px solid var(--brd);
18-
padding: 30px; display: flex; flex-direction: column; gap: 15px; z-index: 10;
19-
}
20-
21-
.brand-row { display: flex; align-items: center; gap: 15px; margin-bottom: 10px; }
22-
.lua-logo { width: 32px; height: 32px; fill: #000080; background: #fff; border-radius: 50%; padding: 2px; }
23-
.gh-logo { width: 24px; height: 24px; fill: var(--main); opacity: 0.8; }
9+
* { box-sizing: border-box; font-family: "fira code", monospace; text-transform: lowercase; }
10+
body { background: var(--bg); color: var(--main); margin: 0; display: flex; height: 100vh; overflow: hidden; }
2411

12+
.sidebar { width: 320px; min-width: 320px; background: var(--panel); border-right: 1px solid var(--brd); padding: 30px; display: flex; flex-direction: column; gap: 15px; }
13+
.brand-row { display: flex; align-items: center; gap: 15px; margin-bottom: 5px; }
14+
.lua-logo { width: 32px; height: 32px; border-radius: 50%; }
2515
.title { font-size: 22px; font-weight: 800; color: #fff; letter-spacing: -1px; }
26-
.subtitle { font-size: 9px; color: var(--acc); letter-spacing: 1px; }
16+
.v-badge { background: #1a1a1a; color: var(--acc); font-size: 8px; padding: 4px 8px; border-radius: 20px; border: 1px solid #333; width: fit-content; margin-bottom: 15px; font-weight: 700; }
2717

28-
.nav-group { display: flex; flex-direction: column; gap: 8px; margin-top: 10px; }
29-
.btn {
30-
background: transparent; border: 1px solid var(--brd); color: var(--txt);
31-
padding: 12px; cursor: pointer; font-family: inherit; font-size: 11px; text-align: left;
32-
border-radius: 4px; font-weight: 500;
33-
}
18+
.btn { background: transparent; border: 1px solid var(--brd); color: var(--txt); padding: 12px; cursor: pointer; border-radius: 4px; text-align: left; width: 100%; transition: 0.2s; }
19+
.btn-run { background: #fff; color: #000; border: none; font-weight: 800; margin-top: 10px; }
3420
.btn:hover { border-color: var(--main); color: var(--main); background: #151515; }
35-
.btn-run { background: #fff; color: #000; border: none; font-weight: 800; font-size: 12px; }
36-
.btn-run:hover { background: var(--acc); transform: scale(1.02); }
37-
38-
.changelog { margin-top: 20px; flex-grow: 1; overflow-y: auto; border-top: 1px solid var(--brd); padding-top: 20px; }
39-
.log-v { font-size: 10px; color: var(--acc); font-weight: 700; margin-bottom: 5px; display: block; }
40-
.log-i { font-size: 10px; color: #444; display: block; margin-bottom: 3px; border-left: 1px solid #222; padding-left: 10px; }
41-
42-
.main { flex: 1; display: flex; height: 100vh; background: var(--brd); }
43-
.editor-container { flex: 1; display: flex; flex-direction: column; background: var(--bg); position: relative; }
44-
.editor-container:first-child { border-right: 1px solid var(--brd); }
45-
46-
textarea {
47-
flex: 1; width: 100%; height: 100%; background: transparent; border: none;
48-
color: var(--main); padding: 30px; resize: none; outline: none;
49-
font-size: 13px; line-height: 1.6; font-family: "fira code", monospace;
50-
white-space: pre; overflow: auto;
51-
}
5221

53-
.creator-link {
54-
padding-top: 15px; text-decoration: none; border-top: 1px solid var(--brd);
55-
display: flex; align-items: center; color: var(--txt); font-size: 11px;
22+
#overlay {
23+
display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%;
24+
background: rgba(5, 5, 5, 0.98); z-index: 1000;
25+
flex-direction: column; align-items: center; justify-content: center;
5626
}
57-
.creator-link b { color: #fff; margin-left: 5px; }
27+
.loader-box { width: 350px; text-align: center; }
28+
.bar-bg { width: 100%; height: 1px; background: #222; margin-top: 20px; overflow: hidden; }
29+
.bar-fill { width: 0%; height: 100%; background: var(--acc); transition: width 15s linear; }
30+
.status { color: #fff; font-size: 11px; margin-top: 25px; height: 15px; font-weight: 300; opacity: 0.8; }
5831

59-
#status { position: fixed; bottom: 20px; right: 20px; font-size: 10px; color: #444; pointer-events: none; }
32+
.main { flex: 1; display: flex; background: var(--brd); }
33+
.editor-container { flex: 1; display: flex; flex-direction: column; background: var(--bg); position: relative; }
34+
textarea { flex: 1; background: transparent; border: none; color: var(--main); padding: 30px; resize: none; outline: none; font-size: 12px; line-height: 1.6; }
6035
</style>
6136
</head>
6237
<body>
6338

64-
<div class="sidebar">
65-
<div class="brand-row">
66-
<svg class="gh-logo" viewBox="0 0 24 24"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"/></svg>
67-
<svg class="lua-logo" viewBox="0 0 128 128">
68-
<circle cx="64" cy="64" r="60" fill="#000080"/>
69-
<circle cx="84" cy="44" r="18" fill="#fff"/>
70-
</svg>
71-
</div>
72-
73-
<div class="title-block">
74-
<div class="title">pobfus</div>
75-
<div class="subtitle">v1.11.05-40 stable</div>
76-
</div>
77-
78-
<div class="nav-group">
79-
<button class="btn btn-run" id="obfuscateBtn">execute process</button>
80-
<button class="btn" id="dlBtn">download .lua build</button>
81-
<button class="btn" id="clearBtn">purge buffer</button>
82-
</div>
83-
84-
<div class="changelog">
85-
<span class="log-v">v1.11.06 (march 11)</span>
86-
<span class="log-i" style="color:var(--acc)">> schedule confirmed</span>
87-
88-
<span class="log-v" style="margin-top:10px">v1.11.05-40</span>
89-
<span class="log-i">> replaced copy with download</span>
90-
<span class="log-i">> file_blob dispatcher active</span>
91-
</div>
92-
93-
<a href="https://github.com/tenringsofdoom1x" class="creator-link" target="_blank">
94-
@ <b>tenringsofdoom1x</b>
95-
</a>
39+
<div id="overlay">
40+
<div class="loader-box">
41+
<div class="status" id="stxt">preparing environment...</div>
42+
<div class="bar-bg"><div class="bar-fill" id="lbar"></div></div>
9643
</div>
44+
</div>
9745

98-
<div class="main">
99-
<div class="editor-container"><textarea id="input" spellcheck="false" placeholder="-- source_input"></textarea></div>
100-
<div class="editor-container"><textarea id="output" spellcheck="false" readonly placeholder="-- output_stream"></textarea></div>
46+
<div class="sidebar">
47+
<div class="brand-row">
48+
<img src="https://i.ibb.co/HThqqB3k/icons8-lua-logo.jpg" class="lua-logo" alt="lua">
49+
<div class="title">pobfus</div>
50+
</div>
51+
<div class="v-badge">v1.11.06 stable</div>
52+
53+
<button class="btn btn-run" id="go">execute process</button>
54+
<button class="btn" id="dl">download .lua build</button>
55+
<button class="btn" id="cl">purge all buffers</button>
56+
57+
<div style="margin-top:auto; padding-top:15px; border-top: 1px solid var(--brd);">
58+
<a href="https://tenringsofdoom1x.github.io/" style="text-decoration:none; color:var(--txt); font-size:10px;">authorized creator:<br><b style="color:#fff">tenringsofdoom1x.github.io</b></a>
10159
</div>
60+
</div>
10261

103-
<div id="status"></div>
104-
105-
<script>
106-
const input = document.getElementById('input');
107-
const output = document.getElementById('output');
108-
const status = document.getElementById('status');
109-
110-
const setStatus = (msg) => {
111-
status.innerText = `> ${msg}`;
112-
setTimeout(() => status.innerText = '', 3000);
113-
};
114-
115-
const obfuscate = () => {
116-
const src = input.value.trim();
117-
if(!src) return setStatus('err: empty_buffer');
118-
119-
setStatus('virtualizing...');
120-
121-
setTimeout(() => {
122-
try {
123-
const minified = src.replace(/--.*$/gm, '').replace(/\s+/g, ' ').trim();
124-
const key = Math.floor(Math.random() * 50) + 20;
125-
const bytes = Array.from(minified).map(char => char.charCodeAt(0) ^ key).join(',');
126-
127-
const build = `--[[ pobfus // v1.11.05-40 ]]\n` +
128-
`local _mem = {${bytes}};\n` +
129-
`local _k = ${key};\n` +
130-
`task.spawn(function()\n` +
131-
` local _s = ""; for _,v in pairs(_mem) do _s=_s..string.char(bit32.bxor(v,_k)) end;\n` +
132-
` local _vm, _e = loadstring(_s); if _vm then setfenv(_vm, getfenv()); _vm(); else warn("pobfus_err: ".._e) end\n` +
133-
`end);`;
134-
135-
output.value = build;
136-
setStatus('build_complete');
137-
} catch(e) {
138-
setStatus('err: build_fault');
139-
}
140-
}, 600);
141-
};
142-
143-
document.getElementById('obfuscateBtn').onclick = obfuscate;
144-
145-
document.getElementById('dlBtn').onclick = () => {
146-
if(!output.value) return setStatus('err: nothing_to_download');
147-
const blob = new Blob([output.value], {type: "text/plain"});
148-
const url = URL.createObjectURL(blob);
149-
const a = document.createElement('a');
150-
a.href = url;
151-
a.download = "pobfus_build.lua";
152-
a.click();
153-
URL.revokeObjectURL(url);
154-
setStatus('file_dispatched');
155-
};
156-
157-
document.getElementById('clearBtn').onclick = () => {
158-
input.value = '';
159-
output.value = '';
160-
setStatus('buffer_purged');
161-
};
162-
163-
input.oninput = () => { if(output.value) output.value = ''; };
164-
</script>
62+
<div class="main">
63+
<div class="editor-container" style="border-right: 1px solid var(--brd);">
64+
<textarea id="in" spellcheck="false" placeholder="-- input source"></textarea>
65+
</div>
66+
<div class="editor-container">
67+
<textarea id="out" spellcheck="false" readonly placeholder="-- await 15s sequence"></textarea>
68+
</div>
69+
</div>
70+
71+
<script>
72+
const iel = document.getElementById('in'), oel = document.getElementById('out');
73+
const overlay = document.getElementById('overlay'), lbar = document.getElementById('lbar'), stxt = document.getElementById('stxt');
74+
75+
const gs = (l) => { let s = 'I'; for(let i=0; i<l; i++) s += (Math.random() > 0.5 ? 'l' : 'I'); return s; };
76+
const genID = () => {
77+
const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
78+
let res = '';
79+
for(let i=0; i<11; i++) res += chars.charAt(Math.floor(Math.random() * chars.length));
80+
return res;
81+
};
82+
83+
const phrases = [
84+
"mapping virtual instructions",
85+
"scanning for logical vulnerabilities",
86+
"shadowing global environment",
87+
"applying ghost layer encryption",
88+
"injecting randomized junk layers",
89+
"wrapping execution scream",
90+
"finalizing distribution blob",
91+
"hiding internal warnings"
92+
];
93+
94+
document.getElementById('go').onclick = () => {
95+
if(!iel.value.trim()) return;
96+
overlay.style.display = 'flex';
97+
lbar.style.width = '0%';
98+
setTimeout(() => lbar.style.width = '100%', 100);
99+
100+
let shuffled = phrases.sort(() => 0.5 - Math.random());
101+
shuffled.forEach((m, i) => {
102+
setTimeout(() => { stxt.innerText = m + "..."; }, i * 1800);
103+
});
104+
105+
setTimeout(() => {
106+
const k = Math.floor(Math.random() * 80) + 20;
107+
const watermark = "obfuscated by pobfus // tenringsofdoom1x.github.io";
108+
const protection = `local _w = "${watermark}"; if not _G.pobfus_verified then warn(_w) end; `;
109+
110+
const d = (protection + iel.value).split('').map(c => "\\" + (c.charCodeAt(0) ^ k)).join('');
111+
const f = gs(12);
112+
113+
let b = `--[[ ${watermark} ]]\n`;
114+
const junkLines = Math.floor(Math.random() * 50) + 35;
115+
for(let i=0; i<junkLines; i++) b += `local ${gs(10)} = ${Math.floor(Math.random()*1000)} + ${Math.floor(Math.random()*1000)};\n`;
116+
117+
b += `local ${f} = function() local _k,_d = ${k},"${d}"; local _r = ""; for i=1,#_d do _r=_r..string.char(bit32.bxor(string.byte(string.sub(_d,i,i)),_k)) end; local _x=loadstring(_r); if _x then setfenv(_x,getfenv()); _x(); end end; ${f}();\n`;
118+
119+
oel.value = b;
120+
overlay.style.display = 'none';
121+
}, 15000);
122+
};
123+
124+
document.getElementById('dl').onclick = () => {
125+
if(!oel.value) return;
126+
const blob = new Blob([oel.value], {type: "text/plain"});
127+
const a = document.createElement('a');
128+
a.href = URL.createObjectURL(blob);
129+
a.download = `pobfus-${genID()}-110.lua.txt`;
130+
a.click();
131+
};
132+
133+
document.getElementById('cl').onclick = () => { iel.value = ""; oel.value = ""; };
134+
</script>
165135
</body>
166-
</html>
136+
</html>

0 commit comments

Comments
 (0)