Skip to content

Commit

Permalink
增加跳过 SSL 证书验证
Browse files Browse the repository at this point in the history
  • Loading branch information
ygxbnet committed May 18, 2024
1 parent 18803b9 commit b5c3741
Showing 5 changed files with 29 additions and 8 deletions.
4 changes: 4 additions & 0 deletions internal/config/config-default.yml
Original file line number Diff line number Diff line change
@@ -17,3 +17,7 @@ lsky-server: https://example.com
# Lsky 接口的 Token
# 例如:1|2kDE7QCXRhIWfgXC9bF3axSbCr1dBjIfRPebQ2oo
lsky-auth-token: 1|2kDE7QCXRhIWfgXC9bF3axSbCr1dBjIfRPebQ2oo

# 是否跳过 SSL 证书验证
# 如果您的服务器使用自签名证书,或有其他证书问题,请将此选项设置为 true
insecure-skip-verify: false
5 changes: 3 additions & 2 deletions internal/config/config-model.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package config

type Result struct {
LskyServer string `yaml:"lsky-server"`
LskyAuthToken string `yaml:"lsky-auth-token"`
LskyServer string `yaml:"lsky-server"`
LskyAuthToken string `yaml:"lsky-auth-token"`
InsecureSkipVerify bool `yaml:"insecure-skip-verify"`
}
9 changes: 9 additions & 0 deletions internal/config/config.go
Original file line number Diff line number Diff line change
@@ -5,12 +5,21 @@ import (
"fmt"
"gopkg.in/yaml.v3"
"lsky-upload/internal/log"
"lsky-upload/internal/utils"
"os"
)

//go:embed config-default.yml
var DEFAULT_CONFIG string

// ConfigData 配置文件结构体
var ConfigData Result

// Init 初始化配置文件
func Init() {
ConfigData = Parse(utils.GetProgramPath())
}

// Parse 从默认配置文件路径中获取配置文件内容,并解析为结构体
func Parse(filePath string) (config Result) {
initFile(filePath)
8 changes: 7 additions & 1 deletion internal/httpapi/httpapi.go
Original file line number Diff line number Diff line change
@@ -2,7 +2,9 @@ package httpapi

import (
"bytes"
"crypto/tls"
"io"
"lsky-upload/internal/config"
"mime/multipart"
"net/http"
)
@@ -27,7 +29,11 @@ func UploadImageToLsky(data io.Reader, imageName string, serverURL string, authT
mpWriter.Close()

// 请求http
client := &http.Client{}
tr := &http.Transport{
// 跳过证书验证
TLSClientConfig: &tls.Config{InsecureSkipVerify: config.ConfigData.InsecureSkipVerify},
}
client := &http.Client{Transport: tr}
req, err := http.NewRequest("POST", serverURL+apiPath, &bufReader)
if err != nil {
return nil, err
11 changes: 6 additions & 5 deletions main.go
Original file line number Diff line number Diff line change
@@ -9,15 +9,12 @@ import (
"lsky-upload/internal/config"
"lsky-upload/internal/httpapi"
"lsky-upload/internal/log"
"lsky-upload/internal/utils"
"net/http"
"os"
"path/filepath"
"time"
)

var configData config.Result

func init() {
// 解析传入参数
flag.Parse()
@@ -26,7 +23,7 @@ func init() {
func main() {

// 解析配置
configData = config.Parse(utils.GetProgramPath())
config.Init()

// 得到URL地址
urls := flag.Args()
@@ -72,7 +69,11 @@ func main() {
}

// 上传图片到图床
response, err := httpapi.UploadImageToLsky(getData, imageName, configData.LskyServer, configData.LskyAuthToken)
response, err := httpapi.UploadImageToLsky(
getData,
imageName,
config.ConfigData.LskyServer,
config.ConfigData.LskyAuthToken)
if err != nil {
log.Error("❗上传图片错误:", err)
return

0 comments on commit b5c3741

Please sign in to comment.