GET https://kbin.spritesserver.nl/index.php/u/@nhgeek@beehaw.org/hot/2023-11-05::2023-11-05

Security

Token

There is no security token.

Firewall

main Name
Security enabled
Stateless

Configuration

Key Value
provider security.user.provider.concrete.app_user_provider
context main
entry_point App\Security\KbinAuthenticator
user_checker App\Security\UserChecker
access_denied_handler (none)
access_denied_url (none)
authenticators
[
  "two_factor"
  "remember_me"
  "App\Security\KbinAuthenticator"
  "App\Security\FacebookAuthenticator"
  "App\Security\GoogleAuthenticator"
  "App\Security\GithubAuthenticator"
  "App\Security\KeycloakAuthenticator"
]

Listeners

Listener Duration Response
Symfony\Component\Security\Http\Firewall\ChannelListener {#723
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
  -logger: Monolog\Logger {#783 …}
  -httpPort: 80
  -httpsPort: 443
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\ContextListener {#706
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorage {#1017 …}
  -sessionKey: "_security_main"
  -logger: Monolog\Logger {#783 …}
  -userProviders: Symfony\Component\DependencyInjection\Argument\RewindableGenerator {#705 …}
  -dispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
  -registered: false
  -trustResolver: Scheb\TwoFactorBundle\Security\Authentication\AuthenticationTrustResolver {#780 …}
  -sessionTrackerEnabler: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage::enableUsageTracking(): void {#703 …}
}
15.83 ms (none)
Symfony\Component\Security\Http\Firewall\AuthenticatorManagerListener {#584
  -authenticatorManager: Symfony\Component\Security\Http\Authentication\AuthenticatorManager {#595 …}
}
0.00 ms (none)
Scheb\TwoFactorBundle\Security\Http\Firewall\TwoFactorAccessListener {#582
  -twoFactorFirewallConfig: Scheb\TwoFactorBundle\Security\TwoFactor\TwoFactorFirewallConfig {#842 …}
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -twoFactorAccessDecider: Scheb\TwoFactorBundle\Security\Authorization\TwoFactorAccessDecider {#581 …}
}
0.08 ms (none)
Symfony\Component\Security\Http\Firewall\AccessListener {#579
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -accessDecisionManager: Symfony\Component\Security\Core\Authorization\TraceableAccessDecisionManager {#937 …}
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\LogoutListener {#786
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -options: [
    "csrf_parameter" => "_csrf_token"
    "csrf_token_id" => "logout"
    "logout_path" => "app_logout"
  ]
  -httpUtils: Symfony\Component\Security\Http\HttpUtils {#841 …}
  -csrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#1015 …}
  -eventDispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
}
0.00 ms (none)

Authenticators

No authenticators have been recorded. Check previous profiles on your authentication endpoint.

Access Decision

affirmative Strategy
# Voter class
1
"Symfony\Component\Security\Core\Authorization\Voter\AuthenticatedVoter"
2
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
3
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
4
"Symfony\Component\Security\Core\Authorization\Voter\ExpressionVoter"
5
"App\Security\Voter\EntryCommentVoter"
6
"App\Security\Voter\EntryVoter"
7
"App\Security\Voter\MagazineVoter"
8
"App\Security\Voter\MessageThreadVoter"
9
"App\Security\Voter\MessageVoter"
10
"App\Security\Voter\NotificationVoter"
11
"App\Security\Voter\OAuth2UserConsentVoter"
12
"App\Security\Voter\PostCommentVoter"
13
"App\Security\Voter\PostVoter"
14
"App\Security\Voter\UserVoter"

Access decision log

# Result Attributes Object
1 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
2 DENIED moderate
Proxies\__CG__\App\Entity\Entry {#1584
  +user: Proxies\__CG__\App\Entity\User {#2371 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1576 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1625 …}
  +slug: "Ripping-Podcasts"
  +title: "Ripping Podcasts"
  +url: null
  +body: """
    So lately I’ve been seeing shorts on YT about a D&D podcast that looks mildly interesting and I’m running out of good webnovels to listen to with TTS at work. So I thought I would give podcasts a shot…\n
    \n
    They have instream ads… And it’s the same damn ad on repeat Not the same ad, that was a Conan podcast I listened to in the past, but still it’s like 4 ads in a row. Is there a tool to download these podcasts and strip their ads? I just read that there’s a way to download them via rss so that’s what I’m going to try now. But manual ad removal might get tedious over a hundred episodes.\n
    \n
    I can’t imagine with all the nerd centric podcasts that we wouldn’t have automated a way to extract ads by this point.\n
    \n
    Edit: At this point, trying a number of things. yt-dlp seems to be the best way to do it. If the podcast is available on YouTube someone most likely has already submitted SponsorBlock segments for it. You can then use yt-dlp to download the episode or the whole playlist using this command:\n
    \n
    ```\n
    \n
    <span style="color:#323232;">\n
    </span><span style="color:#323232;">yt-dlp --sponsorblock-remove all --ignore-errors --format bestaudio --extract-audio --audio-format mp3 --audio-quality 192K --output "%(title)s.%(ext)s" --yes-playlist 'PLAYLIST URL'\n
    </span><span style="color:#323232;">\n
    </span>\n
    ```\n
    \n
    You can even run it directly in Termux on your Android phone and skip sponsors on the go.
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 16
  +favouriteCount: 37
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1699448059 {#1739
    date: 2023-11-08 13:54:19.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1597 …}
  +votes: Doctrine\ORM\PersistentCollection {#1731 …}
  +reports: Doctrine\ORM\PersistentCollection {#1722 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2372 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2361 …}
  +badges: Doctrine\ORM\PersistentCollection {#1407 …}
  +children: [
    1 => App\Entity\EntryComment {#1612
      +user: App\Entity\User {#260 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1584 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1576 …}
      +image: null
      +parent: null
      +root: null
      +body: "I think it’s because privacy is less an issue with podcasts (ads don’t have as many options to track) and enshitification of the experience has been on a slower roll than, say, youtube. Lately some solutions are out there in the form of commercial apps but they are limited and who knows if their biz model will survive. I’d like to see an open source solution but I haven’t found one."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 2
      +score: 0
      +lastActive: DateTime @1699243259 {#1429
        date: 2023-11-06 05:00:59.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@PolarisFx@lemmy.dbzer0.com"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1585 …}
      +nested: Doctrine\ORM\PersistentCollection {#1586 …}
      +votes: Doctrine\ORM\PersistentCollection {#1575 …}
      +reports: Doctrine\ORM\PersistentCollection {#1572 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1568 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1653 …}
      -id: 93663
      -bodyTs: "'ad':13 'app':47 'biz':57 'commerci':46 'd':62 'enshitif':23 'experi':26 'form':44 'found':74 'haven':72 'issu':10 'know':54 'late':36 'less':8 'like':63 'limit':51 'mani':18 'model':58 'one':75 'open':67 'option':19 'podcast':12 'privaci':6 'roll':32 'say':34 'see':65 'slower':31 'solut':38,69 'sourc':68 'surviv':60 'think':2 'track':21 'youtub':35"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://beehaw.org/comment/1576640"
      +editedAt: null
      +createdAt: DateTimeImmutable @1699222193 {#1693
        date: 2023-11-05 23:09:53.0 +01:00
      }
      +"title": 93663
    }
    0 => App\Entity\EntryComment {#1564
      +user: App\Entity\User {#260 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1584 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1576 …}
      +image: null
      +parent: App\Entity\EntryComment {#1612}
      +root: App\Entity\EntryComment {#1612}
      +body: "example: [www.adblockpodcast.com](https://www.adblockpodcast.com/)"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1699222657 {#1650
        date: 2023-11-05 23:17:37.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@PolarisFx@lemmy.dbzer0.com"
        "@nhgeek@beehaw.org"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1559 …}
      +nested: Doctrine\ORM\PersistentCollection {#1567 …}
      +votes: Doctrine\ORM\PersistentCollection {#1563 …}
      +reports: Doctrine\ORM\PersistentCollection {#1565 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1558 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1557 …}
      -id: 93690
      -bodyTs: "'/)':5 'exampl':1 'www.adblockpodcast.com':2,4 'www.adblockpodcast.com/)':3"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://beehaw.org/comment/1576668"
      +editedAt: null
      +createdAt: DateTimeImmutable @1699222657 {#1548
        date: 2023-11-05 23:17:37.0 +01:00
      }
      +"title": 93690
    }
  ]
  -id: 10259
  -titleTs: "'podcast':2 'rip':1"
  -bodyTs: "'192k':229 '4':76 'ad':46,53,59,77,92,118,147 'alreadi':183 'android':250 'audio':221,223,227 'audio-format':222 'audio-qu':226 'autom':142 'avail':176 'best':167 'bestaudio':218 'centric':135 'command':206 'conan':63 'd':12,13 'damn':52 'direct':245 'dlp':162,195,209 'download':86,102,197 'edit':151 'episod':126,199 'error':216 'even':242 'ext':233 'extract':146,220 'extract-audio':219 'format':217,224 'get':121 'give':39 'go':112,257 'good':25 'hundr':125 'ignor':215 'ignore-error':214 'imagin':130 'instream':45 'interest':18 'late':2 'like':75,181 'listen':28,66 'look':16 'm':21,111 'manual':117 'might':120 'mild':17 'mp3':225 'nerd':134 'number':157 'output':230 'past':70 'phone':251 'playlist':203,237,238 'podcast':14,40,64,88,136,174 'point':150,154 'qualiti':228 'read':95 'remov':119,212 'repeat':55 'row':80 'rss':105 'run':22,243 'see':6 'seem':163 'segment':186 'short':7 'shot':42 'skip':253 'someon':179 'sponsor':254 'sponsorblock':185,211 'sponsorblock-remov':210 'still':72 'strip':90 'submit':184 'tedious':122 'termux':247 'thing':159 'thought':36 'titl':231 'tool':84 'tri':114,155 'tts':31 'url':239 'use':192,204 've':4 'via':104 'way':100,144,168 'webnovel':26 'whole':202 'work':33 'would':38 'wouldn':139 'yes':236 'yes-playlist':235 'youtub':178 'yt':9,161,194,208 'yt-dlp':160,193,207"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1699301277
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/post/7796310"
  +editedAt: DateTimeImmutable @1699319540 {#1614
    date: 2023-11-07 02:12:20.0 +01:00
  }
  +createdAt: DateTimeImmutable @1699214877 {#2411
    date: 2023-11-05 21:07:57.0 +01:00
  }
  +__isInitialized__: true
   …2
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
3 DENIED edit
Proxies\__CG__\App\Entity\Entry {#1584
  +user: Proxies\__CG__\App\Entity\User {#2371 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1576 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1625 …}
  +slug: "Ripping-Podcasts"
  +title: "Ripping Podcasts"
  +url: null
  +body: """
    So lately I’ve been seeing shorts on YT about a D&amp;D podcast that looks mildly interesting and I’m running out of good webnovels to listen to with TTS at work. So I thought I would give podcasts a shot…\n
    \n
    They have instream ads… And it’s the same damn ad on repeat Not the same ad, that was a Conan podcast I listened to in the past, but still it’s like 4 ads in a row. Is there a tool to download these podcasts and strip their ads? I just read that there’s a way to download them via rss so that’s what I’m going to try now. But manual ad removal might get tedious over a hundred episodes.\n
    \n
    I can’t imagine with all the nerd centric podcasts that we wouldn’t have automated a way to extract ads by this point.\n
    \n
    Edit: At this point, trying a number of things. yt-dlp seems to be the best way to do it. If the podcast is available on YouTube someone most likely has already submitted SponsorBlock segments for it. You can then use yt-dlp to download the episode or the whole playlist using this command:\n
    \n
    ```\n
    \n
    <span style="color:#323232;">\n
    </span><span style="color:#323232;">yt-dlp --sponsorblock-remove all --ignore-errors --format bestaudio --extract-audio --audio-format mp3 --audio-quality 192K --output "%(title)s.%(ext)s" --yes-playlist 'PLAYLIST URL'\n
    </span><span style="color:#323232;">\n
    </span>\n
    ```\n
    \n
    You can even run it directly in Termux on your Android phone and skip sponsors on the go.
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 16
  +favouriteCount: 37
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1699448059 {#1739
    date: 2023-11-08 13:54:19.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1597 …}
  +votes: Doctrine\ORM\PersistentCollection {#1731 …}
  +reports: Doctrine\ORM\PersistentCollection {#1722 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2372 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2361 …}
  +badges: Doctrine\ORM\PersistentCollection {#1407 …}
  +children: [
    1 => App\Entity\EntryComment {#1612
      +user: App\Entity\User {#260 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1584 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1576 …}
      +image: null
      +parent: null
      +root: null
      +body: "I think it’s because privacy is less an issue with podcasts (ads don’t have as many options to track) and enshitification of the experience has been on a slower roll than, say, youtube. Lately some solutions are out there in the form of commercial apps but they are limited and who knows if their biz model will survive. I’d like to see an open source solution but I haven’t found one."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 2
      +score: 0
      +lastActive: DateTime @1699243259 {#1429
        date: 2023-11-06 05:00:59.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@PolarisFx@lemmy.dbzer0.com"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1585 …}
      +nested: Doctrine\ORM\PersistentCollection {#1586 …}
      +votes: Doctrine\ORM\PersistentCollection {#1575 …}
      +reports: Doctrine\ORM\PersistentCollection {#1572 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1568 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1653 …}
      -id: 93663
      -bodyTs: "'ad':13 'app':47 'biz':57 'commerci':46 'd':62 'enshitif':23 'experi':26 'form':44 'found':74 'haven':72 'issu':10 'know':54 'late':36 'less':8 'like':63 'limit':51 'mani':18 'model':58 'one':75 'open':67 'option':19 'podcast':12 'privaci':6 'roll':32 'say':34 'see':65 'slower':31 'solut':38,69 'sourc':68 'surviv':60 'think':2 'track':21 'youtub':35"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://beehaw.org/comment/1576640"
      +editedAt: null
      +createdAt: DateTimeImmutable @1699222193 {#1693
        date: 2023-11-05 23:09:53.0 +01:00
      }
      +"title": 93663
    }
    0 => App\Entity\EntryComment {#1564
      +user: App\Entity\User {#260 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1584 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1576 …}
      +image: null
      +parent: App\Entity\EntryComment {#1612}
      +root: App\Entity\EntryComment {#1612}
      +body: "example: [www.adblockpodcast.com](https://www.adblockpodcast.com/)"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1699222657 {#1650
        date: 2023-11-05 23:17:37.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@PolarisFx@lemmy.dbzer0.com"
        "@nhgeek@beehaw.org"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1559 …}
      +nested: Doctrine\ORM\PersistentCollection {#1567 …}
      +votes: Doctrine\ORM\PersistentCollection {#1563 …}
      +reports: Doctrine\ORM\PersistentCollection {#1565 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1558 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1557 …}
      -id: 93690
      -bodyTs: "'/)':5 'exampl':1 'www.adblockpodcast.com':2,4 'www.adblockpodcast.com/)':3"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://beehaw.org/comment/1576668"
      +editedAt: null
      +createdAt: DateTimeImmutable @1699222657 {#1548
        date: 2023-11-05 23:17:37.0 +01:00
      }
      +"title": 93690
    }
  ]
  -id: 10259
  -titleTs: "'podcast':2 'rip':1"
  -bodyTs: "'192k':229 '4':76 'ad':46,53,59,77,92,118,147 'alreadi':183 'android':250 'audio':221,223,227 'audio-format':222 'audio-qu':226 'autom':142 'avail':176 'best':167 'bestaudio':218 'centric':135 'command':206 'conan':63 'd':12,13 'damn':52 'direct':245 'dlp':162,195,209 'download':86,102,197 'edit':151 'episod':126,199 'error':216 'even':242 'ext':233 'extract':146,220 'extract-audio':219 'format':217,224 'get':121 'give':39 'go':112,257 'good':25 'hundr':125 'ignor':215 'ignore-error':214 'imagin':130 'instream':45 'interest':18 'late':2 'like':75,181 'listen':28,66 'look':16 'm':21,111 'manual':117 'might':120 'mild':17 'mp3':225 'nerd':134 'number':157 'output':230 'past':70 'phone':251 'playlist':203,237,238 'podcast':14,40,64,88,136,174 'point':150,154 'qualiti':228 'read':95 'remov':119,212 'repeat':55 'row':80 'rss':105 'run':22,243 'see':6 'seem':163 'segment':186 'short':7 'shot':42 'skip':253 'someon':179 'sponsor':254 'sponsorblock':185,211 'sponsorblock-remov':210 'still':72 'strip':90 'submit':184 'tedious':122 'termux':247 'thing':159 'thought':36 'titl':231 'tool':84 'tri':114,155 'tts':31 'url':239 'use':192,204 've':4 'via':104 'way':100,144,168 'webnovel':26 'whole':202 'work':33 'would':38 'wouldn':139 'yes':236 'yes-playlist':235 'youtub':178 'yt':9,161,194,208 'yt-dlp':160,193,207"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1699301277
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/post/7796310"
  +editedAt: DateTimeImmutable @1699319540 {#1614
    date: 2023-11-07 02:12:20.0 +01:00
  }
  +createdAt: DateTimeImmutable @1699214877 {#2411
    date: 2023-11-05 21:07:57.0 +01:00
  }
  +__isInitialized__: true
   …2
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
4 DENIED moderate
Proxies\__CG__\App\Entity\Entry {#1584
  +user: Proxies\__CG__\App\Entity\User {#2371 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1576 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1625 …}
  +slug: "Ripping-Podcasts"
  +title: "Ripping Podcasts"
  +url: null
  +body: """
    So lately I’ve been seeing shorts on YT about a D&amp;D podcast that looks mildly interesting and I’m running out of good webnovels to listen to with TTS at work. So I thought I would give podcasts a shot…\n
    \n
    They have instream ads… And it’s the same damn ad on repeat Not the same ad, that was a Conan podcast I listened to in the past, but still it’s like 4 ads in a row. Is there a tool to download these podcasts and strip their ads? I just read that there’s a way to download them via rss so that’s what I’m going to try now. But manual ad removal might get tedious over a hundred episodes.\n
    \n
    I can’t imagine with all the nerd centric podcasts that we wouldn’t have automated a way to extract ads by this point.\n
    \n
    Edit: At this point, trying a number of things. yt-dlp seems to be the best way to do it. If the podcast is available on YouTube someone most likely has already submitted SponsorBlock segments for it. You can then use yt-dlp to download the episode or the whole playlist using this command:\n
    \n
    ```\n
    \n
    <span style="color:#323232;">\n
    </span><span style="color:#323232;">yt-dlp --sponsorblock-remove all --ignore-errors --format bestaudio --extract-audio --audio-format mp3 --audio-quality 192K --output "%(title)s.%(ext)s" --yes-playlist 'PLAYLIST URL'\n
    </span><span style="color:#323232;">\n
    </span>\n
    ```\n
    \n
    You can even run it directly in Termux on your Android phone and skip sponsors on the go.
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 16
  +favouriteCount: 37
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1699448059 {#1739
    date: 2023-11-08 13:54:19.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1597 …}
  +votes: Doctrine\ORM\PersistentCollection {#1731 …}
  +reports: Doctrine\ORM\PersistentCollection {#1722 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2372 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2361 …}
  +badges: Doctrine\ORM\PersistentCollection {#1407 …}
  +children: [
    1 => App\Entity\EntryComment {#1612
      +user: App\Entity\User {#260 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1584 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1576 …}
      +image: null
      +parent: null
      +root: null
      +body: "I think it’s because privacy is less an issue with podcasts (ads don’t have as many options to track) and enshitification of the experience has been on a slower roll than, say, youtube. Lately some solutions are out there in the form of commercial apps but they are limited and who knows if their biz model will survive. I’d like to see an open source solution but I haven’t found one."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 2
      +score: 0
      +lastActive: DateTime @1699243259 {#1429
        date: 2023-11-06 05:00:59.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@PolarisFx@lemmy.dbzer0.com"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1585 …}
      +nested: Doctrine\ORM\PersistentCollection {#1586 …}
      +votes: Doctrine\ORM\PersistentCollection {#1575 …}
      +reports: Doctrine\ORM\PersistentCollection {#1572 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1568 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1653 …}
      -id: 93663
      -bodyTs: "'ad':13 'app':47 'biz':57 'commerci':46 'd':62 'enshitif':23 'experi':26 'form':44 'found':74 'haven':72 'issu':10 'know':54 'late':36 'less':8 'like':63 'limit':51 'mani':18 'model':58 'one':75 'open':67 'option':19 'podcast':12 'privaci':6 'roll':32 'say':34 'see':65 'slower':31 'solut':38,69 'sourc':68 'surviv':60 'think':2 'track':21 'youtub':35"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://beehaw.org/comment/1576640"
      +editedAt: null
      +createdAt: DateTimeImmutable @1699222193 {#1693
        date: 2023-11-05 23:09:53.0 +01:00
      }
      +"title": 93663
    }
    0 => App\Entity\EntryComment {#1564
      +user: App\Entity\User {#260 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1584 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1576 …}
      +image: null
      +parent: App\Entity\EntryComment {#1612}
      +root: App\Entity\EntryComment {#1612}
      +body: "example: [www.adblockpodcast.com](https://www.adblockpodcast.com/)"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1699222657 {#1650
        date: 2023-11-05 23:17:37.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@PolarisFx@lemmy.dbzer0.com"
        "@nhgeek@beehaw.org"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1559 …}
      +nested: Doctrine\ORM\PersistentCollection {#1567 …}
      +votes: Doctrine\ORM\PersistentCollection {#1563 …}
      +reports: Doctrine\ORM\PersistentCollection {#1565 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1558 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1557 …}
      -id: 93690
      -bodyTs: "'/)':5 'exampl':1 'www.adblockpodcast.com':2,4 'www.adblockpodcast.com/)':3"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://beehaw.org/comment/1576668"
      +editedAt: null
      +createdAt: DateTimeImmutable @1699222657 {#1548
        date: 2023-11-05 23:17:37.0 +01:00
      }
      +"title": 93690
    }
  ]
  -id: 10259
  -titleTs: "'podcast':2 'rip':1"
  -bodyTs: "'192k':229 '4':76 'ad':46,53,59,77,92,118,147 'alreadi':183 'android':250 'audio':221,223,227 'audio-format':222 'audio-qu':226 'autom':142 'avail':176 'best':167 'bestaudio':218 'centric':135 'command':206 'conan':63 'd':12,13 'damn':52 'direct':245 'dlp':162,195,209 'download':86,102,197 'edit':151 'episod':126,199 'error':216 'even':242 'ext':233 'extract':146,220 'extract-audio':219 'format':217,224 'get':121 'give':39 'go':112,257 'good':25 'hundr':125 'ignor':215 'ignore-error':214 'imagin':130 'instream':45 'interest':18 'late':2 'like':75,181 'listen':28,66 'look':16 'm':21,111 'manual':117 'might':120 'mild':17 'mp3':225 'nerd':134 'number':157 'output':230 'past':70 'phone':251 'playlist':203,237,238 'podcast':14,40,64,88,136,174 'point':150,154 'qualiti':228 'read':95 'remov':119,212 'repeat':55 'row':80 'rss':105 'run':22,243 'see':6 'seem':163 'segment':186 'short':7 'shot':42 'skip':253 'someon':179 'sponsor':254 'sponsorblock':185,211 'sponsorblock-remov':210 'still':72 'strip':90 'submit':184 'tedious':122 'termux':247 'thing':159 'thought':36 'titl':231 'tool':84 'tri':114,155 'tts':31 'url':239 'use':192,204 've':4 'via':104 'way':100,144,168 'webnovel':26 'whole':202 'work':33 'would':38 'wouldn':139 'yes':236 'yes-playlist':235 'youtub':178 'yt':9,161,194,208 'yt-dlp':160,193,207"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1699301277
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/post/7796310"
  +editedAt: DateTimeImmutable @1699319540 {#1614
    date: 2023-11-07 02:12:20.0 +01:00
  }
  +createdAt: DateTimeImmutable @1699214877 {#2411
    date: 2023-11-05 21:07:57.0 +01:00
  }
  +__isInitialized__: true
   …2
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
5 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
6 DENIED moderate
App\Entity\EntryComment {#1612
  +user: App\Entity\User {#260 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1584
    +user: Proxies\__CG__\App\Entity\User {#2371 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1576 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1625 …}
    +slug: "Ripping-Podcasts"
    +title: "Ripping Podcasts"
    +url: null
    +body: """
      So lately I’ve been seeing shorts on YT about a D&amp;D podcast that looks mildly interesting and I’m running out of good webnovels to listen to with TTS at work. So I thought I would give podcasts a shot…\n
      \n
      They have instream ads… And it’s the same damn ad on repeat Not the same ad, that was a Conan podcast I listened to in the past, but still it’s like 4 ads in a row. Is there a tool to download these podcasts and strip their ads? I just read that there’s a way to download them via rss so that’s what I’m going to try now. But manual ad removal might get tedious over a hundred episodes.\n
      \n
      I can’t imagine with all the nerd centric podcasts that we wouldn’t have automated a way to extract ads by this point.\n
      \n
      Edit: At this point, trying a number of things. yt-dlp seems to be the best way to do it. If the podcast is available on YouTube someone most likely has already submitted SponsorBlock segments for it. You can then use yt-dlp to download the episode or the whole playlist using this command:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">\n
      </span><span style="color:#323232;">yt-dlp --sponsorblock-remove all --ignore-errors --format bestaudio --extract-audio --audio-format mp3 --audio-quality 192K --output "%(title)s.%(ext)s" --yes-playlist 'PLAYLIST URL'\n
      </span><span style="color:#323232;">\n
      </span>\n
      ```\n
      \n
      You can even run it directly in Termux on your Android phone and skip sponsors on the go.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 37
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1699448059 {#1739
      date: 2023-11-08 13:54:19.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1597 …}
    +votes: Doctrine\ORM\PersistentCollection {#1731 …}
    +reports: Doctrine\ORM\PersistentCollection {#1722 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2372 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2361 …}
    +badges: Doctrine\ORM\PersistentCollection {#1407 …}
    +children: [
      1 => App\Entity\EntryComment {#1612}
      0 => App\Entity\EntryComment {#1564
        +user: App\Entity\User {#260 …}
        +entry: Proxies\__CG__\App\Entity\Entry {#1584 …2}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1576 …}
        +image: null
        +parent: App\Entity\EntryComment {#1612}
        +root: App\Entity\EntryComment {#1612}
        +body: "example: [www.adblockpodcast.com](https://www.adblockpodcast.com/)"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1699222657 {#1650
          date: 2023-11-05 23:17:37.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@PolarisFx@lemmy.dbzer0.com"
          "@nhgeek@beehaw.org"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1559 …}
        +nested: Doctrine\ORM\PersistentCollection {#1567 …}
        +votes: Doctrine\ORM\PersistentCollection {#1563 …}
        +reports: Doctrine\ORM\PersistentCollection {#1565 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1558 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1557 …}
        -id: 93690
        -bodyTs: "'/)':5 'exampl':1 'www.adblockpodcast.com':2,4 'www.adblockpodcast.com/)':3"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://beehaw.org/comment/1576668"
        +editedAt: null
        +createdAt: DateTimeImmutable @1699222657 {#1548
          date: 2023-11-05 23:17:37.0 +01:00
        }
        +"title": 93690
      }
    ]
    -id: 10259
    -titleTs: "'podcast':2 'rip':1"
    -bodyTs: "'192k':229 '4':76 'ad':46,53,59,77,92,118,147 'alreadi':183 'android':250 'audio':221,223,227 'audio-format':222 'audio-qu':226 'autom':142 'avail':176 'best':167 'bestaudio':218 'centric':135 'command':206 'conan':63 'd':12,13 'damn':52 'direct':245 'dlp':162,195,209 'download':86,102,197 'edit':151 'episod':126,199 'error':216 'even':242 'ext':233 'extract':146,220 'extract-audio':219 'format':217,224 'get':121 'give':39 'go':112,257 'good':25 'hundr':125 'ignor':215 'ignore-error':214 'imagin':130 'instream':45 'interest':18 'late':2 'like':75,181 'listen':28,66 'look':16 'm':21,111 'manual':117 'might':120 'mild':17 'mp3':225 'nerd':134 'number':157 'output':230 'past':70 'phone':251 'playlist':203,237,238 'podcast':14,40,64,88,136,174 'point':150,154 'qualiti':228 'read':95 'remov':119,212 'repeat':55 'row':80 'rss':105 'run':22,243 'see':6 'seem':163 'segment':186 'short':7 'shot':42 'skip':253 'someon':179 'sponsor':254 'sponsorblock':185,211 'sponsorblock-remov':210 'still':72 'strip':90 'submit':184 'tedious':122 'termux':247 'thing':159 'thought':36 'titl':231 'tool':84 'tri':114,155 'tts':31 'url':239 'use':192,204 've':4 'via':104 'way':100,144,168 'webnovel':26 'whole':202 'work':33 'would':38 'wouldn':139 'yes':236 'yes-playlist':235 'youtub':178 'yt':9,161,194,208 'yt-dlp':160,193,207"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1699301277
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/7796310"
    +editedAt: DateTimeImmutable @1699319540 {#1614
      date: 2023-11-07 02:12:20.0 +01:00
    }
    +createdAt: DateTimeImmutable @1699214877 {#2411
      date: 2023-11-05 21:07:57.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1576 …}
  +image: null
  +parent: null
  +root: null
  +body: "I think it’s because privacy is less an issue with podcasts (ads don’t have as many options to track) and enshitification of the experience has been on a slower roll than, say, youtube. Lately some solutions are out there in the form of commercial apps but they are limited and who knows if their biz model will survive. I’d like to see an open source solution but I haven’t found one."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1699243259 {#1429
    date: 2023-11-06 05:00:59.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@PolarisFx@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1585 …}
  +nested: Doctrine\ORM\PersistentCollection {#1586 …}
  +votes: Doctrine\ORM\PersistentCollection {#1575 …}
  +reports: Doctrine\ORM\PersistentCollection {#1572 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1568 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1653 …}
  -id: 93663
  -bodyTs: "'ad':13 'app':47 'biz':57 'commerci':46 'd':62 'enshitif':23 'experi':26 'form':44 'found':74 'haven':72 'issu':10 'know':54 'late':36 'less':8 'like':63 'limit':51 'mani':18 'model':58 'one':75 'open':67 'option':19 'podcast':12 'privaci':6 'roll':32 'say':34 'see':65 'slower':31 'solut':38,69 'sourc':68 'surviv':60 'think':2 'track':21 'youtub':35"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://beehaw.org/comment/1576640"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699222193 {#1693
    date: 2023-11-05 23:09:53.0 +01:00
  }
  +"title": 93663
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
7 DENIED edit
App\Entity\EntryComment {#1612
  +user: App\Entity\User {#260 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1584
    +user: Proxies\__CG__\App\Entity\User {#2371 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1576 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1625 …}
    +slug: "Ripping-Podcasts"
    +title: "Ripping Podcasts"
    +url: null
    +body: """
      So lately I’ve been seeing shorts on YT about a D&amp;D podcast that looks mildly interesting and I’m running out of good webnovels to listen to with TTS at work. So I thought I would give podcasts a shot…\n
      \n
      They have instream ads… And it’s the same damn ad on repeat Not the same ad, that was a Conan podcast I listened to in the past, but still it’s like 4 ads in a row. Is there a tool to download these podcasts and strip their ads? I just read that there’s a way to download them via rss so that’s what I’m going to try now. But manual ad removal might get tedious over a hundred episodes.\n
      \n
      I can’t imagine with all the nerd centric podcasts that we wouldn’t have automated a way to extract ads by this point.\n
      \n
      Edit: At this point, trying a number of things. yt-dlp seems to be the best way to do it. If the podcast is available on YouTube someone most likely has already submitted SponsorBlock segments for it. You can then use yt-dlp to download the episode or the whole playlist using this command:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">\n
      </span><span style="color:#323232;">yt-dlp --sponsorblock-remove all --ignore-errors --format bestaudio --extract-audio --audio-format mp3 --audio-quality 192K --output "%(title)s.%(ext)s" --yes-playlist 'PLAYLIST URL'\n
      </span><span style="color:#323232;">\n
      </span>\n
      ```\n
      \n
      You can even run it directly in Termux on your Android phone and skip sponsors on the go.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 37
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1699448059 {#1739
      date: 2023-11-08 13:54:19.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1597 …}
    +votes: Doctrine\ORM\PersistentCollection {#1731 …}
    +reports: Doctrine\ORM\PersistentCollection {#1722 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2372 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2361 …}
    +badges: Doctrine\ORM\PersistentCollection {#1407 …}
    +children: [
      1 => App\Entity\EntryComment {#1612}
      0 => App\Entity\EntryComment {#1564
        +user: App\Entity\User {#260 …}
        +entry: Proxies\__CG__\App\Entity\Entry {#1584 …2}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1576 …}
        +image: null
        +parent: App\Entity\EntryComment {#1612}
        +root: App\Entity\EntryComment {#1612}
        +body: "example: [www.adblockpodcast.com](https://www.adblockpodcast.com/)"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1699222657 {#1650
          date: 2023-11-05 23:17:37.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@PolarisFx@lemmy.dbzer0.com"
          "@nhgeek@beehaw.org"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1559 …}
        +nested: Doctrine\ORM\PersistentCollection {#1567 …}
        +votes: Doctrine\ORM\PersistentCollection {#1563 …}
        +reports: Doctrine\ORM\PersistentCollection {#1565 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1558 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1557 …}
        -id: 93690
        -bodyTs: "'/)':5 'exampl':1 'www.adblockpodcast.com':2,4 'www.adblockpodcast.com/)':3"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://beehaw.org/comment/1576668"
        +editedAt: null
        +createdAt: DateTimeImmutable @1699222657 {#1548
          date: 2023-11-05 23:17:37.0 +01:00
        }
        +"title": 93690
      }
    ]
    -id: 10259
    -titleTs: "'podcast':2 'rip':1"
    -bodyTs: "'192k':229 '4':76 'ad':46,53,59,77,92,118,147 'alreadi':183 'android':250 'audio':221,223,227 'audio-format':222 'audio-qu':226 'autom':142 'avail':176 'best':167 'bestaudio':218 'centric':135 'command':206 'conan':63 'd':12,13 'damn':52 'direct':245 'dlp':162,195,209 'download':86,102,197 'edit':151 'episod':126,199 'error':216 'even':242 'ext':233 'extract':146,220 'extract-audio':219 'format':217,224 'get':121 'give':39 'go':112,257 'good':25 'hundr':125 'ignor':215 'ignore-error':214 'imagin':130 'instream':45 'interest':18 'late':2 'like':75,181 'listen':28,66 'look':16 'm':21,111 'manual':117 'might':120 'mild':17 'mp3':225 'nerd':134 'number':157 'output':230 'past':70 'phone':251 'playlist':203,237,238 'podcast':14,40,64,88,136,174 'point':150,154 'qualiti':228 'read':95 'remov':119,212 'repeat':55 'row':80 'rss':105 'run':22,243 'see':6 'seem':163 'segment':186 'short':7 'shot':42 'skip':253 'someon':179 'sponsor':254 'sponsorblock':185,211 'sponsorblock-remov':210 'still':72 'strip':90 'submit':184 'tedious':122 'termux':247 'thing':159 'thought':36 'titl':231 'tool':84 'tri':114,155 'tts':31 'url':239 'use':192,204 've':4 'via':104 'way':100,144,168 'webnovel':26 'whole':202 'work':33 'would':38 'wouldn':139 'yes':236 'yes-playlist':235 'youtub':178 'yt':9,161,194,208 'yt-dlp':160,193,207"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1699301277
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/7796310"
    +editedAt: DateTimeImmutable @1699319540 {#1614
      date: 2023-11-07 02:12:20.0 +01:00
    }
    +createdAt: DateTimeImmutable @1699214877 {#2411
      date: 2023-11-05 21:07:57.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1576 …}
  +image: null
  +parent: null
  +root: null
  +body: "I think it’s because privacy is less an issue with podcasts (ads don’t have as many options to track) and enshitification of the experience has been on a slower roll than, say, youtube. Lately some solutions are out there in the form of commercial apps but they are limited and who knows if their biz model will survive. I’d like to see an open source solution but I haven’t found one."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1699243259 {#1429
    date: 2023-11-06 05:00:59.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@PolarisFx@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1585 …}
  +nested: Doctrine\ORM\PersistentCollection {#1586 …}
  +votes: Doctrine\ORM\PersistentCollection {#1575 …}
  +reports: Doctrine\ORM\PersistentCollection {#1572 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1568 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1653 …}
  -id: 93663
  -bodyTs: "'ad':13 'app':47 'biz':57 'commerci':46 'd':62 'enshitif':23 'experi':26 'form':44 'found':74 'haven':72 'issu':10 'know':54 'late':36 'less':8 'like':63 'limit':51 'mani':18 'model':58 'one':75 'open':67 'option':19 'podcast':12 'privaci':6 'roll':32 'say':34 'see':65 'slower':31 'solut':38,69 'sourc':68 'surviv':60 'think':2 'track':21 'youtub':35"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://beehaw.org/comment/1576640"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699222193 {#1693
    date: 2023-11-05 23:09:53.0 +01:00
  }
  +"title": 93663
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
8 DENIED moderate
App\Entity\EntryComment {#1612
  +user: App\Entity\User {#260 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1584
    +user: Proxies\__CG__\App\Entity\User {#2371 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1576 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1625 …}
    +slug: "Ripping-Podcasts"
    +title: "Ripping Podcasts"
    +url: null
    +body: """
      So lately I’ve been seeing shorts on YT about a D&amp;D podcast that looks mildly interesting and I’m running out of good webnovels to listen to with TTS at work. So I thought I would give podcasts a shot…\n
      \n
      They have instream ads… And it’s the same damn ad on repeat Not the same ad, that was a Conan podcast I listened to in the past, but still it’s like 4 ads in a row. Is there a tool to download these podcasts and strip their ads? I just read that there’s a way to download them via rss so that’s what I’m going to try now. But manual ad removal might get tedious over a hundred episodes.\n
      \n
      I can’t imagine with all the nerd centric podcasts that we wouldn’t have automated a way to extract ads by this point.\n
      \n
      Edit: At this point, trying a number of things. yt-dlp seems to be the best way to do it. If the podcast is available on YouTube someone most likely has already submitted SponsorBlock segments for it. You can then use yt-dlp to download the episode or the whole playlist using this command:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">\n
      </span><span style="color:#323232;">yt-dlp --sponsorblock-remove all --ignore-errors --format bestaudio --extract-audio --audio-format mp3 --audio-quality 192K --output "%(title)s.%(ext)s" --yes-playlist 'PLAYLIST URL'\n
      </span><span style="color:#323232;">\n
      </span>\n
      ```\n
      \n
      You can even run it directly in Termux on your Android phone and skip sponsors on the go.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 37
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1699448059 {#1739
      date: 2023-11-08 13:54:19.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1597 …}
    +votes: Doctrine\ORM\PersistentCollection {#1731 …}
    +reports: Doctrine\ORM\PersistentCollection {#1722 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2372 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2361 …}
    +badges: Doctrine\ORM\PersistentCollection {#1407 …}
    +children: [
      1 => App\Entity\EntryComment {#1612}
      0 => App\Entity\EntryComment {#1564
        +user: App\Entity\User {#260 …}
        +entry: Proxies\__CG__\App\Entity\Entry {#1584 …2}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1576 …}
        +image: null
        +parent: App\Entity\EntryComment {#1612}
        +root: App\Entity\EntryComment {#1612}
        +body: "example: [www.adblockpodcast.com](https://www.adblockpodcast.com/)"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1699222657 {#1650
          date: 2023-11-05 23:17:37.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@PolarisFx@lemmy.dbzer0.com"
          "@nhgeek@beehaw.org"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1559 …}
        +nested: Doctrine\ORM\PersistentCollection {#1567 …}
        +votes: Doctrine\ORM\PersistentCollection {#1563 …}
        +reports: Doctrine\ORM\PersistentCollection {#1565 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1558 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1557 …}
        -id: 93690
        -bodyTs: "'/)':5 'exampl':1 'www.adblockpodcast.com':2,4 'www.adblockpodcast.com/)':3"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://beehaw.org/comment/1576668"
        +editedAt: null
        +createdAt: DateTimeImmutable @1699222657 {#1548
          date: 2023-11-05 23:17:37.0 +01:00
        }
        +"title": 93690
      }
    ]
    -id: 10259
    -titleTs: "'podcast':2 'rip':1"
    -bodyTs: "'192k':229 '4':76 'ad':46,53,59,77,92,118,147 'alreadi':183 'android':250 'audio':221,223,227 'audio-format':222 'audio-qu':226 'autom':142 'avail':176 'best':167 'bestaudio':218 'centric':135 'command':206 'conan':63 'd':12,13 'damn':52 'direct':245 'dlp':162,195,209 'download':86,102,197 'edit':151 'episod':126,199 'error':216 'even':242 'ext':233 'extract':146,220 'extract-audio':219 'format':217,224 'get':121 'give':39 'go':112,257 'good':25 'hundr':125 'ignor':215 'ignore-error':214 'imagin':130 'instream':45 'interest':18 'late':2 'like':75,181 'listen':28,66 'look':16 'm':21,111 'manual':117 'might':120 'mild':17 'mp3':225 'nerd':134 'number':157 'output':230 'past':70 'phone':251 'playlist':203,237,238 'podcast':14,40,64,88,136,174 'point':150,154 'qualiti':228 'read':95 'remov':119,212 'repeat':55 'row':80 'rss':105 'run':22,243 'see':6 'seem':163 'segment':186 'short':7 'shot':42 'skip':253 'someon':179 'sponsor':254 'sponsorblock':185,211 'sponsorblock-remov':210 'still':72 'strip':90 'submit':184 'tedious':122 'termux':247 'thing':159 'thought':36 'titl':231 'tool':84 'tri':114,155 'tts':31 'url':239 'use':192,204 've':4 'via':104 'way':100,144,168 'webnovel':26 'whole':202 'work':33 'would':38 'wouldn':139 'yes':236 'yes-playlist':235 'youtub':178 'yt':9,161,194,208 'yt-dlp':160,193,207"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1699301277
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/7796310"
    +editedAt: DateTimeImmutable @1699319540 {#1614
      date: 2023-11-07 02:12:20.0 +01:00
    }
    +createdAt: DateTimeImmutable @1699214877 {#2411
      date: 2023-11-05 21:07:57.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1576 …}
  +image: null
  +parent: null
  +root: null
  +body: "I think it’s because privacy is less an issue with podcasts (ads don’t have as many options to track) and enshitification of the experience has been on a slower roll than, say, youtube. Lately some solutions are out there in the form of commercial apps but they are limited and who knows if their biz model will survive. I’d like to see an open source solution but I haven’t found one."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1699243259 {#1429
    date: 2023-11-06 05:00:59.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@PolarisFx@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1585 …}
  +nested: Doctrine\ORM\PersistentCollection {#1586 …}
  +votes: Doctrine\ORM\PersistentCollection {#1575 …}
  +reports: Doctrine\ORM\PersistentCollection {#1572 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1568 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1653 …}
  -id: 93663
  -bodyTs: "'ad':13 'app':47 'biz':57 'commerci':46 'd':62 'enshitif':23 'experi':26 'form':44 'found':74 'haven':72 'issu':10 'know':54 'late':36 'less':8 'like':63 'limit':51 'mani':18 'model':58 'one':75 'open':67 'option':19 'podcast':12 'privaci':6 'roll':32 'say':34 'see':65 'slower':31 'solut':38,69 'sourc':68 'surviv':60 'think':2 'track':21 'youtub':35"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://beehaw.org/comment/1576640"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699222193 {#1693
    date: 2023-11-05 23:09:53.0 +01:00
  }
  +"title": 93663
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
9 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
10 DENIED moderate
App\Entity\EntryComment {#1564
  +user: App\Entity\User {#260 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1584
    +user: Proxies\__CG__\App\Entity\User {#2371 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1576 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1625 …}
    +slug: "Ripping-Podcasts"
    +title: "Ripping Podcasts"
    +url: null
    +body: """
      So lately I’ve been seeing shorts on YT about a D&amp;D podcast that looks mildly interesting and I’m running out of good webnovels to listen to with TTS at work. So I thought I would give podcasts a shot…\n
      \n
      They have instream ads… And it’s the same damn ad on repeat Not the same ad, that was a Conan podcast I listened to in the past, but still it’s like 4 ads in a row. Is there a tool to download these podcasts and strip their ads? I just read that there’s a way to download them via rss so that’s what I’m going to try now. But manual ad removal might get tedious over a hundred episodes.\n
      \n
      I can’t imagine with all the nerd centric podcasts that we wouldn’t have automated a way to extract ads by this point.\n
      \n
      Edit: At this point, trying a number of things. yt-dlp seems to be the best way to do it. If the podcast is available on YouTube someone most likely has already submitted SponsorBlock segments for it. You can then use yt-dlp to download the episode or the whole playlist using this command:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">\n
      </span><span style="color:#323232;">yt-dlp --sponsorblock-remove all --ignore-errors --format bestaudio --extract-audio --audio-format mp3 --audio-quality 192K --output "%(title)s.%(ext)s" --yes-playlist 'PLAYLIST URL'\n
      </span><span style="color:#323232;">\n
      </span>\n
      ```\n
      \n
      You can even run it directly in Termux on your Android phone and skip sponsors on the go.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 37
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1699448059 {#1739
      date: 2023-11-08 13:54:19.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1597 …}
    +votes: Doctrine\ORM\PersistentCollection {#1731 …}
    +reports: Doctrine\ORM\PersistentCollection {#1722 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2372 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2361 …}
    +badges: Doctrine\ORM\PersistentCollection {#1407 …}
    +children: [
      1 => App\Entity\EntryComment {#1612
        +user: App\Entity\User {#260 …}
        +entry: Proxies\__CG__\App\Entity\Entry {#1584 …2}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1576 …}
        +image: null
        +parent: null
        +root: null
        +body: "I think it’s because privacy is less an issue with podcasts (ads don’t have as many options to track) and enshitification of the experience has been on a slower roll than, say, youtube. Lately some solutions are out there in the form of commercial apps but they are limited and who knows if their biz model will survive. I’d like to see an open source solution but I haven’t found one."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 2
        +score: 0
        +lastActive: DateTime @1699243259 {#1429
          date: 2023-11-06 05:00:59.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@PolarisFx@lemmy.dbzer0.com"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1585 …}
        +nested: Doctrine\ORM\PersistentCollection {#1586 …}
        +votes: Doctrine\ORM\PersistentCollection {#1575 …}
        +reports: Doctrine\ORM\PersistentCollection {#1572 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1568 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1653 …}
        -id: 93663
        -bodyTs: "'ad':13 'app':47 'biz':57 'commerci':46 'd':62 'enshitif':23 'experi':26 'form':44 'found':74 'haven':72 'issu':10 'know':54 'late':36 'less':8 'like':63 'limit':51 'mani':18 'model':58 'one':75 'open':67 'option':19 'podcast':12 'privaci':6 'roll':32 'say':34 'see':65 'slower':31 'solut':38,69 'sourc':68 'surviv':60 'think':2 'track':21 'youtub':35"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://beehaw.org/comment/1576640"
        +editedAt: null
        +createdAt: DateTimeImmutable @1699222193 {#1693
          date: 2023-11-05 23:09:53.0 +01:00
        }
        +"title": 93663
      }
      0 => App\Entity\EntryComment {#1564}
    ]
    -id: 10259
    -titleTs: "'podcast':2 'rip':1"
    -bodyTs: "'192k':229 '4':76 'ad':46,53,59,77,92,118,147 'alreadi':183 'android':250 'audio':221,223,227 'audio-format':222 'audio-qu':226 'autom':142 'avail':176 'best':167 'bestaudio':218 'centric':135 'command':206 'conan':63 'd':12,13 'damn':52 'direct':245 'dlp':162,195,209 'download':86,102,197 'edit':151 'episod':126,199 'error':216 'even':242 'ext':233 'extract':146,220 'extract-audio':219 'format':217,224 'get':121 'give':39 'go':112,257 'good':25 'hundr':125 'ignor':215 'ignore-error':214 'imagin':130 'instream':45 'interest':18 'late':2 'like':75,181 'listen':28,66 'look':16 'm':21,111 'manual':117 'might':120 'mild':17 'mp3':225 'nerd':134 'number':157 'output':230 'past':70 'phone':251 'playlist':203,237,238 'podcast':14,40,64,88,136,174 'point':150,154 'qualiti':228 'read':95 'remov':119,212 'repeat':55 'row':80 'rss':105 'run':22,243 'see':6 'seem':163 'segment':186 'short':7 'shot':42 'skip':253 'someon':179 'sponsor':254 'sponsorblock':185,211 'sponsorblock-remov':210 'still':72 'strip':90 'submit':184 'tedious':122 'termux':247 'thing':159 'thought':36 'titl':231 'tool':84 'tri':114,155 'tts':31 'url':239 'use':192,204 've':4 'via':104 'way':100,144,168 'webnovel':26 'whole':202 'work':33 'would':38 'wouldn':139 'yes':236 'yes-playlist':235 'youtub':178 'yt':9,161,194,208 'yt-dlp':160,193,207"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1699301277
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/7796310"
    +editedAt: DateTimeImmutable @1699319540 {#1614
      date: 2023-11-07 02:12:20.0 +01:00
    }
    +createdAt: DateTimeImmutable @1699214877 {#2411
      date: 2023-11-05 21:07:57.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1576 …}
  +image: null
  +parent: App\Entity\EntryComment {#1612}
  +root: App\Entity\EntryComment {#1612}
  +body: "example: [www.adblockpodcast.com](https://www.adblockpodcast.com/)"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1699222657 {#1650
    date: 2023-11-05 23:17:37.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@PolarisFx@lemmy.dbzer0.com"
    "@nhgeek@beehaw.org"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1559 …}
  +nested: Doctrine\ORM\PersistentCollection {#1567 …}
  +votes: Doctrine\ORM\PersistentCollection {#1563 …}
  +reports: Doctrine\ORM\PersistentCollection {#1565 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1558 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1557 …}
  -id: 93690
  -bodyTs: "'/)':5 'exampl':1 'www.adblockpodcast.com':2,4 'www.adblockpodcast.com/)':3"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://beehaw.org/comment/1576668"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699222657 {#1548
    date: 2023-11-05 23:17:37.0 +01:00
  }
  +"title": 93690
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
11 DENIED edit
App\Entity\EntryComment {#1564
  +user: App\Entity\User {#260 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1584
    +user: Proxies\__CG__\App\Entity\User {#2371 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1576 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1625 …}
    +slug: "Ripping-Podcasts"
    +title: "Ripping Podcasts"
    +url: null
    +body: """
      So lately I’ve been seeing shorts on YT about a D&amp;D podcast that looks mildly interesting and I’m running out of good webnovels to listen to with TTS at work. So I thought I would give podcasts a shot…\n
      \n
      They have instream ads… And it’s the same damn ad on repeat Not the same ad, that was a Conan podcast I listened to in the past, but still it’s like 4 ads in a row. Is there a tool to download these podcasts and strip their ads? I just read that there’s a way to download them via rss so that’s what I’m going to try now. But manual ad removal might get tedious over a hundred episodes.\n
      \n
      I can’t imagine with all the nerd centric podcasts that we wouldn’t have automated a way to extract ads by this point.\n
      \n
      Edit: At this point, trying a number of things. yt-dlp seems to be the best way to do it. If the podcast is available on YouTube someone most likely has already submitted SponsorBlock segments for it. You can then use yt-dlp to download the episode or the whole playlist using this command:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">\n
      </span><span style="color:#323232;">yt-dlp --sponsorblock-remove all --ignore-errors --format bestaudio --extract-audio --audio-format mp3 --audio-quality 192K --output "%(title)s.%(ext)s" --yes-playlist 'PLAYLIST URL'\n
      </span><span style="color:#323232;">\n
      </span>\n
      ```\n
      \n
      You can even run it directly in Termux on your Android phone and skip sponsors on the go.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 37
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1699448059 {#1739
      date: 2023-11-08 13:54:19.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1597 …}
    +votes: Doctrine\ORM\PersistentCollection {#1731 …}
    +reports: Doctrine\ORM\PersistentCollection {#1722 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2372 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2361 …}
    +badges: Doctrine\ORM\PersistentCollection {#1407 …}
    +children: [
      1 => App\Entity\EntryComment {#1612
        +user: App\Entity\User {#260 …}
        +entry: Proxies\__CG__\App\Entity\Entry {#1584 …2}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1576 …}
        +image: null
        +parent: null
        +root: null
        +body: "I think it’s because privacy is less an issue with podcasts (ads don’t have as many options to track) and enshitification of the experience has been on a slower roll than, say, youtube. Lately some solutions are out there in the form of commercial apps but they are limited and who knows if their biz model will survive. I’d like to see an open source solution but I haven’t found one."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 2
        +score: 0
        +lastActive: DateTime @1699243259 {#1429
          date: 2023-11-06 05:00:59.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@PolarisFx@lemmy.dbzer0.com"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1585 …}
        +nested: Doctrine\ORM\PersistentCollection {#1586 …}
        +votes: Doctrine\ORM\PersistentCollection {#1575 …}
        +reports: Doctrine\ORM\PersistentCollection {#1572 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1568 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1653 …}
        -id: 93663
        -bodyTs: "'ad':13 'app':47 'biz':57 'commerci':46 'd':62 'enshitif':23 'experi':26 'form':44 'found':74 'haven':72 'issu':10 'know':54 'late':36 'less':8 'like':63 'limit':51 'mani':18 'model':58 'one':75 'open':67 'option':19 'podcast':12 'privaci':6 'roll':32 'say':34 'see':65 'slower':31 'solut':38,69 'sourc':68 'surviv':60 'think':2 'track':21 'youtub':35"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://beehaw.org/comment/1576640"
        +editedAt: null
        +createdAt: DateTimeImmutable @1699222193 {#1693
          date: 2023-11-05 23:09:53.0 +01:00
        }
        +"title": 93663
      }
      0 => App\Entity\EntryComment {#1564}
    ]
    -id: 10259
    -titleTs: "'podcast':2 'rip':1"
    -bodyTs: "'192k':229 '4':76 'ad':46,53,59,77,92,118,147 'alreadi':183 'android':250 'audio':221,223,227 'audio-format':222 'audio-qu':226 'autom':142 'avail':176 'best':167 'bestaudio':218 'centric':135 'command':206 'conan':63 'd':12,13 'damn':52 'direct':245 'dlp':162,195,209 'download':86,102,197 'edit':151 'episod':126,199 'error':216 'even':242 'ext':233 'extract':146,220 'extract-audio':219 'format':217,224 'get':121 'give':39 'go':112,257 'good':25 'hundr':125 'ignor':215 'ignore-error':214 'imagin':130 'instream':45 'interest':18 'late':2 'like':75,181 'listen':28,66 'look':16 'm':21,111 'manual':117 'might':120 'mild':17 'mp3':225 'nerd':134 'number':157 'output':230 'past':70 'phone':251 'playlist':203,237,238 'podcast':14,40,64,88,136,174 'point':150,154 'qualiti':228 'read':95 'remov':119,212 'repeat':55 'row':80 'rss':105 'run':22,243 'see':6 'seem':163 'segment':186 'short':7 'shot':42 'skip':253 'someon':179 'sponsor':254 'sponsorblock':185,211 'sponsorblock-remov':210 'still':72 'strip':90 'submit':184 'tedious':122 'termux':247 'thing':159 'thought':36 'titl':231 'tool':84 'tri':114,155 'tts':31 'url':239 'use':192,204 've':4 'via':104 'way':100,144,168 'webnovel':26 'whole':202 'work':33 'would':38 'wouldn':139 'yes':236 'yes-playlist':235 'youtub':178 'yt':9,161,194,208 'yt-dlp':160,193,207"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1699301277
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/7796310"
    +editedAt: DateTimeImmutable @1699319540 {#1614
      date: 2023-11-07 02:12:20.0 +01:00
    }
    +createdAt: DateTimeImmutable @1699214877 {#2411
      date: 2023-11-05 21:07:57.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1576 …}
  +image: null
  +parent: App\Entity\EntryComment {#1612}
  +root: App\Entity\EntryComment {#1612}
  +body: "example: [www.adblockpodcast.com](https://www.adblockpodcast.com/)"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1699222657 {#1650
    date: 2023-11-05 23:17:37.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@PolarisFx@lemmy.dbzer0.com"
    "@nhgeek@beehaw.org"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1559 …}
  +nested: Doctrine\ORM\PersistentCollection {#1567 …}
  +votes: Doctrine\ORM\PersistentCollection {#1563 …}
  +reports: Doctrine\ORM\PersistentCollection {#1565 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1558 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1557 …}
  -id: 93690
  -bodyTs: "'/)':5 'exampl':1 'www.adblockpodcast.com':2,4 'www.adblockpodcast.com/)':3"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://beehaw.org/comment/1576668"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699222657 {#1548
    date: 2023-11-05 23:17:37.0 +01:00
  }
  +"title": 93690
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
12 DENIED moderate
App\Entity\EntryComment {#1564
  +user: App\Entity\User {#260 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1584
    +user: Proxies\__CG__\App\Entity\User {#2371 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1576 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1625 …}
    +slug: "Ripping-Podcasts"
    +title: "Ripping Podcasts"
    +url: null
    +body: """
      So lately I’ve been seeing shorts on YT about a D&amp;D podcast that looks mildly interesting and I’m running out of good webnovels to listen to with TTS at work. So I thought I would give podcasts a shot…\n
      \n
      They have instream ads… And it’s the same damn ad on repeat Not the same ad, that was a Conan podcast I listened to in the past, but still it’s like 4 ads in a row. Is there a tool to download these podcasts and strip their ads? I just read that there’s a way to download them via rss so that’s what I’m going to try now. But manual ad removal might get tedious over a hundred episodes.\n
      \n
      I can’t imagine with all the nerd centric podcasts that we wouldn’t have automated a way to extract ads by this point.\n
      \n
      Edit: At this point, trying a number of things. yt-dlp seems to be the best way to do it. If the podcast is available on YouTube someone most likely has already submitted SponsorBlock segments for it. You can then use yt-dlp to download the episode or the whole playlist using this command:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">\n
      </span><span style="color:#323232;">yt-dlp --sponsorblock-remove all --ignore-errors --format bestaudio --extract-audio --audio-format mp3 --audio-quality 192K --output "%(title)s.%(ext)s" --yes-playlist 'PLAYLIST URL'\n
      </span><span style="color:#323232;">\n
      </span>\n
      ```\n
      \n
      You can even run it directly in Termux on your Android phone and skip sponsors on the go.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 37
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1699448059 {#1739
      date: 2023-11-08 13:54:19.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1597 …}
    +votes: Doctrine\ORM\PersistentCollection {#1731 …}
    +reports: Doctrine\ORM\PersistentCollection {#1722 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2372 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2361 …}
    +badges: Doctrine\ORM\PersistentCollection {#1407 …}
    +children: [
      1 => App\Entity\EntryComment {#1612
        +user: App\Entity\User {#260 …}
        +entry: Proxies\__CG__\App\Entity\Entry {#1584 …2}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1576 …}
        +image: null
        +parent: null
        +root: null
        +body: "I think it’s because privacy is less an issue with podcasts (ads don’t have as many options to track) and enshitification of the experience has been on a slower roll than, say, youtube. Lately some solutions are out there in the form of commercial apps but they are limited and who knows if their biz model will survive. I’d like to see an open source solution but I haven’t found one."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 2
        +score: 0
        +lastActive: DateTime @1699243259 {#1429
          date: 2023-11-06 05:00:59.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@PolarisFx@lemmy.dbzer0.com"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1585 …}
        +nested: Doctrine\ORM\PersistentCollection {#1586 …}
        +votes: Doctrine\ORM\PersistentCollection {#1575 …}
        +reports: Doctrine\ORM\PersistentCollection {#1572 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1568 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1653 …}
        -id: 93663
        -bodyTs: "'ad':13 'app':47 'biz':57 'commerci':46 'd':62 'enshitif':23 'experi':26 'form':44 'found':74 'haven':72 'issu':10 'know':54 'late':36 'less':8 'like':63 'limit':51 'mani':18 'model':58 'one':75 'open':67 'option':19 'podcast':12 'privaci':6 'roll':32 'say':34 'see':65 'slower':31 'solut':38,69 'sourc':68 'surviv':60 'think':2 'track':21 'youtub':35"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://beehaw.org/comment/1576640"
        +editedAt: null
        +createdAt: DateTimeImmutable @1699222193 {#1693
          date: 2023-11-05 23:09:53.0 +01:00
        }
        +"title": 93663
      }
      0 => App\Entity\EntryComment {#1564}
    ]
    -id: 10259
    -titleTs: "'podcast':2 'rip':1"
    -bodyTs: "'192k':229 '4':76 'ad':46,53,59,77,92,118,147 'alreadi':183 'android':250 'audio':221,223,227 'audio-format':222 'audio-qu':226 'autom':142 'avail':176 'best':167 'bestaudio':218 'centric':135 'command':206 'conan':63 'd':12,13 'damn':52 'direct':245 'dlp':162,195,209 'download':86,102,197 'edit':151 'episod':126,199 'error':216 'even':242 'ext':233 'extract':146,220 'extract-audio':219 'format':217,224 'get':121 'give':39 'go':112,257 'good':25 'hundr':125 'ignor':215 'ignore-error':214 'imagin':130 'instream':45 'interest':18 'late':2 'like':75,181 'listen':28,66 'look':16 'm':21,111 'manual':117 'might':120 'mild':17 'mp3':225 'nerd':134 'number':157 'output':230 'past':70 'phone':251 'playlist':203,237,238 'podcast':14,40,64,88,136,174 'point':150,154 'qualiti':228 'read':95 'remov':119,212 'repeat':55 'row':80 'rss':105 'run':22,243 'see':6 'seem':163 'segment':186 'short':7 'shot':42 'skip':253 'someon':179 'sponsor':254 'sponsorblock':185,211 'sponsorblock-remov':210 'still':72 'strip':90 'submit':184 'tedious':122 'termux':247 'thing':159 'thought':36 'titl':231 'tool':84 'tri':114,155 'tts':31 'url':239 'use':192,204 've':4 'via':104 'way':100,144,168 'webnovel':26 'whole':202 'work':33 'would':38 'wouldn':139 'yes':236 'yes-playlist':235 'youtub':178 'yt':9,161,194,208 'yt-dlp':160,193,207"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1699301277
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/7796310"
    +editedAt: DateTimeImmutable @1699319540 {#1614
      date: 2023-11-07 02:12:20.0 +01:00
    }
    +createdAt: DateTimeImmutable @1699214877 {#2411
      date: 2023-11-05 21:07:57.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1576 …}
  +image: null
  +parent: App\Entity\EntryComment {#1612}
  +root: App\Entity\EntryComment {#1612}
  +body: "example: [www.adblockpodcast.com](https://www.adblockpodcast.com/)"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1699222657 {#1650
    date: 2023-11-05 23:17:37.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@PolarisFx@lemmy.dbzer0.com"
    "@nhgeek@beehaw.org"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1559 …}
  +nested: Doctrine\ORM\PersistentCollection {#1567 …}
  +votes: Doctrine\ORM\PersistentCollection {#1563 …}
  +reports: Doctrine\ORM\PersistentCollection {#1565 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1558 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1557 …}
  -id: 93690
  -bodyTs: "'/)':5 'exampl':1 'www.adblockpodcast.com':2,4 'www.adblockpodcast.com/)':3"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://beehaw.org/comment/1576668"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699222657 {#1548
    date: 2023-11-05 23:17:37.0 +01:00
  }
  +"title": 93690
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
13 DENIED ROLE_ADMIN
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
14 DENIED ROLE_MODERATOR
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details