This commit is contained in:
Gregory Salaun 2025-04-06 13:36:08 +02:00
parent bd1b8da2f7
commit 9a03f3d4c6
3 changed files with 8 additions and 5 deletions

Binary file not shown.

View File

@ -3,8 +3,8 @@ gotify:
token: ALaGS4MVMWTEMcP token: ALaGS4MVMWTEMcP
cluster: cluster:
host: ve7cc.net:23 host: dxc.k0xm.net:7300
call: XV9Q call: F4BPO
log: log:
sqlitePath: "C:\\Perso\\Seafile\\Radio\\Logs\\Log4OM\\Vietnam.SQLite" sqlitePath: "C:\\Perso\\Seafile\\Radio\\Logs\\Log4OM\\Vietnam.SQLite"

View File

@ -112,7 +112,7 @@ func sendToGotify(title string, sMess ClusterMessage, priority int, cfg Config)
} }
func SanitizeClusterMessage(message string) ClusterMessage { func SanitizeClusterMessage(message string) ClusterMessage {
r := regexp.MustCompile(`DX\sde\s([A-Z0-9]+)[-#:]+[\s]+([0-9]+.[0-9])[\s]+([^\s]+)[\s]+([A-Z]+[0-9])\s+(.*dB).*(.{4})Z$`) r := regexp.MustCompile(`DX\sde\s([A-Z0-9]+)[-#:]+[\s]+([0-9]+.[0-9])[\s]+([^\s]+)[\s]+(\bFT8\b|\bFT4\b|\bCW\b)+\s+(.*dB).*(.{4})Z$`)
matches := r.FindStringSubmatch(message) matches := r.FindStringSubmatch(message)
mes := ClusterMessage{} mes := ClusterMessage{}
@ -151,7 +151,7 @@ func sendTelnetMessage(conn net.Conn, message string) {
func sendFilters(conn net.Conn) { func sendFilters(conn net.Conn) {
go sendTelnetMessage(conn, "set/ft8") go sendTelnetMessage(conn, "set/ft8")
time.Sleep(1 * time.Second) time.Sleep(1 * time.Second)
go sendTelnetMessage(conn, "SET/FILTER DOC/PASS 3W") go sendTelnetMessage(conn, "SET/FILTER DOC/PASS F")
time.Sleep(1 * time.Second) time.Sleep(1 * time.Second)
go sendTelnetMessage(conn, "set/skimmer") go sendTelnetMessage(conn, "set/skimmer")
time.Sleep(1 * time.Second) time.Sleep(1 * time.Second)
@ -177,7 +177,8 @@ func main() {
fmt.Println("PushDXCluster v0.1") fmt.Println("PushDXCluster v0.1")
for { for {
// Connect to the Telnet server // Connect to the Telnet server
conn, err := net.Dial("tcp", cfg.Cluster.Host) addr, err := net.ResolveTCPAddr("tcp", cfg.Cluster.Host)
conn, err := net.DialTCP("tcp", nil, addr)
if err != nil { if err != nil {
log.Printf("Failed to connect to Telnet server: %v", err) log.Printf("Failed to connect to Telnet server: %v", err)
time.Sleep(5 * time.Second) // Wait before retrying time.Sleep(5 * time.Second) // Wait before retrying
@ -192,6 +193,8 @@ func main() {
// Loop to read from the Telnet server // Loop to read from the Telnet server
for { for {
message, err := reader.ReadString('\n') message, err := reader.ReadString('\n')
message, _ = strings.CutSuffix(message, "\n")
message, _ = strings.CutSuffix(message, "\r")
if err != nil { if err != nil {
log.Printf("Error reading from Telnet server: %v", err) log.Printf("Error reading from Telnet server: %v", err)
conn.Close() conn.Close()