mirror of
https://github.com/Li4n0/revsuit.git
synced 2026-09-26 00:21:54 +08:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8023a9b021 | ||
|
|
56153510e1 | ||
|
|
be7343191d | ||
|
|
b1773ee5e9 |
@@ -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:
|
||||||
|
|||||||
@@ -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 公开该项目以庆祝毕业,愿工作多年后的我,归来时仍是少年)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user