move code to folder
This commit is contained in:
parent
59bb345d98
commit
6f21e0af4c
15 changed files with 103 additions and 64 deletions
|
|
@ -3,8 +3,8 @@ FROM ubuntu:20.04
|
||||||
RUN apt update && apt install -y arp-scan && apt clean \
|
RUN apt update && apt install -y arp-scan && apt clean \
|
||||||
&& mkdir /data
|
&& mkdir /data
|
||||||
|
|
||||||
COPY templates /app/templates
|
COPY src/templates /app/templates
|
||||||
COPY watchyourlan /app/
|
COPY src/watchyourlan /app/
|
||||||
|
|
||||||
EXPOSE 8840
|
EXPOSE 8840
|
||||||
|
|
||||||
|
|
|
||||||
11
Makefile
11
Makefile
|
|
@ -1,17 +1,20 @@
|
||||||
DUSER=aceberg
|
DUSER=aceberg
|
||||||
DNAME=watchyourlan
|
DNAME=watchyourlan
|
||||||
DPORT=8840
|
|
||||||
VERSION=0.4
|
VERSION=0.4
|
||||||
|
|
||||||
mod:
|
mod:
|
||||||
rm go.mod
|
cd src && \
|
||||||
go mod init $(DNAME)
|
rm go.mod && \
|
||||||
|
go mod init $(DNAME) && \
|
||||||
go mod tidy
|
go mod tidy
|
||||||
|
|
||||||
run:
|
run:
|
||||||
|
cd src && \
|
||||||
sudo go run .
|
sudo go run .
|
||||||
|
|
||||||
go-build:
|
go-build:
|
||||||
|
cd src && \
|
||||||
go build .
|
go build .
|
||||||
|
|
||||||
docker-build:
|
docker-build:
|
||||||
|
|
@ -26,7 +29,7 @@ docker-run:
|
||||||
$(DUSER)/$(DNAME):$(VERSION)
|
$(DUSER)/$(DNAME):$(VERSION)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm $(DNAME) || true
|
rm src/$(DNAME) || true
|
||||||
docker rmi -f $(DUSER)/$(DNAME):latest $(DUSER)/$(DNAME):$(VERSION)
|
docker rmi -f $(DUSER)/$(DNAME):latest $(DUSER)/$(DNAME):$(VERSION)
|
||||||
|
|
||||||
dev: go-build docker-build docker-run
|
dev: go-build docker-build docker-run
|
||||||
38
db-create.go
38
db-create.go
|
|
@ -1,38 +0,0 @@
|
||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"os"
|
|
||||||
"fmt"
|
|
||||||
"log"
|
|
||||||
"database/sql"
|
|
||||||
_ "github.com/mattn/go-sqlite3"
|
|
||||||
)
|
|
||||||
|
|
||||||
func db_create(dbPath string) {
|
|
||||||
if _, err := os.Stat(dbPath); err == nil {
|
|
||||||
fmt.Println("DB exists")
|
|
||||||
} else {
|
|
||||||
sqlStatement := `CREATE TABLE "now" (
|
|
||||||
"ID" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
|
|
||||||
"NAME" TEXT,
|
|
||||||
"IP" TEXT,
|
|
||||||
"MAC" TEXT,
|
|
||||||
"HW" TEXT,
|
|
||||||
"DATE" TEXT,
|
|
||||||
"KNOWN" INTEGER DEFAULT 0
|
|
||||||
);`
|
|
||||||
db_query(dbPath, sqlStatement)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func db_query (dbPath string, sqlStatement string) (*sql.Rows) {
|
|
||||||
db, _ := sql.Open("sqlite3", dbPath)
|
|
||||||
defer db.Close()
|
|
||||||
|
|
||||||
res, err := db.Query(sqlStatement)
|
|
||||||
if err != nil {
|
|
||||||
log.Fatal(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
return res
|
|
||||||
}
|
|
||||||
15
db-search.go
15
db-search.go
|
|
@ -1,15 +0,0 @@
|
||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
// "os"
|
|
||||||
"fmt"
|
|
||||||
// "log"
|
|
||||||
// "database/sql"
|
|
||||||
// _ "github.com/mattn/go-sqlite3"
|
|
||||||
)
|
|
||||||
|
|
||||||
func db_search(dbPath string) {
|
|
||||||
sqlStatement := ``
|
|
||||||
res := db_query(dbPath, sqlStatement)
|
|
||||||
fmt.Println(res)
|
|
||||||
}
|
|
||||||
56
src/db-connect.go
Normal file
56
src/db-connect.go
Normal file
|
|
@ -0,0 +1,56 @@
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"log"
|
||||||
|
"database/sql"
|
||||||
|
_ "github.com/mattn/go-sqlite3"
|
||||||
|
)
|
||||||
|
|
||||||
|
// func db_query (dbPath string, sqlStatement string) (*sql.Rows) {
|
||||||
|
// db, _ := sql.Open("sqlite3", dbPath)
|
||||||
|
// defer db.Close()
|
||||||
|
|
||||||
|
// res, err := db.Query(sqlStatement)
|
||||||
|
// if err != nil {
|
||||||
|
// log.Fatal(err)
|
||||||
|
// }
|
||||||
|
// return res
|
||||||
|
// }
|
||||||
|
|
||||||
|
func db_exec (dbPath string, sqlStatement string) {
|
||||||
|
db, _ := sql.Open("sqlite3", dbPath)
|
||||||
|
defer db.Close()
|
||||||
|
|
||||||
|
_, err := db.Exec(sqlStatement)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func db_select(dbPath string) (dbHosts []Host) {
|
||||||
|
db, _ := sql.Open("sqlite3", dbPath)
|
||||||
|
defer db.Close()
|
||||||
|
|
||||||
|
sqlStatement := `SELECT * FROM "now"`
|
||||||
|
//res := db_query(dbPath, sqlStatement)
|
||||||
|
|
||||||
|
res, err := db.Query(sqlStatement)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
dbHosts = []Host{}
|
||||||
|
for res.Next() {
|
||||||
|
var oneHost Host
|
||||||
|
err = res.Scan(&oneHost.Id, &oneHost.Name, &oneHost.Ip, &oneHost.Mac, &oneHost.Hw, &oneHost.Date, &oneHost.Known)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
dbHosts = append(dbHosts, oneHost)
|
||||||
|
}
|
||||||
|
|
||||||
|
fmt.Println("Select all:", dbHosts)
|
||||||
|
return dbHosts
|
||||||
|
}
|
||||||
31
src/db-edit.go
Normal file
31
src/db-edit.go
Normal file
|
|
@ -0,0 +1,31 @@
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"os"
|
||||||
|
"fmt"
|
||||||
|
)
|
||||||
|
|
||||||
|
func db_create(dbPath string) {
|
||||||
|
if _, err := os.Stat(dbPath); err == nil {
|
||||||
|
fmt.Println("DB exists")
|
||||||
|
} else {
|
||||||
|
sqlStatement := `CREATE TABLE "now" (
|
||||||
|
"ID" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
|
||||||
|
"NAME" TEXT NOT NULL,
|
||||||
|
"IP" TEXT,
|
||||||
|
"MAC" TEXT,
|
||||||
|
"HW" TEXT,
|
||||||
|
"DATE" TEXT,
|
||||||
|
"KNOWN" INTEGER DEFAULT 0
|
||||||
|
);`
|
||||||
|
db_exec(dbPath, sqlStatement)
|
||||||
|
fmt.Println("Table created!")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func db_insert(dbPath string, oneHost Host) {
|
||||||
|
sqlStatement := `INSERT INTO "now" (NAME, IP, MAC, HW, DATE, KNOWN) VALUES ('','%s','%s','%s','%s', '%d');`
|
||||||
|
sqlStatement = fmt.Sprintf(sqlStatement, oneHost.Ip, oneHost.Mac, oneHost.Hw, oneHost.Date, 1)
|
||||||
|
fmt.Println("Insert statement:", sqlStatement)
|
||||||
|
db_exec(dbPath, sqlStatement)
|
||||||
|
}
|
||||||
|
|
@ -3,7 +3,7 @@ module watchyourlan
|
||||||
go 1.19
|
go 1.19
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/mattn/go-sqlite3 v1.14.14
|
github.com/mattn/go-sqlite3 v1.14.15
|
||||||
github.com/spf13/viper v1.12.0
|
github.com/spf13/viper v1.12.0
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -133,8 +133,8 @@ github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||||
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
||||||
github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo=
|
github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo=
|
||||||
github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60=
|
github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60=
|
||||||
github.com/mattn/go-sqlite3 v1.14.14 h1:qZgc/Rwetq+MtyE18WhzjokPD93dNqLGNT3QJuLvBGw=
|
github.com/mattn/go-sqlite3 v1.14.15 h1:vfoHhTN1af61xCRSWzFIWzx2YskyMTwHLrExkBOjvxI=
|
||||||
github.com/mattn/go-sqlite3 v1.14.14/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
|
github.com/mattn/go-sqlite3 v1.14.15/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg=
|
||||||
github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
|
github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
|
||||||
github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
|
github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
|
||||||
github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8=
|
github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8=
|
||||||
|
|
@ -27,9 +27,11 @@ func main() {
|
||||||
|
|
||||||
foundHosts := parse_output(scan_iface(newConfig.Iface))
|
foundHosts := parse_output(scan_iface(newConfig.Iface))
|
||||||
|
|
||||||
fmt.Println(foundHosts)
|
fmt.Println("Found hosts:", foundHosts)
|
||||||
|
|
||||||
db_create(newConfig.DbPath)
|
db_create(newConfig.DbPath)
|
||||||
|
db_insert(newConfig.DbPath, foundHosts[0])
|
||||||
|
db_select(newConfig.DbPath)
|
||||||
|
|
||||||
fmt.Println(fmt.Sprintf("http://%s:%s", newConfig.GuiIP, newConfig.GuiPort))
|
fmt.Println(fmt.Sprintf("http://%s:%s", newConfig.GuiIP, newConfig.GuiPort))
|
||||||
|
|
||||||
Loading…
Reference in a new issue