# Le chiavi di configurazione di Total.js 5

> Configurare Total.js 5 tramite CONF: impostazioni di applicazione, risposte HTTP, e-mail e default.

Framework: total5
Product: Total.js 5 (total5@0.0.19)
Language: it
Content-SHA256: 6b3b73638842062a2372275913875a84187e82f2e86ced3023a55daf988a96ee
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: total5-installed@total5@0.0.19
Review: not-recorded

Il file `config` contiene una configurazione `key : value` per linea e i valori sono disponibili nell'oggetto globale `CONF` (vedere la ricetta di configurazione per il formato del file). le chiavi qui sotto sono definite da `total5` 0.0.19 con questi default; una chiave che non è qui e non nella seconda tabella è tua. **Le chiavi che iniziano con `$` sono le impostazioni del quadro** e le chiave `secret_` detengono segreti.

Imposta i valori di applicazione nel file di configurazione e leggi attraverso CONF. La tabella fornisce le impostazioni predefinite e lo scopo di ogni impostazione.

| Chiave | Predefinito | Nota |
|---|---|---|
| `name` | `'Total.js'` | Il nome dell'applicazione. In una vista, `@{'%name'}` lo stampa. |
| `version` | `'1.0.0'` | La versione dell'applicazione utilizzata nella produzione di startup, le statistiche e il suffix standard HTTP ETag (index.js). |
| `author` | `''` | L'autore dell'applicazione visualizzato da startup imprint when nonempty (index.js). |
| `secret` | `F.syshash` | Inserisci il segreto dell'applicazione esplicitamente nella configurazione. |
| `secret_encryption` | `''` | La lettura chiave per le rotte WebSocket crittografate; questo è distinto da un'opzione metadati crittografici di azione (websocket.js). |
| `secret_totalapi` | `''` | Il token Fallback è stato inviato dal driver TotalAPI (api.js); mantenere il server-side. |
| `secret_csrf` | `''` | Il segreto dei token CSRF. Vuoto: il controllo passa sempre. |
| `secret_tms` | `''` | Il token che i client TMS devono inviare nell'header `x-token`. |
| `$root` | `''` | URL prefix applicato ai percorsi di routing e asset; adatta anche il punto finale API predefinito (routing.js, index.js). |
| `$cors` | `''` | Nomi host separati da virgola. |
| `$api` | `'/api/'` | Un endpoint API predefinito. |
| `$sourcemap` | `true` | Impostazione dei metadati di caricamento; LOAD lo stabilisce dal modo DEBUG finale o lo disabilita per le caricature risorse selettive (index.js). |
| `$httpreqlimit` | `0` | Limite di richieste per IP. |
| `$httpcompress` | `true` | Consente gzip negoziato per risposte ammissibili; il percorso di risposta dinamica verifica un limite di 256 byte (controller.js). |
| `$httpetag` | `''` | È sufficiente per le ETags generate dal framework; quando vuota, la configurazione deriva dalla versione dell'app (index.js, controller.js). |
| `$httpmaxsize` | `256` | KB. |
| `$httprangebuffer` | `5120` | 5 MB. |
| `$httptimeout` | `5` | 5 secondi. |
| `$httpfiles` | `an object` | Le estensioni di file che vengono servite come file statiche, come oggetto `{ extension: true }`. |
| `$httpchecktypes` | `true` | Solo per dati multipart. |
| `$httpmaxage` | `60` | In secondi. |
| `$httpmaxkeys` | `33` | Il numero massimo di chiavi di query-string (utils.js); non un limite del campo JSON. |
| `$httpmaxkey` | `25` | Lunghezza massima della chiave di query utilizzata dal parzer di queries (utils.js). |
| `$httpcacheoffset` | `''` | Es. 1 minute. |
| `$blacklist` | `''` | HTTP/WebSocket richieste di gestione test se il valore configurato contiene il client IP (http.js, websocket.js). |
| `$xpoweredby` | `'Total.js'` | Valore del titolo di risposta generato X-Powered-By; vuoto la sopprime nelle vie di risposta controllate (controller.js). |
| `$minifyjs` | `true` | Minimizza i file JavaScript serviti. |
| `$minifycss` | `true` | Minimizza i file CSS serviti. |
| `$minifyhtml` | `true` | Minimizza l'HTML inviato. |
| `$port` | `'auto'` | HTTP ascolta port; auto è risolto in startup, e le opzioni Total.run possono superare (index.js). |
| `$ip` | `'0.0.0.0'` | L'indirizzo di ascolto HTTP; le opzioni Total.run possono superare (index.js). |
| `$unixsocket` | `''` | Le autorizzazioni di socket e le impostazioni di proxy reverse sono preoccupazioni di implementazione. |
| `$timezone` | `'utc'` | Il fuso orario del processo (viene impostato in `process.env.TZ`). |
| `$insecure` | `false` | La configurazione impone l'ambiente di verifica del processo TLS da questa bandiera (index.js). |
| `$performance` | `false` | Aggiunge l'agente HTTP con il massimo di socket e tuning (index.js); non è una prova di una rapida applicazione. |
| `$filtererrors` | `true` | Rimuove i modelli di errore di funzionamento corrispondenti nel file di errori quadro (index.js). |
| `$cleartemp` | `true` | Controlla la rimozione delle estensioni di file generate/temp selezionate con la routine chiara (index.js). |
| `$customtitles` | `false` | Quando è falso, il generatore di metadati visualizzato aggiunge il nome dell'applicazione a un titolo di pagina non-dominio (viewengine.js). |
| `$clearcache` | `10` | Intervallo di servizio per la ristrutturazione dei cache interni di lookup/view/template/query-builder (index.js). |
| `$imageconverter` | `'gm'` | Il programma che `Image` chiama: `gm`, `im` o `magick`. |
| `$imagememory` | `0` | Disattivato perché, ad esempio, GM v1.3.32 genera un errore sulla memoria. |
| `$stats` | `true` | Controlla le statistiche di ramo di uscita/aggiornamento; lo LOAD selettivo può essere disattivato (index.js). |
| `$npmcache` | `'/var/www/.npm'` | Npm cache posizione passata da NPMINSTALL per la filiale di esecuzione uid-33 (index.js). |
| `$python` | `'python3'` | Comando di interpretazione utilizzato da Python esecuzione e pip assistenti (index.js); installare Python separatamente. |
| `$wsmaxsize` | `256` | KB. |
| `$wscompress` | `true` | Permette la negoziazione di WebSocket permissage-deflate su connessioni server (websocket.js). |
| `$wsencodedecode` | `false` | La configurazione iniziale di codifica/decodifica del server WebSocket (websocket.js); verifica il formato di filo richiesto prima di cambiarlo. |
| `$wsmaxlatency` | `2000` | Il limite di latenza del ping in millisecondi utilizzato da controlli di connessione WebSocket (websocket.js). |
| `$proxytimeout` | `5` | 5 secondi. |
| `$cookiesamesite` | `'Lax'` | La politica di cookie SameSite è predefinita quando un cookie non specifica uno (controller.js). |
| `$cookiesecure` | `false` | Il cookie di default Secure si attribuisce quando non viene fornito alcun override per cookie (controller.js). |
| `$csrfexpiration` | `'30 minutes'` | Per quanto tempo è valido un token CSRF. |
| `$tapi` | `true` | Permette il driver di servizio TotalAPI integrato; l'operazione speciale di controllo attraversa questa porta locale (api.js). |
| `$tapiurl` | `'eu'` | Prefisso di host regionale utilizzato dal driver TotalAPI (api.js). |
| `$tapimail` | `false` | Seleziona il percorso di posta TotalAPI quando è abilitata la funzione TotalAPI (mail.js). |
| `$tapilogger` | `false` | Permette il percorso di registrazione TotalAPI quando l'accesso al servizio e il suo segreto sono configurati (index.js). |
| `$imprint` | `true` | Il banner di startup (index.js) |
| `$tms` | `false` | Attiva l'endpoint WebSocket di TMS. |
| `$tmsmaxsize` | `256` | La dimensione massima di un messaggio TMS, in kB. |
| `$tmsurl` | `'/$tms/'` | L'URL dell'endpoint TMS. |
| `$tmsclearblocked` | `60` | In minuti. |
| `$total5` | impostato all'avvio | La cartella del pacchetto `total5` (il framework legge da essa i propri file). |
| `$nodemodules` | impostato all'avvio | La cartella in cui `NPMINSTALL()` installa i pacchetti. |
| `secret_uid` | Iniziamo a | L'ingresso segreto utilizzato dalla utilità di identificatore crittografato; inizializzato dal sistema hash (index.js, utils.js). |
| `$cryptoiv` | Iniziamo a | Il buffer di inizializzazione-vector utilizzato dagli assistenti di crittografia del framework; inizializzato su startup (index.js, utils.js). |
| `$httpexpire` | Iniziamo a | La data di scadenza futura UTC HTTP è inizializzata e periodicamente rinnovata dal quadro (index.js, controller.js). |

Queste chiavi non hanno un valore predefinito. Configurano l'invio delle email e sono usate da `MAIL()` e `HTMLMAIL()` (vedi la ricetta sull'email):

| Chiave | Significato |
|---|---|
| `mail_smtp` | L'indirizzo del server SMTP. |
| `mail_smtp_options` | Un oggetto con il resto delle impostazioni di connessione: `port`, `user`, `password`, `secure`... |
| `mail_from` | L'indirizzo del mittente. |
| `mail_from_name` | Il nome del mittente. |
| `mail_reply` | L'indirizzo che riceve le risposte, aggiunto a ogni messaggio. |
| `mail_cc` | Un indirizzo in copia, aggiunto a ogni messaggio. |
| `mail_bcc` | Un indirizzo in copia nascosta, aggiunto a ogni messaggio. |

```js controllers/config.js
exports.install = function() {
	ROUTE('GET /config/', config);
};

function config($) {
	$.json({ conf: CONF });
}
```
