Linux ip-172-26-2-223 5.4.0-1018-aws #18-Ubuntu SMP Wed Jun 24 01:15:00 UTC 2020 x86_64
Apache
: 172.26.2.223 | : 3.16.188.113
Cant Read [ /etc/named.conf ]
8.1.13
www
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
BLACK DEFEND!
README
+ Create Folder
+ Create File
/
www /
server /
panel /
BTPanel /
templates /
default /
[ HOME SHELL ]
Name
Size
Permission
Action
autherr.html
14.66
KB
-rwxr-xr-x
close.html
329
B
-rwxr-xr-x
config.html
27.09
KB
-rwxr-xr-x
control.html
15.72
KB
-rwxr-xr-x
crontab.html
4.08
KB
-rwxr-xr-x
database.html
6.76
KB
-rwxr-xr-x
docker.html
14.83
KB
-rwxr-xr-x
down.html
128.08
KB
-rwxr-xr-x
error.html
152
B
-rwxr-xr-x
error2.html
6.13
KB
-rwxr-xr-x
error3.html
7.74
KB
-rwxr-xr-x
files.html
24.26
KB
-rwxr-xr-x
files_test.html
4.81
KB
-rwxr-xr-x
firewall.html
24.12
KB
-rwxr-xr-x
firewall_new.html
14.68
KB
-rwxr-xr-x
ftp.html
12.65
KB
-rwxr-xr-x
index.html
13.88
KB
-rwxr-xr-x
index_new.html
3.88
KB
-rwxr-xr-x
install.html
2.35
KB
-rwxr-xr-x
layout.html
36.73
KB
-rwxr-xr-x
license.html
19.63
KB
-rwxr-xr-x
login.html
74.73
KB
-rwxr-xr-x
logs.html
22.37
KB
-rwxr-xr-x
modify_password.html
2.74
KB
-rwxr-xr-x
movie.html
131
B
-rwxr-xr-x
panel_error.html
1.02
KB
-rwxr-xr-x
plugin_error.html
1.45
KB
-rwxr-xr-x
site.html
4.15
KB
-rwxr-xr-x
soft.html
3.57
KB
-rwxr-xr-x
tips.html
56.32
KB
-rwxr-xr-x
unsubscribe.html
7.73
KB
-rwxr-xr-x
xterm.html
6.78
KB
-rwxr-xr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : unsubscribe.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Unsubscribe</title> <style> body { font-family: Arial, sans-serif; background-color: #f4f4f4; display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; } .unsubscribe-container { background-color: #fff; padding: 40px; border-radius: 10px; box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1); width: 350px; } h2 { font-size: 24px; margin-bottom: 20px; color: #444; } .options { margin: 20px 0; } .options label { display: flex; align-items: center; margin: 15px 0; font-size: 16px; } input[type="checkbox"] { margin-right: 10px; width: 18px; height: 18px; border-radius: 50%; accent-color:#20a53a; } button { padding: 12px 0px; background-color: #20a53a; color: white; border: none; border-radius: 5px; cursor: pointer; font-size: 16px; transition: background-color 0.3s ease; width: 100%; } button:hover { background-color: #25b942; } /* loading效果 */ .loading { position: absolute; display: none; align-items: center; background-color: white; padding: 10px 40px; border-radius: 10px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1); } .spinner { border: 8px solid rgba(0, 0, 0, 0.1); border-left-color: #3498db; border-radius: 50%; width: 20px; height: 20px; margin-right: 15px; animation: spin 1s linear infinite; } @keyframes spin { to { transform: rotate(360deg); } } .icon { font-size: 20px; margin-right: 10px; } </style> </head> <body> <div id="loading" class="loading"> <div class="spinner"></div> <p>Loading...</p> </div> <div id="success-message" class="loading"> <div class="icon">✔️</div> <p id="tips_success"></p> </div> <div id="error-message" class="loading"> <div class="icon">❌</div> <p id="tips_error"></p> </div> <div class="unsubscribe-container" id="container"> <h2>Are you sure to unsubscribe?</h2> <div class="options" id="reasonOptions"> <label><input type="checkbox" id="selectAll">Select All</label> </div> <button onclick="confirmUnsubscribe()">Sure</button> </div> <script> // 维护用原生写法(Network reasons:不引入jq\layer) function showSuccess(value) { const successBox = document.getElementById('success-message'); const containerBox = document.getElementById('container'); const tips = document.getElementById('tips_success') tips.textContent = value containerBox.style.display = 'none'; successBox.style.display = 'flex'; } function showError(value) { const errorBox = document.getElementById('error-message'); const tips = document.getElementById('tips_error') tips.textContent = value errorBox.style.display = 'flex'; setTimeout(() => { errorBox.style.display = 'none'; }, 2000); } // 获取页面传参 function getQueryParams() { const params = {}; const queryString = window.location.search.substring(1); const regex = /([^&=]+)=([^&]*)/g; let m; while (m = regex.exec(queryString)) { params[decodeURIComponent(m[1])] = decodeURIComponent(m[2]); } return params; } var params; // 参数 window.onload = function() { params = getQueryParams(); requestType({email:this.params.email}); } // 渲染页面类型 function renderType(data) { const reasonOptionsDiv = document.getElementById('reasonOptions'); data.forEach(reason => { const label = document.createElement('label'); const checkbox = document.createElement('input'); checkbox.type = 'checkbox'; checkbox.name = 'reason'; checkbox.value = reason.id; label.appendChild(checkbox); label.appendChild(document.createTextNode(reason.mail_type)); reasonOptionsDiv.appendChild(label); }); // 绑定全选复选框事件 const selectAllCheckbox = document.getElementById('selectAll'); selectAllCheckbox.addEventListener('change', () => { const checkboxes = document.querySelectorAll('input[name="reason"]'); checkboxes.forEach(checkbox => { checkbox.checked = selectAllCheckbox.checked; // 同步选中状态 }); }); // 监测其他复选框的选中状态 reasonOptionsDiv.addEventListener('change', () => { const checkboxes = document.querySelectorAll('input[name="reason"]'); const allChecked = Array.from(checkboxes).every(checkbox => checkbox.checked); selectAllCheckbox.checked = allChecked; // 更新全选复选框的状态 }); } // 请求取消订阅类型 function requestType(reqData) { document.getElementById('loading').style.display = 'flex'; fetch(params.url_type, { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, body: new URLSearchParams(reqData).toString() }) .then(response => response.json()) .then(data => { if (data.status){ this.renderType(data.msg); }else{ this.showError(data.msg) } }) .catch((err) => { this.showError(err) }) .finally(() => { document.getElementById('loading').style.display = 'none'; }); } // 请求取消订阅 function requestApi(value) { document.getElementById('loading').style.display = 'flex'; const data = { jwt: params.jwt, id: value }; fetch(params.url_unsubscribe, { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, body: new URLSearchParams(data).toString() }) .then(response => { if (!response.ok) { throw new Error('Network response was not ok'); } return response.json(); }) .then((res) => { if(res.status){ this.showSuccess(res.msg) }else{ this.showError(res.msg) } }) .catch((err) => { this.showError(err) }) .finally(() => { document.getElementById('loading').style.display = 'none'; }); } // 确认取消事件 function confirmUnsubscribe() { const selectedReasons = Array.from(document.querySelectorAll('input[name="reason"]:checked')) .map(checkbox => checkbox.value) .join(','); if (!selectedReasons) { this.showError('Please select at least one') return; } requestApi(selectedReasons); } </script> </body> </html>
Close