Under the hood
Why XMAX is written in Go, not PHP.
Xtream-era panels are PHP: a folder of scripts the web server starts from scratch
for every request. XMAX is a compiled Go program that starts once and stays running. The speed,
the security and the headroom all come from that one difference.
A PHP panelXMAX, in Go
Speed
Every playlist pull and every API call boots the
application again: load the scripts, open the database, answer, throw it all away. Under load,
most of the work is starting up.
Already running. Routes loaded, database
connections pooled, hot data held in memory, and all of it compiled to machine code instead of
interpreted. A request is answered as it arrives, so playlists load and channels change without
waiting on a script.
Security
Lives on your server as editable source. One
upload bug or one leaked login lets an attacker drop in a script that runs as the panel — the
same way backdoored “nulled” copies get made and passed around.
Ships as one compiled binary, bound to your
license and your hardware. There is no source on the server to read, patch or plant, and no
interpreter that will run whatever file it is handed. Less software facing the internet, less
to break into.
Scale
One worker process for each connection, tens of
megabytes apiece. A busy evening becomes a wall of processes competing for memory, and the
usual fix is a bigger server.
Each connection is a lightweight task inside one
program that uses every CPU core. The same server carries far more lines, and growing means one
more small binary on a new node, linked back to the panel over WebSocket.