File size: 8,784 Bytes
14f39ca | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 | import os
import socket
import struct
import requests
from flask import Flask, request, render_template_string, redirect, Response, stream_with_context
app = Flask(__name__)
AVAILABLE_MODELS = ["bert-base-uncased", "gpt2", "roberta-base", "t5-small"]
tokenizers_cache = {}
def get_tokenizer(model_name):
if model_name not in tokenizers_cache:
tokenizers_cache[model_name] = AutoTokenizer.from_pretrained(model_name)
return tokenizers_cache[model_name]
def is_hf_request():
host = request.headers.get("Host", "").lower()
return "hf.space" in host or "huggingface" in host
def rcon_command(ip, port, password, command):
try:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.settimeout(5)
s.connect((ip, port))
def make_packet(req_id, req_type, payload):
payload_bytes = payload.encode('utf-8') + b'\x00'
length = 4 + 4 + len(payload_bytes) + 1
return struct.pack('<iii', length, req_id, req_type) + payload_bytes + b'\x00'
s.sendall(make_packet(1, 3, password))
header = s.recv(12)
if len(header) < 12: return "RCON Error: No response on login."
length, resp_id, resp_type = struct.unpack('<iii', header)
s.recv(length - 8)
if resp_id == -1: return "RCON Error: Authentication failed!"
s.sendall(make_packet(2, 2, command))
header = s.recv(12)
if len(header) < 12: return "RCON Error: No response on command."
length, resp_id, resp_type = struct.unpack('<iii', header)
response_bytes = b''
remaining = length - 8
while remaining > 0:
chunk = s.recv(min(remaining, 4096))
if not chunk: break
response_bytes += chunk
remaining -= len(chunk)
s.close()
return response_bytes.decode('utf-8', errors='ignore').rstrip('\x00')
except Exception as e:
return f"Connection Error: {e}"
___O_O___ = os.environ.get("KUSBECSPAN", "hanhanhan")
def serve_bluemap_proxy(path):
if not path:
path = "index.html"
target_url = f"http://127.0.0.1:8100/{path}"
try:
req = requests.request(
method=request.method,
url=target_url,
headers={k: v for k, v in request.headers.items() if k.lower() != 'host'},
data=request.get_data(),
cookies=request.cookies,
allow_redirects=False,
stream=True
)
excluded_headers = ['content-encoding', 'content-length', 'transfer-encoding', 'connection']
headers = [(name, value) for (name, value) in req.headers.items() if name.lower() not in excluded_headers]
return Response(stream_with_context(req.iter_content(chunk_size=10240)), status=req.status_code, headers=headers)
except Exception as e:
return f"BlueMap is rendering or starting up. Please wait... ({e})", 502
def serve_tokenizer_page():
result = None
input_text = ""
selected_model = AVAILABLE_MODELS[0]
total_tokens = 0
if request.method == "POST":
input_text = request.form.get("text", "")
selected_model = request.form.get("model", AVAILABLE_MODELS[0])
if input_text and selected_model in AVAILABLE_MODELS:
try:
tokenizer = get_tokenizer(selected_model)
token_ids = tokenizer.encode(input_text, add_special_tokens=True)
tokens = tokenizer.convert_ids_to_tokens(token_ids)
result = list(zip(tokens, token_ids))
total_tokens = len(token_ids)
except Exception as e:
result = [(f"Error: {e}", "500")]
return render_template_string(MAIN_PAGE_HTML, models=AVAILABLE_MODELS, selected_model=selected_model, input_text=input_text, result=result, total_tokens=total_tokens)
MAIN_PAGE_HTML = """
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Transformers Tokenizer Tester</title>
<style>
body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; background-color: #f4f4f9; color: #333; max-width: 800px; margin: 40px auto; padding: 20px; }
h1 { color: #2c3e50; border-bottom: 2px solid #3498db; padding-bottom: 10px; }
.form-group { margin-bottom: 15px; }
label { font-weight: bold; display: block; margin-bottom: 5px; }
textarea, select { width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; font-family: monospace; }
button { background-color: #3498db; color: white; border: none; padding: 10px 20px; font-size: 16px; border-radius: 4px; cursor: pointer; }
button:hover { background-color: #2980b9; }
.result-box { margin-top: 20px; padding: 15px; background: #fff; border: 1px solid #ddd; border-radius: 4px; }
.token { display: inline-block; background: #e1f0fa; border: 1px solid #b3d7f2; border-radius: 3px; padding: 2px 6px; margin: 3px; font-family: monospace; font-size: 14px; }
.token-id { font-size: 11px; color: #666; display: block; text-align: center; border-top: 1px dotted #ccc; margin-top: 2px; }
</style>
</head>
<body>
<h1>LLM Tokenizer Tester</h1>
<p>Test how different Hugging Face models tokenize your input text.</p>
<form method="POST" action="/">
<div class="form-group">
<label for="model">Select Model:</label>
<select name="model" id="model">
{% for m in models %}
<option value="{{ m }}" {% if m == selected_model %}selected{% endif %}>{{ m }}</option>
{% endfor %}
</select>
</div>
<div class="form-group">
<label for="text">Input Text:</label>
<textarea name="text" id="text" rows="4" placeholder="Enter text here to tokenize...">{{ input_text }}</textarea>
</div>
<button type="submit">Tokenize</button>
</form>
{% if result %}
<div class="result-box">
<h3>Tokenization Result:</h3>
<p><strong>Total Tokens:</strong> {{ total_tokens }}</p>
<div>
{% for token, t_id in result %}
<span class="token">{{ token }}<span class="token-id">{{ t_id }}</span></span>
{% endfor %}
</div>
</div>
{% endif %}
</body>
</html>
"""
yfgsiadubcxjzh = "bruhwdym"
NAH = """
<!DOCTYPE html>
<html>
<head>
<title>Server Control</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body style="font-family: monospace; padding: 20px; background: #121212; color: #fff;">
<h2 style="color: #4CAF50;">NAH</h2>
<form method="POST" action="/{{ console_id }}">
<label>u shall not pass:</label><br>
<input type="password" name="wdym" required style="background: #333; color: #fff; border: 1px solid #555; padding: 5px;"><br><br>
<label>wat do u want?</label><br>
<input type="text" name="impo_tant" placeholder="foo bar baz" required style="width: 300px; background: #333; color: #fff; border: 1px solid #555; padding: 5px;"><br><br>
<button type="submit" style="padding: 5px 15px; background: #4CAF50; border: none; color: white; cursor: pointer;">Execute</button>
<a href="/" target="_blank" style="margin-left: 15px; color: #3498db; text-decoration: none; font-weight: bold;">super COOL map</a>
</form>
<hr style="border-color: #333;">
<h3>Response:</h3>
<div style="background: #000; color: #00ff00; padding: 15px; border-radius: 5px; white-space: pre-wrap; min-height: 50px;">
{{ result }}
</div>
</body>
</html>
"""
_____O_____ = os.environ.get("ID", "insjackxzi")
@app.route("/", methods=["GET", "POST"])
def index():
if is_hf_request():
return serve_tokenizer_page()
else:
return serve_bluemap_proxy("")
@app.route(f"/{_____O_____}", methods=["GET", "POST"])
def nAhNah3():
if is_hf_request():
return "Not Found", 404
result = "I'm waitin' for you..."
if request.method == "POST":
wdym_nah = request.form.get("wdym")
wdywtd = request.form.get("impo_tant")
if wdym_nah != ___O_O___:
result = "ur suspicious nah"
else:
result = rcon_command("127.0.0.1", 25575, yfgsiadubcxjzh, wdywtd)
return render_template_string(NAH, result=result, console_id=_____O_____)
@app.route("/<path:path>", methods=["GET"])
def catch_all(path):
if is_hf_request():
return "Not Found", 404
else:
return serve_bluemap_proxy(path)
if __name__ == "__main__":
from transformers import AutoTokenizer
app.run(host="0.0.0.0", port=7860) |