π Windows Clip Spy
Description
π» This is a terminal tool π§ which generates an executable to send your clipboard π on each update to another machine β. Made with educational porpuses
Purpouse
π Learn
- how to interact with Windows to start a programm on the OS init
- get the clipboard on updates
- create a simple terminal tool from scratch to generate executables
- make golang background programs
Technologies used π
Golang (Go)
Pakages π¦:
- clipboard (Get the clipboard)
- go-autostart (Start on the Windows init)
- go-toml (Set and get config vars between the terminal tool and the final executable)
How to use it
Prerequisites :
Clone the repository π
git clone https://github.com/PiterWeb/WindowsClipSpy
cd WindowsClipSpy
Install all the packages π
go mod install
go mod verify
go build .
# This will generate the tool on an executable at the root folder of the project
Open the executable and introduce the config in the terminal that will appear
Listen for the clipboard on the url you specified π
I had prepare the code for the server with the go http package.
This code should be runned on a different folder to work well.
// <otherfolder>/server.go
package main
import (
"fmt"
"io/ioutil"
"log"
"net/http"
)
const (
Port = "8080"
Host = "localhost"
)
func main() {
fmt.Println("Server is running on port: ", Port)
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
body, err := ioutil.ReadAll(r.Body)
if err != nil {
log.Fatal(err)
}
fmt.Println(string(body))
})
http.ListenAndServe(Host+":"+Port, nil)
}
cd <otherfolder>
go mod init github.com/PiterWeb/WindowsClipSpy/server
go run server.go