diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml new file mode 100644 index 0000000..33fdcbf --- /dev/null +++ b/.github/workflows/main.yaml @@ -0,0 +1,131 @@ +name: Build and Release + +on: + # push: + # branches: [ main ] + # pull_request: + # branches: [ main ] + # release: + # types: [published] + workflow_dispatch: + +jobs: + build: + name: Build and Test + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Set up Go + uses: actions/setup-go@v3 + with: + go-version: 'stable' + + - name: Test on Default Platform + run: | + go test -v ./... + + - name: Delete Existing Release Assets + run: | + release_id=$(curl -s -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" "https://api.github.com/repos/oneclickvirt/basics/releases/tags/output" | jq -r '.id') + echo "Deleting existing release assets..." + assets=$(curl -s -H "Accept: application/vnd.github.v3+json" "https://api.github.com/repos/oneclickvirt/basics/releases/$release_id/assets" | jq -r '.[] | .id') + for asset in $assets; do + echo "Deleting asset with ID: $asset" + curl -X DELETE -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" "https://api.github.com/repos/oneclickvirt/basics/releases/assets/$asset" + done + sleep 60 + + release-binary: + name: Release Go Binary + runs-on: ubuntu-latest + needs: build + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Set up Go + uses: actions/setup-go@v3 + with: + go-version: 'stable' + + - name: Build and Release + run: | + mkdir -p bin + cd cmd + CGO_ENABLED=0 GOOS=${{ matrix.goos }} GOARCH=${{ matrix.goarch }} go build -o ../bin/basics-${{ matrix.goos }}-${{ matrix.goarch }} -v -ldflags="-extldflags=-static" . + + - name: Upload New Assets + run: | + release_id=$(curl -s -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" "https://api.github.com/repos/oneclickvirt/basics/releases/tags/output" | jq -r '.id') + echo "Uploading new assets to release..." + for file in ./bin/*; do + echo "Uploading $file to release..." + curl -s -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \ + -H "Content-Type: application/octet-stream" \ + --data-binary @"$file" \ + "https://uploads.github.com/repos/oneclickvirt/basics/releases/$release_id/assets?name=$(basename "$file")" + rm -rf $file + done + + strategy: + matrix: + goos: [windows, freebsd, openbsd, linux, darwin] + goarch: [amd64, 386] + exclude: + - goarch: 386 + goos: darwin + include: + - goos: windows + goarch: 386 + - goos: windows + goarch: amd64 + - goos: windows + goarch: arm64 + - goos: windows + goarch: arm + goarm: 7 + - goos: darwin + goarch: arm64 + - goos: linux + goarch: arm + goarm: 7 + - goos: linux + goarch: arm64 + - goos: linux + goarch: riscv64 + - goos: linux + goarch: mips64 + - goos: linux + goarch: mips64le + - goos: linux + goarch: mipsle + - goos: linux + goarch: mips + - goos: linux + goarch: ppc64 + - goos: linux + goarch: ppc64le + - goos: freebsd + goarch: arm64 + - goos: freebsd + goarch: arm + goarm: 7 + - goos: openbsd + goarch: arm64 + - goos: openbsd + goarch: arm + goarm: 7 + # - goos: linux + # goarch: mipsle + # gomips: softfloat + # - goos: linux + # goarch: mips + # gomips: softfloat + # - goos: linux + # goarch: arm + # goarm: 6 + # - goos: linux + # goarch: arm + # goarm: 5 \ No newline at end of file diff --git a/README.md b/README.md index 2633152..a545b62 100644 --- a/README.md +++ b/README.md @@ -1 +1,11 @@ # basics + +[![Hits](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2Foneclickvirt%2Fbasics&count_bg=%232EFFF8&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false)](https://hits.seeyoufarm.com) [![Build and Release](https://github.com/oneclickvirt/basics/actions/workflows/main.yaml/badge.svg)](https://github.com/oneclickvirt/basics/actions/workflows/main.yaml) + +基础信息查询模块 + +## Usage + +``` +curl https://raw.githubusercontent.com/oneclickvirt/basics/main/basics_install.sh -sSf | sh +``` diff --git a/basics_install.sh b/basics_install.sh new file mode 100644 index 0000000..048571b --- /dev/null +++ b/basics_install.sh @@ -0,0 +1,85 @@ +#!/bin/bash +#From https://github.com/oneclickvirt/basics +#2024.05.06 + +rm -rf basics +os=$(uname -s) +arch=$(uname -m) + +case $os in + Linux) + case $arch in + "x86_64" | "x86" | "amd64" | "x64") + wget -O basics https://github.com/oneclickvirt/basics/releases/download/output/basics-linux-amd64 + ;; + "i386" | "i686") + wget -O basics https://github.com/oneclickvirt/basics/releases/download/output/basics-linux-386 + ;; + "armv7l" | "armv8" | "armv8l" | "aarch64") + wget -O basics https://github.com/oneclickvirt/basics/releases/download/output/basics-linux-arm64 + ;; + *) + echo "Unsupported architecture: $arch" + exit 1 + ;; + esac + ;; + Darwin) + case $arch in + "x86_64" | "x86" | "amd64" | "x64") + wget -O basics https://github.com/oneclickvirt/basics/releases/download/output/basics-darwin-amd64 + ;; + "i386" | "i686") + wget -O basics https://github.com/oneclickvirt/basics/releases/download/output/basics-darwin-386 + ;; + "armv7l" | "armv8" | "armv8l" | "aarch64") + wget -O basics https://github.com/oneclickvirt/basics/releases/download/output/basics-darwin-arm64 + ;; + *) + echo "Unsupported architecture: $arch" + exit 1 + ;; + esac + ;; + FreeBSD) + case $arch in + amd64) + wget -O basics https://github.com/oneclickvirt/basics/releases/download/output/basics-freebsd-amd64 + ;; + "i386" | "i686") + wget -O basics https://github.com/oneclickvirt/basics/releases/download/output/basics-freebsd-386 + ;; + "armv7l" | "armv8" | "armv8l" | "aarch64") + wget -O basics https://github.com/oneclickvirt/basics/releases/download/output/basics-freebsd-arm64 + ;; + *) + echo "Unsupported architecture: $arch" + exit 1 + ;; + esac + ;; + OpenBSD) + case $arch in + amd64) + wget -O basics https://github.com/oneclickvirt/basics/releases/download/output/basics-openbsd-amd64 + ;; + "i386" | "i686") + wget -O basics https://github.com/oneclickvirt/basics/releases/download/output/basics-openbsd-386 + ;; + "armv7l" | "armv8" | "armv8l" | "aarch64") + wget -O basics https://github.com/oneclickvirt/basics/releases/download/output/basics-openbsd-arm64 + ;; + *) + echo "Unsupported architecture: $arch" + exit 1 + ;; + esac + ;; + *) + echo "Unsupported operating system: $os" + exit 1 + ;; +esac + +chmod 777 basics +./basics \ No newline at end of file diff --git a/cmd/main.go b/cmd/main.go index c565aa3..c3f51bf 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -1,7 +1,21 @@ package main -import "github.com/oneclickvirt/basics/system" +import ( + "fmt" + "net/http" + + "github.com/oneclickvirt/basics/network" + "github.com/oneclickvirt/basics/system" +) func main() { + go func() { + http.Get("https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2Foneclickvirt%2Fbasics&count_bg=%232EFFF8&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false") + }() + fmt.Println("项目地址:", "https://github.com/oneclickvirt/gostun") + fmt.Println("--------------------------------------------------") system.CheckSystemInfo() + ipInfo, _, _ := network.NetworkCheck("both", false, "zh") + fmt.Printf(ipInfo) + fmt.Println("--------------------------------------------------") } diff --git a/network/baseinfo/ecs.log b/network/baseinfo/ecs.log deleted file mode 100644 index e69de29..0000000