Compare commits
3 Commits
03ce59fdfe
...
main
Author | SHA1 | Date | |
---|---|---|---|
c42d5a2652 | |||
cf035941c8 | |||
e83587d2b0 |
63
README.md
63
README.md
@ -1,3 +1,62 @@
|
|||||||
# THOS-Server
|
# THOS Server
|
||||||
|
|
||||||
THOS Server is the open source server for the THOS Operating System
|
**THOS Server** is the open source backend server for the [THOS Operating System](https://surillya.com/thos), a premium kiosk-style Linux distribution. It handles the whole server, like session persistence, OOBE (Out-of-Box Experience), and local app installer for the THOS ecosystem.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- Local PHP server for kiosk-mode environments
|
||||||
|
- Persistent session and configuration data (beyond cookies/localStorage)
|
||||||
|
- Built to run smoothly in Chromium or Firefox kiosk mode under Arch or similar
|
||||||
|
|
||||||
|
## 📸 Screenshots
|
||||||
|
|
||||||
|
   
|
||||||
|
|
||||||
|
## ⚙️ Setup Instructions
|
||||||
|
|
||||||
|
1. Clone the repo:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone https://tea.surillya.com/Surillyacom/THOS-Server.git
|
||||||
|
cd THOS-Server
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Install dependencies:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo pacman -S php
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Launch local server (as sudo):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo php -S 0.0.0.0:80
|
||||||
|
```
|
||||||
|
|
||||||
|
4. Access it in your browser: [http://localhost](http://localhost)
|
||||||
|
|
||||||
|
## 🔒 Security
|
||||||
|
|
||||||
|
The server runs per default as sudo, since it's intended to run server-side commands. This may lead to security issues, so don't just expose it to the web, or give anyone access! And watch out for what apps you install - we recommend only installing *verified* apps from the official THOS store!
|
||||||
|
|
||||||
|
## 🧠 Behind the Scenes
|
||||||
|
|
||||||
|
THOS is designed to run on a minimalistic Linux distro with kiosk capabilities. It ties together:
|
||||||
|
|
||||||
|
* Firefox in kiosk mode
|
||||||
|
* Local server logic for user interaction
|
||||||
|
* Persistent configuration for headless reboots
|
||||||
|
|
||||||
|
## 📄 License
|
||||||
|
|
||||||
|
This project is licensed under the **Apache 2.0 License**. See the [LICENSE](LICENSE) file for details.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🫶 Credits
|
||||||
|
|
||||||
|
THOS Server is a project by [Surillyacom Entertainment](https://surillya.com/), powered by hours of work and caffeine!
|
10
index.php
10
index.php
@ -395,20 +395,20 @@
|
|||||||
<h2 class="text-xl font-semibold mb-6 tracking-wide">Power Options</h2>
|
<h2 class="text-xl font-semibold mb-6 tracking-wide">Power Options</h2>
|
||||||
<div class="space-y-3">
|
<div class="space-y-3">
|
||||||
<button id="shutdownBtn"
|
<button id="shutdownBtn"
|
||||||
class="w-full py-2 px-4 border border-dotted rounded-xl transition-all duration-200 text-sm bg-white/5 hover:bg-white/10 backdrop-blur-sm border-red-400 text-red-300 hover:text-red-100 hover:border-red-300">Shutdown</button>
|
class="w-full py-2 px-4 border border-dotted rounded-xl transition-all duration-200 text-sm bg-black/40 hover:bg-black/50 backdrop-blur-sm border-red-400 text-red-300 hover:text-red-100 hover:border-red-300">Shutdown</button>
|
||||||
<button id="restartBtn"
|
<button id="restartBtn"
|
||||||
class="w-full py-2 px-4 border border-dotted rounded-xl transition-all duration-200 text-sm bg-white/5 hover:bg-white/10 backdrop-blur-sm border-yellow-400 text-yellow-300 hover:text-yellow-100 hover:border-yellow-300">Restart</button>
|
class="w-full py-2 px-4 border border-dotted rounded-xl transition-all duration-200 text-sm bg-black/40 hover:bg-black/50 backdrop-blur-sm border-yellow-400 text-yellow-300 hover:text-yellow-100 hover:border-yellow-300">Restart</button>
|
||||||
<button id="reloadBtn"
|
<button id="reloadBtn"
|
||||||
class="w-full py-2 px-4 border border-dotted rounded-xl transition-all duration-200 text-sm bg-white/5 hover:bg-white/10 backdrop-blur-sm border-green-400 text-green-300 hover:text-green-100 hover:border-green-300">Reload</button>
|
class="w-full py-2 px-4 border border-dotted rounded-xl transition-all duration-200 text-sm bg-black/40 hover:bg-black/50 backdrop-blur-sm border-green-400 text-green-300 hover:text-green-100 hover:border-green-300">Reload</button>
|
||||||
<button id="cancelBtn"
|
<button id="cancelBtn"
|
||||||
class="w-full py-2 px-4 border border-dotted rounded-xl transition-all duration-200 text-sm bg-white/5 hover:bg-white/10 backdrop-blur-sm border-white/40 text-white hover:text-white hover:border-white/80">Cancel</button>
|
class="w-full py-2 px-4 border border-dotted rounded-xl transition-all duration-200 text-sm bg-black/40 hover:bg-black/50 backdrop-blur-sm border-white/40 text-white hover:text-white hover:border-white/80">Cancel</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
window.THOS = {
|
window.THOS = {
|
||||||
version: '6 Build-25'
|
version: '6 Build-26'
|
||||||
};
|
};
|
||||||
|
|
||||||
let timeoutSeconds = 180;
|
let timeoutSeconds = 180;
|
||||||
|
Reference in New Issue
Block a user