mirror of https://github.com/jetkvm/kvm.git
Compare commits
2 Commits
97ce785056
...
dd1189e8ad
Author | SHA1 | Date |
---|---|---|
|
dd1189e8ad | |
|
c380c702c7 |
|
@ -0,0 +1,34 @@
|
|||
---
|
||||
name: golangci-lint
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- "go.sum"
|
||||
- "go.mod"
|
||||
- "**.go"
|
||||
- ".github/workflows/golangci-lint.yml"
|
||||
- ".golangci.yml"
|
||||
pull_request:
|
||||
|
||||
permissions: # added using https://github.com/step-security/secure-repo
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
golangci:
|
||||
permissions:
|
||||
contents: read # for actions/checkout to fetch code
|
||||
pull-requests: read # for golangci/golangci-lint-action to fetch pull requests
|
||||
name: lint
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
|
||||
with:
|
||||
go-version: 1.23.x
|
||||
- name: Lint
|
||||
uses: golangci/golangci-lint-action@971e284b6050e8a5849b72094c50ab08da042db8 # v6.1.1
|
||||
with:
|
||||
args: --verbose
|
||||
version: v1.62.0
|
|
@ -0,0 +1,12 @@
|
|||
---
|
||||
linters:
|
||||
enable:
|
||||
# - goimports
|
||||
# - misspell
|
||||
# - revive
|
||||
|
||||
issues:
|
||||
exclude-rules:
|
||||
- path: _test.go
|
||||
linters:
|
||||
- errcheck
|
2
cloud.go
2
cloud.go
|
@ -124,7 +124,7 @@ func runWebsocketClient() error {
|
|||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer c.CloseNow()
|
||||
defer c.CloseNow() //nolint:errcheck
|
||||
logger.Infof("WS connected to %v", wsURL.String())
|
||||
runCtx, cancelRun := context.WithCancel(context.Background())
|
||||
defer cancelRun()
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"kvm"
|
||||
"github.com/jetkvm/kvm"
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
|
4
hw.go
4
hw.go
|
@ -14,7 +14,7 @@ func extractSerialNumber() (string, error) {
|
|||
return "", err
|
||||
}
|
||||
|
||||
r, err := regexp.Compile("Serial\\s*:\\s*(\\S+)")
|
||||
r, err := regexp.Compile(`Serial\s*:\s*(\S+)`)
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("failed to compile regex: %w", err)
|
||||
}
|
||||
|
@ -27,7 +27,7 @@ func extractSerialNumber() (string, error) {
|
|||
return matches[1], nil
|
||||
}
|
||||
|
||||
func readOtpEntropy() ([]byte, error) {
|
||||
func readOtpEntropy() ([]byte, error) { //nolint:unused
|
||||
content, err := os.ReadFile("/sys/bus/nvmem/devices/rockchip-otp0/nvmem")
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
|
2
main.go
2
main.go
|
@ -48,7 +48,7 @@ func Main() {
|
|||
time.Sleep(15 * time.Minute)
|
||||
for {
|
||||
logger.Debugf("UPDATING - Auto update enabled: %v", config.AutoUpdateEnabled)
|
||||
if config.AutoUpdateEnabled == false {
|
||||
if !config.AutoUpdateEnabled {
|
||||
return
|
||||
}
|
||||
if currentSession != nil {
|
||||
|
|
|
@ -5,7 +5,6 @@ import (
|
|||
"encoding/json"
|
||||
"fmt"
|
||||
"io"
|
||||
"kvm/resource"
|
||||
"log"
|
||||
"net"
|
||||
"os"
|
||||
|
@ -13,6 +12,8 @@ import (
|
|||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/jetkvm/kvm/resource"
|
||||
|
||||
"github.com/pion/webrtc/v4/pkg/media"
|
||||
)
|
||||
|
||||
|
@ -90,8 +91,8 @@ func WriteCtrlMessage(message []byte) error {
|
|||
return err
|
||||
}
|
||||
|
||||
var nativeCtrlSocketListener net.Listener
|
||||
var nativeVideoSocketListener net.Listener
|
||||
var nativeCtrlSocketListener net.Listener //nolint:unused
|
||||
var nativeVideoSocketListener net.Listener //nolint:unused
|
||||
|
||||
var ctrlClientConnected = make(chan struct{})
|
||||
|
||||
|
@ -191,7 +192,7 @@ func handleVideoClient(conn net.Conn) {
|
|||
for {
|
||||
n, err := conn.Read(inboundPacket)
|
||||
if err != nil {
|
||||
log.Println("error during read: %s", err)
|
||||
log.Printf("error during read: %s\n", err)
|
||||
return
|
||||
}
|
||||
now := time.Now()
|
||||
|
|
|
@ -28,7 +28,7 @@ type LocalIpInfo struct {
|
|||
func checkNetworkState() {
|
||||
iface, err := netlink.LinkByName("eth0")
|
||||
if err != nil {
|
||||
fmt.Printf("failed to get eth0 interface: %v\n", err)
|
||||
fmt.Printf("failed to get eth0 interface: %s\n", err)
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -44,7 +44,7 @@ func checkNetworkState() {
|
|||
|
||||
addrs, err := netlink.AddrList(iface, nl.FAMILY_ALL)
|
||||
if err != nil {
|
||||
fmt.Printf("failed to get addresses for eth0: %v\n", err)
|
||||
fmt.Printf("failed to get addresses for eth0: %s\n", err)
|
||||
}
|
||||
|
||||
for _, addr := range addrs {
|
||||
|
@ -98,7 +98,7 @@ func init() {
|
|||
done := make(chan struct{})
|
||||
|
||||
if err := netlink.LinkSubscribe(updates, done); err != nil {
|
||||
fmt.Println("failed to subscribe to link updates: %v", err)
|
||||
fmt.Printf("failed to subscribe to link updates: %v\n", err)
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -125,6 +125,6 @@ func init() {
|
|||
fmt.Println("Starting mDNS server")
|
||||
err := startMDNS()
|
||||
if err != nil {
|
||||
fmt.Println("failed to run mDNS: %v", err)
|
||||
fmt.Printf("failed to run mDNS: %v\n", err)
|
||||
}
|
||||
}
|
||||
|
|
2
ntp.go
2
ntp.go
|
@ -11,7 +11,7 @@ import (
|
|||
"github.com/beevik/ntp"
|
||||
)
|
||||
|
||||
var timeSynced = false
|
||||
var timeSynced = false //nolint:unused
|
||||
|
||||
func TimeSyncLoop() {
|
||||
for {
|
||||
|
|
|
@ -49,7 +49,7 @@ func (w *WebRTCDiskReader) Read(ctx context.Context, offset int64, size int64) (
|
|||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
buf := make([]byte, 0)
|
||||
var buf []byte
|
||||
for {
|
||||
select {
|
||||
case data := <-diskReadChan:
|
||||
|
|
|
@ -55,12 +55,14 @@ func handleTerminalChannel(d *webrtc.DataChannel) {
|
|||
var size TerminalSize
|
||||
err := json.Unmarshal([]byte(msg.Data), &size)
|
||||
if err == nil {
|
||||
pty.Setsize(ptmx, &pty.Winsize{
|
||||
err = pty.Setsize(ptmx, &pty.Winsize{
|
||||
Rows: uint16(size.Rows),
|
||||
Cols: uint16(size.Cols),
|
||||
})
|
||||
if err == nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
logger.Errorf("Failed to parse terminal size: %v", err)
|
||||
}
|
||||
_, err := ptmx.Write(msg.Data)
|
||||
|
@ -74,7 +76,7 @@ func handleTerminalChannel(d *webrtc.DataChannel) {
|
|||
ptmx.Close()
|
||||
}
|
||||
if cmd != nil && cmd.Process != nil {
|
||||
cmd.Process.Kill()
|
||||
_ = cmd.Process.Kill()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
|
2
usb.go
2
usb.go
|
@ -215,7 +215,7 @@ func writeGadgetConfig() error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func rebindUsb() error {
|
||||
func rebindUsb() error { //nolint:unused
|
||||
err := os.WriteFile("/sys/bus/platform/drivers/dwc3/unbind", []byte(udc), 0644)
|
||||
if err != nil {
|
||||
return err
|
||||
|
|
|
@ -5,7 +5,6 @@ import (
|
|||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
"kvm/resource"
|
||||
"log"
|
||||
"net/http"
|
||||
"os"
|
||||
|
@ -16,12 +15,12 @@ import (
|
|||
"syscall"
|
||||
"time"
|
||||
|
||||
"github.com/jetkvm/kvm/resource"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
|
||||
"github.com/psanford/httpreadat"
|
||||
|
||||
"github.com/google/uuid"
|
||||
"github.com/pion/webrtc/v4"
|
||||
"github.com/psanford/httpreadat"
|
||||
)
|
||||
|
||||
const massStorageName = "mass_storage.usb0"
|
||||
|
@ -60,11 +59,11 @@ func onDiskMessage(msg webrtc.DataChannelMessage) {
|
|||
func mountImage(imagePath string) error {
|
||||
err := setMassStorageImage("")
|
||||
if err != nil {
|
||||
return fmt.Errorf("Remove Mass Storage Image Error", err)
|
||||
return fmt.Errorf("Remove Mass Storage Image Error: %w", err)
|
||||
}
|
||||
err = setMassStorageImage(imagePath)
|
||||
if err != nil {
|
||||
return fmt.Errorf("Set Mass Storage Image Error", err)
|
||||
return fmt.Errorf("Set Mass Storage Image Error: %w", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue