This commit is contained in:
spiritlhl
2024-05-06 08:17:27 +00:00
parent a9b357ef0c
commit 1c49ca805d
5 changed files with 241 additions and 1 deletions

131
.github/workflows/main.yaml vendored Normal file
View File

@@ -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

View File

@@ -1 +1,11 @@
# basics # 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
```

85
basics_install.sh Normal file
View File

@@ -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

View File

@@ -1,7 +1,21 @@
package main package main
import "github.com/oneclickvirt/basics/system" import (
"fmt"
"net/http"
"github.com/oneclickvirt/basics/network"
"github.com/oneclickvirt/basics/system"
)
func main() { 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() system.CheckSystemInfo()
ipInfo, _, _ := network.NetworkCheck("both", false, "zh")
fmt.Printf(ipInfo)
fmt.Println("--------------------------------------------------")
} }