76 lines
2.3 KiB
Go
76 lines
2.3 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"time"
|
|
webserver "vServer/Backend/WebServer"
|
|
admin "vServer/Backend/admin/go"
|
|
json_admin "vServer/Backend/admin/go/json"
|
|
config "vServer/Backend/config"
|
|
tools "vServer/Backend/tools"
|
|
)
|
|
|
|
func main() {
|
|
|
|
if !tools.CheckSingleInstance() {
|
|
println("")
|
|
println(tools.Color("❌ ОШИБКА:", tools.Красный) + " vServer уже запущен!")
|
|
println(tools.Color("💡 Подсказка:", tools.Жёлтый) + " Завершите уже запущенный процесс перед запуском нового.")
|
|
println("")
|
|
println("Нажмите Enter для завершения...")
|
|
fmt.Scanln()
|
|
return
|
|
}
|
|
|
|
// Освобождаем мьютекс при выходе (опционально, так как Windows сама освободит)
|
|
defer tools.ReleaseMutex()
|
|
|
|
println("")
|
|
println(tools.Color("vServer", tools.Жёлтый) + tools.Color(" 1.0.0", tools.Голубой))
|
|
println(tools.Color("Автор: ", tools.Зелёный) + tools.Color("Суманеев Роман (c) 2025", tools.Голубой))
|
|
println(tools.Color("Официальный сайт: ", tools.Зелёный) + tools.Color("https://voxsel.ru", tools.Голубой))
|
|
|
|
println("")
|
|
println("🚀 Запуск vServer...")
|
|
println("📁 Файлы сайта будут обслуживаться из папки 'www'")
|
|
println("")
|
|
println("⏳ Запуск сервисов...")
|
|
println("")
|
|
|
|
// Инициализируем время запуска сервера
|
|
tools.ServerUptime("start")
|
|
|
|
config.LoadConfig()
|
|
time.Sleep(50 * time.Millisecond)
|
|
|
|
webserver.StartHandler()
|
|
time.Sleep(50 * time.Millisecond)
|
|
|
|
// Запускаем серверы в горутинах
|
|
go admin.StartAdmin()
|
|
time.Sleep(50 * time.Millisecond)
|
|
|
|
webserver.Cert_start()
|
|
time.Sleep(50 * time.Millisecond)
|
|
|
|
go webserver.StartHTTPS()
|
|
json_admin.UpdateServerStatus("HTTPS Server", "running")
|
|
time.Sleep(50 * time.Millisecond)
|
|
|
|
go webserver.StartHTTP()
|
|
json_admin.UpdateServerStatus("HTTP Server", "running")
|
|
time.Sleep(50 * time.Millisecond)
|
|
|
|
webserver.PHP_Start()
|
|
json_admin.UpdateServerStatus("PHP Server", "running")
|
|
time.Sleep(50 * time.Millisecond)
|
|
|
|
webserver.StartMySQLServer(false)
|
|
json_admin.UpdateServerStatus("MySQL Server", "running")
|
|
time.Sleep(50 * time.Millisecond)
|
|
|
|
println("")
|
|
webserver.CommandListener()
|
|
|
|
}
|