Livestreaming is a popular source of entertainment for almost everybody online. Whether gamers, VTubers, or podcasts, most content creators use livestreaming to communicate directly with their audience and fans. YouTube is the most popular place for livestreams by far, but there are others. Twitch, D-Live, Odysee, and others offer the same functionality.
One of the key features of livestreaming is superchats. They allow fans to communicate directly with streamers, and streamers to get financial support from their fans. Unfortunately, on mainstream platforms like YouTube and Twitch, fan support requires using real-life bank accounts and credit cards, which is both a privacy and a security problem. Newer platforms use cryptocurrency, such as LBC on Odysee or TRX on DLive. While this is an improvement, it's still far from perfect. Some platforms still require verification with real-life ID to user cryptocurrency superchats. And even if they don't, they're still centralized on one website and controlled by one company.
Shadowchat requires a public, internet-facing server for other people to access. Renting a VPS might be the easiest way to do this. Log into your server and run the following from the command line:
apt install golang
git clone https://github.com/ChanoSan/shadowchat.git
go get github.com/skip2/go-qrcode
go mod init shadowchat && go mod tidy
- edit the
go run main.go
A webserver at 127.0.0.1:8900 is now running. Pressing the pay button will result in a 500 Error if the monero-wallet-rpc is not running. You'll need to set up a nginx proxypass to point a URL at it.
- Generate a view only wallet using the monero-wallet-gui from getmonero.org. Preferably with no password.
- Copy the newly generated walletname_viewonly and walletname_viewonly.keys files to your VPS.
- Download the monero-wallet-rpc binary that is bundled with the getmonero.org wallets.
- Start the RPC wallet. You can change --daemon-address if a different public Monero node works better for you:
monero-wallet-rpc --rpc-bind-port 28088 --daemon-address http://node.moneroworld.com:18089 --wallet-file /opt/wallet/walletname_viewonly --disable-rpc-login --password ""
At this point, neither the Go webserver nor the RPC wallet are automated, and you'll need to manually start them up again if your server resets. You can automate this process if you wish, based on your server OS. Otherwise, just run "go run main.go" and the monero-wallet-rpc commands again on server restart.
Make sure you have a URL pointing at your server, and have your nginx proxypass pointing at the Go webserver at 127.0.0.1:8900 before trying to access it via browser.
- Visit https://example.com/view to view your superchat history
- Visit https://example.com/alert?auth=adminadmin to see notifications
- The default username is admin and password adminadmin. Change these in main.go
- Edit web/index.html and web/style.css to customize your front page
Add a Browser source in OBS and point it to https://example.com/alert?auth=adminadmin
Shadowchat comes from https://git.sr.ht/~anon_/shadowchat EDIT: The source repo has since been taken down. A clone of its last known state is available at: https://github.com/ChanoSan/shadowchat
Shadowchat was neither created nor developed by the makers of this website. We are not associated with the developer, nor do we have any contact with them. This site exists solely for the purpose of spreading awareness of Shadowchat, and encouraging its adoption.
The Shadowchat software is licensed under GPLv3. The mascot character "Shadowchan" is licensed under CC BY-SA 4.0, and is free to copy, share, remix, and reuse under the terms of that license.
The creators of this website are not accepting donations, as we barely did anything. If you wish to donate to the developer of Shadowchat, you may send XMR to the last known wallet address they had before the repo went down. You can verify it from archived copies of the page here:
See Shadowchat in action at the following addresses:
In the unlikely event you need to contact the creator of this website, please feel free to use the following contact form at https://peertube.anon-kenkai.com/about/contact
If you'd like to contact the developer of Shadowchat, we wish you the best of luck in finding out how, because nobody here has the faintest idea.