ezhik.

Veil Browser

Прототип
GitHub ↗ Скачать ZIP
README.md1.7 KB · markdownraw
# Veil API

Базовый Go-бэкенд для временных сессий браузера. Сервер использует только стандартную библиотеку Go и не сохраняет историю на диск.

## Структура

```text
backend/
├── cmd/server/          запуск HTTP-сервера
├── internal/config/     переменные окружения
├── internal/httpapi/    маршруты, cookie, CORS и HTTP-ответы
└── internal/session/    модель, проверка и хранилище сессий
```

## Запуск

```bash
cd backend
go run ./cmd/server
```

Сервер будет доступен на `http://localhost:8080`.

## API

| Метод | Путь | Назначение |
|---|---|---|
| `GET` | `/health` | проверка работы сервера |
| `POST` | `/api/v1/sessions` | создать временную сессию |
| `GET` | `/api/v1/sessions/current` | получить текущую сессию |
| `PUT` | `/api/v1/sessions/current` | сохранить вкладки и настройки |
| `DELETE` | `/api/v1/sessions/current` | удалить сессию |

Идентификатор хранится в `HttpOnly` cookie. Запросы состояния должны отправлять cookie вместе с запросом.

## Настройки

| Переменная | Значение по умолчанию |
|---|---|
| `HTTP_ADDR` | `:8080` |
| `APP_ORIGIN` | `http://localhost:3000` |
| `SESSION_TTL` | `30m` |
| `SESSION_CLEANUP_INTERVAL` | `1m` |
| `SECURE_COOKIES` | `false` локально, `true` с HTTPS |

## Проверка

```bash
go test ./...
go vet ./...
```