GET https://kbin.spritesserver.nl/m/piracy@lemmy.dbzer0.com/t/11293/YouTube-Downloading/comment/103322/favourites

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.22 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.04 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
App\Entity\EntryComment {#1374
  +user: Proxies\__CG__\App\Entity\User {#1369 …}
  +entry: App\Entity\Entry {#1790 …}
  +magazine: App\Entity\Magazine {#314
    +icon: Proxies\__CG__\App\Entity\Image {#295 …}
    +name: "piracy@lemmy.dbzer0.com"
    +title: "piracy"
    +description: """
      ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
      \n
      ---\n
      \n
      ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
      \n
      **1**. Posts must be related to the discussion of digital piracy\n
      \n
      **2**. Don’t request invites, trade, sell, or self-promote\n
      \n
      **3**. Don’t request or link to specific pirated titles, including DMs\n
      \n
      **4**. Don’t submit low-quality posts, be entitled, or harass others\n
      \n
      **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
      \n
      ---\n
      \n
      [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
      ---------------------------------------------------------------------------\n
      \n
      ### Loot, Pillage, & Plunder\n
      \n
      - [📜 Megathread](https://rentry.co/megathread)\n
      - [🪶 FAQ](https://rentry.co/piracy-faq)\n
      - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
      - [🪶 Rules](https://rentry.co/piracy-rules)\n
      \n
      ---\n
      \n
      💰 Please help cover server costs.\n
      \n
      [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
      \n
      ---
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 866
    +entryCommentCount: 20194
    +postCount: 7
    +postCommentCount: 149
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729581369 {#324
      date: 2024-10-22 09:16:09.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#286 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#282 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#271 …}
    +entries: Doctrine\ORM\PersistentCollection {#229 …}
    +posts: Doctrine\ORM\PersistentCollection {#187 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#249 …}
    +bans: Doctrine\ORM\PersistentCollection {#166 …}
    +reports: Doctrine\ORM\PersistentCollection {#152 …}
    +badges: Doctrine\ORM\PersistentCollection {#130 …}
    +logs: Doctrine\ORM\PersistentCollection {#120 …}
    +awards: Doctrine\ORM\PersistentCollection {#109 …}
    +categories: Doctrine\ORM\PersistentCollection {#96 …}
    -id: 51
    +apId: "piracy@lemmy.dbzer0.com"
    +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
    +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
    +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
    +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
    +apDomain: "lemmy.dbzer0.com"
    +apPreferredUsername: "piracy"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1708748229 {#318
      date: 2024-02-24 05:17:09.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1697197339 {#317
      date: 2023-10-13 13:42:19.0 +02:00
    }
  }
  +image: null
  +parent: null
  +root: null
  +body: """
    [`yt-dlp`](https://github.com/yt-dlp/yt-dlp) is gonna be the go-to tool for any YouTube downloading, but I don’t have much experience with frontends for it. I use [Tartube](https://tartube.sourceforge.io/) for archiving channels, but it can be a bit byzantine and might be overkill for what you need–plus, there’s a decent chance you will need to manually enter some `yt-dlp` options anyway (although only during the setup process). That being said, it’s the only one I have experience with, so it’s the one I’ll recommend!\n
    \n
    Couple of clarifying questions:\n
    \n
    1. When you say “download a YouTube channel in a particular language”, do you just mean a general monolingual channel (e.g. [Masahiro Sakurai’s Japanese channel](https://www.youtube.com/watch?v=jH2m6rBdkso)), or do you mean a channel that has videos with multiple audio tracks (such as [this video](https://www.youtube.com/watch?v=8bDRVP9xSfc) with three different language tracks)? Both are doable, but I think you’ll need to add an actual command line flag for the latter whereas the former should be achievable pretty simply through Tartube’s GUI.\n
    2. Are the subtitles you’re talking about added by the uploader, or are they auto subs (in this case, auto subs that are auto translated)? Both are easily achievable through the GUI, just slightly different instructions for either one. Also, depending on the scope of things, the simplest approach might be to simply download all subtitles (may not want to do that for like a MrBeast video with a dozen subtitle tracks), which also sidesteps the possible issue where the language of tracks isn’t properly indicated by the uploader.\n
    3. When you say “put all streams for a single video together”, do you mean that you don’t want the video and audio tracks merged into a single file, or just that when you try to download the video you get a pre-merged file that doesn’t contain the tracks that you want? Was a little confused by this part.\n
    \n
    I know you’re looking for a GUI solution, but while I wait for clarification I might as well drop a basic `yt-dlp` command to give you an idea of the parameters we’re dealing with (here I’m assuming separate audio tracks and uploader-added subs):\n
    \n
    `yt-dlp --format bv+ba[language=ja] --sub-langs en --write-subs --convert-subs srt --download-archive channel_archive.txt video_or_channel_url_goes_here`\n
    \n
    `–format bv+ba[language=ja]`: gets the “best” video track and Japanese audio track (for a 4K video `yt-dlp` prefers the VP9 encode, but if it’s a video with a lot of views there may also be an AV1 encode–if you want that AV1 encode you have to explicitly opt for it by using `bv[vcodec^=av01]` instead of plain `bv`)  \n
    `–sub-langs en`: downloads English subtitle(s)  \n
    `–write-subs`: write subs to an external file (as opposed to embedding them)  \n
    `–convert-subs srt`: converts subs to srt format, if possible  \n
    ` --download-archive channel_archive.txt`: writes the IDs of successfully downloaded videos to the specified file `channel_archive.txt`. If you re-run this command, these videos will be automatically and very speedily skipped over without needing to fetch any additional information. Even without this option, `yt-dlp` is smart enough to skip over videos that have already been downloaded (assuming the output filenames will be the same), but it will go through the entire process of fetching all the video information for each video up to the point it is about to start downloading, which is a huge waste of time if you’re just updating a channel archive and need only the newest three videos.\n
    \n
    Everything in that command (except for the audio track bit, to my knowledge) can be handled in the Tartube GUI in relatively simple fashion, provided you know which menus to dig into.\n
    \n
    edit: forgot the URL in my command, kinda important!
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 13
  +score: 0
  +lastActive: DateTime @1699864598 {#1768
    date: 2023-11-13 09:36:38.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Rodrigo_de_Mendoza@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1378 …}
  +nested: Doctrine\ORM\PersistentCollection {#1371 …}
  +votes: Doctrine\ORM\PersistentCollection {#2427 …}
  +reports: Doctrine\ORM\PersistentCollection {#1902 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2485 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2483 …}
  -id: 103322
  -bodyTs: "'/)':35 '/watch?v=8bdrvp9xsfc)':150 '/watch?v=jh2m6rbdkso)),':130 '/yt-dlp/yt-dlp)':6 '1':102 '2':187 '3':278 '4k':436 'achiev':180,216 'actual':168 'ad':195,389 'add':166 'addit':556 'alreadi':574 'also':227,261,458 'although':72 'anyway':71 'approach':236 'archiv':37,412,520,626 'assum':382,577 'audio':142,301,384,432,641 'auto':202,207,211 'automat':545 'av01':480 'av1':461,467 'ba':396,422 'basic':362 'best':427 'bit':44,643 'bv':395,421,478,484 'byzantin':45 'case':206 'chanc':59 'channel':38,109,121,127,136,416,625 'channel_archive.txt':413,521,533 'clarif':355 'clarifi':100 'command':169,366,540,637,672 'confus':337 'contain':328 'convert':407,508,511 'convert-sub':406,507 'coupl':98 'deal':377 'decent':58 'depend':228 'differ':153,222 'dig':664 'dlp':3,69,365,393,440,564 'doabl':158 'doesn':326 'download':18,106,241,315,411,489,519,527,576,611 'download-arch':410,518 'dozen':257 'drop':360 'e.g':122 'easili':215 'edit':666 'either':225 'embed':505 'en':402,488 'encod':444,462,468 'english':490 'enough':567 'enter':65 'entir':591 'even':558 'everyth':634 'except':638 'experi':25,88 'explicit':472 'extern':500 'fashion':657 'fetch':554,594 'file':307,324,501,532 'filenam':580 'flag':171 'forgot':667 'format':394,420,515 'former':177 'frontend':27 'general':119 'get':319,425 'github.com':5 'github.com/yt-dlp/yt-dlp)':4 'give':368 'go':12,588 'go-to':11 'goe':418 'gonna':8 'gui':186,219,348,653 'handl':649 'huge':615 'id':524 'idea':371 'import':674 'indic':274 'inform':557,598 'instead':481 'instruct':223 'isn':271 'issu':265 'ja':398,424 'japanes':126,431 'kinda':673 'know':342,660 'knowledg':646 'lang':401,487 'languag':113,154,268,397,423 'latter':174 'like':251 'line':170 'littl':336 'll':96,163 'look':345 'lot':453 'm':381 'manual':64 'masahiro':123 'may':244,457 'mean':117,134,292 'menus':662 'merg':303,323 'might':47,237,357 'monolingu':120 'mrbeast':253 'much':24 'multipl':141 'need':53,62,164,552,628 'newest':631 'one':85,94,226 'oppos':503 'opt':473 'option':70,561 'output':579 'overkil':49 'paramet':374 'part':340 'particular':112 'plain':483 'plus':54 'point':605 'possibl':264,517 'pre':322 'pre-merg':321 'prefer':441 'pretti':181 'process':77,592 'proper':273 'provid':658 'put':282 'question':101 're':192,344,376,537,621 're-run':536 'recommend':97 'relat':655 'run':538 'said':80 'sakurai':124 'say':105,281 'scope':231 'separ':383 'setup':76 'sidestep':262 'simpl':656 'simplest':235 'simpli':182,240 'singl':287,306 'skip':549,569 'slight':221 'smart':566 'solut':349 'specifi':531 'speedili':548 'srt':409,510,514 'start':610 'stream':284 'sub':203,208,390,400,405,408,486,495,497,509,512 'sub-lang':399,485 'subtitl':190,243,258,491 'success':526 'talk':193 'tartub':32,184,652 'tartube.sourceforge.io':34 'tartube.sourceforge.io/)':33 'thing':233 'think':161 'three':152,632 'time':618 'togeth':289 'tool':14 'track':143,155,259,270,302,330,385,429,433,642 'translat':212 'tri':313 'updat':623 'upload':198,277,388 'uploader-ad':387 'url':417,669 'use':31,477 'vcodec':479 'video':139,147,254,288,299,317,414,428,437,450,528,542,571,597,601,633 'view':455 'vp9':443 'wait':353 'want':246,297,333,465 'wast':616 'well':359 'wherea':175 'without':551,559 'write':404,494,496,522 'write-sub':403,493 'www.youtube.com':129,149 'www.youtube.com/watch?v=8bdrvp9xsfc)':148 'www.youtube.com/watch?v=jh2m6rbdkso)),':128 'youtub':17,108 'yt':2,68,364,392,439,563 'yt-dlp':1,67,363,391,438,562"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://hexbear.net/comment/4224278"
  +editedAt: DateTimeImmutable @1699555599 {#1938
    date: 2023-11-09 19:46:39.0 +01:00
  }
  +createdAt: DateTimeImmutable @1699499404 {#1971
    date: 2023-11-09 04:10:04.0 +01:00
  }
}
"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
3 DENIED edit
App\Entity\EntryComment {#1374
  +user: Proxies\__CG__\App\Entity\User {#1369 …}
  +entry: App\Entity\Entry {#1790 …}
  +magazine: App\Entity\Magazine {#314
    +icon: Proxies\__CG__\App\Entity\Image {#295 …}
    +name: "piracy@lemmy.dbzer0.com"
    +title: "piracy"
    +description: """
      ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
      \n
      ---\n
      \n
      ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
      \n
      **1**. Posts must be related to the discussion of digital piracy\n
      \n
      **2**. Don’t request invites, trade, sell, or self-promote\n
      \n
      **3**. Don’t request or link to specific pirated titles, including DMs\n
      \n
      **4**. Don’t submit low-quality posts, be entitled, or harass others\n
      \n
      **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
      \n
      ---\n
      \n
      [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
      ---------------------------------------------------------------------------\n
      \n
      ### Loot, Pillage, & Plunder\n
      \n
      - [📜 Megathread](https://rentry.co/megathread)\n
      - [🪶 FAQ](https://rentry.co/piracy-faq)\n
      - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
      - [🪶 Rules](https://rentry.co/piracy-rules)\n
      \n
      ---\n
      \n
      💰 Please help cover server costs.\n
      \n
      [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
      \n
      ---
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 866
    +entryCommentCount: 20194
    +postCount: 7
    +postCommentCount: 149
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729581369 {#324
      date: 2024-10-22 09:16:09.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#286 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#282 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#271 …}
    +entries: Doctrine\ORM\PersistentCollection {#229 …}
    +posts: Doctrine\ORM\PersistentCollection {#187 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#249 …}
    +bans: Doctrine\ORM\PersistentCollection {#166 …}
    +reports: Doctrine\ORM\PersistentCollection {#152 …}
    +badges: Doctrine\ORM\PersistentCollection {#130 …}
    +logs: Doctrine\ORM\PersistentCollection {#120 …}
    +awards: Doctrine\ORM\PersistentCollection {#109 …}
    +categories: Doctrine\ORM\PersistentCollection {#96 …}
    -id: 51
    +apId: "piracy@lemmy.dbzer0.com"
    +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
    +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
    +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
    +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
    +apDomain: "lemmy.dbzer0.com"
    +apPreferredUsername: "piracy"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1708748229 {#318
      date: 2024-02-24 05:17:09.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1697197339 {#317
      date: 2023-10-13 13:42:19.0 +02:00
    }
  }
  +image: null
  +parent: null
  +root: null
  +body: """
    [`yt-dlp`](https://github.com/yt-dlp/yt-dlp) is gonna be the go-to tool for any YouTube downloading, but I don’t have much experience with frontends for it. I use [Tartube](https://tartube.sourceforge.io/) for archiving channels, but it can be a bit byzantine and might be overkill for what you need–plus, there’s a decent chance you will need to manually enter some `yt-dlp` options anyway (although only during the setup process). That being said, it’s the only one I have experience with, so it’s the one I’ll recommend!\n
    \n
    Couple of clarifying questions:\n
    \n
    1. When you say “download a YouTube channel in a particular language”, do you just mean a general monolingual channel (e.g. [Masahiro Sakurai’s Japanese channel](https://www.youtube.com/watch?v=jH2m6rBdkso)), or do you mean a channel that has videos with multiple audio tracks (such as [this video](https://www.youtube.com/watch?v=8bDRVP9xSfc) with three different language tracks)? Both are doable, but I think you’ll need to add an actual command line flag for the latter whereas the former should be achievable pretty simply through Tartube’s GUI.\n
    2. Are the subtitles you’re talking about added by the uploader, or are they auto subs (in this case, auto subs that are auto translated)? Both are easily achievable through the GUI, just slightly different instructions for either one. Also, depending on the scope of things, the simplest approach might be to simply download all subtitles (may not want to do that for like a MrBeast video with a dozen subtitle tracks), which also sidesteps the possible issue where the language of tracks isn’t properly indicated by the uploader.\n
    3. When you say “put all streams for a single video together”, do you mean that you don’t want the video and audio tracks merged into a single file, or just that when you try to download the video you get a pre-merged file that doesn’t contain the tracks that you want? Was a little confused by this part.\n
    \n
    I know you’re looking for a GUI solution, but while I wait for clarification I might as well drop a basic `yt-dlp` command to give you an idea of the parameters we’re dealing with (here I’m assuming separate audio tracks and uploader-added subs):\n
    \n
    `yt-dlp --format bv+ba[language=ja] --sub-langs en --write-subs --convert-subs srt --download-archive channel_archive.txt video_or_channel_url_goes_here`\n
    \n
    `–format bv+ba[language=ja]`: gets the “best” video track and Japanese audio track (for a 4K video `yt-dlp` prefers the VP9 encode, but if it’s a video with a lot of views there may also be an AV1 encode–if you want that AV1 encode you have to explicitly opt for it by using `bv[vcodec^=av01]` instead of plain `bv`)  \n
    `–sub-langs en`: downloads English subtitle(s)  \n
    `–write-subs`: write subs to an external file (as opposed to embedding them)  \n
    `–convert-subs srt`: converts subs to srt format, if possible  \n
    ` --download-archive channel_archive.txt`: writes the IDs of successfully downloaded videos to the specified file `channel_archive.txt`. If you re-run this command, these videos will be automatically and very speedily skipped over without needing to fetch any additional information. Even without this option, `yt-dlp` is smart enough to skip over videos that have already been downloaded (assuming the output filenames will be the same), but it will go through the entire process of fetching all the video information for each video up to the point it is about to start downloading, which is a huge waste of time if you’re just updating a channel archive and need only the newest three videos.\n
    \n
    Everything in that command (except for the audio track bit, to my knowledge) can be handled in the Tartube GUI in relatively simple fashion, provided you know which menus to dig into.\n
    \n
    edit: forgot the URL in my command, kinda important!
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 13
  +score: 0
  +lastActive: DateTime @1699864598 {#1768
    date: 2023-11-13 09:36:38.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Rodrigo_de_Mendoza@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1378 …}
  +nested: Doctrine\ORM\PersistentCollection {#1371 …}
  +votes: Doctrine\ORM\PersistentCollection {#2427 …}
  +reports: Doctrine\ORM\PersistentCollection {#1902 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2485 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2483 …}
  -id: 103322
  -bodyTs: "'/)':35 '/watch?v=8bdrvp9xsfc)':150 '/watch?v=jh2m6rbdkso)),':130 '/yt-dlp/yt-dlp)':6 '1':102 '2':187 '3':278 '4k':436 'achiev':180,216 'actual':168 'ad':195,389 'add':166 'addit':556 'alreadi':574 'also':227,261,458 'although':72 'anyway':71 'approach':236 'archiv':37,412,520,626 'assum':382,577 'audio':142,301,384,432,641 'auto':202,207,211 'automat':545 'av01':480 'av1':461,467 'ba':396,422 'basic':362 'best':427 'bit':44,643 'bv':395,421,478,484 'byzantin':45 'case':206 'chanc':59 'channel':38,109,121,127,136,416,625 'channel_archive.txt':413,521,533 'clarif':355 'clarifi':100 'command':169,366,540,637,672 'confus':337 'contain':328 'convert':407,508,511 'convert-sub':406,507 'coupl':98 'deal':377 'decent':58 'depend':228 'differ':153,222 'dig':664 'dlp':3,69,365,393,440,564 'doabl':158 'doesn':326 'download':18,106,241,315,411,489,519,527,576,611 'download-arch':410,518 'dozen':257 'drop':360 'e.g':122 'easili':215 'edit':666 'either':225 'embed':505 'en':402,488 'encod':444,462,468 'english':490 'enough':567 'enter':65 'entir':591 'even':558 'everyth':634 'except':638 'experi':25,88 'explicit':472 'extern':500 'fashion':657 'fetch':554,594 'file':307,324,501,532 'filenam':580 'flag':171 'forgot':667 'format':394,420,515 'former':177 'frontend':27 'general':119 'get':319,425 'github.com':5 'github.com/yt-dlp/yt-dlp)':4 'give':368 'go':12,588 'go-to':11 'goe':418 'gonna':8 'gui':186,219,348,653 'handl':649 'huge':615 'id':524 'idea':371 'import':674 'indic':274 'inform':557,598 'instead':481 'instruct':223 'isn':271 'issu':265 'ja':398,424 'japanes':126,431 'kinda':673 'know':342,660 'knowledg':646 'lang':401,487 'languag':113,154,268,397,423 'latter':174 'like':251 'line':170 'littl':336 'll':96,163 'look':345 'lot':453 'm':381 'manual':64 'masahiro':123 'may':244,457 'mean':117,134,292 'menus':662 'merg':303,323 'might':47,237,357 'monolingu':120 'mrbeast':253 'much':24 'multipl':141 'need':53,62,164,552,628 'newest':631 'one':85,94,226 'oppos':503 'opt':473 'option':70,561 'output':579 'overkil':49 'paramet':374 'part':340 'particular':112 'plain':483 'plus':54 'point':605 'possibl':264,517 'pre':322 'pre-merg':321 'prefer':441 'pretti':181 'process':77,592 'proper':273 'provid':658 'put':282 'question':101 're':192,344,376,537,621 're-run':536 'recommend':97 'relat':655 'run':538 'said':80 'sakurai':124 'say':105,281 'scope':231 'separ':383 'setup':76 'sidestep':262 'simpl':656 'simplest':235 'simpli':182,240 'singl':287,306 'skip':549,569 'slight':221 'smart':566 'solut':349 'specifi':531 'speedili':548 'srt':409,510,514 'start':610 'stream':284 'sub':203,208,390,400,405,408,486,495,497,509,512 'sub-lang':399,485 'subtitl':190,243,258,491 'success':526 'talk':193 'tartub':32,184,652 'tartube.sourceforge.io':34 'tartube.sourceforge.io/)':33 'thing':233 'think':161 'three':152,632 'time':618 'togeth':289 'tool':14 'track':143,155,259,270,302,330,385,429,433,642 'translat':212 'tri':313 'updat':623 'upload':198,277,388 'uploader-ad':387 'url':417,669 'use':31,477 'vcodec':479 'video':139,147,254,288,299,317,414,428,437,450,528,542,571,597,601,633 'view':455 'vp9':443 'wait':353 'want':246,297,333,465 'wast':616 'well':359 'wherea':175 'without':551,559 'write':404,494,496,522 'write-sub':403,493 'www.youtube.com':129,149 'www.youtube.com/watch?v=8bdrvp9xsfc)':148 'www.youtube.com/watch?v=jh2m6rbdkso)),':128 'youtub':17,108 'yt':2,68,364,392,439,563 'yt-dlp':1,67,363,391,438,562"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://hexbear.net/comment/4224278"
  +editedAt: DateTimeImmutable @1699555599 {#1938
    date: 2023-11-09 19:46:39.0 +01:00
  }
  +createdAt: DateTimeImmutable @1699499404 {#1971
    date: 2023-11-09 04:10:04.0 +01:00
  }
}
"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
4 DENIED moderate
App\Entity\EntryComment {#1374
  +user: Proxies\__CG__\App\Entity\User {#1369 …}
  +entry: App\Entity\Entry {#1790 …}
  +magazine: App\Entity\Magazine {#314
    +icon: Proxies\__CG__\App\Entity\Image {#295 …}
    +name: "piracy@lemmy.dbzer0.com"
    +title: "piracy"
    +description: """
      ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
      \n
      ---\n
      \n
      ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
      \n
      **1**. Posts must be related to the discussion of digital piracy\n
      \n
      **2**. Don’t request invites, trade, sell, or self-promote\n
      \n
      **3**. Don’t request or link to specific pirated titles, including DMs\n
      \n
      **4**. Don’t submit low-quality posts, be entitled, or harass others\n
      \n
      **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
      \n
      ---\n
      \n
      [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
      ---------------------------------------------------------------------------\n
      \n
      ### Loot, Pillage, & Plunder\n
      \n
      - [📜 Megathread](https://rentry.co/megathread)\n
      - [🪶 FAQ](https://rentry.co/piracy-faq)\n
      - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
      - [🪶 Rules](https://rentry.co/piracy-rules)\n
      \n
      ---\n
      \n
      💰 Please help cover server costs.\n
      \n
      [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
      \n
      ---
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 866
    +entryCommentCount: 20194
    +postCount: 7
    +postCommentCount: 149
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729581369 {#324
      date: 2024-10-22 09:16:09.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#286 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#282 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#271 …}
    +entries: Doctrine\ORM\PersistentCollection {#229 …}
    +posts: Doctrine\ORM\PersistentCollection {#187 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#249 …}
    +bans: Doctrine\ORM\PersistentCollection {#166 …}
    +reports: Doctrine\ORM\PersistentCollection {#152 …}
    +badges: Doctrine\ORM\PersistentCollection {#130 …}
    +logs: Doctrine\ORM\PersistentCollection {#120 …}
    +awards: Doctrine\ORM\PersistentCollection {#109 …}
    +categories: Doctrine\ORM\PersistentCollection {#96 …}
    -id: 51
    +apId: "piracy@lemmy.dbzer0.com"
    +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
    +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
    +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
    +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
    +apDomain: "lemmy.dbzer0.com"
    +apPreferredUsername: "piracy"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1708748229 {#318
      date: 2024-02-24 05:17:09.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1697197339 {#317
      date: 2023-10-13 13:42:19.0 +02:00
    }
  }
  +image: null
  +parent: null
  +root: null
  +body: """
    [`yt-dlp`](https://github.com/yt-dlp/yt-dlp) is gonna be the go-to tool for any YouTube downloading, but I don’t have much experience with frontends for it. I use [Tartube](https://tartube.sourceforge.io/) for archiving channels, but it can be a bit byzantine and might be overkill for what you need–plus, there’s a decent chance you will need to manually enter some `yt-dlp` options anyway (although only during the setup process). That being said, it’s the only one I have experience with, so it’s the one I’ll recommend!\n
    \n
    Couple of clarifying questions:\n
    \n
    1. When you say “download a YouTube channel in a particular language”, do you just mean a general monolingual channel (e.g. [Masahiro Sakurai’s Japanese channel](https://www.youtube.com/watch?v=jH2m6rBdkso)), or do you mean a channel that has videos with multiple audio tracks (such as [this video](https://www.youtube.com/watch?v=8bDRVP9xSfc) with three different language tracks)? Both are doable, but I think you’ll need to add an actual command line flag for the latter whereas the former should be achievable pretty simply through Tartube’s GUI.\n
    2. Are the subtitles you’re talking about added by the uploader, or are they auto subs (in this case, auto subs that are auto translated)? Both are easily achievable through the GUI, just slightly different instructions for either one. Also, depending on the scope of things, the simplest approach might be to simply download all subtitles (may not want to do that for like a MrBeast video with a dozen subtitle tracks), which also sidesteps the possible issue where the language of tracks isn’t properly indicated by the uploader.\n
    3. When you say “put all streams for a single video together”, do you mean that you don’t want the video and audio tracks merged into a single file, or just that when you try to download the video you get a pre-merged file that doesn’t contain the tracks that you want? Was a little confused by this part.\n
    \n
    I know you’re looking for a GUI solution, but while I wait for clarification I might as well drop a basic `yt-dlp` command to give you an idea of the parameters we’re dealing with (here I’m assuming separate audio tracks and uploader-added subs):\n
    \n
    `yt-dlp --format bv+ba[language=ja] --sub-langs en --write-subs --convert-subs srt --download-archive channel_archive.txt video_or_channel_url_goes_here`\n
    \n
    `–format bv+ba[language=ja]`: gets the “best” video track and Japanese audio track (for a 4K video `yt-dlp` prefers the VP9 encode, but if it’s a video with a lot of views there may also be an AV1 encode–if you want that AV1 encode you have to explicitly opt for it by using `bv[vcodec^=av01]` instead of plain `bv`)  \n
    `–sub-langs en`: downloads English subtitle(s)  \n
    `–write-subs`: write subs to an external file (as opposed to embedding them)  \n
    `–convert-subs srt`: converts subs to srt format, if possible  \n
    ` --download-archive channel_archive.txt`: writes the IDs of successfully downloaded videos to the specified file `channel_archive.txt`. If you re-run this command, these videos will be automatically and very speedily skipped over without needing to fetch any additional information. Even without this option, `yt-dlp` is smart enough to skip over videos that have already been downloaded (assuming the output filenames will be the same), but it will go through the entire process of fetching all the video information for each video up to the point it is about to start downloading, which is a huge waste of time if you’re just updating a channel archive and need only the newest three videos.\n
    \n
    Everything in that command (except for the audio track bit, to my knowledge) can be handled in the Tartube GUI in relatively simple fashion, provided you know which menus to dig into.\n
    \n
    edit: forgot the URL in my command, kinda important!
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 13
  +score: 0
  +lastActive: DateTime @1699864598 {#1768
    date: 2023-11-13 09:36:38.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Rodrigo_de_Mendoza@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1378 …}
  +nested: Doctrine\ORM\PersistentCollection {#1371 …}
  +votes: Doctrine\ORM\PersistentCollection {#2427 …}
  +reports: Doctrine\ORM\PersistentCollection {#1902 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2485 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2483 …}
  -id: 103322
  -bodyTs: "'/)':35 '/watch?v=8bdrvp9xsfc)':150 '/watch?v=jh2m6rbdkso)),':130 '/yt-dlp/yt-dlp)':6 '1':102 '2':187 '3':278 '4k':436 'achiev':180,216 'actual':168 'ad':195,389 'add':166 'addit':556 'alreadi':574 'also':227,261,458 'although':72 'anyway':71 'approach':236 'archiv':37,412,520,626 'assum':382,577 'audio':142,301,384,432,641 'auto':202,207,211 'automat':545 'av01':480 'av1':461,467 'ba':396,422 'basic':362 'best':427 'bit':44,643 'bv':395,421,478,484 'byzantin':45 'case':206 'chanc':59 'channel':38,109,121,127,136,416,625 'channel_archive.txt':413,521,533 'clarif':355 'clarifi':100 'command':169,366,540,637,672 'confus':337 'contain':328 'convert':407,508,511 'convert-sub':406,507 'coupl':98 'deal':377 'decent':58 'depend':228 'differ':153,222 'dig':664 'dlp':3,69,365,393,440,564 'doabl':158 'doesn':326 'download':18,106,241,315,411,489,519,527,576,611 'download-arch':410,518 'dozen':257 'drop':360 'e.g':122 'easili':215 'edit':666 'either':225 'embed':505 'en':402,488 'encod':444,462,468 'english':490 'enough':567 'enter':65 'entir':591 'even':558 'everyth':634 'except':638 'experi':25,88 'explicit':472 'extern':500 'fashion':657 'fetch':554,594 'file':307,324,501,532 'filenam':580 'flag':171 'forgot':667 'format':394,420,515 'former':177 'frontend':27 'general':119 'get':319,425 'github.com':5 'github.com/yt-dlp/yt-dlp)':4 'give':368 'go':12,588 'go-to':11 'goe':418 'gonna':8 'gui':186,219,348,653 'handl':649 'huge':615 'id':524 'idea':371 'import':674 'indic':274 'inform':557,598 'instead':481 'instruct':223 'isn':271 'issu':265 'ja':398,424 'japanes':126,431 'kinda':673 'know':342,660 'knowledg':646 'lang':401,487 'languag':113,154,268,397,423 'latter':174 'like':251 'line':170 'littl':336 'll':96,163 'look':345 'lot':453 'm':381 'manual':64 'masahiro':123 'may':244,457 'mean':117,134,292 'menus':662 'merg':303,323 'might':47,237,357 'monolingu':120 'mrbeast':253 'much':24 'multipl':141 'need':53,62,164,552,628 'newest':631 'one':85,94,226 'oppos':503 'opt':473 'option':70,561 'output':579 'overkil':49 'paramet':374 'part':340 'particular':112 'plain':483 'plus':54 'point':605 'possibl':264,517 'pre':322 'pre-merg':321 'prefer':441 'pretti':181 'process':77,592 'proper':273 'provid':658 'put':282 'question':101 're':192,344,376,537,621 're-run':536 'recommend':97 'relat':655 'run':538 'said':80 'sakurai':124 'say':105,281 'scope':231 'separ':383 'setup':76 'sidestep':262 'simpl':656 'simplest':235 'simpli':182,240 'singl':287,306 'skip':549,569 'slight':221 'smart':566 'solut':349 'specifi':531 'speedili':548 'srt':409,510,514 'start':610 'stream':284 'sub':203,208,390,400,405,408,486,495,497,509,512 'sub-lang':399,485 'subtitl':190,243,258,491 'success':526 'talk':193 'tartub':32,184,652 'tartube.sourceforge.io':34 'tartube.sourceforge.io/)':33 'thing':233 'think':161 'three':152,632 'time':618 'togeth':289 'tool':14 'track':143,155,259,270,302,330,385,429,433,642 'translat':212 'tri':313 'updat':623 'upload':198,277,388 'uploader-ad':387 'url':417,669 'use':31,477 'vcodec':479 'video':139,147,254,288,299,317,414,428,437,450,528,542,571,597,601,633 'view':455 'vp9':443 'wait':353 'want':246,297,333,465 'wast':616 'well':359 'wherea':175 'without':551,559 'write':404,494,496,522 'write-sub':403,493 'www.youtube.com':129,149 'www.youtube.com/watch?v=8bdrvp9xsfc)':148 'www.youtube.com/watch?v=jh2m6rbdkso)),':128 'youtub':17,108 'yt':2,68,364,392,439,563 'yt-dlp':1,67,363,391,438,562"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://hexbear.net/comment/4224278"
  +editedAt: DateTimeImmutable @1699555599 {#1938
    date: 2023-11-09 19:46:39.0 +01:00
  }
  +createdAt: DateTimeImmutable @1699499404 {#1971
    date: 2023-11-09 04:10:04.0 +01:00
  }
}
"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
5 DENIED edit
App\Entity\Magazine {#314
  +icon: Proxies\__CG__\App\Entity\Image {#295 …}
  +name: "piracy@lemmy.dbzer0.com"
  +title: "piracy"
  +description: """
    ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
    \n
    ---\n
    \n
    ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
    \n
    **1**. Posts must be related to the discussion of digital piracy\n
    \n
    **2**. Don’t request invites, trade, sell, or self-promote\n
    \n
    **3**. Don’t request or link to specific pirated titles, including DMs\n
    \n
    **4**. Don’t submit low-quality posts, be entitled, or harass others\n
    \n
    **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
    \n
    ---\n
    \n
    [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
    ---------------------------------------------------------------------------\n
    \n
    ### Loot, Pillage, & Plunder\n
    \n
    - [📜 Megathread](https://rentry.co/megathread)\n
    - [🪶 FAQ](https://rentry.co/piracy-faq)\n
    - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
    - [🪶 Rules](https://rentry.co/piracy-rules)\n
    \n
    ---\n
    \n
    💰 Please help cover server costs.\n
    \n
    [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
    \n
    ---
    """
  +rules: null
  +subscriptionsCount: 1
  +entryCount: 866
  +entryCommentCount: 20194
  +postCount: 7
  +postCommentCount: 149
  +isAdult: false
  +customCss: null
  +lastActive: DateTime @1729581369 {#324
    date: 2024-10-22 09:16:09.0 +02:00
  }
  +markedForDeletionAt: null
  +tags: null
  +moderators: Doctrine\ORM\PersistentCollection {#286 …}
  +ownershipRequests: Doctrine\ORM\PersistentCollection {#282 …}
  +moderatorRequests: Doctrine\ORM\PersistentCollection {#271 …}
  +entries: Doctrine\ORM\PersistentCollection {#229 …}
  +posts: Doctrine\ORM\PersistentCollection {#187 …}
  +subscriptions: Doctrine\ORM\PersistentCollection {#249 …}
  +bans: Doctrine\ORM\PersistentCollection {#166 …}
  +reports: Doctrine\ORM\PersistentCollection {#152 …}
  +badges: Doctrine\ORM\PersistentCollection {#130 …}
  +logs: Doctrine\ORM\PersistentCollection {#120 …}
  +awards: Doctrine\ORM\PersistentCollection {#109 …}
  +categories: Doctrine\ORM\PersistentCollection {#96 …}
  -id: 51
  +apId: "piracy@lemmy.dbzer0.com"
  +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
  +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
  +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
  +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
  +apDomain: "lemmy.dbzer0.com"
  +apPreferredUsername: "piracy"
  +apDiscoverable: true
  +apManuallyApprovesFollowers: null
  +privateKey: null
  +publicKey: null
  +apFetchedAt: DateTime @1708748229 {#318
    date: 2024-02-24 05:17:09.0 +01:00
  }
  +apDeletedAt: null
  +apTimeoutAt: null
  +visibility: "visible             "
  +createdAt: DateTimeImmutable @1697197339 {#317
    date: 2023-10-13 13:42:19.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS DENIED
"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