About & credits
Nika's Server is a personal web app: a chat room, a file drop and a small admin panel, all running on hardware I own.
How it is hosted
| Machine | A Windows PC at home, kept awake while the site is up |
|---|---|
| Application | Python 3 + Flask, listening only on 127.0.0.1:8090 |
| Public entry | Cloudflare Tunnel (outbound connection only — no open router ports) |
| Domain | nikaez.site, registered at Namecheap, DNS on Cloudflare |
| Storage | JSON files in chattingchatlogs/, uploads in uploads/ |
Platform & architecture
The server renders pages with Jinja templates and exposes a small JSON API for chat and file operations. The browser polls that API for new messages, so no WebSocket infrastructure is needed. Accounts use Flask's signed session cookie; passwords are hashed with Werkzeug's PBKDF2 implementation.
Uploaded files are renamed to random identifiers on disk, and every read goes through an ownership/visibility check. Nothing in the uploads folder is served directly by path.
Credits
| Design & development | Nika |
|---|---|
| Built with | Python, Flask, Werkzeug, Jinja, plain CSS and JavaScript |
| Tunnelling | Cloudflare Tunnel (cloudflared) |
| Fonts | System UI fonts only — nothing loaded from third parties |
Reporting something
Use the Report / rate button in the footer on any page. Reports go straight to the admin's log, and you do not need an account to send one.