mirror of https://github.com/Dreamacro/clash.git
77 lines
2.7 KiB
Markdown
77 lines
2.7 KiB
Markdown
---
|
|
sidebarTitle: Getting Started
|
|
sidebarOrder: 2
|
|
---
|
|
|
|
# Getting Started
|
|
|
|
It's recommended that you read the [Introduction](/configuration/introduction) before proceeding. After you have a brief understanding of how Clash works, you can start writing your own configuration.
|
|
|
|
## Configuration Files
|
|
|
|
The main configuration file is called `config.yaml`. By default, Clash reads the configuration files at `$HOME/.config/clash`. If it doesn't exist, Clash will generate a minimal configuration file at that location.
|
|
|
|
If you want to place your configurations elsewhere (e.g. `/etc/clash`), you can use command-line option `-d` to specify a configuration directory:
|
|
|
|
```shell
|
|
clash -d . # current directory
|
|
clash -d /etc/clash
|
|
```
|
|
|
|
Or, you can use option `-f` to specify a configuration file:
|
|
|
|
```shell
|
|
clash -f ./config.yaml
|
|
clash -f /etc/clash/config.yaml
|
|
```
|
|
|
|
## Special Syntaxes
|
|
|
|
There are some special syntaxes in Clash configuration files, of which you might want to be aware:
|
|
|
|
### IPv6 Addresses
|
|
|
|
You should wrap IPv6 addresses in square brackets, for example:
|
|
|
|
```txt
|
|
[aaaa::a8aa:ff:fe09:57d8]
|
|
```
|
|
|
|
### DNS Wildcard Domain Matching
|
|
|
|
In some cases, you will need to match against wildcard domains. For example, when you're setting up [Clash DNS](/configuration/dns), you might want to match against all subdomains of `localdomain`.
|
|
|
|
Clash do offer support on matching different levels of wildcard domains in the DNS configuration, while the syntaxes defined below:
|
|
|
|
::: tip
|
|
Any domain with these characters should be wrapped with single quotes (`'`). For example, `'*.google.com'`.
|
|
Static domain has a higher priority than wildcard domain (foo.example.com > *.example.com > .example.com).
|
|
:::
|
|
|
|
Use an asterisk (`*`) to match against a single-level wildcard subdomain.
|
|
|
|
| Expression | Matches | Does Not Match |
|
|
| ---------- | ------- | -------------- |
|
|
| `*.google.com` | `www.google.com` | `google.com` |
|
|
| `*.bar.google.com` | `foo.bar.google.com` | `bar.google.com` |
|
|
| `*.*.google.com` | `thoughtful.sandbox.google.com` | `one.two.three.google.com` |
|
|
|
|
Use a dot sign (`.`) to match against multi-level wildcard subdomains.
|
|
|
|
| Expression | Matches | Does Not Match |
|
|
| ---------- | ------- | -------------- |
|
|
| `.google.com` | `www.google.com` | `google.com` |
|
|
| `.google.com` | `thoughtful.sandbox.google.com` | `google.com` |
|
|
| `.google.com` | `one.two.three.google.com` | `google.com` |
|
|
|
|
Use a plus sign (`+`) to match against multi-level wildcard subdomains.
|
|
|
|
`+` wildcard works like DOMAIN-SUFFIX, you can quickly match multi level at a time.
|
|
|
|
| Expression | Matches |
|
|
| ---------- | ------- |
|
|
| `+.google.com` | `google.com` |
|
|
| `+.google.com` | `www.google.com` |
|
|
| `+.google.com` | `thoughtful.sandbox.google.com` |
|
|
| `+.google.com` | `one.two.three.google.com` |
|