Thursday, September 3, 2026

 CYD ES32-2432S028

Wireless Wizard Link -> https://wirelesswizard.net/

This assumes you know what you’re doing. If you’re not sure, do some additional research before proceeding. 

Board 


Amazon = https://www.amazon.com/dp/B0D8W9DSYZ?ref=ppx_yo2ov_dt_b_fed_asin_title

GPS Unit
Amazon = https://www.amazon.com/dp/B09LQDG1HY?ref=ppx_yo2ov_dt_b_fed_asin_title


Board layout

To get the GPS working, I connected CN1 GND and 3.3V to provide power.

Note: If the red LED on the GPS module is not flashing, the module has not yet established a connection with or received a signal from any satellites. It may take a few minutes for the GPS to acquire a satellite signal, especially on the first startup.

 
CN1
GND
IO22
IO27
3.3V

For data communication, connect TX on the GPS module to IO22 on the CYD, and RX on the GPS module to IO21 on the CYD.

next boot into wireless wizard
Tap settings
Tap next three times
Tap GPS Config

make sure you have these settings
Baud Rate = 9600
RX PIN (GPIO) = 22
TX PIN (GPIO) = 21
Tap Save 

Run the test, and you should see some data coming through.

Once you’ve verified your connections and confirmed that everything is working, it’s time to make a cable. Have fun!

Finished unit









Thursday, August 27, 2026

Windows Technical Maintenance Cheat Sheet



Update appswinget upgrade --all
Repair system filessfc /scannow
Repair component storeDISM /Online /Cleanup-Image /RestoreHealth
Battery reportpowercfg /batteryreport
DNS cacheipconfig /displaydns
Clear DNSipconfig /flushdns
MAC addressesgetmac /v
Network configipconfig /all
Connections/portsnetstat -ano
System informationsysteminfo
Current userwhoami /all
User sessionsquery user
Defender statusGet-MpComputerStatus
Network adaptersGet-NetAdapter

Sunday, July 26, 2026

 Monitor DNS and SNI


Wireshark

tls.record.content_type==22


DNS Monitor

# IMPORTANT: This script was created used ChatGPT. Use at your own risk.


from scapy.all import sniff

from scapy.layers.dns import DNS, DNSQR

from datetime import datetime


LOG_FILE = "dns_log.txt"


# Optional: domains you want highlighted

BLOCKLIST = [

    "adult",

    "porn",

    "gambling",

    "casino",

]


seen = set()


def process_packet(packet):

    if packet.haslayer(DNSQR):

        try:

            domain = packet[DNSQR].qname.decode("utf-8").rstrip(".")


            # Avoid duplicate spam

            now_minute = datetime.now().strftime("%Y-%m-%d %H:%M")

            unique_key = f"{now_minute}:{domain}"


            if unique_key in seen:

                return


            seen.add(unique_key)


            timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")


            warning = ""

            for word in BLOCKLIST:

                if word.lower() in domain.lower():

                    warning = " [POTENTIALLY INAPPROPRIATE]"

                    break


            log_entry = f"[{timestamp}] {domain}{warning}"


            # Print to screen

            print(log_entry)


            # Save to file

            with open(LOG_FILE, "a", encoding="utf-8") as f:

                f.write(log_entry + "\n")


        except Exception as e:

            print(f"Error processing packet: {e}")


print("DNS monitor started...")

print(f"Logging to: {LOG_FILE}")

print("Press CTRL+C to stop.\n")


# Sniff DNS traffic (UDP port 53)

sniff(filter="udp port 53", prn=process_packet, store=False)


SNI Monitor


# IMPORTANT: This script was created used ChatGPT. Use at your own risk.


from scapy.all import sniff, TCP, Raw

from datetime import datetime


LOG_FILE = "sni_log.txt"


def extract_sni(payload):

    try:

        data = bytes(payload)


        # TLS Handshake check

        if len(data) < 5:

            return None


        # TLS Handshake record

        if data[0] != 0x16:

            return None


        pos = 43


        # Session ID

        session_id_length = data[pos]

        pos += 1 + session_id_length


        # Cipher Suites

        cipher_suites_length = int.from_bytes(data[pos:pos+2], 'big')

        pos += 2 + cipher_suites_length


        # Compression Methods

        compression_methods_length = data[pos]

        pos += 1 + compression_methods_length


        # Extensions

        extensions_length = int.from_bytes(data[pos:pos+2], 'big')

        pos += 2


        end = pos + extensions_length


        while pos + 4 <= end:

            ext_type = int.from_bytes(data[pos:pos+2], 'big')

            ext_length = int.from_bytes(data[pos+2:pos+4], 'big')

            pos += 4


            # SNI Extension

            if ext_type == 0x0000:

                sni_data = data[pos:pos+ext_length]


                # Skip list length + name type

                server_name_length = int.from_bytes(sni_data[3:5], 'big')

                server_name = sni_data[5:5+server_name_length]


                return server_name.decode(errors="ignore")


            pos += ext_length


    except Exception:

        return None


    return None


def packet_callback(packet):

    if packet.haslayer(TCP) and packet.haslayer(Raw):

        payload = packet[Raw].load

        sni = extract_sni(payload)


        if sni:

            timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")

            line = f"[{timestamp}] {sni}"


            print(line)


            with open(LOG_FILE, "a") as f:

                f.write(line + "\n")


print("Listening for TLS SNI traffic...")

sniff(filter="tcp port 443", prn=packet_callback, store=False)


Wednesday, December 10, 2025

STOP POSTING PICTURES WITH YOUR METADATA IN FULL VIEW 

remove meta data from jpg on macOS using Terminal

you will need Brew install on your mac

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

install ExifTool

brew install exiftool

open terminal and change directory to the location of files you wish to remove meta data

Terminal commands

this will display the metadata in your file

exiftool your_file.jpeg

removed all metadata from your file

exiftool -all= -overwrite_original your_file.jpeg 

Extra Paranoid removal

exiftool -all= --icc_profile:all -m -overwrite_original *.jpeg

validate your metadata has been removed

exiftool "your_file.jpg" | grep -i "gps\|location\|date\|camera\|iphone"

Pro-Tip, remove all metadata in files in a directory

exiftool -all= -overwrite_original -r *.jpeg *.jpeg *.png *.heic 2>/dev/null && echo "All metadata stripped ✅"


STOP POSTING PICTURES WITH YOUR METADATA IN FULL VIEW

Thursday, August 21, 2025

 My Brew install list

Brew install btop

Brew install nvtop

Brew install asitop

Brew install duf

Brew install cool-retro-term

Brew install mtr

Brew install glances

brew install termshark

brew install lsof

brew install ipcalc


more to come, if you don't know what these do, google is your friend. I recommend you install them and geek out on them


Wednesday, June 4, 2025

 Linux grep Commands

V grep "example" my.txt search for "example" in "my.txt" 

V grep "example" * txt search for "example" in all ".txt" files 

V grep-i "example" my.txt search for "example" while ignoring cases 

V grep-c "example" my.txt count # of lines that contain "example" 

V grep-n "example" my.txt show line numbers along with matched lines v grep-r "example" '. search for "example" in all files recursively grep-v "example" my.txt display lines that do not contain "example" 

V grep-w "example" search for lines containing "example" as a full word 

V grep -e "key1" -e "key?" my.txt show lines containing either pattern 

V grep-v-e "key1" -e "key2" my.txt show lines containing neither pattern 

V grep "key1"key2" my.txt display lines contain both "key1" and "key?"

V grep -E "errorlwarning" app.log use extended regex for matching 

V grep -E "^[a-zA-Z]" my.tt another extended regex example v grep-m3 "keyword" my.txt limit grep output to a fixed number of lines 

V grep-A2-B2 "example" my.txt show 2 lines before and after match v grep -C3 "error" server.log show 3 lines before and after match grep- "spoofing" my.txt show lines that exactly match a string 

V grep- "example" * display file names that match the pattern 

V grep "^hello" my.txt show all lines that start with "hello" 

V grep "done$" my.txt show all lines that end with "done" grep-o "begin."end" my.txt show only the matched string v grep -color "example" my.txt display matches with color v grep "[0-9]" my.txt show all lines that contain any digits grep-a "string" my.bin search for a string in a binary file

 

Useful Wireshark filters



  • ip.addr == 10.0.0.1: Show all traffic with 10.0.0.1 as either source or destination.
  • ip.addr == 10.0.0.0/24: Show all traffic to and from any address in 10.0.0.0/24.
  • ip.src == 10.0.0.1 && ip.dst == 10.0.0.2: Show all traffic from 10.0.0.1 to 10.0.0.2.
  • ! ip.addr == 10.0.0.1): Exclude all traffic to or from 10.0.0.1.
  • iсmp.type == 3: Show ICMP "destination unreachable" packets.
  • tcp or udp: Show TCP or UDP traffic.
  • tcp.port == 80: Show TCP traffic with port 80.
  • tcp.srcport < 1000: Show TCP traffic with source port range.
  • http or dns: Show all HTTP or DNS traffic.
  • tcp.flags.syn == 1: Show TCP packets with SYN flag set.
  • tcp.flags == 0x012: Show TCP packets with both SYN and ACK flags set.
  • tcp.analysis.retransmission: Show all retransmitted TCP packets.
  • http.request.method == "GET": Show TCP packets associated with HITP GET.
  • http.response.code == 404: Show packets associated with HTTP 404 response.
  • http.host == www.abc.com: Show HTTP traffic matching the Host header field.
  • tls.handshake: Show only TLS handshake packets.
  • tis.handshake.type == 1: Show client Hello packet during TLS handshake.
  • dhep and ip.addr == 10.0.0.0/24: Show DHCP traffic for 10.0.0.0/24 subnet.
  • dhcp.hw.mac_addr == 00:11:22:33:44:55: Show DHCP packets for client MAC address.
  • dns.resp.name == cnn.com: Show DNS responses with name field of "cnn.com".
  • frame contains keyword: Show all packets that contain the word "keyword".
  • frame.len > 1000: Show all packets with total length larger than 1000 bytes.
  • eth.addr == 00:11:22:33:44:55: Show all traffic to or from the specified MAC address.
  • eth[0x47:2] == 01:80: Match Ethernet frames with 2 bytes at offset 0x47 == 01:80.
  • !(arp or icmp or stp): Filter out background traffic from ARP, ICMP, and STP.
  • vlan.id == 100: Show packets with VLAN ID 100.

Thursday, August 3, 2023

Monday, October 24, 2022

 How to find a the WiFi password on a Windows laptop that is connected.

Run CMD as administrator

enter this

netsh wlan show profile

this command will show the WiFi user profile and SSID

now enter this

netsh wlan export profile folder=C:\ key=clear

go to the root of C drive and you will find a XML file, open it with notepad

Search for <keyMaterial> and there you will find the password


how you get to the command prompt of a computer with admin privileges is on you

Thursday, August 4, 2022

Red Hat No Cost version

 

you will need to create an account for red hat and give them your information, nothing is free.

Download the no cost version you would like, if you are installing on a VM or Bare metal make sure to get the DVD ISO.

Reference: https://developers.redhat.com/products/rhel/download

Follow the steps to install and you are done, now register your OS to receive patches, pathing doesn't break things...

Register your OS

subscription-manager register --username <username> --password <password> --auto-attach

reference: https://access.redhat.com/solutions/253273

Tuesday, June 7, 2022

 Steps to install and enable Broadcom WiFi devices in Kali Linux v 2022.2

This process works for the following devices


  • BCM4311
  • BCM4312
  • BCM4313
  • BCM4321
  • BCM4322
  • BCM43142
  • BCM43224
  • BCM43225
  • BCM43227
  • BCM43228
  • BCM4331
  • BCM4352
  • BCM4360


First

sudo apt update

Second

sudo apt install broadcom-sta-dkms

Third

sudo apt install broadcom-sta-source

Forth

reboot

enjoy your WiFi experience


Tuesday, May 31, 2022

base64 to decode in terminal

 echo '90oijsdv09uOIDVlkcndvwn' | base64 -d

 echo '90oijsdv09uOIDVlkcndvwn' | base64 -d | tr ";" "\n"



Thursday, November 18, 2021

 Look like you're a hacker in macOS


install HomeBrew

install htop

install cmatrix

arrange terminal windows to look like you are hacking the deathstart

Tuesday, September 21, 2021

 NMap command to remember


NMAP -sP 192.168.1.0/24 = to ping all systems in that range

NMAP -sT -p 80,443 192.168.1.0/24 = search all IPs for defined open ports

sudo NMAP -sS -p 80,443 192.168.1.0/24 = stealth search all IPs for defined open ports

sudo NMAP -sS 192.168.1.90 = stealth search for all open ports, best to do this one machine at a time

sudo NMAP -O 192.168.1.90 = OS detection

sudo NMAP -A 192.168.1.90 = OS detection

hide yourself, -D sets the decoy IP address

sudo NMAP -sS -D 192.168.5.5 192.168.1.22

check vulnerabilities in systems

sudo NMAP --script vuln 192.168.1.90





Saturday, April 3, 2021

5 Linux Shell tricks to remember

 

if you type in a command and it needs Sudo, just type in sudo !! (bang, bang), it will run the command you just type without sudo with sudo....  speed

CTRL + K will removes all text at the curser

CTRL + W will remove words in command line

TOP questions

What version of Linux are you using ?

uname -a

What ip address is assigned

ip addr show

How would you check for drive space

df -h

How would show the size of a folder

du -sh foldername

How would you check for open ports, listening

netstate -tulpn  (you need root to see the program)

How would check CPU and system usage

top

How would you find help for a command

man netstat

User and groups

cat /etc/group

    review this file, look for root and if anyone was added, look at wheel and if anyone was added.

cat /etc/shadow

    review this file, you will need sudo, Look for users and make sure they have :$6$ for 512 encryption

cat /etc/passwd

    review this file and match up the nologin for users or service accounts 



Friday, December 11, 2020

Windows 10 Pro using your bandwidth

Windows 10 by default prioritizes it's self for your band width, if you have a gaming PC or a laptop you probably do not want Windows 10 deciding when to us your bandwidth, specially if you are on a limited band width connection (Not everyone has high speed) and of course Windows will start using bandwidth when you need it most, like in a zoom call or downloading something for work.

Lets fix that

This is for Windows 10 Pro so we can use gpedit.msc to change it.

  1. click start and gpedit.msc
  2. click Administrative Templates
  3. click Network
  4. double click QoS Packet Scheduler
  5. double click Limit reservable bandwidth
  6. click Enabled
  7. Set band width limit to 0
  8. click ok and reboot

For Windows 10 Home version, you will have to edit the registry (if you are not comfortable editing your registry do not apply this fix)

  1. click start and regedit.msc
  2. double click HKEY_LOCAL_MACHINE
  3. double click SOFTWARE
  4. double click Polices
  5. double click Microsoft
  6. right click on Microsoft and select New Key and call it Psched
  7. right click and select new DWORD
  8. name it NonBestEffortLimit and leave the default of zero
  9. close out of regedit and reboot

You may or may not see any improvement but you know that Microsoft isn't using your bandwidth when you don't want them too.

enjoy




Friday, September 11, 2020

Install Subl for Kali

I am doing this so I don't forget....


Follow the steps below until they no longer work....

wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add - 
 
echo "deb https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list 
 
sudo apt update && sudo apt install sublime-text

Thursday, August 6, 2020

BashTOP for Kali Linux

This is a very cool and easy to load system monitoring shell, highly recommend and makes your friends think you are an uber hacker...

Lets get started, I am installing this on Kali Linux 2.0 but will work on Ubuntu as well

get to a terminal and lets get typing

  • git clone https://github.com/aristocratos/bashtop.git
  • cd bashtop 
  • sudo make install
  • cd\
  • bashtop

enjoy


Wednesday, July 8, 2020

Big Sur beta 2 install from USB HP 800 G1 Elitedesk Haswell

Steps I used to create a Big Sur USB installer


Gathering items


16 GB USB drive

240 GB SSD (Big Sur is too slow on a spinner)
HP 800 G1 EliteDesk or Haswell based computer
My EFI.zip file to boot Big Sur
Clover Configurator <- used to mount partitions
Time and patience

I have a HP 800 G1 running Catalina/Big Sur, this is what I used to create the USB boot disk with Big Sur beta 2.


Step 1: download Big Sur by pasting the below link in terminal, select the Big Sur Beta 2 download.



curl -O https://raw.githubusercontent.com/munki/macadmin-scripts/main/installinstallmacos.py && sudo /usr/bin/python installinstallmacos.py --raw --seedprogram DeveloperSeed

Step 2: Format your USB drive with Disk Utility with GUID Partition and call it Untitled

past the below command in terminal to create your USB installer

sudo /Applications/Install macOS Beta.app/Contents/Resources/createinstallmedia –volume /Volumes/Untitled

Once that is complete, use Clover Configuraor to mount the EFI partition on the USB installer, copy the EFI folder from my zip file to the USB UFI partition.

if all went well, you should have a bootable USB installer.

Step 3 coming.. getting tired...

Saturday, July 4, 2020

Big Sur - Opencore 0.6.0 - HP G1 800 Haswell

below is how I got Big Sur to work on the HP 800 G1, this will probably work for most Haswell systems but HP's have limited BIOS settings so we have to do most of the work in config.plist

You will need to find Opencore .0.6.0, its not publicly released yet so you may need to compile it. you should also familiarize yourself with dortania's opencore and read the how too's.

I used my Mac mini to install Big Sur onto a SSD with a USB adapter, there is a VM method as well but you will. have to find that out. With my Mac mini enrolled in Apples developer program I was able to download Big Sur and run the installer. It's important to note that you must format the SSD to be used for Big Sur with APFS or the installer will not work.

Mount the EFI folder and place Opencore's EFI folder into it, I used the same kexts that I had in my Catalina EFI folder but made sure they where the latest versions, I also used my SSDT-EC.aml from Catalina. Only OpenRuntime.efi and HfsPlus.efi are needed in Drivers.

In Opencore the most important file is the config.plist, below is the settings I used. if I don't mention a setting leave it as default. I am assuming you know how it edit the config.plist, if you don't then look it up on YouTube, lots of video's on how to do it.

Booter - Quirks


DeviceProperies - You will need to add this if you want iGPU to work, leave it blank if you have dGPU

PciRoot(0x0)/Pci(0x2,0x0)
AAPL,ig-platform-id   0300220D
device-id                      12040000




Kernel

Misc

NVRAM

Platforminfo






































UEFI