feat: add support for insecure mode in Gitea client configuration (#20)

- Add `GITEA_INTERACTIVE` configuration example in README files
- Add `insecure` flag to ignore TLS certificate errors in `cmd.go`
- Set insecure mode based on `GITEA_INSECURE` environment variable in `cmd.go`
- Add `Insecure` boolean variable in `pkg/flag/flag.go`
- Import `crypto/tls` and `net/http` in `pkg/gitea/gitea.go`
- Modify Gitea client creation to support insecure HTTP client in `pkg/gitea/gitea.go`

Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>

Reviewed-on: https://gitea.com/gitea/gitea-mcp/pulls/20
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: Bo-Yi Wu <appleboy.tw@gmail.com>
Co-committed-by: Bo-Yi Wu <appleboy.tw@gmail.com>
This commit is contained in:
Bo-Yi Wu
2025-04-08 01:16:37 +00:00
committed by Bo-Yi Wu (吳柏毅)
parent 1965c9830b
commit 8dc9ed9299
6 changed files with 37 additions and 6 deletions

View File

@@ -7,5 +7,6 @@ var (
Version string
Mode string
Debug bool
Insecure bool
Debug bool
)

View File

@@ -1,6 +1,8 @@
package gitea
import (
"crypto/tls"
"net/http"
"sync"
"gitea.com/gitea/gitea-mcp/pkg/flag"
@@ -16,12 +18,26 @@ var (
func Client() *gitea.Client {
clientOnce.Do(func() {
if client == nil {
c, err := gitea.NewClient(flag.Host, gitea.SetToken(flag.Token))
if err != nil {
log.Fatalf("create gitea client err: %v", err)
var err error
if client != nil {
return
}
opts := []gitea.ClientOption{
gitea.SetToken(flag.Token),
}
if flag.Insecure {
httpClient := &http.Client{
Transport: &http.Transport{
TLSClientConfig: &tls.Config{
InsecureSkipVerify: true,
},
},
}
client = c
opts = append(opts, gitea.SetHTTPClient(httpClient))
}
client, err = gitea.NewClient(flag.Host, opts...)
if err != nil {
log.Fatalf("create gitea client err: %v", err)
}
})
return client