<!--
{
  "availability" : [

  ],
  "documentType" : "symbol",
  "framework" : "Tor",
  "identifier" : "/documentation/Tor/TorConfiguration/makeDefault()",
  "metadataVersion" : "0.1.0",
  "role" : "Type Method",
  "symbol" : {
    "kind" : "Type Method",
    "modules" : [
      "Tor"
    ],
    "preciseIdentifier" : "s:3Tor0A13ConfigurationV11makeDefaultACyFZ"
  },
  "title" : "makeDefault()"
}
-->

# makeDefault()

Returns a configuration rooted at a fresh UUID-suffixed temp
directory.

```
static func makeDefault() -> TorConfiguration
```

## Return Value

A `TorConfiguration` with a unique `dataDirectory`,
ephemeral SOCKS port, and no cache directory.

## Discussion

Convenience factory for tests and throwaway sessions: generates a
new `FileManager.default.temporaryDirectory/tor-<UUID>` path and
leaves [`ownsDataDirectory`](/documentation/Tor/TorConfiguration/ownsDataDirectory) at its default `false`. Prefer
[`ephemeral(cacheDirectory:)`](/documentation/Tor/TorConfiguration/ephemeral(cacheDirectory:)) if you want the directory cleaned
up on [`stop()`](/documentation/Tor/TorClient/stop()).

> Note: Two calls in quick succession produce distinct
> configurations — UUIDs guarantee no directory collision even
> when parallel tests race to construct clients.