mirror of
https://github.com/fumiama/terasu.git
synced 2026-06-07 19:40:27 +08:00
45 lines
1.1 KiB
Markdown
45 lines
1.1 KiB
Markdown
<div align="center">
|
|
|
|
# TeRaSu (TRS)
|
|
|
|
よの光遍く空へ照しつつ
|
|
|
|
土棲むものは孰れか見ゆや
|
|
|
|

|
|
|
|
</div>
|
|
|
|
## Usage
|
|
|
|
```go
|
|
cli := http.Client{
|
|
Transport: &http.Transport{
|
|
DialTLS: func(network, addr string) (net.Conn, error) {
|
|
host, port, err := net.SplitHostPort(addr)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
addrs, err := net.DefaultResolver.LookupHost(ctx, host)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
conn, err := net.Dial(network, net.JoinHostPort(addrs[0], port))
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
tlsConn := tls.Client(conn, &tls.Config{
|
|
ServerName: host,
|
|
})
|
|
err = terasu.Use(tlsConn).Handshake()
|
|
if err != nil {
|
|
_ = tlsConn.Close()
|
|
return nil, err
|
|
}
|
|
return tlsConn, nil
|
|
},
|
|
},
|
|
}
|
|
resp, err := cli.Get(url)
|
|
```
|