https://greasyfork.org/en/scripts/471718-lemmy-post-keyword-filter
Automatically hide posts that match keywords from Lemmy sites.
https://github.com/Zetaphor/personal-auto-radio
Music downloader automation for Azuracast/Navidrome - GitHub - Zetaphor/personal-auto-radio: Music downloader automation for Azuracast/Navidrome
https://github.com/Zetaphor/personal-auto-radio
Music downloader automation for Azuracast/Navidrome - GitHub - Zetaphor/personal-auto-radio: Music downloader automation for Azuracast/Navidrome
I recently decided to start taking on the challenge of selfhosting and curating my music collection. I originally started looking at Lidarr as I am already a big fan of Radarr and Sonarr, but it wasn't really what I was looking for. I'm not often seeking out full albums, and am more often finding my music by listening to single tracks from Spotify's Discover Weekly playlist. I needed a solution that would let me replicate this experience while hosting my own MP3's and ideally be entirely automated.
I currently have the following setup running on a VPS:
I bootstrapped my library with a Python script that parsed a list of Spotify URL's and downloaded all of the tracks with the spotdl library. This allowed me to grab my liked tracks, the playlists I had created, as well as a large number of albums I wanted.
I then used ChatGPT to write two python scripts:
The first script runs using cron every Monday and uses SpotDL to grab the contents of my Discover Weekly playlist from Spotify. It puts all of the files into a folder with that weeks date and also creates a playlist file. This way I can easily browse that weeks playlist in Navidrome and decide what to keep. It also sends me an email on completion/error
The second script is a bit more complex. This one does the same end result but for all of my LastFM reccomendations. This is done by spinning up a headless Chrome browser with Selenium in a docker container. It then logs into my LastFM account, parses each reccomendation, and then uses pytube to download the video links, since LastFM just directly links to Youtube videos. This list should change as I continue scrobbling via Navidrome and other sources, but I still need to determine how often the cron job should run.
My next step is figuring out how to connect to Azuracast/Navidrome using the many subsonic compatible clients so I can have mobile playback and things like offline playback. I'm currently looking at substreamer for Android.
I'd also like to look into a more seamless way of picking out the tracks I want to keep and discard from the playlists in Navidrome. I'm considering writing something to check its SQL database for liked tracks in each playlist and automatically move those into the main folder/playlist that Azuracast is playing from.
This whole setup took me only a couple days to create, and largely relied on ChatGPT to write the scripts and dockerfiles. I'm a capable programmer but GPT-4 is absolutely OP if you know what you're trying to accomplish and how to debug its mistakes. That Selenium script only took me an hour from idea to completion and I never modified the code by hand, only prompted it for corrections/additions.
If anyone is interested I've uploaded all the scripts to a gist, you just need to go through and update with your credentials/URLs
https://youtube.com/shorts/IqlFo1PTKgQ?feature=share
Early demonstration of an in progress PWA client for Lemmyhttps://github.com/Zetaphor/Zemmy-web/
0.18 is now officially available. I expect it will be a few days as instance owners test the upgrade and decide whether or not to switch over. Especially since the captcha fix isn't coming until 0.18.1.
Relevant to this community is the fact that this upgrade includes two different PR's (1, 2) that add a number of semantic classes and ID's to the markup to aid in the creation of custom themes, userscripts, and browser extensions. Additionally the UI has been upgraded to use Bootstrap 5.
However it should be noted that Desallines has explicitly stated that there is no official support for anything utilizing these classes, and that the UI framework is going to be changed in a future update.
This means you're targeting these classes/ID's at your own peril, and they may break in a future update. They want to keep theming as light as possible rather than adding lots of custom hooks that people will then become dependent on and expect ongoing maintenance/support.
cross-posted from: https://lemm.ee/post/177673
Cross posting this here for visibility since lemmy.ml federation has been very hit or miss the last week. Original post from @sunaurus@lemm.ee
Today, a bunch of new instances appeared in the top of the user count list. It appears that these instances are all being bombarded by bot sign-ups.
For now, it seems that the bots are especially targeting instances that have:
- Open sign-ups
- No captcha
- No e-mail verification
I have put together a spreadsheet of some of the most suspicious cases here.
If this is affecting you, I would highly recommend considering one of the following options:
- Close sign-ups entirely
- Only allow sign-ups with applications
- Enable e-mail verification + captcha for sign-ups
Additionally, I would recommend pre-emptively banning as many bot accounts as possible, before they start posting spam!
Please comment below if you have any questions or anything useful to add.
https://github.com/LemmyNet/lemmy-ui/pull/1361#issuecomment-1597450180
See #1319. Want to add a lot of classes to allow proper contextualization of CSS. This should mostly create a migration path away from styles being tied directly to React (well, Inferno) component...
https://www.youtube.com/shorts/lOweVru5dO0
*SUPPORT*If you'd like to support me, please use this link!: https://streamelements.com/misnina/tipAlternativly, tip me on ko-fi!: https://ko-fi.com/misnina*...
@Zetaphor
@zemmy.cc