LGTVMessenger
What in the...
Have you ever needed to send a message to someone in another room of your house who was watching TV with headphones on but wasn't great at checking their phone? Or maybe you just want to annoy the everliving crap out of your spouse? Then this app might be for you. Run it on a server in your house, connect to it from your phone, and have fun spamming your friends and family for years to come!
What it looks like
Interface
Result
Notes
- This service must be run on the same network as the TVs you wish to message. You cannot run this on a remote service like a droplet or AWS, unless you have a permanent VPN between the two sites.
- If you decide to expose this service to the world (e.g. via some kind of port forward), be aware that anyone who accesses the page will have unfettered access to the bottom of your TVs forever. If you absolutely must expose it to the internet, use something like a Cloudflare tunnel and then create a Cloudflare Access application, and only allow certain email addresses to browse to it (this is an exercise left up to the reader; PRs for better documentation are greatly appreciated.)
Instructions
The first time
- Run
composer install
,npm install
, andnpm run build
- Run
php artisan lg:first-time
- Open the newly created
.env
file, and update theAPP_URL
fields to appropriate values - Point your web server's root directory to the
/public
folder in this distribution.
If you ever need to add another TV to the list, you can run php artisan lg:add
and follow the prompts
Updating
Just run php artisan lg:update
and that will pull the latest version of the repo down, along with rebuilding all of the JS/CSS assets.
Precanned Messages
If you have any messages that you think you will send often (e.g. "Check your phone"), you can add them by running php artisan lg:add-response "Check your phone"
- these will show up in a dropdown on the main page.
If you need to subsequently remove any of these messages, run php artisan lg:remove-response
and follow the prompts to remove the appropriate one.
Requirements
This app requires PHP, NodeJS and Python. You must have the following versions:
Software | Version |
---|---|
PHP | 8.2 |
Python | 3.11.4 |
NodeJS | 20.5.0 |
Contributing
All PRs are welcome and very much appreciated. I whipped this together in a single evening, so there will definitely be places where this code could be improved. Criticisms will be accepted when provided with proof of a $10 donation to your local food bank.
Test
php artisan test
Credits
App icon by Freepik - Flaticon
AIOWEBOSTV python package