Files
thePlug/README.md
T
2026-04-13 01:30:11 +02:00

80 lines
1.4 KiB
Markdown

# thePlug - plugger/proxy Barese
icona di una presa della spina idk
## Architettura
```
FastAPI + MongoDB + Redis
```
## Quick Setup (prod)
```bash
bash <(curl -s https://git.reloia.uk/reloia/thePlug/raw/branch/master/setup.sh)
```
## Setup Dev
imposta le variabili d'ambiente
```bash
cp .env.example .env
# modifica le variabili
nano .env
```
variabili auth richieste in `.env`:
```bash
JWT_SECRET_KEY=change-this-secret
JWT_ALGORITHM=HS256
JWT_EXPIRE_MINUTES=30
AUTH_USERNAME=admin
AUTH_PASSWORD=change-this-password
```
avvia i servizi e il server locale
```bash
docker compose up -d mongodb redis
```
```bash
fastapi dev app/main.py
```
accedi a FastAPI su: [FastAPI docs](http://localhost:3671/docs)
## Auth API
Gli endpoint auth disponibili sono solo:
- `POST /auth/login`
- `POST /auth/logout`
Esempio login:
```bash
curl -X POST http://localhost:3671/auth/login \
-H "Content-Type: application/json" \
-d '{"username":"admin","password":"change-this-password"}'
```
L'access token ottenuto va inviato come bearer token:
```bash
curl http://localhost:3671/proxy \
-H "Authorization: Bearer <ACCESS_TOKEN>"
```
Esempio logout (revoca server-side del token):
```bash
curl -X POST http://localhost:3671/auth/logout \
-H "Authorization: Bearer <ACCESS_TOKEN>"
```
## Documentazione per Sviluppo
[MitMProxy examples](https://docs.mitmproxy.org/stable/addons/examples/)