From afcdf158c3619cca2026cc8a1e9b3a165fb12ccd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BA=90=E6=96=87=E9=9B=A8?= <41315874+fumiama@users.noreply.github.com> Date: Fri, 17 Nov 2023 01:46:29 +0900 Subject: [PATCH] v0.1.0 --- .github/workflows/release.yml | 62 ++++++++++++++++++++++ README.md | 5 ++ cmd/main.go | 97 ++++++++++++++++++++++++++++++++++ go.mod | 11 ++++ go.sum | 19 +++++++ helper.go | 60 +++++++++++++++++++++ test/main.go | 91 +++++++++++++++++++++++++++++++ test/test.jpeg | Bin 0 -> 67146 bytes 8 files changed, 345 insertions(+) create mode 100644 .github/workflows/release.yml create mode 100644 README.md create mode 100644 cmd/main.go create mode 100644 go.mod create mode 100644 go.sum create mode 100644 helper.go create mode 100644 test/main.go create mode 100644 test/test.jpeg diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..1f06419 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,62 @@ +name: 发行版 +on: + push: + tags: + - v* + +env: + GITHUB_TOKEN: ${{ github.token }} + +jobs: + my-job: + name: Build imoto on Push Tag 🚀 + runs-on: ubuntu-latest + steps: + + - name: Set up Go + uses: actions/setup-go@v2 + with: + go-version: '1.21' + + - name: Check out code into the Go module directory + uses: actions/checkout@v2 + + - name: Cache Go + id: cache + uses: actions/cache@v2 + with: + # A list of files, directories, and wildcard patterns to cache and restore + path: ~/go/pkg/mod + key: ${{ runner.os }}-build-${{ hashFiles('**/go.sum') }} + + - name: Tidy Go modules + run: go mod tidy + + - name: Build linux-x64 + run: CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -trimpath -o artifacts/imoto-linux-x64 + - name: Build linux-x86 + run: CGO_ENABLED=0 GOOS=linux GOARCH=386 go build -ldflags="-s -w" -trimpath -o artifacts/imoto-linux-x86 + + - name: Build windows-x64 + run: CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -ldflags="-s -w" -trimpath -o artifacts/imoto-windows-x64.exe + - name: Build windows-x86 + run: CGO_ENABLED=0 GOOS=windows GOARCH=386 go build -ldflags="-s -w" -trimpath -o artifacts/imoto-windows-x86.exe + + - name: Build linux-arm64 + run: CGO_ENABLED=0 GOOS=linux GOARCH=arm64 GOARM=7 go build -ldflags="-s -w" -trimpath -o artifacts/imoto-linux-arm64 + - name: Build linux-armhfv6 + run: CGO_ENABLED=0 GOOS=linux GOARCH=arm GOARM=6 go build -ldflags="-s -w" -trimpath -o artifacts/imoto-linux-armhfv6 + + - name: Build darwin-x64 + run: CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -ldflags="-s -w" -trimpath -o artifacts/imoto-darwin-x64 + - name: Build darwin-arm64 + run: CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -ldflags="-s -w" -trimpath -o artifacts/imoto-darwin-arm64 + + - name: Upload binaries to release + uses: svenstaro/upload-release-action@v2 + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + file: artifacts/imoto-* + tag: ${{ github.ref }} + overwrite: true + file_glob: true diff --git a/README.md b/README.md new file mode 100644 index 0000000..82db06d --- /dev/null +++ b/README.md @@ -0,0 +1,5 @@ +# imoto +图片限时缓存图床 + +# 使用 +详见文件夹`test` diff --git a/cmd/main.go b/cmd/main.go new file mode 100644 index 0000000..e7287a5 --- /dev/null +++ b/cmd/main.go @@ -0,0 +1,97 @@ +package main + +import ( + "bytes" + "crypto/md5" + "flag" + "io" + "net/http" + "time" + + "github.com/FloatTech/ttl" + "github.com/fumiama/imgsz" + "github.com/sirupsen/logrus" + + "github.com/fumiama/imoto" +) + +var imgcache *ttl.Cache[uint64, *imagebody] + +type imagebody struct { + key uint64 + typ string + dat []byte +} + +func main() { + cachetime := flag.Uint("t", 60, "cache time (s)") + endpoint := flag.String("e", "127.0.0.1:8000", "listening endpoint") + flag.Parse() + imgcache = ttl.NewCache[uint64, *imagebody](time.Second * time.Duration(*cachetime)) + http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { + m, err := imoto.GetMD5(r.URL.Path) + defer r.Body.Close() + if err != nil { + http.Error(w, "400 Bad Request: "+err.Error(), http.StatusBadRequest) + return + } + p, k := imoto.SplitMD5(m) + logrus.Infoln("[handle]", r.Method, r.URL.Path) + switch r.Method { + case http.MethodHead: + if imgcache.Get(p) == nil { + w.WriteHeader(http.StatusNotFound) + return + } + w.WriteHeader(http.StatusOK) + case http.MethodGet: + img := imgcache.Get(p) + if img == nil { + w.WriteHeader(http.StatusNotFound) + return + } + w.WriteHeader(http.StatusOK) + w.Header().Set("Content-Type", "image/"+img.typ) + _, _ = w.Write(img.dat) + case http.MethodPut: + data, err := io.ReadAll(r.Body) + if err != nil { + http.Error(w, "500 Internal Server Error: "+err.Error(), http.StatusInternalServerError) + return + } + realm := md5.Sum(data) + if m != realm { + http.Error(w, "400 Bad Request: file md5 mismatch", http.StatusBadRequest) + return + } + _, typ, err := imgsz.DecodeSize(bytes.NewReader(data)) + if err != nil { + http.Error(w, "400 Bad Request: "+err.Error(), http.StatusBadRequest) + return + } + imgcache.Set(p, &imagebody{ + key: k, + typ: typ, + dat: data, + }) + w.WriteHeader(http.StatusOK) + case http.MethodDelete: + img := imgcache.Get(p) + if img == nil { + w.WriteHeader(http.StatusNotFound) + return + } + if k != img.key { + http.Error(w, "403 Forbidden", http.StatusForbidden) + return + } + imgcache.Delete(p) + w.WriteHeader(http.StatusOK) + w.Header().Set("Content-Type", "image/"+img.typ) + _, _ = w.Write(img.dat) + default: + http.Error(w, "405 Method Not Allowed", http.StatusMethodNotAllowed) + } + }) + logrus.Errorln(http.ListenAndServe(*endpoint, nil)) +} diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..629d58b --- /dev/null +++ b/go.mod @@ -0,0 +1,11 @@ +module github.com/fumiama/imoto + +go 1.20 + +require ( + github.com/FloatTech/ttl v0.0.0-20230307105452-d6f7b2b647d1 + github.com/fumiama/imgsz v0.0.2 + github.com/sirupsen/logrus v1.9.3 +) + +require golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 // indirect diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..c8a639b --- /dev/null +++ b/go.sum @@ -0,0 +1,19 @@ +github.com/FloatTech/ttl v0.0.0-20230307105452-d6f7b2b647d1 h1:g4pTnDJUW4VbJ9NvoRfUvdjDrHz/6QhfN/LoIIpICbo= +github.com/FloatTech/ttl v0.0.0-20230307105452-d6f7b2b647d1/go.mod h1:fHZFWGquNXuHttu9dUYoKuNbm3dzLETnIOnm1muSfDs= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/fumiama/imgsz v0.0.2 h1:fAkC0FnIscdKOXwAxlyw3EUba5NzxZdSxGaq3Uyfxak= +github.com/fumiama/imgsz v0.0.2/go.mod h1:dR71mI3I2O5u6+PCpd47M9TZptzP+39tRBcbdIkoqM4= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= +github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 h1:0A+M6Uqn+Eje4kHMK80dtF3JCXC4ykBgQG4Fe06QRhQ= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= diff --git a/helper.go b/helper.go new file mode 100644 index 0000000..ff5cf78 --- /dev/null +++ b/helper.go @@ -0,0 +1,60 @@ +package imoto + +import ( + "crypto/md5" + "encoding/binary" + "encoding/hex" + "errors" + "strconv" + "strings" + "unsafe" +) + +func GetMD5(u string) (m [md5.Size]byte, err error) { + u = strings.Trim(u, "/ ?&\n\t") + if len(u) != md5.Size*2 && len(u) != md5.Size { + err = errors.New("invalid path len: " + strconv.Itoa(len(u))) + return + } + _, err = hex.Decode(m[:], StringToBytes(u)) + return +} + +func SplitMD5(m [md5.Size]byte) (path uint64, key uint64) { + path = binary.LittleEndian.Uint64(m[:8]) + key = binary.LittleEndian.Uint64(m[8:]) + return +} + +func Uint64String(x uint64) string { + var buf [8]byte + binary.LittleEndian.PutUint64(buf[:], x) + return hex.EncodeToString(buf[:]) +} + +// slice is the runtime representation of a slice. +// It cannot be used safely or portably and its representation may +// change in a later release. +// +// Unlike reflect.SliceHeader, its Data field is sufficient to guarantee the +// data it references will not be garbage collected. +type slice struct { + data unsafe.Pointer + len int + cap int +} + +// BytesToString 没有内存开销的转换 +func BytesToString(b []byte) string { + return *(*string)(unsafe.Pointer(&b)) +} + +// StringToBytes 没有内存开销的转换 +func StringToBytes(s string) (b []byte) { + bh := (*slice)(unsafe.Pointer(&b)) + sh := (*slice)(unsafe.Pointer(&s)) + bh.data = sh.data + bh.len = sh.len + bh.cap = sh.len + return b +} diff --git a/test/main.go b/test/main.go new file mode 100644 index 0000000..e0d4f2f --- /dev/null +++ b/test/main.go @@ -0,0 +1,91 @@ +package main + +import ( + "bytes" + "crypto/md5" + "encoding/hex" + "io" + "net/http" + "os" + + "github.com/fumiama/imoto" +) + +func main() { + data, err := os.ReadFile("test.jpeg") + if err != nil { + panic(err) + } + m := md5.Sum(data) + p, _ := imoto.SplitMD5(m) + req, err := http.NewRequest("PUT", "http://127.0.0.1:8000/"+hex.EncodeToString(m[:]), bytes.NewReader(data)) + if err != nil { + panic(err) + } + resp, err := http.DefaultClient.Do(req) + if err != nil { + panic(err) + } + defer resp.Body.Close() + if resp.StatusCode != http.StatusOK { + msg, _ := io.ReadAll(resp.Body) + panic("PUT error: " + imoto.BytesToString(msg)) + } + req, err = http.NewRequest("HEAD", "http://127.0.0.1:8000/"+imoto.Uint64String(p), nil) + if err != nil { + panic(err) + } + resp, err = http.DefaultClient.Do(req) + if err != nil { + panic(err) + } + if resp.StatusCode != http.StatusOK { + msg, _ := io.ReadAll(resp.Body) + panic("HEAD error: " + imoto.BytesToString(msg)) + } + req, err = http.NewRequest("GET", "http://127.0.0.1:8000/"+imoto.Uint64String(p), nil) + if err != nil { + panic(err) + } + resp, err = http.DefaultClient.Do(req) + if err != nil { + panic(err) + } + defer resp.Body.Close() + if resp.StatusCode != http.StatusOK { + msg, _ := io.ReadAll(resp.Body) + panic("HEAD error: " + imoto.BytesToString(msg)) + } + h := md5.New() + _, err = io.Copy(h, resp.Body) + if err != nil { + panic(err) + } + var m2 [md5.Size]byte + h.Sum(m2[:0]) + if m2 != m { + panic("GET error: expected " + hex.EncodeToString(m[:]) + " but got " + hex.EncodeToString(m2[:])) + } + req, err = http.NewRequest("DELETE", "http://127.0.0.1:8000/"+hex.EncodeToString(m[:]), nil) + if err != nil { + panic(err) + } + resp, err = http.DefaultClient.Do(req) + if err != nil { + panic(err) + } + defer resp.Body.Close() + if resp.StatusCode != http.StatusOK { + msg, _ := io.ReadAll(resp.Body) + panic("HEAD error: " + imoto.BytesToString(msg)) + } + h = md5.New() + _, err = io.Copy(h, resp.Body) + if err != nil { + panic(err) + } + h.Sum(m2[:0]) + if m2 != m { + panic("DELETE error: expected " + hex.EncodeToString(m[:]) + " but got " + hex.EncodeToString(m2[:])) + } +} diff --git a/test/test.jpeg b/test/test.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..69ae15580f2b6d313a49183f906c9924b4e0fde3 GIT binary patch literal 67146 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