mirror of
https://github.com/Direct-Dev-Ru/go-lcg.git
synced 2025-11-16 01:29:55 +00:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 9365e0833c | |||
| 731784b420 |
@@ -70,6 +70,8 @@ ENV LCG_PROMPT_FOLDER=/app/data/prompts
|
|||||||
ENV LCG_CONFIG_FOLDER=/app/data/config
|
ENV LCG_CONFIG_FOLDER=/app/data/config
|
||||||
ENV LCG_SERVER_HOST=0.0.0.0
|
ENV LCG_SERVER_HOST=0.0.0.0
|
||||||
ENV LCG_SERVER_PORT=8080
|
ENV LCG_SERVER_PORT=8080
|
||||||
|
ENV LCG_DOMAIN="remote.ollama-server.ru"
|
||||||
|
ENV LCG_COOKIE_PATH="/lcg"
|
||||||
# ENV LCG_SERVER_ALLOW_HTTP=true
|
# ENV LCG_SERVER_ALLOW_HTTP=true
|
||||||
# ENV OLLAMA_HOST=127.0.0.1
|
# ENV OLLAMA_HOST=127.0.0.1
|
||||||
# ENV OLLAMA_PORT=11434
|
# ENV OLLAMA_PORT=11434
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
v.2.0.18
|
v.2.0.19
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
v.2.0.18
|
v.2.0.19
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ metadata:
|
|||||||
namespace: lcg
|
namespace: lcg
|
||||||
data:
|
data:
|
||||||
# Основные настройки
|
# Основные настройки
|
||||||
LCG_VERSION: "v.2.0.18"
|
LCG_VERSION: "v.2.0.19"
|
||||||
LCG_BASE_PATH: "/lcg"
|
LCG_BASE_PATH: "/lcg"
|
||||||
LCG_SERVER_HOST: "0.0.0.0"
|
LCG_SERVER_HOST: "0.0.0.0"
|
||||||
LCG_SERVER_PORT: "8080"
|
LCG_SERVER_PORT: "8080"
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ metadata:
|
|||||||
namespace: lcg
|
namespace: lcg
|
||||||
labels:
|
labels:
|
||||||
app: lcg
|
app: lcg
|
||||||
version: v.2.0.18
|
version: v.2.0.19
|
||||||
spec:
|
spec:
|
||||||
replicas: 1
|
replicas: 1
|
||||||
selector:
|
selector:
|
||||||
@@ -18,7 +18,7 @@ spec:
|
|||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: lcg
|
- name: lcg
|
||||||
image: kuznetcovay/lcg:v.2.0.18
|
image: kuznetcovay/lcg:v.2.0.19
|
||||||
imagePullPolicy: Always
|
imagePullPolicy: Always
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 8080
|
- containerPort: 8080
|
||||||
|
|||||||
@@ -15,11 +15,11 @@ resources:
|
|||||||
# Common labels
|
# Common labels
|
||||||
# commonLabels:
|
# commonLabels:
|
||||||
# app: lcg
|
# app: lcg
|
||||||
# version: v.2.0.18
|
# version: v.2.0.19
|
||||||
# managed-by: kustomize
|
# managed-by: kustomize
|
||||||
|
|
||||||
# Images
|
# Images
|
||||||
# images:
|
# images:
|
||||||
# - name: lcg
|
# - name: lcg
|
||||||
# newName: kuznetcovay/lcg
|
# newName: kuznetcovay/lcg
|
||||||
# newTag: v.2.0.18
|
# newTag: v.2.0.19
|
||||||
|
|||||||
@@ -135,16 +135,9 @@ func setAuthCookie(w http.ResponseWriter, token string) {
|
|||||||
MaxAge: config.AppConfig.Server.CookieTTLHours * 60 * 60,
|
MaxAge: config.AppConfig.Server.CookieTTLHours * 60 * 60,
|
||||||
}
|
}
|
||||||
|
|
||||||
// Устанавливаем Domain только если это не IP адрес и не 0.0.0.0
|
// Добавляем домен если указан
|
||||||
// При доступе по IP адресу не устанавливаем Domain, иначе cookie не будет работать
|
|
||||||
if config.AppConfig.Server.Domain != "" {
|
if config.AppConfig.Server.Domain != "" {
|
||||||
domain := config.AppConfig.Server.Domain
|
cookie.Domain = config.AppConfig.Server.Domain
|
||||||
// Проверяем, не является ли домен IP адресом или 0.0.0.0
|
|
||||||
if !isIPAddress(domain) && domain != "0.0.0.0" && domain != "::" && domain != "::1" {
|
|
||||||
cookie.Domain = domain
|
|
||||||
}
|
|
||||||
// Если domain пустой, 0.0.0.0 или IP адрес - не устанавливаем Domain
|
|
||||||
// Браузер автоматически применит cookie к текущему хосту
|
|
||||||
}
|
}
|
||||||
|
|
||||||
http.SetCookie(w, cookie)
|
http.SetCookie(w, cookie)
|
||||||
@@ -162,12 +155,9 @@ func clearAuthCookie(w http.ResponseWriter) {
|
|||||||
MaxAge: -1, // Удаляем cookie
|
MaxAge: -1, // Удаляем cookie
|
||||||
}
|
}
|
||||||
|
|
||||||
// Устанавливаем Domain только если это не IP адрес
|
// Добавляем домен если указан
|
||||||
if config.AppConfig.Server.Domain != "" {
|
if config.AppConfig.Server.Domain != "" {
|
||||||
domain := config.AppConfig.Server.Domain
|
cookie.Domain = config.AppConfig.Server.Domain
|
||||||
if !isIPAddress(domain) && domain != "0.0.0.0" && domain != "::" && domain != "::1" {
|
|
||||||
cookie.Domain = domain
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
http.SetCookie(w, cookie)
|
http.SetCookie(w, cookie)
|
||||||
|
|||||||
@@ -8,8 +8,6 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"net/http"
|
"net/http"
|
||||||
"os"
|
"os"
|
||||||
"strconv"
|
|
||||||
"strings"
|
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/direct-dev-ru/linux-command-gpt/config"
|
"github.com/direct-dev-ru/linux-command-gpt/config"
|
||||||
@@ -174,16 +172,9 @@ func setCSRFCookie(w http.ResponseWriter, token string) {
|
|||||||
MaxAge: CSRFTokenLifetimeSeconds, // Минимум 12 часов в секундах
|
MaxAge: CSRFTokenLifetimeSeconds, // Минимум 12 часов в секундах
|
||||||
}
|
}
|
||||||
|
|
||||||
// Устанавливаем Domain только если это не IP адрес и не 0.0.0.0
|
// Добавляем домен если указан
|
||||||
// При доступе по IP адресу не устанавливаем Domain, иначе cookie не будет работать
|
|
||||||
if config.AppConfig.Server.Domain != "" {
|
if config.AppConfig.Server.Domain != "" {
|
||||||
domain := config.AppConfig.Server.Domain
|
cookie.Domain = config.AppConfig.Server.Domain
|
||||||
// Проверяем, не является ли домен IP адресом или 0.0.0.0
|
|
||||||
if !isIPAddress(domain) && domain != "0.0.0.0" && domain != "::" && domain != "::1" {
|
|
||||||
cookie.Domain = domain
|
|
||||||
}
|
|
||||||
// Если domain пустой, 0.0.0.0 или IP адрес - не устанавливаем Domain
|
|
||||||
// Браузер автоматически применит cookie к текущему хосту
|
|
||||||
}
|
}
|
||||||
|
|
||||||
http.SetCookie(w, cookie)
|
http.SetCookie(w, cookie)
|
||||||
@@ -201,12 +192,9 @@ func СlearCSRFCookie(w http.ResponseWriter) {
|
|||||||
MaxAge: -1,
|
MaxAge: -1,
|
||||||
}
|
}
|
||||||
|
|
||||||
// Устанавливаем Domain только если это не IP адрес
|
// Добавляем домен если указан
|
||||||
if config.AppConfig.Server.Domain != "" {
|
if config.AppConfig.Server.Domain != "" {
|
||||||
domain := config.AppConfig.Server.Domain
|
cookie.Domain = config.AppConfig.Server.Domain
|
||||||
if !isIPAddress(domain) && domain != "0.0.0.0" && domain != "::" && domain != "::1" {
|
|
||||||
cookie.Domain = domain
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
http.SetCookie(w, cookie)
|
http.SetCookie(w, cookie)
|
||||||
@@ -282,17 +270,3 @@ func InitCSRFManager() error {
|
|||||||
func GetCSRFManager() *CSRFManager {
|
func GetCSRFManager() *CSRFManager {
|
||||||
return csrfManager
|
return csrfManager
|
||||||
}
|
}
|
||||||
|
|
||||||
// isIPAddress проверяет, является ли строка IPv4 адресом
|
|
||||||
func isIPAddress(s string) bool {
|
|
||||||
parts := strings.Split(s, ".")
|
|
||||||
if len(parts) != 4 {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
for _, part := range parts {
|
|
||||||
if num, err := strconv.Atoi(part); err != nil || num < 0 || num > 255 {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user