51 lines
950 B
Go
51 lines
950 B
Go
package main
|
|
|
|
// APACHE 2.0
|
|
import (
|
|
"database/sql"
|
|
"fmt"
|
|
"io/ioutil"
|
|
"log"
|
|
|
|
"github.com/gomodule/redigo/redis"
|
|
_ "github.com/lib/pq"
|
|
)
|
|
|
|
func main() {
|
|
// connect to redis
|
|
c, err := redis.Dial("tcp", ":6380", redis.DialDatabase(2))
|
|
defer c.Close()
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
// connect to db
|
|
connStr := "user=postgres password=postgres dbname=passivessl"
|
|
db, err := sql.Open("postgres", connStr)
|
|
defer db.Close()
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
// pop redis queue
|
|
for {
|
|
jsonPath, err := redis.String(c.Do("LPOP", "analyzer:ja3-jl:0894517855f047d2a77b4473d3a9cc5b"))
|
|
if err != nil {
|
|
log.Fatal("Queue processed")
|
|
}
|
|
// read corresponding json file
|
|
dat, err := ioutil.ReadFile(jsonPath)
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
q := `INSERT INTO sessions (data) VALUES ($1) RETURNING id`
|
|
id := 0
|
|
err = db.QueryRow(q, dat).Scan(&id)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
fmt.Println("New record ID is:", id)
|
|
}
|
|
}
|