4 Commits
6 changed files with 47 additions and 12 deletions
+4 -4
View File
@@ -16,10 +16,10 @@ jobs:
CGO_ENABLE: 1 CGO_ENABLE: 1
CGO_LDFLAGS: -static CGO_LDFLAGS: -static
run: | run: |
GOARCH="amd64" go build -v -ldflags="-s -w -extldflags=-static" -trimpath -o "bin/revsuit_linux_amd64" ./cmd/revsuit/revsuit.go GOARCH="amd64" go build -v -ldflags="-s -w -extldflags=-static" -tags netgo -trimpath -o "bin/revsuit_linux_amd64" ./cmd/revsuit/revsuit.go
GOARCH="386" go build -v -ldflags="-s -w -extldflags=-static" -trimpath -o "bin/revsuit_linux_i386" ./cmd/revsuit/revsuit.go GOARCH="386" go build -v -ldflags="-s -w -extldflags=-static" -tags netgo -trimpath -o "bin/revsuit_linux_i386" ./cmd/revsuit/revsuit.go
GOARCH="arm" go build -v -ldflags="-s -w -extldflags=-static" -trimpath -o "bin/revsuit_linux_arm" ./cmd/revsuit/revsuit.go GOARCH="arm" go build -v -ldflags="-s -w -extldflags=-static" -tags netgo -trimpath -o "bin/revsuit_linux_arm" ./cmd/revsuit/revsuit.go
GOARCH="arm64" go build -v -ldflags="-s -w -extldflags=-static" -trimpath -o "bin/revsuit_linux_arm64" ./cmd/revsuit/revsuit.go GOARCH="arm64" go build -v -ldflags="-s -w -extldflags=-static" -tags netgo -trimpath -o "bin/revsuit_linux_arm64" ./cmd/revsuit/revsuit.go
- name: Upload the artifacts - name: Upload the artifacts
uses: li4n0/upload-release-action@v2 uses: li4n0/upload-release-action@v2
with: with:
+8
View File
@@ -2,6 +2,14 @@
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
### [0.1.6](https://github.com/Li4n0/revsuit/compare/v0.1.5...v0.1.6) (2021-06-25)
### Bug Fixes
* **cli:** fix the bug that the prompt may not be output when generating config file ([5615351](https://github.com/Li4n0/revsuit/commit/56153510e11783c08843cbb8b0f827d5f8567842))
* **ipinfo:** fix a potential panic when downloading ip location database ([#33](https://github.com/Li4n0/revsuit/issues/33)) ([b1773ee](https://github.com/Li4n0/revsuit/commit/b1773ee5e9ebd8c8be72f315981268992c08b3f1))
### [0.1.5](https://github.com/Li4n0/revsuit/compare/v0.1.5-beta...v0.1.5) (2021-06-22 公开该项目以庆祝毕业,愿工作多年后的我,归来时仍是少年) ### [0.1.5](https://github.com/Li4n0/revsuit/compare/v0.1.5-beta...v0.1.5) (2021-06-22 公开该项目以庆祝毕业,愿工作多年后的我,归来时仍是少年)
+1
View File
@@ -16,6 +16,7 @@ func Start() {
log.ConsoleConfig{ log.ConsoleConfig{
Level: log.LevelInfo, Level: log.LevelInfo,
}) })
defer log.Stop()
app := &cli.App{ app := &cli.App{
Name: "RevSuit", Name: "RevSuit",
Usage: "An Open-Sourced Reverse Platform Designed for Receive Various Kinds of Connection", Usage: "An Open-Sourced Reverse Platform Designed for Receive Various Kinds of Connection",
+14 -3
View File
@@ -20,6 +20,7 @@ const (
) )
func get(url string) (b []byte, err error) { func get(url string) (b []byte, err error) {
var resp *http.Response
client := http.Client{ client := http.Client{
Timeout: 90 * time.Second, Timeout: 90 * time.Second,
Transport: &http.Transport{ Transport: &http.Transport{
@@ -28,11 +29,17 @@ func get(url string) (b []byte, err error) {
request, _ := http.NewRequest(http.MethodGet, url, nil) request, _ := http.NewRequest(http.MethodGet, url, nil)
request.Header.Add("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36") request.Header.Add("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36")
resp, err := client.Do(request) resp, err = client.Do(request)
if err != nil { if err != nil {
return return
} }
defer resp.Body.Close()
defer func(Body io.ReadCloser) {
err := Body.Close()
if err != nil {
log.Warn("%v", err)
}
}(resp.Body)
return io.ReadAll(resp.Body) return io.ReadAll(resp.Body)
} }
@@ -65,10 +72,14 @@ func extractTarGz(gzipStream io.Reader) error {
if err != nil { if err != nil {
return err return err
} }
defer outFile.Close()
if _, err := io.Copy(outFile, tarReader); err != nil { if _, err := io.Copy(outFile, tarReader); err != nil {
_ = outFile.Close()
return err return err
} }
err = outFile.Close()
if err != nil {
log.Warn("%v", err)
}
} }
} }
return nil return nil
+19 -4
View File
@@ -21,6 +21,7 @@ const (
) )
func get(url string) (b []byte, err error) { func get(url string) (b []byte, err error) {
var resp *http.Response
client := http.Client{ client := http.Client{
Timeout: 90 * time.Second, Timeout: 90 * time.Second,
Transport: &http.Transport{ Transport: &http.Transport{
@@ -29,11 +30,17 @@ func get(url string) (b []byte, err error) {
request, _ := http.NewRequest("GET", url, nil) request, _ := http.NewRequest("GET", url, nil)
request.Header.Add("User-Agent", "Nali/2.1.2 (Nali CLI, https://nali.skk.moe)") request.Header.Add("User-Agent", "Nali/2.1.2 (Nali CLI, https://nali.skk.moe)")
resp, err := client.Do(request) resp, err = client.Do(request)
if err != nil { if err != nil {
return return
} }
defer resp.Body.Close()
defer func(Body io.ReadCloser) {
err := Body.Close()
if err != nil {
log.Warn("%v", err)
}
}(resp.Body)
return io.ReadAll(resp.Body) return io.ReadAll(resp.Body)
} }
@@ -47,17 +54,25 @@ func getKey(b []byte) (key uint32, err error) {
} }
func decrypt(b []byte, key uint32) (_ []byte, err error) { func decrypt(b []byte, key uint32) (_ []byte, err error) {
var rc io.ReadCloser
for i := 0; i < 0x200; i++ { for i := 0; i < 0x200; i++ {
key *= uint32(0x805) key *= uint32(0x805)
key++ key++
key &= uint32(0xff) key &= uint32(0xff)
b[i] = b[i] ^ byte(key) b[i] = b[i] ^ byte(key)
} }
rc, err := zlib.NewReader(bytes.NewBuffer(b)) rc, err = zlib.NewReader(bytes.NewBuffer(b))
if err != nil { if err != nil {
return return
} }
defer rc.Close()
defer func(rc io.ReadCloser) {
err := rc.Close()
if err != nil {
log.Warn("%v", err)
}
}(rc)
return io.ReadAll(rc) return io.ReadAll(rc)
} }
+1 -1
View File
@@ -18,7 +18,7 @@ import (
log "unknwon.dev/clog/v2" log "unknwon.dev/clog/v2"
) )
const VERSION = "0.1.5" const VERSION = "0.1.6"
type Revsuit struct { type Revsuit struct {
config *Config config *Config