[release] v0.17.0-unstable23

This commit is contained in:
Yann Stepienik
2024-10-30 18:20:45 +00:00
parent 1e29ead816
commit fbd36ebb92
7 changed files with 54 additions and 15 deletions

View File

@@ -1,7 +1,7 @@
## Version 0.17.0
- Added RClone integration to manage and mount remote storage
- Added network shares for SFTP, NFS, WebDAV, and S3, with support for remote storages and smart-shield integration
- Added zip and deb packages for docker-less distribution
- Added zip packages for docker-less distribution
- Added TCP/UDP socket proxying
- TCP/UDP proxying includes smart-shield protections, constellation support, geoblocking, and monitoring
- Added terminal shortcut on the top right header

View File

@@ -1,6 +1,6 @@
{
"name": "cosmos-server",
"version": "0.17.0-unstable22",
"version": "0.17.0-unstable23",
"description": "",
"main": "test-server.js",
"bugs": {

View File

@@ -176,7 +176,7 @@ func PushSetMetric(key string, value int, def DataDef) {
defer func() { <-lock }()
if def.Decumulate || def.DecumulatePos {
if lastInserted[key] != 0 {
if lastInserted[key] != 0 && lastInserted[key] > value {
value = value - lastInserted[key]
if def.DecumulatePos && value < 0 {
value = 0

View File

@@ -346,7 +346,7 @@ func InitInternalSocketProxy() {
routesList = append(routesList, routes...)
for _, route := range routesList {
if route.UseHost && strings.Contains(route.Host, ":") {
if route.UseHost && strings.Contains(route.Host, ":") && !route.Disabled {
hostname := route.Host
port := strings.Split(hostname, ":")[1]
// if port is a number

View File

@@ -9,6 +9,7 @@ import (
"path/filepath"
"bufio"
"strings"
"syscall"
)
type ReleaseAsset struct {
@@ -136,6 +137,39 @@ func cleanUpUpdateFiles() {
// if cosmos-laumcher.updated exists, rename it to cosmos-launcher
updatedPath := currentFolder + "/cosmos-launcher.updated"
if _, err := os.Stat(updatedPath); err == nil {
os.Rename(updatedPath, currentFolder + "/cosmos-launcher")
// get old permissions
var perms os.FileMode
if info, err := os.Stat(currentFolder + "/cosmos-launcher"); err == nil {
perms = info.Mode()
} else {
fmt.Println("Update: Failed to get old permissions:", err)
}
// get old owner
var owner int
if info, err := os.Stat(currentFolder + "/cosmos-launcher"); err == nil {
owner = int(info.Sys().(*syscall.Stat_t).Uid)
} else {
fmt.Println("Update: Failed to get old owner:", err)
}
err := os.Rename(updatedPath, currentFolder + "/cosmos-launcher")
if err != nil {
fmt.Println("Update: Failed to rename cosmos-launcher.updated:", err)
}
// set old permissions
if perms != 0 {
err = os.Chmod(currentFolder + "/cosmos-launcher", perms)
if err != nil {
fmt.Println("Update: Failed to set old permissions:", err)
}
}
// set old owner
if owner != 0 {
err = os.Chown(currentFolder + "/cosmos-launcher", owner, -1)
if err != nil {
fmt.Println("Update: Failed to set old owner:", err)
}
}
}
}

View File

@@ -2,7 +2,6 @@ package utils
import (
"fmt"
"io"
"log"
"os"
@@ -53,14 +52,14 @@ func InitLogs() {
}
// Create a multi-writer to log to both file and stdout
multiWriter := io.MultiWriter(ljLogger, os.Stdout)
// multiWriter := io.MultiWriter(ljLogger, os.Stdout)
// Create a multi-writer for errors to log to both file and stderr
errorWriter := io.MultiWriter(ljLogger, os.Stderr)
// errorWriter := io.MultiWriter(ljLogger, os.Stderr)
// Create loggers
logger = log.New(multiWriter, "", log.Ldate|log.Ltime)
errorLogger = log.New(errorWriter, "", log.Ldate|log.Ltime)
logger = log.New(ljLogger, "", log.Ldate|log.Ltime)
errorLogger = log.New(ljLogger, "", log.Ldate|log.Ltime)
}
func RawLogMessage(level LogLevel, prefix, prefixColor, color, message string) {
@@ -68,8 +67,9 @@ func RawLogMessage(level LogLevel, prefix, prefixColor, color, message string) {
if ll <= level {
logString := prefixColor + Bold + prefix + Reset + " " + color + message + Reset
log.Println(logString)
if logger == nil || errorLogger == nil {
log.Println(logString)
return
}
@@ -86,15 +86,15 @@ func Debug(message string) {
}
func Log(message string) {
RawLogMessage(INFO, "[INFO ]", bBlue, nBlue, message)
RawLogMessage(INFO, "[INFO] ", bBlue, nBlue, message)
}
func LogReq(message string) {
RawLogMessage(INFO, "[REQ ]", bGreen, nGreen, message)
RawLogMessage(INFO, "[REQ] ", bGreen, nGreen, message)
}
func Warn(message string) {
RawLogMessage(WARNING, "[WARN ]", bYellow, nYellow, message)
RawLogMessage(WARNING, "[WARN] ", bYellow, nYellow, message)
}
func Error(message string, err error) {
@@ -137,7 +137,9 @@ func Fatal(message string, err error) {
if err != nil {
errStr = err.Error()
}
errorLogger.Fatal(bRed + "[FATAL]" + Reset + " " + nRed + message + " : " + errStr + Reset)
RawLogMessage(FATAL, "[FATAL]", bRed, nRed, message+" : "+errStr)
os.Exit(1)
}
func DoWarn(format string, a ...interface{}) string {

View File

@@ -1,3 +1,6 @@
#!/bin/bash
chmod +x cosmos
chmod +x cosmos-launcher
./cosmos-launcher && ./cosmos