From 5485fc4798c566f78b94000cf590bf880d0484b0 Mon Sep 17 00:00:00 2001 From: Joe Shaw Date: Fri, 21 Aug 2015 12:02:39 -0400 Subject: [PATCH] oops, forgot to filter by the Dash's MAC address --- gyro.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/gyro.go b/gyro.go index 501c5dd..4cacd15 100644 --- a/gyro.go +++ b/gyro.go @@ -6,6 +6,7 @@ import ( "net/http" "net/url" "os" + "time" "github.com/mdlayher/arp" ) @@ -13,6 +14,8 @@ import ( const gyroURL = "http://saltmines.us/gyroup.php" const name = "Some button pusher" +const dashMac = "74:c2:46:81:f2:ac" + func main() { if len(os.Args) < 2 { log.Fatal("Usage: arp ") @@ -23,6 +26,11 @@ func main() { log.Fatal("InterfaceByName: ", err) } + mac, err := net.ParseMAC(dashMac) + if err != nil { + log.Fatal("ParseMAC: ", err) + } + c, err := arp.NewClient(iface) if err != nil { log.Fatal("arp.NewClient: ", err) @@ -34,7 +42,11 @@ func main() { log.Fatal(err) } - if p.Operation == arp.OperationRequest && p.SenderIP.Equal(net.IPv4zero) { + if p.Operation == arp.OperationRequest && + p.SenderIP.Equal(net.IPv4zero) && + p.SenderHardwareAddr.String() == mac.String() { + + log.Printf("Gyro button pressed at %s!", time.Now()) resp, err := http.PostForm(gyroURL, url.Values{"user_name": {name}}) if err != nil { log.Printf("Error updating count: %s", err)