GET https://kbin.spritesserver.nl/index.php/u/@PolarisFx@lemmy.dbzer0.com/commented/2023-11-07::2023-11-07

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 …}
}
0.81 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.05 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 {#1568
  +user: Proxies\__CG__\App\Entity\User {#2132 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1564 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#2461 …}
  +slug: "How-to-begin-setting-up-a-media-center"
  +title: "How to begin setting up a media center?"
  +url: null
  +body: """
    I have 16TB NAS dedicated to storing TV shows. It is just a cabinet with ryzen 2600 and no graphics card. I have installed openmediavault in it to access it via smb to other devices. I am an absolute noob in setting up a server. Please tell me how I should go on about turning it into a media consumption machine.\n
    \n
    P. S: I usually use VLC on android and MPV on linux to consume the media.
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 40
  +favouriteCount: 118
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1699372560 {#1874
    date: 2023-11-07 16:56:00.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2131 …}
  +votes: Doctrine\ORM\PersistentCollection {#2133 …}
  +reports: Doctrine\ORM\PersistentCollection {#2140 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2094 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2093 …}
  +badges: Doctrine\ORM\PersistentCollection {#2086 …}
  +children: [
    App\Entity\EntryComment {#1674
      +user: App\Entity\User {#260 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1568 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1564 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#1583 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#1578 …}
      +body: "Shhh, best not to mention Plex on Lemmy. The jellyfin mafia will come down and tell you repeatedly how amazing Jellyfin is and why we should give up our lifetime plex pass’ to use an inferior product cause its free and open source."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1699330765 {#1609
        date: 2023-11-07 05:19:25.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@agame@lemm.ee"
        "@BrownianMotion@lemmy.dbzer0.com"
        "@Scary_le_Poo@beehaw.org"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1571 …}
      +nested: Doctrine\ORM\PersistentCollection {#1593 …}
      +votes: Doctrine\ORM\PersistentCollection {#1592 …}
      +reports: Doctrine\ORM\PersistentCollection {#1552 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1562 …}
      -id: 97587
      -bodyTs: "'amaz':20 'best':2 'caus':38 'come':13 'free':40 'give':27 'inferior':36 'jellyfin':10,21 'lemmi':8 'lifetim':30 'mafia':11 'mention':5 'open':42 'pass':32 'plex':6,31 'product':37 'repeat':18 'shhh':1 'sourc':43 'tell':16 'use':34"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.dbzer0.com/comment/4868230"
      +editedAt: null
      +createdAt: DateTimeImmutable @1699330765 {#1743
        date: 2023-11-07 05:19:25.0 +01:00
      }
      +"title": 97587
    }
  ]
  -id: 9762
  -titleTs: "'begin':3 'center':8 'media':7 'set':4"
  -bodyTs: "'16tb':3 '2600':17 'absolut':39 'access':29 'android':69 'cabinet':14 'card':21 'consum':75 'consumpt':60 'dedic':5 'devic':35 'go':52 'graphic':20 'instal':24 'linux':73 'machin':61 'media':59,77 'mpv':71 'nas':4 'noob':40 'openmediavault':25 'p':62 'pleas':46 'ryzen':16 'server':45 'set':42 'show':9 'smb':32 'store':7 'tell':47 'turn':55 'tv':8 'use':66 'usual':65 'via':31 'vlc':67"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1699190737
  +visibility: "visible             "
  +apId: "https://lemm.ee/post/13813898"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699104337 {#1735
    date: 2023-11-04 14:25:37.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 {#1568
  +user: Proxies\__CG__\App\Entity\User {#2132 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1564 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#2461 …}
  +slug: "How-to-begin-setting-up-a-media-center"
  +title: "How to begin setting up a media center?"
  +url: null
  +body: """
    I have 16TB NAS dedicated to storing TV shows. It is just a cabinet with ryzen 2600 and no graphics card. I have installed openmediavault in it to access it via smb to other devices. I am an absolute noob in setting up a server. Please tell me how I should go on about turning it into a media consumption machine.\n
    \n
    P. S: I usually use VLC on android and MPV on linux to consume the media.
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 40
  +favouriteCount: 118
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1699372560 {#1874
    date: 2023-11-07 16:56:00.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2131 …}
  +votes: Doctrine\ORM\PersistentCollection {#2133 …}
  +reports: Doctrine\ORM\PersistentCollection {#2140 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2094 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2093 …}
  +badges: Doctrine\ORM\PersistentCollection {#2086 …}
  +children: [
    App\Entity\EntryComment {#1674
      +user: App\Entity\User {#260 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1568 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1564 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#1583 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#1578 …}
      +body: "Shhh, best not to mention Plex on Lemmy. The jellyfin mafia will come down and tell you repeatedly how amazing Jellyfin is and why we should give up our lifetime plex pass’ to use an inferior product cause its free and open source."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1699330765 {#1609
        date: 2023-11-07 05:19:25.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@agame@lemm.ee"
        "@BrownianMotion@lemmy.dbzer0.com"
        "@Scary_le_Poo@beehaw.org"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1571 …}
      +nested: Doctrine\ORM\PersistentCollection {#1593 …}
      +votes: Doctrine\ORM\PersistentCollection {#1592 …}
      +reports: Doctrine\ORM\PersistentCollection {#1552 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1562 …}
      -id: 97587
      -bodyTs: "'amaz':20 'best':2 'caus':38 'come':13 'free':40 'give':27 'inferior':36 'jellyfin':10,21 'lemmi':8 'lifetim':30 'mafia':11 'mention':5 'open':42 'pass':32 'plex':6,31 'product':37 'repeat':18 'shhh':1 'sourc':43 'tell':16 'use':34"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.dbzer0.com/comment/4868230"
      +editedAt: null
      +createdAt: DateTimeImmutable @1699330765 {#1743
        date: 2023-11-07 05:19:25.0 +01:00
      }
      +"title": 97587
    }
  ]
  -id: 9762
  -titleTs: "'begin':3 'center':8 'media':7 'set':4"
  -bodyTs: "'16tb':3 '2600':17 'absolut':39 'access':29 'android':69 'cabinet':14 'card':21 'consum':75 'consumpt':60 'dedic':5 'devic':35 'go':52 'graphic':20 'instal':24 'linux':73 'machin':61 'media':59,77 'mpv':71 'nas':4 'noob':40 'openmediavault':25 'p':62 'pleas':46 'ryzen':16 'server':45 'set':42 'show':9 'smb':32 'store':7 'tell':47 'turn':55 'tv':8 'use':66 'usual':65 'via':31 'vlc':67"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1699190737
  +visibility: "visible             "
  +apId: "https://lemm.ee/post/13813898"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699104337 {#1735
    date: 2023-11-04 14:25:37.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 {#1568
  +user: Proxies\__CG__\App\Entity\User {#2132 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1564 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#2461 …}
  +slug: "How-to-begin-setting-up-a-media-center"
  +title: "How to begin setting up a media center?"
  +url: null
  +body: """
    I have 16TB NAS dedicated to storing TV shows. It is just a cabinet with ryzen 2600 and no graphics card. I have installed openmediavault in it to access it via smb to other devices. I am an absolute noob in setting up a server. Please tell me how I should go on about turning it into a media consumption machine.\n
    \n
    P. S: I usually use VLC on android and MPV on linux to consume the media.
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 40
  +favouriteCount: 118
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1699372560 {#1874
    date: 2023-11-07 16:56:00.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2131 …}
  +votes: Doctrine\ORM\PersistentCollection {#2133 …}
  +reports: Doctrine\ORM\PersistentCollection {#2140 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2094 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2093 …}
  +badges: Doctrine\ORM\PersistentCollection {#2086 …}
  +children: [
    App\Entity\EntryComment {#1674
      +user: App\Entity\User {#260 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1568 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1564 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#1583 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#1578 …}
      +body: "Shhh, best not to mention Plex on Lemmy. The jellyfin mafia will come down and tell you repeatedly how amazing Jellyfin is and why we should give up our lifetime plex pass’ to use an inferior product cause its free and open source."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1699330765 {#1609
        date: 2023-11-07 05:19:25.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@agame@lemm.ee"
        "@BrownianMotion@lemmy.dbzer0.com"
        "@Scary_le_Poo@beehaw.org"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1571 …}
      +nested: Doctrine\ORM\PersistentCollection {#1593 …}
      +votes: Doctrine\ORM\PersistentCollection {#1592 …}
      +reports: Doctrine\ORM\PersistentCollection {#1552 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1562 …}
      -id: 97587
      -bodyTs: "'amaz':20 'best':2 'caus':38 'come':13 'free':40 'give':27 'inferior':36 'jellyfin':10,21 'lemmi':8 'lifetim':30 'mafia':11 'mention':5 'open':42 'pass':32 'plex':6,31 'product':37 'repeat':18 'shhh':1 'sourc':43 'tell':16 'use':34"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.dbzer0.com/comment/4868230"
      +editedAt: null
      +createdAt: DateTimeImmutable @1699330765 {#1743
        date: 2023-11-07 05:19:25.0 +01:00
      }
      +"title": 97587
    }
  ]
  -id: 9762
  -titleTs: "'begin':3 'center':8 'media':7 'set':4"
  -bodyTs: "'16tb':3 '2600':17 'absolut':39 'access':29 'android':69 'cabinet':14 'card':21 'consum':75 'consumpt':60 'dedic':5 'devic':35 'go':52 'graphic':20 'instal':24 'linux':73 'machin':61 'media':59,77 'mpv':71 'nas':4 'noob':40 'openmediavault':25 'p':62 'pleas':46 'ryzen':16 'server':45 'set':42 'show':9 'smb':32 'store':7 'tell':47 'turn':55 'tv':8 'use':66 'usual':65 'via':31 'vlc':67"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1699190737
  +visibility: "visible             "
  +apId: "https://lemm.ee/post/13813898"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699104337 {#1735
    date: 2023-11-04 14:25:37.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 {#1674
  +user: App\Entity\User {#260 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1568
    +user: Proxies\__CG__\App\Entity\User {#2132 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1564 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#2461 …}
    +slug: "How-to-begin-setting-up-a-media-center"
    +title: "How to begin setting up a media center?"
    +url: null
    +body: """
      I have 16TB NAS dedicated to storing TV shows. It is just a cabinet with ryzen 2600 and no graphics card. I have installed openmediavault in it to access it via smb to other devices. I am an absolute noob in setting up a server. Please tell me how I should go on about turning it into a media consumption machine.\n
      \n
      P. S: I usually use VLC on android and MPV on linux to consume the media.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 40
    +favouriteCount: 118
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1699372560 {#1874
      date: 2023-11-07 16:56:00.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2131 …}
    +votes: Doctrine\ORM\PersistentCollection {#2133 …}
    +reports: Doctrine\ORM\PersistentCollection {#2140 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2094 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2093 …}
    +badges: Doctrine\ORM\PersistentCollection {#2086 …}
    +children: [
      App\Entity\EntryComment {#1674}
    ]
    -id: 9762
    -titleTs: "'begin':3 'center':8 'media':7 'set':4"
    -bodyTs: "'16tb':3 '2600':17 'absolut':39 'access':29 'android':69 'cabinet':14 'card':21 'consum':75 'consumpt':60 'dedic':5 'devic':35 'go':52 'graphic':20 'instal':24 'linux':73 'machin':61 'media':59,77 'mpv':71 'nas':4 'noob':40 'openmediavault':25 'p':62 'pleas':46 'ryzen':16 'server':45 'set':42 'show':9 'smb':32 'store':7 'tell':47 'turn':55 'tv':8 'use':66 'usual':65 'via':31 'vlc':67"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1699190737
    +visibility: "visible             "
    +apId: "https://lemm.ee/post/13813898"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699104337 {#1735
      date: 2023-11-04 14:25:37.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1564 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#1583 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#1578 …}
  +body: "Shhh, best not to mention Plex on Lemmy. The jellyfin mafia will come down and tell you repeatedly how amazing Jellyfin is and why we should give up our lifetime plex pass’ to use an inferior product cause its free and open source."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1699330765 {#1609
    date: 2023-11-07 05:19:25.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@agame@lemm.ee"
    "@BrownianMotion@lemmy.dbzer0.com"
    "@Scary_le_Poo@beehaw.org"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1571 …}
  +nested: Doctrine\ORM\PersistentCollection {#1593 …}
  +votes: Doctrine\ORM\PersistentCollection {#1592 …}
  +reports: Doctrine\ORM\PersistentCollection {#1552 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1562 …}
  -id: 97587
  -bodyTs: "'amaz':20 'best':2 'caus':38 'come':13 'free':40 'give':27 'inferior':36 'jellyfin':10,21 'lemmi':8 'lifetim':30 'mafia':11 'mention':5 'open':42 'pass':32 'plex':6,31 'product':37 'repeat':18 'shhh':1 'sourc':43 'tell':16 'use':34"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/4868230"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699330765 {#1743
    date: 2023-11-07 05:19:25.0 +01:00
  }
  +"title": 97587
}
"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 {#1674
  +user: App\Entity\User {#260 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1568
    +user: Proxies\__CG__\App\Entity\User {#2132 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1564 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#2461 …}
    +slug: "How-to-begin-setting-up-a-media-center"
    +title: "How to begin setting up a media center?"
    +url: null
    +body: """
      I have 16TB NAS dedicated to storing TV shows. It is just a cabinet with ryzen 2600 and no graphics card. I have installed openmediavault in it to access it via smb to other devices. I am an absolute noob in setting up a server. Please tell me how I should go on about turning it into a media consumption machine.\n
      \n
      P. S: I usually use VLC on android and MPV on linux to consume the media.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 40
    +favouriteCount: 118
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1699372560 {#1874
      date: 2023-11-07 16:56:00.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2131 …}
    +votes: Doctrine\ORM\PersistentCollection {#2133 …}
    +reports: Doctrine\ORM\PersistentCollection {#2140 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2094 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2093 …}
    +badges: Doctrine\ORM\PersistentCollection {#2086 …}
    +children: [
      App\Entity\EntryComment {#1674}
    ]
    -id: 9762
    -titleTs: "'begin':3 'center':8 'media':7 'set':4"
    -bodyTs: "'16tb':3 '2600':17 'absolut':39 'access':29 'android':69 'cabinet':14 'card':21 'consum':75 'consumpt':60 'dedic':5 'devic':35 'go':52 'graphic':20 'instal':24 'linux':73 'machin':61 'media':59,77 'mpv':71 'nas':4 'noob':40 'openmediavault':25 'p':62 'pleas':46 'ryzen':16 'server':45 'set':42 'show':9 'smb':32 'store':7 'tell':47 'turn':55 'tv':8 'use':66 'usual':65 'via':31 'vlc':67"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1699190737
    +visibility: "visible             "
    +apId: "https://lemm.ee/post/13813898"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699104337 {#1735
      date: 2023-11-04 14:25:37.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1564 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#1583 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#1578 …}
  +body: "Shhh, best not to mention Plex on Lemmy. The jellyfin mafia will come down and tell you repeatedly how amazing Jellyfin is and why we should give up our lifetime plex pass’ to use an inferior product cause its free and open source."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1699330765 {#1609
    date: 2023-11-07 05:19:25.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@agame@lemm.ee"
    "@BrownianMotion@lemmy.dbzer0.com"
    "@Scary_le_Poo@beehaw.org"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1571 …}
  +nested: Doctrine\ORM\PersistentCollection {#1593 …}
  +votes: Doctrine\ORM\PersistentCollection {#1592 …}
  +reports: Doctrine\ORM\PersistentCollection {#1552 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1562 …}
  -id: 97587
  -bodyTs: "'amaz':20 'best':2 'caus':38 'come':13 'free':40 'give':27 'inferior':36 'jellyfin':10,21 'lemmi':8 'lifetim':30 'mafia':11 'mention':5 'open':42 'pass':32 'plex':6,31 'product':37 'repeat':18 'shhh':1 'sourc':43 'tell':16 'use':34"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/4868230"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699330765 {#1743
    date: 2023-11-07 05:19:25.0 +01:00
  }
  +"title": 97587
}
"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 {#1674
  +user: App\Entity\User {#260 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1568
    +user: Proxies\__CG__\App\Entity\User {#2132 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1564 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#2461 …}
    +slug: "How-to-begin-setting-up-a-media-center"
    +title: "How to begin setting up a media center?"
    +url: null
    +body: """
      I have 16TB NAS dedicated to storing TV shows. It is just a cabinet with ryzen 2600 and no graphics card. I have installed openmediavault in it to access it via smb to other devices. I am an absolute noob in setting up a server. Please tell me how I should go on about turning it into a media consumption machine.\n
      \n
      P. S: I usually use VLC on android and MPV on linux to consume the media.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 40
    +favouriteCount: 118
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1699372560 {#1874
      date: 2023-11-07 16:56:00.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2131 …}
    +votes: Doctrine\ORM\PersistentCollection {#2133 …}
    +reports: Doctrine\ORM\PersistentCollection {#2140 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2094 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2093 …}
    +badges: Doctrine\ORM\PersistentCollection {#2086 …}
    +children: [
      App\Entity\EntryComment {#1674}
    ]
    -id: 9762
    -titleTs: "'begin':3 'center':8 'media':7 'set':4"
    -bodyTs: "'16tb':3 '2600':17 'absolut':39 'access':29 'android':69 'cabinet':14 'card':21 'consum':75 'consumpt':60 'dedic':5 'devic':35 'go':52 'graphic':20 'instal':24 'linux':73 'machin':61 'media':59,77 'mpv':71 'nas':4 'noob':40 'openmediavault':25 'p':62 'pleas':46 'ryzen':16 'server':45 'set':42 'show':9 'smb':32 'store':7 'tell':47 'turn':55 'tv':8 'use':66 'usual':65 'via':31 'vlc':67"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1699190737
    +visibility: "visible             "
    +apId: "https://lemm.ee/post/13813898"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699104337 {#1735
      date: 2023-11-04 14:25:37.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1564 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#1583 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#1578 …}
  +body: "Shhh, best not to mention Plex on Lemmy. The jellyfin mafia will come down and tell you repeatedly how amazing Jellyfin is and why we should give up our lifetime plex pass’ to use an inferior product cause its free and open source."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1699330765 {#1609
    date: 2023-11-07 05:19:25.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@agame@lemm.ee"
    "@BrownianMotion@lemmy.dbzer0.com"
    "@Scary_le_Poo@beehaw.org"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1571 …}
  +nested: Doctrine\ORM\PersistentCollection {#1593 …}
  +votes: Doctrine\ORM\PersistentCollection {#1592 …}
  +reports: Doctrine\ORM\PersistentCollection {#1552 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1562 …}
  -id: 97587
  -bodyTs: "'amaz':20 'best':2 'caus':38 'come':13 'free':40 'give':27 'inferior':36 'jellyfin':10,21 'lemmi':8 'lifetim':30 'mafia':11 'mention':5 'open':42 'pass':32 'plex':6,31 'product':37 'repeat':18 'shhh':1 'sourc':43 'tell':16 'use':34"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/4868230"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699330765 {#1743
    date: 2023-11-07 05:19:25.0 +01:00
  }
  +"title": 97587
}
"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
Proxies\__CG__\App\Entity\Entry {#1701
  +user: App\Entity\User {#260 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1564 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#2461 …}
  +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 {#1630
    date: 2023-11-08 13:54:19.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2458 …}
  +votes: Doctrine\ORM\PersistentCollection {#2422 …}
  +reports: Doctrine\ORM\PersistentCollection {#2448 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2378 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2386 …}
  +badges: Doctrine\ORM\PersistentCollection {#1407 …}
  +children: [
    App\Entity\EntryComment {#1687
      +user: App\Entity\User {#260 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1701 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1564 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#1596 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#1596 …}
      +body: "Yes, it works quite well. I found a playlist of all the episodes I was looking for, every file I looked at had sponsor block segments (should’ve kept looking as the newer files didn’t have them) and set it to download the entire playlist. It checks the api and removes any segments that it finds, extracts the audio and reencodes to mp3. Sounds great."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1699349985 {#1525
        date: 2023-11-07 10:39:45.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@PolarisFx@lemmy.dbzer0.com"
        "@glans@hexbear.net"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1619 …}
      +nested: Doctrine\ORM\PersistentCollection {#1689 …}
      +votes: Doctrine\ORM\PersistentCollection {#1691 …}
      +reports: Doctrine\ORM\PersistentCollection {#1795 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1711 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1611 …}
      -id: 98019
      -bodyTs: "'api':50 'audio':60 'block':25 'check':48 'didn':35 'download':43 'entir':45 'episod':13 'everi':18 'extract':58 'file':19,34 'find':57 'found':7 'great':66 'kept':29 'look':16,21,30 'mp3':64 'newer':33 'playlist':9,46 'quit':4 'reencod':62 'remov':52 'segment':26,54 'set':40 'sound':65 'sponsor':24 've':28 'well':5 'work':3 'yes':1"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.dbzer0.com/comment/4873201"
      +editedAt: null
      +createdAt: DateTimeImmutable @1699349985 {#1683
        date: 2023-11-07 10:39:45.0 +01:00
      }
      +"title": 98019
    }
  ]
  -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 {#1721
    date: 2023-11-07 02:12:20.0 +01:00
  }
  +createdAt: DateTimeImmutable @1699214877 {#1731
    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
11 DENIED edit
Proxies\__CG__\App\Entity\Entry {#1701
  +user: App\Entity\User {#260 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1564 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#2461 …}
  +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 {#1630
    date: 2023-11-08 13:54:19.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2458 …}
  +votes: Doctrine\ORM\PersistentCollection {#2422 …}
  +reports: Doctrine\ORM\PersistentCollection {#2448 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2378 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2386 …}
  +badges: Doctrine\ORM\PersistentCollection {#1407 …}
  +children: [
    App\Entity\EntryComment {#1687
      +user: App\Entity\User {#260 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1701 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1564 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#1596 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#1596 …}
      +body: "Yes, it works quite well. I found a playlist of all the episodes I was looking for, every file I looked at had sponsor block segments (should’ve kept looking as the newer files didn’t have them) and set it to download the entire playlist. It checks the api and removes any segments that it finds, extracts the audio and reencodes to mp3. Sounds great."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1699349985 {#1525
        date: 2023-11-07 10:39:45.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@PolarisFx@lemmy.dbzer0.com"
        "@glans@hexbear.net"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1619 …}
      +nested: Doctrine\ORM\PersistentCollection {#1689 …}
      +votes: Doctrine\ORM\PersistentCollection {#1691 …}
      +reports: Doctrine\ORM\PersistentCollection {#1795 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1711 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1611 …}
      -id: 98019
      -bodyTs: "'api':50 'audio':60 'block':25 'check':48 'didn':35 'download':43 'entir':45 'episod':13 'everi':18 'extract':58 'file':19,34 'find':57 'found':7 'great':66 'kept':29 'look':16,21,30 'mp3':64 'newer':33 'playlist':9,46 'quit':4 'reencod':62 'remov':52 'segment':26,54 'set':40 'sound':65 'sponsor':24 've':28 'well':5 'work':3 'yes':1"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.dbzer0.com/comment/4873201"
      +editedAt: null
      +createdAt: DateTimeImmutable @1699349985 {#1683
        date: 2023-11-07 10:39:45.0 +01:00
      }
      +"title": 98019
    }
  ]
  -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 {#1721
    date: 2023-11-07 02:12:20.0 +01:00
  }
  +createdAt: DateTimeImmutable @1699214877 {#1731
    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
12 DENIED moderate
Proxies\__CG__\App\Entity\Entry {#1701
  +user: App\Entity\User {#260 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1564 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#2461 …}
  +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 {#1630
    date: 2023-11-08 13:54:19.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2458 …}
  +votes: Doctrine\ORM\PersistentCollection {#2422 …}
  +reports: Doctrine\ORM\PersistentCollection {#2448 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2378 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2386 …}
  +badges: Doctrine\ORM\PersistentCollection {#1407 …}
  +children: [
    App\Entity\EntryComment {#1687
      +user: App\Entity\User {#260 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1701 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1564 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#1596 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#1596 …}
      +body: "Yes, it works quite well. I found a playlist of all the episodes I was looking for, every file I looked at had sponsor block segments (should’ve kept looking as the newer files didn’t have them) and set it to download the entire playlist. It checks the api and removes any segments that it finds, extracts the audio and reencodes to mp3. Sounds great."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1699349985 {#1525
        date: 2023-11-07 10:39:45.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@PolarisFx@lemmy.dbzer0.com"
        "@glans@hexbear.net"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1619 …}
      +nested: Doctrine\ORM\PersistentCollection {#1689 …}
      +votes: Doctrine\ORM\PersistentCollection {#1691 …}
      +reports: Doctrine\ORM\PersistentCollection {#1795 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1711 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1611 …}
      -id: 98019
      -bodyTs: "'api':50 'audio':60 'block':25 'check':48 'didn':35 'download':43 'entir':45 'episod':13 'everi':18 'extract':58 'file':19,34 'find':57 'found':7 'great':66 'kept':29 'look':16,21,30 'mp3':64 'newer':33 'playlist':9,46 'quit':4 'reencod':62 'remov':52 'segment':26,54 'set':40 'sound':65 'sponsor':24 've':28 'well':5 'work':3 'yes':1"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.dbzer0.com/comment/4873201"
      +editedAt: null
      +createdAt: DateTimeImmutable @1699349985 {#1683
        date: 2023-11-07 10:39:45.0 +01:00
      }
      +"title": 98019
    }
  ]
  -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 {#1721
    date: 2023-11-07 02:12:20.0 +01:00
  }
  +createdAt: DateTimeImmutable @1699214877 {#1731
    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
13 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
14 DENIED moderate
App\Entity\EntryComment {#1687
  +user: App\Entity\User {#260 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1701
    +user: App\Entity\User {#260 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1564 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#2461 …}
    +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 {#1630
      date: 2023-11-08 13:54:19.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2458 …}
    +votes: Doctrine\ORM\PersistentCollection {#2422 …}
    +reports: Doctrine\ORM\PersistentCollection {#2448 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2378 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2386 …}
    +badges: Doctrine\ORM\PersistentCollection {#1407 …}
    +children: [
      App\Entity\EntryComment {#1687}
    ]
    -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 {#1721
      date: 2023-11-07 02:12:20.0 +01:00
    }
    +createdAt: DateTimeImmutable @1699214877 {#1731
      date: 2023-11-05 21:07:57.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1564 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#1596 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#1596 …}
  +body: "Yes, it works quite well. I found a playlist of all the episodes I was looking for, every file I looked at had sponsor block segments (should’ve kept looking as the newer files didn’t have them) and set it to download the entire playlist. It checks the api and removes any segments that it finds, extracts the audio and reencodes to mp3. Sounds great."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1699349985 {#1525
    date: 2023-11-07 10:39:45.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@PolarisFx@lemmy.dbzer0.com"
    "@glans@hexbear.net"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1619 …}
  +nested: Doctrine\ORM\PersistentCollection {#1689 …}
  +votes: Doctrine\ORM\PersistentCollection {#1691 …}
  +reports: Doctrine\ORM\PersistentCollection {#1795 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1711 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1611 …}
  -id: 98019
  -bodyTs: "'api':50 'audio':60 'block':25 'check':48 'didn':35 'download':43 'entir':45 'episod':13 'everi':18 'extract':58 'file':19,34 'find':57 'found':7 'great':66 'kept':29 'look':16,21,30 'mp3':64 'newer':33 'playlist':9,46 'quit':4 'reencod':62 'remov':52 'segment':26,54 'set':40 'sound':65 'sponsor':24 've':28 'well':5 'work':3 'yes':1"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/4873201"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699349985 {#1683
    date: 2023-11-07 10:39:45.0 +01:00
  }
  +"title": 98019
}
"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
15 DENIED edit
App\Entity\EntryComment {#1687
  +user: App\Entity\User {#260 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1701
    +user: App\Entity\User {#260 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1564 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#2461 …}
    +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 {#1630
      date: 2023-11-08 13:54:19.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2458 …}
    +votes: Doctrine\ORM\PersistentCollection {#2422 …}
    +reports: Doctrine\ORM\PersistentCollection {#2448 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2378 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2386 …}
    +badges: Doctrine\ORM\PersistentCollection {#1407 …}
    +children: [
      App\Entity\EntryComment {#1687}
    ]
    -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 {#1721
      date: 2023-11-07 02:12:20.0 +01:00
    }
    +createdAt: DateTimeImmutable @1699214877 {#1731
      date: 2023-11-05 21:07:57.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1564 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#1596 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#1596 …}
  +body: "Yes, it works quite well. I found a playlist of all the episodes I was looking for, every file I looked at had sponsor block segments (should’ve kept looking as the newer files didn’t have them) and set it to download the entire playlist. It checks the api and removes any segments that it finds, extracts the audio and reencodes to mp3. Sounds great."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1699349985 {#1525
    date: 2023-11-07 10:39:45.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@PolarisFx@lemmy.dbzer0.com"
    "@glans@hexbear.net"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1619 …}
  +nested: Doctrine\ORM\PersistentCollection {#1689 …}
  +votes: Doctrine\ORM\PersistentCollection {#1691 …}
  +reports: Doctrine\ORM\PersistentCollection {#1795 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1711 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1611 …}
  -id: 98019
  -bodyTs: "'api':50 'audio':60 'block':25 'check':48 'didn':35 'download':43 'entir':45 'episod':13 'everi':18 'extract':58 'file':19,34 'find':57 'found':7 'great':66 'kept':29 'look':16,21,30 'mp3':64 'newer':33 'playlist':9,46 'quit':4 'reencod':62 'remov':52 'segment':26,54 'set':40 'sound':65 'sponsor':24 've':28 'well':5 'work':3 'yes':1"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/4873201"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699349985 {#1683
    date: 2023-11-07 10:39:45.0 +01:00
  }
  +"title": 98019
}
"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
16 DENIED moderate
App\Entity\EntryComment {#1687
  +user: App\Entity\User {#260 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1701
    +user: App\Entity\User {#260 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1564 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#2461 …}
    +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 {#1630
      date: 2023-11-08 13:54:19.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2458 …}
    +votes: Doctrine\ORM\PersistentCollection {#2422 …}
    +reports: Doctrine\ORM\PersistentCollection {#2448 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2378 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2386 …}
    +badges: Doctrine\ORM\PersistentCollection {#1407 …}
    +children: [
      App\Entity\EntryComment {#1687}
    ]
    -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 {#1721
      date: 2023-11-07 02:12:20.0 +01:00
    }
    +createdAt: DateTimeImmutable @1699214877 {#1731
      date: 2023-11-05 21:07:57.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1564 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#1596 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#1596 …}
  +body: "Yes, it works quite well. I found a playlist of all the episodes I was looking for, every file I looked at had sponsor block segments (should’ve kept looking as the newer files didn’t have them) and set it to download the entire playlist. It checks the api and removes any segments that it finds, extracts the audio and reencodes to mp3. Sounds great."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1699349985 {#1525
    date: 2023-11-07 10:39:45.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@PolarisFx@lemmy.dbzer0.com"
    "@glans@hexbear.net"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1619 …}
  +nested: Doctrine\ORM\PersistentCollection {#1689 …}
  +votes: Doctrine\ORM\PersistentCollection {#1691 …}
  +reports: Doctrine\ORM\PersistentCollection {#1795 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1711 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1611 …}
  -id: 98019
  -bodyTs: "'api':50 'audio':60 'block':25 'check':48 'didn':35 'download':43 'entir':45 'episod':13 'everi':18 'extract':58 'file':19,34 'find':57 'found':7 'great':66 'kept':29 'look':16,21,30 'mp3':64 'newer':33 'playlist':9,46 'quit':4 'reencod':62 'remov':52 'segment':26,54 'set':40 'sound':65 'sponsor':24 've':28 'well':5 'work':3 'yes':1"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/4873201"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699349985 {#1683
    date: 2023-11-07 10:39:45.0 +01:00
  }
  +"title": 98019
}
"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
17 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
18 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