Repository navigation
Releases: Nenco79/PAT-Monitor
Release list
v1.5.0
Notifications with the page closed, and a new panel behind More.
The warnings the page shows can now reach a phone or a computer with the page
closed, as system notifications:
- Notifications are off until you turn them on, one device at a time, from
More → Notifications on this device → Receive. Send a test checks
that they arrive. - They arrive only where the browser can receive them: when the monitor is
opened from itshttps://…ts.netaddress, the one that can also be reached
from outside the home, and on an iPhone or iPad (iOS 16.4 or later) only from
its icon on the Home Screen. Elsewhere the card says why. - Each device has settings of its own that decide whether a notification
arrives while it sleeps.
The procedure for Windows, Android and iPhone
lists them, in every language of the interface. - They are the page's own warnings: crying, barking and motion, and the
faults. When a fault clears, a notification says so and asks the device not
to sound. Notifications can arrive late or not at all. - The message goes through the push service the browser uses (Apple, Google,
Mozilla or Microsoft), encrypted for that device. The
privacy policy says
what is kept and what that service receives.
Changes you may notice:
- The Details button is now More. Its panel opens with three cards (the
recordings, the notifications, and the address with its QR code when access
from outside works), then the camera and the microphone, and the readings
behind a closed Diagnostics row. - The password pages give password managers a user name, PAT Monitor: on an
iPhone the keychain asked for one every time the password was saved. - The messages that say a fault has cleared now say what holds ("The
microphone is working now") rather than "again", which was not true when the
fault had been there since the monitor started. - The safety notice in the pages and in the README now names the devices with
notifications turned on.
To update, close the monitor and unpack the zip over the old folder. The zip comes
with a detached signature made with the same key as the previous releases.
v1.4.0
A new recordings page, and a round of fixes.
The recordings page has been redrawn. Every row used to carry three labelled
buttons; now the list is what you read and the commands are where you use them:
- Clips are grouped by day, each with what was recognised, its time and its
length. A filter per kind (barking, motion, crying, manual) shows how many
there are. - A star keeps a clip, so the monitor's cleanup never removes it.
- Download and Delete are under the player, for the clip that is open.
- Deleting can be undone: the clip leaves the list, and for six seconds a
notice offers to put it back. - Select picks several clips at once, to download, keep or delete them
together. Several clips download as one ZIP, up to 200 at a time.
Changes you may notice:
- Changing the password now ends every other session, including one that was
signing in at that moment. - A phone on the home network that connects over IPv6 no longer loses its
session. - Access from outside is tried again on its own after it fails, instead of
staying off until the monitor is restarted. - The icon next to the clock comes back on its own after Windows Explorer
restarts. Closing the monitor from another program (taskkillwithout/F)
now quits it; before, the icon went away and the camera stayed on. - In a clip, sound and picture stay in step: on some AMD machines the picture
drifted behind the sound, and a camera that stalls or stops mid-clip no longer
pulls them apart. Each piece is dated by when it was captured. One clip can no longer
replace another. - The next person to open the monitor no longer starts at a very low quality
because of how the previous viewer's connection went. - An update the monitor has found is no longer forgotten when a pre-release
appears on GitHub.
To update, close the monitor and unpack the zip over the old folder. The zip comes
with a detached signature made with the same key as the previous releases.
v1.3.0
Portuguese and Japanese, and a floor under the recordings.
The interface now speaks Portuguese, in two catalogues, and Japanese, alongside
English, Italian, German, French, Spanish and Simplified Chinese. As with the
others, they are written as decisions rather than translated:
- Brazilian Portuguese says você, as Microsoft's Brazilian interface does.
- European Portuguese has its own words (telemóvel, ecrã, palavra-passe,
Definições) and its own voice: no você and no tu, as in Portuguese Windows.
A browser asking forpt-PTgets it; any other Portuguese gets the Brazilian
catalogue. - Japanese uses です/ます in sentences and half-width
? ! :, the other way
round from Chinese, as Japanese Windows does.
The language selector now lists the names in the Latin alphabet first, in
alphabetical order, then the others. The six existing catalogues were reread
against each other, and about a hundred and forty entries changed: meanings that
had drifted, one word used for two different things, and phrases that followed
English or Italian instead of the language.
Changes you may notice:
- No clip is saved while the disk has less than 1 GB free, kept or not. The
page, the log and the icon next to the clock say so, and the Clip button
explains why it refuses. - The QR code in the viewer's details now shows on a phone signed in from
outside the house. Before, that phone got an empty box. - The password is accepted on the home network and over Tailscale only when the
page is opened by this PC's address or one of its own names. - The log writes every email address as
<email>, including with-v.
To update, close the monitor and unpack the zip over the old folder. The zip comes
with a detached signature made with the same key as the previous releases.
v1.2.1
Fixes from a security review, and one step not to undo.
After updating, do not go back to 1.2.0. The first time access from outside
starts, 1.2.1 moves Tailscale's data for this PC from %APPDATA%\PAT Monitor\tsnet
to %LOCALAPPDATA%\PAT Monitor\tsnet. Version 1.2.0 would not find it there and
would register this PC as a new device, with a different public address. If you
have to go back, copy the tsnet folder back first.
Changes you may notice:
- A session signed in on the home network is not accepted through the public
address. Sign in again when you open the monitor from outside the house. A
session signed in over Tailscale works on both. - Talk-back: after two minutes of talking, counting pauses shorter than 30
seconds, nobody can talk for 30 seconds, so that the room can be heard. - At most ten viewers at once. The eleventh page says so instead of reporting
a failed connection. - Opening the setup or sign-in page on this PC by the computer's name now
redirects to its address. -set-passwordrefuses to run while the monitor is running.
What the monitor now refuses or ignores:
- commands and password submissions that come from pages other than its own;
- a link placed in the recordings folder under a clip's name;
- a link from Tailscale or from the update check that is not a Tailscale page or
a release page of this project; - DLLs in the program's own folder: it loads them from Windows' system folder
only.
Sign-in attempts from one address are checked one at a time, and attempts through
the public address no longer queue ahead of a sign-in at home.
The log writes the public address with the name of your Tailscale network replaced
by <tailnet>, unless the program is started with -v, and a burst of refused
requests is written as one line instead of one line each. Look over a -v log
before attaching it anywhere.
The privacy policy says where
Tailscale's data is kept now.
To update, close the monitor and unpack the zip over the old folder. The zip comes
with a detached signature made with the same key as the previous releases.
v1.2.0
Chinese, a change to the first-time setup, and a monitor that tells you why.
The interface now speaks Simplified Chinese as well as English, Italian, German,
French and Spanish. As with the others, it is written as decisions rather than
translated: the voice is 你, as in Windows 11's own Chinese interface, and the
punctuation is full width. A browser asking for Traditional Chinese gets the
Simplified catalogue.
A change in behaviour: the first-time setup is accepted only from this PC.
Until now, while no password existed (at the first start and after a password
reset), any device on the home network could set one. Now only the PC running
the monitor can. After that, signing in works from any device as before.
What the monitor now says instead of guessing:
- A camera or microphone refused in Windows privacy settings is reported as
refused, not as a stopped capture. The notification-area panel then offers the
button that opens the right Settings page. - While Windows is still asking for permission, the monitor waits for the
answer instead of reporting a missing microphone. - A microphone muted in Windows is reported as muted, not as silent.
- A missing camera is written to the log once, not three lines every thirty
seconds for as long as it stays missing.
And a few things it now does on its own:
- The PC stays awake while the monitor runs. Before, the sleep timer could
switch off a monitor at two in the morning with nothing reported. The screen
can still turn off.powercfg /requestsshows who is keeping the PC awake,
and why. - Shutting down or logging off closes the monitor cleanly: the clip being
written is finished and the log records that it was a shutdown, not a crash. - The recordings folder is tested at start-up by writing a file in it, so a
folder the monitor cannot write to shows up then, not at the first clip.
The notification-area panel uses the Windows typeface and wraps long lines instead
of cutting them. A notice's button now sits under its own line, and the selection
starts at the top.
What PAT Monitor is not is now stated on the sign-in page, at the end of the
guided setup and at the foot of the details, in all six languages: it is not a
medical device or a safety system, it can miss a sound or a movement, and it calls
no one.
Also in this release: Tailscale v1.102.4 and current versions of the WebRTC
libraries, and a privacy policy
that describes what the program does with information.
To update, close the monitor and unpack the zip over the old folder. The zip comes
with a detached signature made with the same key as the previous releases.
v1.1.0
Three languages, and a bar that starts a row later.
The interface now speaks German, French and Spanish as well as English and
Italian, each written as decisions rather than as a translation: the voice is the
same in all of them (tu, du, tú), nothing in them presumes the reader's
gender — the trap French and Spanish share — and each language's own typography is
respected, from the French non-breaking space before : ; ? ! to the Spanish
opening ¿.
The Italian sentences where the program spoke in the first person now state what
happens instead, in the pages and in the tray.
One thing shows on a wide screen: the bar of commands becomes a single row at
1020 px instead of 980. The German labels moved that number most of the way
and the Spanish ones by the last ten pixels, and it is measured rather than
chosen.
v1.0.0
A pet and baby monitor in one executable: the webcam and the microphone of a
Windows machine, in a browser, at home or from outside the house without opening
a port on the router. Nothing to install beside it, no service, no account
except a free Tailscale one if you want to watch from outside.
What you need
- Windows 10 or 11, x64, with a webcam and a microphone. Either one can fail
without stopping the other. - An H.264 encoder, which every supported Windows has: the machine's hardware
one where there is one, the Microsoft software encoder otherwise.
Starting it
- Unpack the zip anywhere and run
pat-monitor.exe. The binary is unsigned, so
SmartScreen shows a warning: More info, then Run anyway. - The guided setup opens at
http://localhost:8080/onboarding. It asks for a
password, shows the camera and the microphone level so you can check them,
and then offers access from outside. - The last screen gives the address for a phone, and a QR code for it.
It then lives in the notification area: left-click opens the monitor,
right-click opens a panel with the state, the QR code and the commands — quitting
among them, which is what releases the camera.
Start it from the console of that machine, not from a Remote Desktop session.
Windows audio endpoints are per session: inside RDP the microphone does not
exist while the camera works, so it reads as a microphone fault, and
disconnecting does not cure it.
Checking the download
The archive is signed with a key that has never been on GitHub. TLS proves the
bytes arrive unaltered; the signature is what says they are ours. From a clone
of this repository:
go run ./cmd/pat-sign -verify PAT-Monitor-1.0.0-windows-amd64.zip
Nothing in the program reads that signature yet — it ships now so that a later
version, one that can fetch an update by itself, has a key the installed binary
already carries.
What is in the zip
pat-monitor.exe, LICENSE, NOTICE and licenses/, one directory per
dependency. Apache-2.0, and the third-party notices travel with the binary
because their licences require it.