Skip Navigation
Jump
CastSponsorSkip: A lighter Google Cast sponsor skip written in Go
  • Hey, it's been a while but I wanted to give you a heads up that CastSponsorSkip will now skip YouTube ads when possible! Not all ads can be skipped, but it will mute them, and then skip them the second the "Skip" button appears.

    1
  • Jump
    CastSponsorSkip: A lighter Google Cast sponsor skip written in Go
  • Hey! I love the post and the ASCII theme of your site. I just want to say, thanks for all of the work you did on sponsorblockcast. It was a great tool that I happily used for a long time.

    Thank you!

    2
  • Jump
    CastSponsorSkip: A lighter Google Cast sponsor skip written in Go
  • I haven't tested on Windows yet, but releases have Windows downloads! Did you get an error when you ran it?

    1
  • Jump
    CastSponsorSkip: A lighter Google Cast sponsor skip written in Go
  • I love sponsorblockcast, but I had the same exact issue. In my case, sponsorblockcast usually uses 10% CPU, but would sometimes start using more and more. I've been testing CastSponsorSkip pretty thoroughly and haven't been able to get it to spike above 1-2% CPU yet!

    1
  • Jump
    CastSponsorSkip: A lighter Google Cast sponsor skip written in Go
  • Thank you! I have to admit, it's really satisfying seeing sponsored segments get skipped. Would definitely recommend!

    4
  • github.com GitHub - gabe565/CastSponsorSkip: Skip sponsored YouTube content on all local Google Cast devices

    Skip sponsored YouTube content on all local Google Cast devices - GitHub - gabe565/CastSponsorSkip: Skip sponsored YouTube content on all local Google Cast devices

    Hi everyone! I've been using sponsorblockcast for a while (which is a great project), but I always wished it was written in Go. The go-chromecast library that it uses is written in Go, so a Go app could connect to all devices within a single process instead of creating child processes for every device. I finally decided to spend some time writing my own, called CastSponsorSkip. All of the features of sponsorblockcast are re-implemented in Go, plus some additional privacy features. I wrote a comparison if anybody is curious!

    12
    Jump
    I've used Lemmy more in the past 12 hours than I have in the past month since signing up. All because of Sync.
  • That's just the default, and I assume it's mainly to make it easier for new users to start using Lemmy. It lets you change to any other instance during login.

    14
  • Jump
    What Self-Hosted Single Sign-On (SSO) do you use?
  • +1 for Authentik! It definitely has a steep learning curve, but once you get comfortable with it, it's really versatile. The integration docs have tons of walkthroughs for setting up Authentik with different apps which is epecially helpful when getting started.

    2
  • Jump
    If I self host a Lemmy instance for just myself and maybe a few friends are there any risks?
  • You're welcome! Makes sense. They're somehow so similar yet so different lol

    2
  • Jump
    If I self host a Lemmy instance for just myself and maybe a few friends are there any risks?
  • Definitely! I'm hosting in Kubernetes so I won't post the full thing, but here's the actual command that I run hourly. Make sure to replace the values for database, username, and password.

    PGPASSWORD=password psql --dbname=database --username=username --command="DELETE FROM activity WHERE published < NOW() - INTERVAL '3 days';"
    
    0
  • Jump
    If I self host a Lemmy instance for just myself and maybe a few friends are there any risks?
  • Sure! My script will look a little different since I'm hosting Lemmy in Kubernetes, but basically you will want to run the following command hourly. Make sure to replace the values for database, username, and password.

    PGPASSWORD=password psql --dbname=database --username=username --command="DELETE FROM activity WHERE published < NOW() - INTERVAL '3 days';"
    
    0
  • Jump
    If I self host a Lemmy instance for just myself and maybe a few friends are there any risks?
  • The activity table is also used to deduplicate incoming federation data, so instead of truncating it, I'd suggest deleting rows after a certain amount of time.

    For my personal instance, I set up a cron to delete entries older than 3 days, and my db is only ~500MB with a few weeks of content! I also haven't seen any duplicated posts or comments. Even with Lemmy's retries, 3 days seems to be long enough before dropping rows from that table.

    0
  • Jump
    Here's a classic. I know it's tacky, but I love it
  • That whole room is amazing. I used that pic as a Zoom background for a while lol

    1
  • Jump
    Anyone else running Lemmy with Kubernetes?
  • That's awesome! I love his Helm chart. It's the most impressive Helm library I've ever seen. I maintain a bunch of charts and I exclusively use his library chart :)

    I just mentioned in a response to @seang96@exploding-heads.com, but I feel like deploying a separate nginx is probably cleaner, I just didn't want another SPOF that I could break at some point in the future.

    1
  • Jump
    Anyone else running Lemmy with Kubernetes?
  • Yep I'm still working on a helm chart. Currently, each service is deployed with the bjw-s app-template helm chart, but I'd like to combine it all into a single chart.

    The hardest part was getting ingress-nginx to pass ActivityPub requests to the backend, but we settled on a hack that seems to work well. We had to add the following configuration snippet to the frontend's ingress annotations:

    nginx.ingress.kubernetes.io/configuration-snippet: |
      if ($http_accept = "application/activity+json") {
        set $proxy_upstream_name "lemmy-lemmy-8536";
      }
      if ($http_accept = "application/ld+json; profile=\"https://www.w3.org/ns/activitystreams\"") {
        set $proxy_upstream_name "lemmy-lemmy-8536";
      }
      if ($request_method = POST) {
        set $proxy_upstream_name "lemmy-lemmy-8536";
      }
    

    The value of the variable is $NAMESPACE-$SERVICE-$PORT.
    I tested this pretty thoroughly and haven't been able to break it so far, but please let me know if anybody has a better solution!

    0