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.23 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.06 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 {#1396
  +user: Proxies\__CG__\App\Entity\User {#1365 …}
  +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: """
    So there are multiple technologies at play. One is an indexer program (jackett/prowlarr/etc). These basically hook up to public trackers (1337x, TPB, etc).\n
    \n
    Then you have Sonarr/Radarr which are connected to the indexer. Sonarr and radarr basically have an rss feed (which is basically a list of content, podcasts and youtube apps use this to show you new episodes/videos).\n
    \n
    I think they use tmdb or something as there source of rss feeds. They also let you select which shows to monitor and it stores that inforamation in a database. So sonarr will reach out to tmdb and request the latest rss feed for a show every so often for the shows in the database. If an episode that sonarr is supposed to download is listed on the rss feed it will then send a request to its indexer and tell it what show, what episode, what season, etc.\n
    \n
    The indexer then searches each tracker it is connected to for that show, season, episode combo and returns a list of links to sonarr/radarr.\n
    \n
    Sonarr then has a set of rules in its database to filter these links (ie minimum quality, language, etc) to determine which link to pick). Finally in its settings sonarr/radarr has a location where it should save the files.\n
    \n
    Now sonarr/radarr cant download themselves, instead they are also hooked to a torrent client. For example qbittorrent which has an api which allows you to programatically download torrents (ie it has a command to download a torrent and sonarr/radarr sends the command along with additional information like the link and where to save the files.\n
    \n
    This is the basic setuo but there are other tools used sometimes like unpackarr which is for decompressing files that get downloaded. Unpackarr watches a folder for new files and if it finds a file in a compressed format (7z, rar, zip, etc) it will automatically decompress it so that a media program like jellyfin can play it without you having to do it manually.\n
    \n
    Programs like jellyfin are media servers where you would specify folders for movies/tv shows/etc and any playable file in those folders can be streamed in their app/web interface. These kind of programs are really just graphical programs that are easy to set up and use that are built on top of more technical programs like ffmpeg which does the transcoding and streaming.\n
    \n
    Then there are also programs like flaresolverr. You would integrate this into your indexer because some trackers might use cloudflare to prevent bots (they require you to click a checkbox and watch the movement of the cursor to see if it is robotic). Flaresolverr uses something called selenium webdriver which is a program that can automate a webbrowser. You can program it to open web pages, click things, etc. I assume the code uses randomization to make cloudflare think a person is moving the mouse to click the button so you can access those trackers\n
    \n
    In simple terms that’s how it works. All these programs set up a web interface and api and send each other http requests to communicate
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 32
  +score: 0
  +lastActive: DateTime @1699444175 {#1768
    date: 2023-11-08 12:49:35.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@TimewornTraveler@lemm.ee"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1369 …}
  +nested: Doctrine\ORM\PersistentCollection {#1370 …}
  +votes: Doctrine\ORM\PersistentCollection {#2429 …}
  +reports: Doctrine\ORM\PersistentCollection {#1367 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2487 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2477 …}
  -id: 99681
  -bodyTs: "'1337x':21 '7z':306 'access':486 'addit':256 'allow':234 'along':254 'also':74,220,397 'api':232,506 'app':52 'app/web':358 'assum':464 'autom':449 'automat':312 'basic':15,37,44,270 'bot':416 'built':379 'button':482 'call':440 'cant':214 'checkbox':423 'click':421,460,480 'client':225 'cloudflar':413,471 'code':466 'combo':164 'command':244,253 'communic':514 'compress':304 'connect':30,157 'content':48 'cursor':430 'databas':89,114,182 'decompress':284,313 'determin':193 'download':123,215,238,246,288 'easi':371 'episod':117,145,163 'episodes/videos':59 'etc':23,148,191,309,462 'everi':106 'exampl':227 'feed':41,72,102,129 'ffmpeg':387 'file':211,266,285,295,301,349 'filter':184 'final':198 'find':299 'flaresolverr':400,437 'folder':292,342,352 'format':305 'get':287 'graphic':367 'hook':16,221 'http':511 'ie':187,240 'index':11,33,138,150,407 'inforam':86 'inform':257 'instead':217 'integr':403 'interfac':359,504 'jackett/prowlarr/etc':13 'jellyfin':321,334 'kind':361 'languag':190 'latest':100 'let':75 'like':258,279,320,333,386,399 'link':170,186,195,260 'list':46,125,168 'locat':205 'make':470 'manual':331 'media':318,336 'might':411 'minimum':188 'monitor':81 'mous':478 'move':476 'movement':427 'movies/tv':344 'multipl':4 'new':58,294 'often':108 'one':8 'open':457 'page':459 'person':474 'pick':197 'play':7,323 'playabl':348 'podcast':49 'prevent':415 'program':12,319,332,363,368,385,398,446,454,499 'programat':237 'public':19 'qbittorr':228 'qualiti':189 'radarr':36 'random':468 'rar':307 'reach':93 'realli':365 'request':98,135,512 'requir':418 'return':166 'robot':436 'rss':40,71,101,128 'rule':179 'save':209,264 'search':152 'season':147,162 'see':432 'select':77 'selenium':441 'send':133,251,508 'server':337 'set':177,201,373,500 'setuo':271 'show':56,79,105,111,143,161 'shows/etc':345 'simpl':490 'someth':66,439 'sometim':278 'sonarr':34,91,119,173 'sonarr/radarr':27,172,202,213,250 'sourc':69 'specifi':341 'store':84 'stream':355,393 'suppos':121 'technic':384 'technolog':5 'tell':140 'term':491 'thing':461 'think':61,472 'tmdb':64,96 'tool':276 'top':381 'torrent':224,239,248 'tpb':22 'tracker':20,154,410,488 'transcod':391 'unpackarr':280,289 'use':53,63,277,376,412,438,467 'watch':290,425 'web':458,503 'webbrows':451 'webdriv':442 'without':325 'work':496 'would':340,402 'youtub':51 'zip':308"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://discuss.tchncs.de/comment/4657249"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699389749 {#1938
    date: 2023-11-07 21:42:29.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 {#1396
  +user: Proxies\__CG__\App\Entity\User {#1365 …}
  +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: """
    So there are multiple technologies at play. One is an indexer program (jackett/prowlarr/etc). These basically hook up to public trackers (1337x, TPB, etc).\n
    \n
    Then you have Sonarr/Radarr which are connected to the indexer. Sonarr and radarr basically have an rss feed (which is basically a list of content, podcasts and youtube apps use this to show you new episodes/videos).\n
    \n
    I think they use tmdb or something as there source of rss feeds. They also let you select which shows to monitor and it stores that inforamation in a database. So sonarr will reach out to tmdb and request the latest rss feed for a show every so often for the shows in the database. If an episode that sonarr is supposed to download is listed on the rss feed it will then send a request to its indexer and tell it what show, what episode, what season, etc.\n
    \n
    The indexer then searches each tracker it is connected to for that show, season, episode combo and returns a list of links to sonarr/radarr.\n
    \n
    Sonarr then has a set of rules in its database to filter these links (ie minimum quality, language, etc) to determine which link to pick). Finally in its settings sonarr/radarr has a location where it should save the files.\n
    \n
    Now sonarr/radarr cant download themselves, instead they are also hooked to a torrent client. For example qbittorrent which has an api which allows you to programatically download torrents (ie it has a command to download a torrent and sonarr/radarr sends the command along with additional information like the link and where to save the files.\n
    \n
    This is the basic setuo but there are other tools used sometimes like unpackarr which is for decompressing files that get downloaded. Unpackarr watches a folder for new files and if it finds a file in a compressed format (7z, rar, zip, etc) it will automatically decompress it so that a media program like jellyfin can play it without you having to do it manually.\n
    \n
    Programs like jellyfin are media servers where you would specify folders for movies/tv shows/etc and any playable file in those folders can be streamed in their app/web interface. These kind of programs are really just graphical programs that are easy to set up and use that are built on top of more technical programs like ffmpeg which does the transcoding and streaming.\n
    \n
    Then there are also programs like flaresolverr. You would integrate this into your indexer because some trackers might use cloudflare to prevent bots (they require you to click a checkbox and watch the movement of the cursor to see if it is robotic). Flaresolverr uses something called selenium webdriver which is a program that can automate a webbrowser. You can program it to open web pages, click things, etc. I assume the code uses randomization to make cloudflare think a person is moving the mouse to click the button so you can access those trackers\n
    \n
    In simple terms that’s how it works. All these programs set up a web interface and api and send each other http requests to communicate
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 32
  +score: 0
  +lastActive: DateTime @1699444175 {#1768
    date: 2023-11-08 12:49:35.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@TimewornTraveler@lemm.ee"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1369 …}
  +nested: Doctrine\ORM\PersistentCollection {#1370 …}
  +votes: Doctrine\ORM\PersistentCollection {#2429 …}
  +reports: Doctrine\ORM\PersistentCollection {#1367 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2487 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2477 …}
  -id: 99681
  -bodyTs: "'1337x':21 '7z':306 'access':486 'addit':256 'allow':234 'along':254 'also':74,220,397 'api':232,506 'app':52 'app/web':358 'assum':464 'autom':449 'automat':312 'basic':15,37,44,270 'bot':416 'built':379 'button':482 'call':440 'cant':214 'checkbox':423 'click':421,460,480 'client':225 'cloudflar':413,471 'code':466 'combo':164 'command':244,253 'communic':514 'compress':304 'connect':30,157 'content':48 'cursor':430 'databas':89,114,182 'decompress':284,313 'determin':193 'download':123,215,238,246,288 'easi':371 'episod':117,145,163 'episodes/videos':59 'etc':23,148,191,309,462 'everi':106 'exampl':227 'feed':41,72,102,129 'ffmpeg':387 'file':211,266,285,295,301,349 'filter':184 'final':198 'find':299 'flaresolverr':400,437 'folder':292,342,352 'format':305 'get':287 'graphic':367 'hook':16,221 'http':511 'ie':187,240 'index':11,33,138,150,407 'inforam':86 'inform':257 'instead':217 'integr':403 'interfac':359,504 'jackett/prowlarr/etc':13 'jellyfin':321,334 'kind':361 'languag':190 'latest':100 'let':75 'like':258,279,320,333,386,399 'link':170,186,195,260 'list':46,125,168 'locat':205 'make':470 'manual':331 'media':318,336 'might':411 'minimum':188 'monitor':81 'mous':478 'move':476 'movement':427 'movies/tv':344 'multipl':4 'new':58,294 'often':108 'one':8 'open':457 'page':459 'person':474 'pick':197 'play':7,323 'playabl':348 'podcast':49 'prevent':415 'program':12,319,332,363,368,385,398,446,454,499 'programat':237 'public':19 'qbittorr':228 'qualiti':189 'radarr':36 'random':468 'rar':307 'reach':93 'realli':365 'request':98,135,512 'requir':418 'return':166 'robot':436 'rss':40,71,101,128 'rule':179 'save':209,264 'search':152 'season':147,162 'see':432 'select':77 'selenium':441 'send':133,251,508 'server':337 'set':177,201,373,500 'setuo':271 'show':56,79,105,111,143,161 'shows/etc':345 'simpl':490 'someth':66,439 'sometim':278 'sonarr':34,91,119,173 'sonarr/radarr':27,172,202,213,250 'sourc':69 'specifi':341 'store':84 'stream':355,393 'suppos':121 'technic':384 'technolog':5 'tell':140 'term':491 'thing':461 'think':61,472 'tmdb':64,96 'tool':276 'top':381 'torrent':224,239,248 'tpb':22 'tracker':20,154,410,488 'transcod':391 'unpackarr':280,289 'use':53,63,277,376,412,438,467 'watch':290,425 'web':458,503 'webbrows':451 'webdriv':442 'without':325 'work':496 'would':340,402 'youtub':51 'zip':308"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://discuss.tchncs.de/comment/4657249"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699389749 {#1938
    date: 2023-11-07 21:42:29.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 {#1396
  +user: Proxies\__CG__\App\Entity\User {#1365 …}
  +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: """
    So there are multiple technologies at play. One is an indexer program (jackett/prowlarr/etc). These basically hook up to public trackers (1337x, TPB, etc).\n
    \n
    Then you have Sonarr/Radarr which are connected to the indexer. Sonarr and radarr basically have an rss feed (which is basically a list of content, podcasts and youtube apps use this to show you new episodes/videos).\n
    \n
    I think they use tmdb or something as there source of rss feeds. They also let you select which shows to monitor and it stores that inforamation in a database. So sonarr will reach out to tmdb and request the latest rss feed for a show every so often for the shows in the database. If an episode that sonarr is supposed to download is listed on the rss feed it will then send a request to its indexer and tell it what show, what episode, what season, etc.\n
    \n
    The indexer then searches each tracker it is connected to for that show, season, episode combo and returns a list of links to sonarr/radarr.\n
    \n
    Sonarr then has a set of rules in its database to filter these links (ie minimum quality, language, etc) to determine which link to pick). Finally in its settings sonarr/radarr has a location where it should save the files.\n
    \n
    Now sonarr/radarr cant download themselves, instead they are also hooked to a torrent client. For example qbittorrent which has an api which allows you to programatically download torrents (ie it has a command to download a torrent and sonarr/radarr sends the command along with additional information like the link and where to save the files.\n
    \n
    This is the basic setuo but there are other tools used sometimes like unpackarr which is for decompressing files that get downloaded. Unpackarr watches a folder for new files and if it finds a file in a compressed format (7z, rar, zip, etc) it will automatically decompress it so that a media program like jellyfin can play it without you having to do it manually.\n
    \n
    Programs like jellyfin are media servers where you would specify folders for movies/tv shows/etc and any playable file in those folders can be streamed in their app/web interface. These kind of programs are really just graphical programs that are easy to set up and use that are built on top of more technical programs like ffmpeg which does the transcoding and streaming.\n
    \n
    Then there are also programs like flaresolverr. You would integrate this into your indexer because some trackers might use cloudflare to prevent bots (they require you to click a checkbox and watch the movement of the cursor to see if it is robotic). Flaresolverr uses something called selenium webdriver which is a program that can automate a webbrowser. You can program it to open web pages, click things, etc. I assume the code uses randomization to make cloudflare think a person is moving the mouse to click the button so you can access those trackers\n
    \n
    In simple terms that’s how it works. All these programs set up a web interface and api and send each other http requests to communicate
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 32
  +score: 0
  +lastActive: DateTime @1699444175 {#1768
    date: 2023-11-08 12:49:35.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@TimewornTraveler@lemm.ee"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1369 …}
  +nested: Doctrine\ORM\PersistentCollection {#1370 …}
  +votes: Doctrine\ORM\PersistentCollection {#2429 …}
  +reports: Doctrine\ORM\PersistentCollection {#1367 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2487 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2477 …}
  -id: 99681
  -bodyTs: "'1337x':21 '7z':306 'access':486 'addit':256 'allow':234 'along':254 'also':74,220,397 'api':232,506 'app':52 'app/web':358 'assum':464 'autom':449 'automat':312 'basic':15,37,44,270 'bot':416 'built':379 'button':482 'call':440 'cant':214 'checkbox':423 'click':421,460,480 'client':225 'cloudflar':413,471 'code':466 'combo':164 'command':244,253 'communic':514 'compress':304 'connect':30,157 'content':48 'cursor':430 'databas':89,114,182 'decompress':284,313 'determin':193 'download':123,215,238,246,288 'easi':371 'episod':117,145,163 'episodes/videos':59 'etc':23,148,191,309,462 'everi':106 'exampl':227 'feed':41,72,102,129 'ffmpeg':387 'file':211,266,285,295,301,349 'filter':184 'final':198 'find':299 'flaresolverr':400,437 'folder':292,342,352 'format':305 'get':287 'graphic':367 'hook':16,221 'http':511 'ie':187,240 'index':11,33,138,150,407 'inforam':86 'inform':257 'instead':217 'integr':403 'interfac':359,504 'jackett/prowlarr/etc':13 'jellyfin':321,334 'kind':361 'languag':190 'latest':100 'let':75 'like':258,279,320,333,386,399 'link':170,186,195,260 'list':46,125,168 'locat':205 'make':470 'manual':331 'media':318,336 'might':411 'minimum':188 'monitor':81 'mous':478 'move':476 'movement':427 'movies/tv':344 'multipl':4 'new':58,294 'often':108 'one':8 'open':457 'page':459 'person':474 'pick':197 'play':7,323 'playabl':348 'podcast':49 'prevent':415 'program':12,319,332,363,368,385,398,446,454,499 'programat':237 'public':19 'qbittorr':228 'qualiti':189 'radarr':36 'random':468 'rar':307 'reach':93 'realli':365 'request':98,135,512 'requir':418 'return':166 'robot':436 'rss':40,71,101,128 'rule':179 'save':209,264 'search':152 'season':147,162 'see':432 'select':77 'selenium':441 'send':133,251,508 'server':337 'set':177,201,373,500 'setuo':271 'show':56,79,105,111,143,161 'shows/etc':345 'simpl':490 'someth':66,439 'sometim':278 'sonarr':34,91,119,173 'sonarr/radarr':27,172,202,213,250 'sourc':69 'specifi':341 'store':84 'stream':355,393 'suppos':121 'technic':384 'technolog':5 'tell':140 'term':491 'thing':461 'think':61,472 'tmdb':64,96 'tool':276 'top':381 'torrent':224,239,248 'tpb':22 'tracker':20,154,410,488 'transcod':391 'unpackarr':280,289 'use':53,63,277,376,412,438,467 'watch':290,425 'web':458,503 'webbrows':451 'webdriv':442 'without':325 'work':496 'would':340,402 'youtub':51 'zip':308"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://discuss.tchncs.de/comment/4657249"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699389749 {#1938
    date: 2023-11-07 21:42:29.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