GET https://kbin.spritesserver.nl/index.php/u/@nybble41@programming.dev/commented/2023-10-21::2023-10-21

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 …}
}
14.73 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 {#1582
  +user: Proxies\__CG__\App\Entity\User {#1727 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
  +image: Proxies\__CG__\App\Entity\Image {#2326 …}
  +domain: Proxies\__CG__\App\Entity\Domain {#2159 …}
  +slug: "PSA-Don-t-torrent-over-TOR"
  +title: "PSA: Don't torrent over TOR"
  +url: "https://tor.stackexchange.com/questions/64/how-can-bittorrent-traffic-be-anonymized-with-tor"
  +body: """
    1. It doesn’t make you anonymous. Torrent protocol wasn’t designed with anonymity in mind and there are a million ways you’re going to leak your actual IP address.\n
    2. Tor is a TCP only network.\n
    3. While this doesn’t give you the anonymity you wanted, it will hurt the network for other users.
    """
  +type: "link"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 100
  +favouriteCount: 624
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1699287082 {#1720
    date: 2023-11-06 17:11:22.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2338 …}
  +votes: Doctrine\ORM\PersistentCollection {#2335 …}
  +reports: Doctrine\ORM\PersistentCollection {#2337 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2058 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2050 …}
  +badges: Doctrine\ORM\PersistentCollection {#2109 …}
  +children: [
    1 => App\Entity\EntryComment {#1709
      +user: App\Entity\User {#264 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1582 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#1654 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#1650 …}
      +body: "It is *not* true that every node is an exit node in I2P. The I2P protocol does not officially have exit nodes—all I2P communication terminates at some node within the I2P network, encrypted end-to-end. It is possible to run a local proxy server and make it accessible to other users as an I2P service, creating an “exit node” of sorts, but this is something that must be set up deliberately; it’s not the default or recommended configuration. Users would need to select a specific I2P proxy service (exit node) to forward non-I2P traffic through and configure their browser (or other network-based programs) to use it."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 10
      +score: 0
      +lastActive: DateTime @1697908069 {#1435
        date: 2023-10-21 19:07:49.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@onlinepersona@programming.dev"
        "@supervent@lemmy.dbzer0.com"
        "@atlasraven31@lemm.ee"
        "@ReversalHatchery@beehaw.org"
        "@NuXCOM_90Percent@lemmy.zip"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1671 …}
      +nested: Doctrine\ORM\PersistentCollection {#1667 …}
      +votes: Doctrine\ORM\PersistentCollection {#1670 …}
      +reports: Doctrine\ORM\PersistentCollection {#1678 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1551 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1586 …}
      -id: 63223
      -bodyTs: "'access':51 'base':110 'browser':105 'communic':25 'configur':82,103 'creat':59 'default':79 'deliber':74 'encrypt':34 'end':36,38 'end-to-end':35 'everi':6 'exit':10,21,61,93 'forward':96 'i2p':13,15,24,32,57,90,99 'local':45 'make':49 'must':70 'need':85 'network':33,109 'network-bas':108 'node':7,11,22,29,62,94 'non':98 'non-i2p':97 'offici':19 'possibl':41 'program':111 'protocol':16 'proxi':46,91 'recommend':81 'run':43 'select':87 'server':47 'servic':58,92 'set':72 'someth':68 'sort':64 'specif':89 'termin':26 'traffic':100 'true':4 'use':113 'user':54,83 'within':30 'would':84"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/4097827"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697908069 {#1438
        date: 2023-10-21 19:07:49.0 +02:00
      }
      +"title": 63223
    }
    0 => App\Entity\EntryComment {#1550
      +user: App\Entity\User {#264 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1582 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#1561 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#1650 …}
      +body: """
        No, that’s not how I2P works.\n
        \n
        First, let’s start with the basics. An exit node is a node which interfaces between the encrypted network (I2P or Tor) and the regular Internet. A user attempting to access a regular Internet site over I2P or Tor would route their traffic through the encrypted network to an exit node, which then sends the request over the Internet without the I2P/Tor encryption. Responses follow the reverse path back to the user. Nodes which only establish encrypted connections to other I2P or Tor nodes, including ones used for internal (onion) routing, are *not* exit nodes.\n
        \n
        Both I2P and Tor support the creation of services hosted directly through the encrypted network. In Tor these are referred to as onion services and are accessed through *.onion hostnames. In I2P these internal services (*.i2p or *.b32) are the *only* kind of service the protocol directly supports—though you can configure a specific I2P service linked to a HTTP/HTTPS proxy to handle non-I2P URLs in the client configuration. There are only a few such proxy services as this is not how I2P is primarily intended to be used.\n
        \n
        Tor, by contrast, has built-in support for exit nodes. Routing traffic anonymously from Tor users to the Internet is the original model for the Tor network; onion services were added later. There is no need to *choose* an exit node in Tor—the system maintains a list and picks one automatically. Becoming a Tor exit node is a simple matter of enabling an option in the settings, whereas in I2P you would need to manually configure a proxy server, inform others about it, and have them adjust their proxy configuration to use it.\n
        \n
        If you set up an I2P node and do not go out of your way to expose a HTTP/HTTPS proxy as an I2P service then no traffic from the I2P network can be routed to non-I2P destinations via your node. This is equivalent to running a Tor internal, *non-exit* node, possibly hosting one or more onion services.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 7
      +score: 0
      +lastActive: DateTime @1697917492 {#1579
        date: 2023-10-21 21:44:52.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@onlinepersona@programming.dev"
        "@supervent@lemmy.dbzer0.com"
        "@atlasraven31@lemm.ee"
        "@ReversalHatchery@beehaw.org"
        "@NuXCOM_90Percent@lemmy.zip"
        "@nybble41@programming.dev"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1525 …}
      +nested: Doctrine\ORM\PersistentCollection {#1566 …}
      +votes: Doctrine\ORM\PersistentCollection {#1562 …}
      +reports: Doctrine\ORM\PersistentCollection {#1554 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1555 …}
      -id: 63512
      -bodyTs: "'access':38,129 'ad':225 'adjust':282 'anonym':207 'attempt':36 'automat':246 'b32':140 'back':76 'basic':14 'becom':247 'built':199 'built-in':198 'choos':232 'client':172 'configur':154,173,271,285 'connect':85 'contrast':196 'creation':109 'destin':327 'direct':113,149 'enabl':257 'encrypt':25,53,70,84,116 'equival':333 'establish':83 'exit':16,57,101,203,234,250,341 'expos':305 'first':8 'follow':72 'go':299 'handl':165 'host':112,344 'hostnam':132 'http/https':162,307 'i2p':6,27,44,88,104,134,138,157,168,187,265,294,311,318,326 'i2p/tor':69 'includ':92 'inform':275 'intend':190 'interfac':22 'intern':96,136,338 'internet':33,41,66,213 'kind':144 'later':226 'let':9 'link':159 'list':242 'maintain':240 'manual':270 'matter':255 'model':217 'need':230,268 'network':26,54,117,221,319 'node':17,20,58,80,91,102,204,235,251,295,330,342 'non':167,325,340 'non-exit':339 'non-i2p':166,324 'one':93,245,345 'onion':97,125,131,222,348 'option':259 'origin':216 'other':276 'path':75 'pick':244 'possibl':343 'primarili':189 'protocol':148 'proxi':163,180,273,284,308 'refer':122 'regular':32,40 'request':63 'respons':71 'revers':74 'rout':48,98,205,322 'run':335 'send':61 'server':274 'servic':111,126,137,146,158,181,223,312,349 'set':262,291 'simpl':254 'site':42 'specif':156 'start':11 'support':107,150,201 'system':239 'though':151 'tor':29,46,90,106,119,194,209,220,237,249,337 'traffic':50,206,315 'url':169 'use':94,193,287 'user':35,79,210 'via':328 'way':303 'wherea':263 'without':67 'work':7 'would':47,267"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/4101407"
      +editedAt: DateTimeImmutable @1697917879 {#1559
        date: 2023-10-21 21:51:19.0 +02:00
      }
      +createdAt: DateTimeImmutable @1697917492 {#1548
        date: 2023-10-21 21:44:52.0 +02:00
      }
      +"title": 63512
    }
  ]
  -id: 6808
  -titleTs: "'psa':1 'tor':6 'torrent':4"
  -bodyTs: "'1':1 '2':32 '3':39 'actual':29 'address':31 'anonym':7,14,47 'design':12 'doesn':3,42 'give':44 'go':25 'hurt':52 'ip':30 'leak':27 'make':5 'million':21 'mind':16 'network':38,54 'protocol':9 're':24 'tcp':36 'tor':33 'torrent':8 'user':57 'want':49 'wasn':10 'way':22"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1697969159
  +visibility: "visible             "
  +apId: "https://programming.dev/post/4694754"
  +editedAt: null
  +createdAt: DateTimeImmutable @1697882759 {#1696
    date: 2023-10-21 12:05:59.0 +02: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 {#1582
  +user: Proxies\__CG__\App\Entity\User {#1727 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
  +image: Proxies\__CG__\App\Entity\Image {#2326 …}
  +domain: Proxies\__CG__\App\Entity\Domain {#2159 …}
  +slug: "PSA-Don-t-torrent-over-TOR"
  +title: "PSA: Don't torrent over TOR"
  +url: "https://tor.stackexchange.com/questions/64/how-can-bittorrent-traffic-be-anonymized-with-tor"
  +body: """
    1. It doesn’t make you anonymous. Torrent protocol wasn’t designed with anonymity in mind and there are a million ways you’re going to leak your actual IP address.\n
    2. Tor is a TCP only network.\n
    3. While this doesn’t give you the anonymity you wanted, it will hurt the network for other users.
    """
  +type: "link"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 100
  +favouriteCount: 624
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1699287082 {#1720
    date: 2023-11-06 17:11:22.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2338 …}
  +votes: Doctrine\ORM\PersistentCollection {#2335 …}
  +reports: Doctrine\ORM\PersistentCollection {#2337 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2058 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2050 …}
  +badges: Doctrine\ORM\PersistentCollection {#2109 …}
  +children: [
    1 => App\Entity\EntryComment {#1709
      +user: App\Entity\User {#264 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1582 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#1654 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#1650 …}
      +body: "It is *not* true that every node is an exit node in I2P. The I2P protocol does not officially have exit nodes—all I2P communication terminates at some node within the I2P network, encrypted end-to-end. It is possible to run a local proxy server and make it accessible to other users as an I2P service, creating an “exit node” of sorts, but this is something that must be set up deliberately; it’s not the default or recommended configuration. Users would need to select a specific I2P proxy service (exit node) to forward non-I2P traffic through and configure their browser (or other network-based programs) to use it."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 10
      +score: 0
      +lastActive: DateTime @1697908069 {#1435
        date: 2023-10-21 19:07:49.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@onlinepersona@programming.dev"
        "@supervent@lemmy.dbzer0.com"
        "@atlasraven31@lemm.ee"
        "@ReversalHatchery@beehaw.org"
        "@NuXCOM_90Percent@lemmy.zip"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1671 …}
      +nested: Doctrine\ORM\PersistentCollection {#1667 …}
      +votes: Doctrine\ORM\PersistentCollection {#1670 …}
      +reports: Doctrine\ORM\PersistentCollection {#1678 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1551 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1586 …}
      -id: 63223
      -bodyTs: "'access':51 'base':110 'browser':105 'communic':25 'configur':82,103 'creat':59 'default':79 'deliber':74 'encrypt':34 'end':36,38 'end-to-end':35 'everi':6 'exit':10,21,61,93 'forward':96 'i2p':13,15,24,32,57,90,99 'local':45 'make':49 'must':70 'need':85 'network':33,109 'network-bas':108 'node':7,11,22,29,62,94 'non':98 'non-i2p':97 'offici':19 'possibl':41 'program':111 'protocol':16 'proxi':46,91 'recommend':81 'run':43 'select':87 'server':47 'servic':58,92 'set':72 'someth':68 'sort':64 'specif':89 'termin':26 'traffic':100 'true':4 'use':113 'user':54,83 'within':30 'would':84"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/4097827"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697908069 {#1438
        date: 2023-10-21 19:07:49.0 +02:00
      }
      +"title": 63223
    }
    0 => App\Entity\EntryComment {#1550
      +user: App\Entity\User {#264 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1582 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#1561 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#1650 …}
      +body: """
        No, that’s not how I2P works.\n
        \n
        First, let’s start with the basics. An exit node is a node which interfaces between the encrypted network (I2P or Tor) and the regular Internet. A user attempting to access a regular Internet site over I2P or Tor would route their traffic through the encrypted network to an exit node, which then sends the request over the Internet without the I2P/Tor encryption. Responses follow the reverse path back to the user. Nodes which only establish encrypted connections to other I2P or Tor nodes, including ones used for internal (onion) routing, are *not* exit nodes.\n
        \n
        Both I2P and Tor support the creation of services hosted directly through the encrypted network. In Tor these are referred to as onion services and are accessed through *.onion hostnames. In I2P these internal services (*.i2p or *.b32) are the *only* kind of service the protocol directly supports—though you can configure a specific I2P service linked to a HTTP/HTTPS proxy to handle non-I2P URLs in the client configuration. There are only a few such proxy services as this is not how I2P is primarily intended to be used.\n
        \n
        Tor, by contrast, has built-in support for exit nodes. Routing traffic anonymously from Tor users to the Internet is the original model for the Tor network; onion services were added later. There is no need to *choose* an exit node in Tor—the system maintains a list and picks one automatically. Becoming a Tor exit node is a simple matter of enabling an option in the settings, whereas in I2P you would need to manually configure a proxy server, inform others about it, and have them adjust their proxy configuration to use it.\n
        \n
        If you set up an I2P node and do not go out of your way to expose a HTTP/HTTPS proxy as an I2P service then no traffic from the I2P network can be routed to non-I2P destinations via your node. This is equivalent to running a Tor internal, *non-exit* node, possibly hosting one or more onion services.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 7
      +score: 0
      +lastActive: DateTime @1697917492 {#1579
        date: 2023-10-21 21:44:52.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@onlinepersona@programming.dev"
        "@supervent@lemmy.dbzer0.com"
        "@atlasraven31@lemm.ee"
        "@ReversalHatchery@beehaw.org"
        "@NuXCOM_90Percent@lemmy.zip"
        "@nybble41@programming.dev"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1525 …}
      +nested: Doctrine\ORM\PersistentCollection {#1566 …}
      +votes: Doctrine\ORM\PersistentCollection {#1562 …}
      +reports: Doctrine\ORM\PersistentCollection {#1554 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1555 …}
      -id: 63512
      -bodyTs: "'access':38,129 'ad':225 'adjust':282 'anonym':207 'attempt':36 'automat':246 'b32':140 'back':76 'basic':14 'becom':247 'built':199 'built-in':198 'choos':232 'client':172 'configur':154,173,271,285 'connect':85 'contrast':196 'creation':109 'destin':327 'direct':113,149 'enabl':257 'encrypt':25,53,70,84,116 'equival':333 'establish':83 'exit':16,57,101,203,234,250,341 'expos':305 'first':8 'follow':72 'go':299 'handl':165 'host':112,344 'hostnam':132 'http/https':162,307 'i2p':6,27,44,88,104,134,138,157,168,187,265,294,311,318,326 'i2p/tor':69 'includ':92 'inform':275 'intend':190 'interfac':22 'intern':96,136,338 'internet':33,41,66,213 'kind':144 'later':226 'let':9 'link':159 'list':242 'maintain':240 'manual':270 'matter':255 'model':217 'need':230,268 'network':26,54,117,221,319 'node':17,20,58,80,91,102,204,235,251,295,330,342 'non':167,325,340 'non-exit':339 'non-i2p':166,324 'one':93,245,345 'onion':97,125,131,222,348 'option':259 'origin':216 'other':276 'path':75 'pick':244 'possibl':343 'primarili':189 'protocol':148 'proxi':163,180,273,284,308 'refer':122 'regular':32,40 'request':63 'respons':71 'revers':74 'rout':48,98,205,322 'run':335 'send':61 'server':274 'servic':111,126,137,146,158,181,223,312,349 'set':262,291 'simpl':254 'site':42 'specif':156 'start':11 'support':107,150,201 'system':239 'though':151 'tor':29,46,90,106,119,194,209,220,237,249,337 'traffic':50,206,315 'url':169 'use':94,193,287 'user':35,79,210 'via':328 'way':303 'wherea':263 'without':67 'work':7 'would':47,267"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/4101407"
      +editedAt: DateTimeImmutable @1697917879 {#1559
        date: 2023-10-21 21:51:19.0 +02:00
      }
      +createdAt: DateTimeImmutable @1697917492 {#1548
        date: 2023-10-21 21:44:52.0 +02:00
      }
      +"title": 63512
    }
  ]
  -id: 6808
  -titleTs: "'psa':1 'tor':6 'torrent':4"
  -bodyTs: "'1':1 '2':32 '3':39 'actual':29 'address':31 'anonym':7,14,47 'design':12 'doesn':3,42 'give':44 'go':25 'hurt':52 'ip':30 'leak':27 'make':5 'million':21 'mind':16 'network':38,54 'protocol':9 're':24 'tcp':36 'tor':33 'torrent':8 'user':57 'want':49 'wasn':10 'way':22"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1697969159
  +visibility: "visible             "
  +apId: "https://programming.dev/post/4694754"
  +editedAt: null
  +createdAt: DateTimeImmutable @1697882759 {#1696
    date: 2023-10-21 12:05:59.0 +02: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 {#1582
  +user: Proxies\__CG__\App\Entity\User {#1727 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
  +image: Proxies\__CG__\App\Entity\Image {#2326 …}
  +domain: Proxies\__CG__\App\Entity\Domain {#2159 …}
  +slug: "PSA-Don-t-torrent-over-TOR"
  +title: "PSA: Don't torrent over TOR"
  +url: "https://tor.stackexchange.com/questions/64/how-can-bittorrent-traffic-be-anonymized-with-tor"
  +body: """
    1. It doesn’t make you anonymous. Torrent protocol wasn’t designed with anonymity in mind and there are a million ways you’re going to leak your actual IP address.\n
    2. Tor is a TCP only network.\n
    3. While this doesn’t give you the anonymity you wanted, it will hurt the network for other users.
    """
  +type: "link"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 100
  +favouriteCount: 624
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1699287082 {#1720
    date: 2023-11-06 17:11:22.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2338 …}
  +votes: Doctrine\ORM\PersistentCollection {#2335 …}
  +reports: Doctrine\ORM\PersistentCollection {#2337 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2058 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2050 …}
  +badges: Doctrine\ORM\PersistentCollection {#2109 …}
  +children: [
    1 => App\Entity\EntryComment {#1709
      +user: App\Entity\User {#264 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1582 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#1654 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#1650 …}
      +body: "It is *not* true that every node is an exit node in I2P. The I2P protocol does not officially have exit nodes—all I2P communication terminates at some node within the I2P network, encrypted end-to-end. It is possible to run a local proxy server and make it accessible to other users as an I2P service, creating an “exit node” of sorts, but this is something that must be set up deliberately; it’s not the default or recommended configuration. Users would need to select a specific I2P proxy service (exit node) to forward non-I2P traffic through and configure their browser (or other network-based programs) to use it."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 10
      +score: 0
      +lastActive: DateTime @1697908069 {#1435
        date: 2023-10-21 19:07:49.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@onlinepersona@programming.dev"
        "@supervent@lemmy.dbzer0.com"
        "@atlasraven31@lemm.ee"
        "@ReversalHatchery@beehaw.org"
        "@NuXCOM_90Percent@lemmy.zip"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1671 …}
      +nested: Doctrine\ORM\PersistentCollection {#1667 …}
      +votes: Doctrine\ORM\PersistentCollection {#1670 …}
      +reports: Doctrine\ORM\PersistentCollection {#1678 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1551 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1586 …}
      -id: 63223
      -bodyTs: "'access':51 'base':110 'browser':105 'communic':25 'configur':82,103 'creat':59 'default':79 'deliber':74 'encrypt':34 'end':36,38 'end-to-end':35 'everi':6 'exit':10,21,61,93 'forward':96 'i2p':13,15,24,32,57,90,99 'local':45 'make':49 'must':70 'need':85 'network':33,109 'network-bas':108 'node':7,11,22,29,62,94 'non':98 'non-i2p':97 'offici':19 'possibl':41 'program':111 'protocol':16 'proxi':46,91 'recommend':81 'run':43 'select':87 'server':47 'servic':58,92 'set':72 'someth':68 'sort':64 'specif':89 'termin':26 'traffic':100 'true':4 'use':113 'user':54,83 'within':30 'would':84"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/4097827"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697908069 {#1438
        date: 2023-10-21 19:07:49.0 +02:00
      }
      +"title": 63223
    }
    0 => App\Entity\EntryComment {#1550
      +user: App\Entity\User {#264 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1582 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#1561 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#1650 …}
      +body: """
        No, that’s not how I2P works.\n
        \n
        First, let’s start with the basics. An exit node is a node which interfaces between the encrypted network (I2P or Tor) and the regular Internet. A user attempting to access a regular Internet site over I2P or Tor would route their traffic through the encrypted network to an exit node, which then sends the request over the Internet without the I2P/Tor encryption. Responses follow the reverse path back to the user. Nodes which only establish encrypted connections to other I2P or Tor nodes, including ones used for internal (onion) routing, are *not* exit nodes.\n
        \n
        Both I2P and Tor support the creation of services hosted directly through the encrypted network. In Tor these are referred to as onion services and are accessed through *.onion hostnames. In I2P these internal services (*.i2p or *.b32) are the *only* kind of service the protocol directly supports—though you can configure a specific I2P service linked to a HTTP/HTTPS proxy to handle non-I2P URLs in the client configuration. There are only a few such proxy services as this is not how I2P is primarily intended to be used.\n
        \n
        Tor, by contrast, has built-in support for exit nodes. Routing traffic anonymously from Tor users to the Internet is the original model for the Tor network; onion services were added later. There is no need to *choose* an exit node in Tor—the system maintains a list and picks one automatically. Becoming a Tor exit node is a simple matter of enabling an option in the settings, whereas in I2P you would need to manually configure a proxy server, inform others about it, and have them adjust their proxy configuration to use it.\n
        \n
        If you set up an I2P node and do not go out of your way to expose a HTTP/HTTPS proxy as an I2P service then no traffic from the I2P network can be routed to non-I2P destinations via your node. This is equivalent to running a Tor internal, *non-exit* node, possibly hosting one or more onion services.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 7
      +score: 0
      +lastActive: DateTime @1697917492 {#1579
        date: 2023-10-21 21:44:52.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@onlinepersona@programming.dev"
        "@supervent@lemmy.dbzer0.com"
        "@atlasraven31@lemm.ee"
        "@ReversalHatchery@beehaw.org"
        "@NuXCOM_90Percent@lemmy.zip"
        "@nybble41@programming.dev"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1525 …}
      +nested: Doctrine\ORM\PersistentCollection {#1566 …}
      +votes: Doctrine\ORM\PersistentCollection {#1562 …}
      +reports: Doctrine\ORM\PersistentCollection {#1554 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1555 …}
      -id: 63512
      -bodyTs: "'access':38,129 'ad':225 'adjust':282 'anonym':207 'attempt':36 'automat':246 'b32':140 'back':76 'basic':14 'becom':247 'built':199 'built-in':198 'choos':232 'client':172 'configur':154,173,271,285 'connect':85 'contrast':196 'creation':109 'destin':327 'direct':113,149 'enabl':257 'encrypt':25,53,70,84,116 'equival':333 'establish':83 'exit':16,57,101,203,234,250,341 'expos':305 'first':8 'follow':72 'go':299 'handl':165 'host':112,344 'hostnam':132 'http/https':162,307 'i2p':6,27,44,88,104,134,138,157,168,187,265,294,311,318,326 'i2p/tor':69 'includ':92 'inform':275 'intend':190 'interfac':22 'intern':96,136,338 'internet':33,41,66,213 'kind':144 'later':226 'let':9 'link':159 'list':242 'maintain':240 'manual':270 'matter':255 'model':217 'need':230,268 'network':26,54,117,221,319 'node':17,20,58,80,91,102,204,235,251,295,330,342 'non':167,325,340 'non-exit':339 'non-i2p':166,324 'one':93,245,345 'onion':97,125,131,222,348 'option':259 'origin':216 'other':276 'path':75 'pick':244 'possibl':343 'primarili':189 'protocol':148 'proxi':163,180,273,284,308 'refer':122 'regular':32,40 'request':63 'respons':71 'revers':74 'rout':48,98,205,322 'run':335 'send':61 'server':274 'servic':111,126,137,146,158,181,223,312,349 'set':262,291 'simpl':254 'site':42 'specif':156 'start':11 'support':107,150,201 'system':239 'though':151 'tor':29,46,90,106,119,194,209,220,237,249,337 'traffic':50,206,315 'url':169 'use':94,193,287 'user':35,79,210 'via':328 'way':303 'wherea':263 'without':67 'work':7 'would':47,267"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/4101407"
      +editedAt: DateTimeImmutable @1697917879 {#1559
        date: 2023-10-21 21:51:19.0 +02:00
      }
      +createdAt: DateTimeImmutable @1697917492 {#1548
        date: 2023-10-21 21:44:52.0 +02:00
      }
      +"title": 63512
    }
  ]
  -id: 6808
  -titleTs: "'psa':1 'tor':6 'torrent':4"
  -bodyTs: "'1':1 '2':32 '3':39 'actual':29 'address':31 'anonym':7,14,47 'design':12 'doesn':3,42 'give':44 'go':25 'hurt':52 'ip':30 'leak':27 'make':5 'million':21 'mind':16 'network':38,54 'protocol':9 're':24 'tcp':36 'tor':33 'torrent':8 'user':57 'want':49 'wasn':10 'way':22"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1697969159
  +visibility: "visible             "
  +apId: "https://programming.dev/post/4694754"
  +editedAt: null
  +createdAt: DateTimeImmutable @1697882759 {#1696
    date: 2023-10-21 12:05:59.0 +02: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 {#1709
  +user: App\Entity\User {#264 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1582
    +user: Proxies\__CG__\App\Entity\User {#1727 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
    +image: Proxies\__CG__\App\Entity\Image {#2326 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#2159 …}
    +slug: "PSA-Don-t-torrent-over-TOR"
    +title: "PSA: Don't torrent over TOR"
    +url: "https://tor.stackexchange.com/questions/64/how-can-bittorrent-traffic-be-anonymized-with-tor"
    +body: """
      1. It doesn’t make you anonymous. Torrent protocol wasn’t designed with anonymity in mind and there are a million ways you’re going to leak your actual IP address.\n
      2. Tor is a TCP only network.\n
      3. While this doesn’t give you the anonymity you wanted, it will hurt the network for other users.
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 100
    +favouriteCount: 624
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1699287082 {#1720
      date: 2023-11-06 17:11:22.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2338 …}
    +votes: Doctrine\ORM\PersistentCollection {#2335 …}
    +reports: Doctrine\ORM\PersistentCollection {#2337 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2058 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2050 …}
    +badges: Doctrine\ORM\PersistentCollection {#2109 …}
    +children: [
      1 => App\Entity\EntryComment {#1709}
      0 => App\Entity\EntryComment {#1550
        +user: App\Entity\User {#264 …}
        +entry: Proxies\__CG__\App\Entity\Entry {#1582 …2}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1561 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1650 …}
        +body: """
          No, that’s not how I2P works.\n
          \n
          First, let’s start with the basics. An exit node is a node which interfaces between the encrypted network (I2P or Tor) and the regular Internet. A user attempting to access a regular Internet site over I2P or Tor would route their traffic through the encrypted network to an exit node, which then sends the request over the Internet without the I2P/Tor encryption. Responses follow the reverse path back to the user. Nodes which only establish encrypted connections to other I2P or Tor nodes, including ones used for internal (onion) routing, are *not* exit nodes.\n
          \n
          Both I2P and Tor support the creation of services hosted directly through the encrypted network. In Tor these are referred to as onion services and are accessed through *.onion hostnames. In I2P these internal services (*.i2p or *.b32) are the *only* kind of service the protocol directly supports—though you can configure a specific I2P service linked to a HTTP/HTTPS proxy to handle non-I2P URLs in the client configuration. There are only a few such proxy services as this is not how I2P is primarily intended to be used.\n
          \n
          Tor, by contrast, has built-in support for exit nodes. Routing traffic anonymously from Tor users to the Internet is the original model for the Tor network; onion services were added later. There is no need to *choose* an exit node in Tor—the system maintains a list and picks one automatically. Becoming a Tor exit node is a simple matter of enabling an option in the settings, whereas in I2P you would need to manually configure a proxy server, inform others about it, and have them adjust their proxy configuration to use it.\n
          \n
          If you set up an I2P node and do not go out of your way to expose a HTTP/HTTPS proxy as an I2P service then no traffic from the I2P network can be routed to non-I2P destinations via your node. This is equivalent to running a Tor internal, *non-exit* node, possibly hosting one or more onion services.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 7
        +score: 0
        +lastActive: DateTime @1697917492 {#1579
          date: 2023-10-21 21:44:52.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@onlinepersona@programming.dev"
          "@supervent@lemmy.dbzer0.com"
          "@atlasraven31@lemm.ee"
          "@ReversalHatchery@beehaw.org"
          "@NuXCOM_90Percent@lemmy.zip"
          "@nybble41@programming.dev"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1525 …}
        +nested: Doctrine\ORM\PersistentCollection {#1566 …}
        +votes: Doctrine\ORM\PersistentCollection {#1562 …}
        +reports: Doctrine\ORM\PersistentCollection {#1554 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1555 …}
        -id: 63512
        -bodyTs: "'access':38,129 'ad':225 'adjust':282 'anonym':207 'attempt':36 'automat':246 'b32':140 'back':76 'basic':14 'becom':247 'built':199 'built-in':198 'choos':232 'client':172 'configur':154,173,271,285 'connect':85 'contrast':196 'creation':109 'destin':327 'direct':113,149 'enabl':257 'encrypt':25,53,70,84,116 'equival':333 'establish':83 'exit':16,57,101,203,234,250,341 'expos':305 'first':8 'follow':72 'go':299 'handl':165 'host':112,344 'hostnam':132 'http/https':162,307 'i2p':6,27,44,88,104,134,138,157,168,187,265,294,311,318,326 'i2p/tor':69 'includ':92 'inform':275 'intend':190 'interfac':22 'intern':96,136,338 'internet':33,41,66,213 'kind':144 'later':226 'let':9 'link':159 'list':242 'maintain':240 'manual':270 'matter':255 'model':217 'need':230,268 'network':26,54,117,221,319 'node':17,20,58,80,91,102,204,235,251,295,330,342 'non':167,325,340 'non-exit':339 'non-i2p':166,324 'one':93,245,345 'onion':97,125,131,222,348 'option':259 'origin':216 'other':276 'path':75 'pick':244 'possibl':343 'primarili':189 'protocol':148 'proxi':163,180,273,284,308 'refer':122 'regular':32,40 'request':63 'respons':71 'revers':74 'rout':48,98,205,322 'run':335 'send':61 'server':274 'servic':111,126,137,146,158,181,223,312,349 'set':262,291 'simpl':254 'site':42 'specif':156 'start':11 'support':107,150,201 'system':239 'though':151 'tor':29,46,90,106,119,194,209,220,237,249,337 'traffic':50,206,315 'url':169 'use':94,193,287 'user':35,79,210 'via':328 'way':303 'wherea':263 'without':67 'work':7 'would':47,267"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://programming.dev/comment/4101407"
        +editedAt: DateTimeImmutable @1697917879 {#1559
          date: 2023-10-21 21:51:19.0 +02:00
        }
        +createdAt: DateTimeImmutable @1697917492 {#1548
          date: 2023-10-21 21:44:52.0 +02:00
        }
        +"title": 63512
      }
    ]
    -id: 6808
    -titleTs: "'psa':1 'tor':6 'torrent':4"
    -bodyTs: "'1':1 '2':32 '3':39 'actual':29 'address':31 'anonym':7,14,47 'design':12 'doesn':3,42 'give':44 'go':25 'hurt':52 'ip':30 'leak':27 'make':5 'million':21 'mind':16 'network':38,54 'protocol':9 're':24 'tcp':36 'tor':33 'torrent':8 'user':57 'want':49 'wasn':10 'way':22"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697969159
    +visibility: "visible             "
    +apId: "https://programming.dev/post/4694754"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697882759 {#1696
      date: 2023-10-21 12:05:59.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#1654 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#1650 …}
  +body: "It is *not* true that every node is an exit node in I2P. The I2P protocol does not officially have exit nodes—all I2P communication terminates at some node within the I2P network, encrypted end-to-end. It is possible to run a local proxy server and make it accessible to other users as an I2P service, creating an “exit node” of sorts, but this is something that must be set up deliberately; it’s not the default or recommended configuration. Users would need to select a specific I2P proxy service (exit node) to forward non-I2P traffic through and configure their browser (or other network-based programs) to use it."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 10
  +score: 0
  +lastActive: DateTime @1697908069 {#1435
    date: 2023-10-21 19:07:49.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@onlinepersona@programming.dev"
    "@supervent@lemmy.dbzer0.com"
    "@atlasraven31@lemm.ee"
    "@ReversalHatchery@beehaw.org"
    "@NuXCOM_90Percent@lemmy.zip"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1671 …}
  +nested: Doctrine\ORM\PersistentCollection {#1667 …}
  +votes: Doctrine\ORM\PersistentCollection {#1670 …}
  +reports: Doctrine\ORM\PersistentCollection {#1678 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1551 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1586 …}
  -id: 63223
  -bodyTs: "'access':51 'base':110 'browser':105 'communic':25 'configur':82,103 'creat':59 'default':79 'deliber':74 'encrypt':34 'end':36,38 'end-to-end':35 'everi':6 'exit':10,21,61,93 'forward':96 'i2p':13,15,24,32,57,90,99 'local':45 'make':49 'must':70 'need':85 'network':33,109 'network-bas':108 'node':7,11,22,29,62,94 'non':98 'non-i2p':97 'offici':19 'possibl':41 'program':111 'protocol':16 'proxi':46,91 'recommend':81 'run':43 'select':87 'server':47 'servic':58,92 'set':72 'someth':68 'sort':64 'specif':89 'termin':26 'traffic':100 'true':4 'use':113 'user':54,83 'within':30 'would':84"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/4097827"
  +editedAt: null
  +createdAt: DateTimeImmutable @1697908069 {#1438
    date: 2023-10-21 19:07:49.0 +02:00
  }
  +"title": 63223
}
"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 {#1709
  +user: App\Entity\User {#264 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1582
    +user: Proxies\__CG__\App\Entity\User {#1727 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
    +image: Proxies\__CG__\App\Entity\Image {#2326 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#2159 …}
    +slug: "PSA-Don-t-torrent-over-TOR"
    +title: "PSA: Don't torrent over TOR"
    +url: "https://tor.stackexchange.com/questions/64/how-can-bittorrent-traffic-be-anonymized-with-tor"
    +body: """
      1. It doesn’t make you anonymous. Torrent protocol wasn’t designed with anonymity in mind and there are a million ways you’re going to leak your actual IP address.\n
      2. Tor is a TCP only network.\n
      3. While this doesn’t give you the anonymity you wanted, it will hurt the network for other users.
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 100
    +favouriteCount: 624
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1699287082 {#1720
      date: 2023-11-06 17:11:22.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2338 …}
    +votes: Doctrine\ORM\PersistentCollection {#2335 …}
    +reports: Doctrine\ORM\PersistentCollection {#2337 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2058 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2050 …}
    +badges: Doctrine\ORM\PersistentCollection {#2109 …}
    +children: [
      1 => App\Entity\EntryComment {#1709}
      0 => App\Entity\EntryComment {#1550
        +user: App\Entity\User {#264 …}
        +entry: Proxies\__CG__\App\Entity\Entry {#1582 …2}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1561 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1650 …}
        +body: """
          No, that’s not how I2P works.\n
          \n
          First, let’s start with the basics. An exit node is a node which interfaces between the encrypted network (I2P or Tor) and the regular Internet. A user attempting to access a regular Internet site over I2P or Tor would route their traffic through the encrypted network to an exit node, which then sends the request over the Internet without the I2P/Tor encryption. Responses follow the reverse path back to the user. Nodes which only establish encrypted connections to other I2P or Tor nodes, including ones used for internal (onion) routing, are *not* exit nodes.\n
          \n
          Both I2P and Tor support the creation of services hosted directly through the encrypted network. In Tor these are referred to as onion services and are accessed through *.onion hostnames. In I2P these internal services (*.i2p or *.b32) are the *only* kind of service the protocol directly supports—though you can configure a specific I2P service linked to a HTTP/HTTPS proxy to handle non-I2P URLs in the client configuration. There are only a few such proxy services as this is not how I2P is primarily intended to be used.\n
          \n
          Tor, by contrast, has built-in support for exit nodes. Routing traffic anonymously from Tor users to the Internet is the original model for the Tor network; onion services were added later. There is no need to *choose* an exit node in Tor—the system maintains a list and picks one automatically. Becoming a Tor exit node is a simple matter of enabling an option in the settings, whereas in I2P you would need to manually configure a proxy server, inform others about it, and have them adjust their proxy configuration to use it.\n
          \n
          If you set up an I2P node and do not go out of your way to expose a HTTP/HTTPS proxy as an I2P service then no traffic from the I2P network can be routed to non-I2P destinations via your node. This is equivalent to running a Tor internal, *non-exit* node, possibly hosting one or more onion services.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 7
        +score: 0
        +lastActive: DateTime @1697917492 {#1579
          date: 2023-10-21 21:44:52.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@onlinepersona@programming.dev"
          "@supervent@lemmy.dbzer0.com"
          "@atlasraven31@lemm.ee"
          "@ReversalHatchery@beehaw.org"
          "@NuXCOM_90Percent@lemmy.zip"
          "@nybble41@programming.dev"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1525 …}
        +nested: Doctrine\ORM\PersistentCollection {#1566 …}
        +votes: Doctrine\ORM\PersistentCollection {#1562 …}
        +reports: Doctrine\ORM\PersistentCollection {#1554 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1555 …}
        -id: 63512
        -bodyTs: "'access':38,129 'ad':225 'adjust':282 'anonym':207 'attempt':36 'automat':246 'b32':140 'back':76 'basic':14 'becom':247 'built':199 'built-in':198 'choos':232 'client':172 'configur':154,173,271,285 'connect':85 'contrast':196 'creation':109 'destin':327 'direct':113,149 'enabl':257 'encrypt':25,53,70,84,116 'equival':333 'establish':83 'exit':16,57,101,203,234,250,341 'expos':305 'first':8 'follow':72 'go':299 'handl':165 'host':112,344 'hostnam':132 'http/https':162,307 'i2p':6,27,44,88,104,134,138,157,168,187,265,294,311,318,326 'i2p/tor':69 'includ':92 'inform':275 'intend':190 'interfac':22 'intern':96,136,338 'internet':33,41,66,213 'kind':144 'later':226 'let':9 'link':159 'list':242 'maintain':240 'manual':270 'matter':255 'model':217 'need':230,268 'network':26,54,117,221,319 'node':17,20,58,80,91,102,204,235,251,295,330,342 'non':167,325,340 'non-exit':339 'non-i2p':166,324 'one':93,245,345 'onion':97,125,131,222,348 'option':259 'origin':216 'other':276 'path':75 'pick':244 'possibl':343 'primarili':189 'protocol':148 'proxi':163,180,273,284,308 'refer':122 'regular':32,40 'request':63 'respons':71 'revers':74 'rout':48,98,205,322 'run':335 'send':61 'server':274 'servic':111,126,137,146,158,181,223,312,349 'set':262,291 'simpl':254 'site':42 'specif':156 'start':11 'support':107,150,201 'system':239 'though':151 'tor':29,46,90,106,119,194,209,220,237,249,337 'traffic':50,206,315 'url':169 'use':94,193,287 'user':35,79,210 'via':328 'way':303 'wherea':263 'without':67 'work':7 'would':47,267"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://programming.dev/comment/4101407"
        +editedAt: DateTimeImmutable @1697917879 {#1559
          date: 2023-10-21 21:51:19.0 +02:00
        }
        +createdAt: DateTimeImmutable @1697917492 {#1548
          date: 2023-10-21 21:44:52.0 +02:00
        }
        +"title": 63512
      }
    ]
    -id: 6808
    -titleTs: "'psa':1 'tor':6 'torrent':4"
    -bodyTs: "'1':1 '2':32 '3':39 'actual':29 'address':31 'anonym':7,14,47 'design':12 'doesn':3,42 'give':44 'go':25 'hurt':52 'ip':30 'leak':27 'make':5 'million':21 'mind':16 'network':38,54 'protocol':9 're':24 'tcp':36 'tor':33 'torrent':8 'user':57 'want':49 'wasn':10 'way':22"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697969159
    +visibility: "visible             "
    +apId: "https://programming.dev/post/4694754"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697882759 {#1696
      date: 2023-10-21 12:05:59.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#1654 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#1650 …}
  +body: "It is *not* true that every node is an exit node in I2P. The I2P protocol does not officially have exit nodes—all I2P communication terminates at some node within the I2P network, encrypted end-to-end. It is possible to run a local proxy server and make it accessible to other users as an I2P service, creating an “exit node” of sorts, but this is something that must be set up deliberately; it’s not the default or recommended configuration. Users would need to select a specific I2P proxy service (exit node) to forward non-I2P traffic through and configure their browser (or other network-based programs) to use it."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 10
  +score: 0
  +lastActive: DateTime @1697908069 {#1435
    date: 2023-10-21 19:07:49.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@onlinepersona@programming.dev"
    "@supervent@lemmy.dbzer0.com"
    "@atlasraven31@lemm.ee"
    "@ReversalHatchery@beehaw.org"
    "@NuXCOM_90Percent@lemmy.zip"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1671 …}
  +nested: Doctrine\ORM\PersistentCollection {#1667 …}
  +votes: Doctrine\ORM\PersistentCollection {#1670 …}
  +reports: Doctrine\ORM\PersistentCollection {#1678 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1551 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1586 …}
  -id: 63223
  -bodyTs: "'access':51 'base':110 'browser':105 'communic':25 'configur':82,103 'creat':59 'default':79 'deliber':74 'encrypt':34 'end':36,38 'end-to-end':35 'everi':6 'exit':10,21,61,93 'forward':96 'i2p':13,15,24,32,57,90,99 'local':45 'make':49 'must':70 'need':85 'network':33,109 'network-bas':108 'node':7,11,22,29,62,94 'non':98 'non-i2p':97 'offici':19 'possibl':41 'program':111 'protocol':16 'proxi':46,91 'recommend':81 'run':43 'select':87 'server':47 'servic':58,92 'set':72 'someth':68 'sort':64 'specif':89 'termin':26 'traffic':100 'true':4 'use':113 'user':54,83 'within':30 'would':84"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/4097827"
  +editedAt: null
  +createdAt: DateTimeImmutable @1697908069 {#1438
    date: 2023-10-21 19:07:49.0 +02:00
  }
  +"title": 63223
}
"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 {#1709
  +user: App\Entity\User {#264 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1582
    +user: Proxies\__CG__\App\Entity\User {#1727 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
    +image: Proxies\__CG__\App\Entity\Image {#2326 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#2159 …}
    +slug: "PSA-Don-t-torrent-over-TOR"
    +title: "PSA: Don't torrent over TOR"
    +url: "https://tor.stackexchange.com/questions/64/how-can-bittorrent-traffic-be-anonymized-with-tor"
    +body: """
      1. It doesn’t make you anonymous. Torrent protocol wasn’t designed with anonymity in mind and there are a million ways you’re going to leak your actual IP address.\n
      2. Tor is a TCP only network.\n
      3. While this doesn’t give you the anonymity you wanted, it will hurt the network for other users.
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 100
    +favouriteCount: 624
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1699287082 {#1720
      date: 2023-11-06 17:11:22.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2338 …}
    +votes: Doctrine\ORM\PersistentCollection {#2335 …}
    +reports: Doctrine\ORM\PersistentCollection {#2337 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2058 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2050 …}
    +badges: Doctrine\ORM\PersistentCollection {#2109 …}
    +children: [
      1 => App\Entity\EntryComment {#1709}
      0 => App\Entity\EntryComment {#1550
        +user: App\Entity\User {#264 …}
        +entry: Proxies\__CG__\App\Entity\Entry {#1582 …2}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1561 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1650 …}
        +body: """
          No, that’s not how I2P works.\n
          \n
          First, let’s start with the basics. An exit node is a node which interfaces between the encrypted network (I2P or Tor) and the regular Internet. A user attempting to access a regular Internet site over I2P or Tor would route their traffic through the encrypted network to an exit node, which then sends the request over the Internet without the I2P/Tor encryption. Responses follow the reverse path back to the user. Nodes which only establish encrypted connections to other I2P or Tor nodes, including ones used for internal (onion) routing, are *not* exit nodes.\n
          \n
          Both I2P and Tor support the creation of services hosted directly through the encrypted network. In Tor these are referred to as onion services and are accessed through *.onion hostnames. In I2P these internal services (*.i2p or *.b32) are the *only* kind of service the protocol directly supports—though you can configure a specific I2P service linked to a HTTP/HTTPS proxy to handle non-I2P URLs in the client configuration. There are only a few such proxy services as this is not how I2P is primarily intended to be used.\n
          \n
          Tor, by contrast, has built-in support for exit nodes. Routing traffic anonymously from Tor users to the Internet is the original model for the Tor network; onion services were added later. There is no need to *choose* an exit node in Tor—the system maintains a list and picks one automatically. Becoming a Tor exit node is a simple matter of enabling an option in the settings, whereas in I2P you would need to manually configure a proxy server, inform others about it, and have them adjust their proxy configuration to use it.\n
          \n
          If you set up an I2P node and do not go out of your way to expose a HTTP/HTTPS proxy as an I2P service then no traffic from the I2P network can be routed to non-I2P destinations via your node. This is equivalent to running a Tor internal, *non-exit* node, possibly hosting one or more onion services.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 7
        +score: 0
        +lastActive: DateTime @1697917492 {#1579
          date: 2023-10-21 21:44:52.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@onlinepersona@programming.dev"
          "@supervent@lemmy.dbzer0.com"
          "@atlasraven31@lemm.ee"
          "@ReversalHatchery@beehaw.org"
          "@NuXCOM_90Percent@lemmy.zip"
          "@nybble41@programming.dev"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1525 …}
        +nested: Doctrine\ORM\PersistentCollection {#1566 …}
        +votes: Doctrine\ORM\PersistentCollection {#1562 …}
        +reports: Doctrine\ORM\PersistentCollection {#1554 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1555 …}
        -id: 63512
        -bodyTs: "'access':38,129 'ad':225 'adjust':282 'anonym':207 'attempt':36 'automat':246 'b32':140 'back':76 'basic':14 'becom':247 'built':199 'built-in':198 'choos':232 'client':172 'configur':154,173,271,285 'connect':85 'contrast':196 'creation':109 'destin':327 'direct':113,149 'enabl':257 'encrypt':25,53,70,84,116 'equival':333 'establish':83 'exit':16,57,101,203,234,250,341 'expos':305 'first':8 'follow':72 'go':299 'handl':165 'host':112,344 'hostnam':132 'http/https':162,307 'i2p':6,27,44,88,104,134,138,157,168,187,265,294,311,318,326 'i2p/tor':69 'includ':92 'inform':275 'intend':190 'interfac':22 'intern':96,136,338 'internet':33,41,66,213 'kind':144 'later':226 'let':9 'link':159 'list':242 'maintain':240 'manual':270 'matter':255 'model':217 'need':230,268 'network':26,54,117,221,319 'node':17,20,58,80,91,102,204,235,251,295,330,342 'non':167,325,340 'non-exit':339 'non-i2p':166,324 'one':93,245,345 'onion':97,125,131,222,348 'option':259 'origin':216 'other':276 'path':75 'pick':244 'possibl':343 'primarili':189 'protocol':148 'proxi':163,180,273,284,308 'refer':122 'regular':32,40 'request':63 'respons':71 'revers':74 'rout':48,98,205,322 'run':335 'send':61 'server':274 'servic':111,126,137,146,158,181,223,312,349 'set':262,291 'simpl':254 'site':42 'specif':156 'start':11 'support':107,150,201 'system':239 'though':151 'tor':29,46,90,106,119,194,209,220,237,249,337 'traffic':50,206,315 'url':169 'use':94,193,287 'user':35,79,210 'via':328 'way':303 'wherea':263 'without':67 'work':7 'would':47,267"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://programming.dev/comment/4101407"
        +editedAt: DateTimeImmutable @1697917879 {#1559
          date: 2023-10-21 21:51:19.0 +02:00
        }
        +createdAt: DateTimeImmutable @1697917492 {#1548
          date: 2023-10-21 21:44:52.0 +02:00
        }
        +"title": 63512
      }
    ]
    -id: 6808
    -titleTs: "'psa':1 'tor':6 'torrent':4"
    -bodyTs: "'1':1 '2':32 '3':39 'actual':29 'address':31 'anonym':7,14,47 'design':12 'doesn':3,42 'give':44 'go':25 'hurt':52 'ip':30 'leak':27 'make':5 'million':21 'mind':16 'network':38,54 'protocol':9 're':24 'tcp':36 'tor':33 'torrent':8 'user':57 'want':49 'wasn':10 'way':22"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697969159
    +visibility: "visible             "
    +apId: "https://programming.dev/post/4694754"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697882759 {#1696
      date: 2023-10-21 12:05:59.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#1654 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#1650 …}
  +body: "It is *not* true that every node is an exit node in I2P. The I2P protocol does not officially have exit nodes—all I2P communication terminates at some node within the I2P network, encrypted end-to-end. It is possible to run a local proxy server and make it accessible to other users as an I2P service, creating an “exit node” of sorts, but this is something that must be set up deliberately; it’s not the default or recommended configuration. Users would need to select a specific I2P proxy service (exit node) to forward non-I2P traffic through and configure their browser (or other network-based programs) to use it."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 10
  +score: 0
  +lastActive: DateTime @1697908069 {#1435
    date: 2023-10-21 19:07:49.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@onlinepersona@programming.dev"
    "@supervent@lemmy.dbzer0.com"
    "@atlasraven31@lemm.ee"
    "@ReversalHatchery@beehaw.org"
    "@NuXCOM_90Percent@lemmy.zip"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1671 …}
  +nested: Doctrine\ORM\PersistentCollection {#1667 …}
  +votes: Doctrine\ORM\PersistentCollection {#1670 …}
  +reports: Doctrine\ORM\PersistentCollection {#1678 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1551 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1586 …}
  -id: 63223
  -bodyTs: "'access':51 'base':110 'browser':105 'communic':25 'configur':82,103 'creat':59 'default':79 'deliber':74 'encrypt':34 'end':36,38 'end-to-end':35 'everi':6 'exit':10,21,61,93 'forward':96 'i2p':13,15,24,32,57,90,99 'local':45 'make':49 'must':70 'need':85 'network':33,109 'network-bas':108 'node':7,11,22,29,62,94 'non':98 'non-i2p':97 'offici':19 'possibl':41 'program':111 'protocol':16 'proxi':46,91 'recommend':81 'run':43 'select':87 'server':47 'servic':58,92 'set':72 'someth':68 'sort':64 'specif':89 'termin':26 'traffic':100 'true':4 'use':113 'user':54,83 'within':30 'would':84"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/4097827"
  +editedAt: null
  +createdAt: DateTimeImmutable @1697908069 {#1438
    date: 2023-10-21 19:07:49.0 +02:00
  }
  +"title": 63223
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
9 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
10 DENIED moderate
App\Entity\EntryComment {#1550
  +user: App\Entity\User {#264 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1582
    +user: Proxies\__CG__\App\Entity\User {#1727 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
    +image: Proxies\__CG__\App\Entity\Image {#2326 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#2159 …}
    +slug: "PSA-Don-t-torrent-over-TOR"
    +title: "PSA: Don't torrent over TOR"
    +url: "https://tor.stackexchange.com/questions/64/how-can-bittorrent-traffic-be-anonymized-with-tor"
    +body: """
      1. It doesn’t make you anonymous. Torrent protocol wasn’t designed with anonymity in mind and there are a million ways you’re going to leak your actual IP address.\n
      2. Tor is a TCP only network.\n
      3. While this doesn’t give you the anonymity you wanted, it will hurt the network for other users.
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 100
    +favouriteCount: 624
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1699287082 {#1720
      date: 2023-11-06 17:11:22.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2338 …}
    +votes: Doctrine\ORM\PersistentCollection {#2335 …}
    +reports: Doctrine\ORM\PersistentCollection {#2337 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2058 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2050 …}
    +badges: Doctrine\ORM\PersistentCollection {#2109 …}
    +children: [
      1 => App\Entity\EntryComment {#1709
        +user: App\Entity\User {#264 …}
        +entry: Proxies\__CG__\App\Entity\Entry {#1582 …2}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1654 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1650 …}
        +body: "It is *not* true that every node is an exit node in I2P. The I2P protocol does not officially have exit nodes—all I2P communication terminates at some node within the I2P network, encrypted end-to-end. It is possible to run a local proxy server and make it accessible to other users as an I2P service, creating an “exit node” of sorts, but this is something that must be set up deliberately; it’s not the default or recommended configuration. Users would need to select a specific I2P proxy service (exit node) to forward non-I2P traffic through and configure their browser (or other network-based programs) to use it."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 10
        +score: 0
        +lastActive: DateTime @1697908069 {#1435
          date: 2023-10-21 19:07:49.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@onlinepersona@programming.dev"
          "@supervent@lemmy.dbzer0.com"
          "@atlasraven31@lemm.ee"
          "@ReversalHatchery@beehaw.org"
          "@NuXCOM_90Percent@lemmy.zip"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1671 …}
        +nested: Doctrine\ORM\PersistentCollection {#1667 …}
        +votes: Doctrine\ORM\PersistentCollection {#1670 …}
        +reports: Doctrine\ORM\PersistentCollection {#1678 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1551 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1586 …}
        -id: 63223
        -bodyTs: "'access':51 'base':110 'browser':105 'communic':25 'configur':82,103 'creat':59 'default':79 'deliber':74 'encrypt':34 'end':36,38 'end-to-end':35 'everi':6 'exit':10,21,61,93 'forward':96 'i2p':13,15,24,32,57,90,99 'local':45 'make':49 'must':70 'need':85 'network':33,109 'network-bas':108 'node':7,11,22,29,62,94 'non':98 'non-i2p':97 'offici':19 'possibl':41 'program':111 'protocol':16 'proxi':46,91 'recommend':81 'run':43 'select':87 'server':47 'servic':58,92 'set':72 'someth':68 'sort':64 'specif':89 'termin':26 'traffic':100 'true':4 'use':113 'user':54,83 'within':30 'would':84"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://programming.dev/comment/4097827"
        +editedAt: null
        +createdAt: DateTimeImmutable @1697908069 {#1438
          date: 2023-10-21 19:07:49.0 +02:00
        }
        +"title": 63223
      }
      0 => App\Entity\EntryComment {#1550}
    ]
    -id: 6808
    -titleTs: "'psa':1 'tor':6 'torrent':4"
    -bodyTs: "'1':1 '2':32 '3':39 'actual':29 'address':31 'anonym':7,14,47 'design':12 'doesn':3,42 'give':44 'go':25 'hurt':52 'ip':30 'leak':27 'make':5 'million':21 'mind':16 'network':38,54 'protocol':9 're':24 'tcp':36 'tor':33 'torrent':8 'user':57 'want':49 'wasn':10 'way':22"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697969159
    +visibility: "visible             "
    +apId: "https://programming.dev/post/4694754"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697882759 {#1696
      date: 2023-10-21 12:05:59.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#1561 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#1650 …}
  +body: """
    No, that’s not how I2P works.\n
    \n
    First, let’s start with the basics. An exit node is a node which interfaces between the encrypted network (I2P or Tor) and the regular Internet. A user attempting to access a regular Internet site over I2P or Tor would route their traffic through the encrypted network to an exit node, which then sends the request over the Internet without the I2P/Tor encryption. Responses follow the reverse path back to the user. Nodes which only establish encrypted connections to other I2P or Tor nodes, including ones used for internal (onion) routing, are *not* exit nodes.\n
    \n
    Both I2P and Tor support the creation of services hosted directly through the encrypted network. In Tor these are referred to as onion services and are accessed through *.onion hostnames. In I2P these internal services (*.i2p or *.b32) are the *only* kind of service the protocol directly supports—though you can configure a specific I2P service linked to a HTTP/HTTPS proxy to handle non-I2P URLs in the client configuration. There are only a few such proxy services as this is not how I2P is primarily intended to be used.\n
    \n
    Tor, by contrast, has built-in support for exit nodes. Routing traffic anonymously from Tor users to the Internet is the original model for the Tor network; onion services were added later. There is no need to *choose* an exit node in Tor—the system maintains a list and picks one automatically. Becoming a Tor exit node is a simple matter of enabling an option in the settings, whereas in I2P you would need to manually configure a proxy server, inform others about it, and have them adjust their proxy configuration to use it.\n
    \n
    If you set up an I2P node and do not go out of your way to expose a HTTP/HTTPS proxy as an I2P service then no traffic from the I2P network can be routed to non-I2P destinations via your node. This is equivalent to running a Tor internal, *non-exit* node, possibly hosting one or more onion services.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 7
  +score: 0
  +lastActive: DateTime @1697917492 {#1579
    date: 2023-10-21 21:44:52.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@onlinepersona@programming.dev"
    "@supervent@lemmy.dbzer0.com"
    "@atlasraven31@lemm.ee"
    "@ReversalHatchery@beehaw.org"
    "@NuXCOM_90Percent@lemmy.zip"
    "@nybble41@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1525 …}
  +nested: Doctrine\ORM\PersistentCollection {#1566 …}
  +votes: Doctrine\ORM\PersistentCollection {#1562 …}
  +reports: Doctrine\ORM\PersistentCollection {#1554 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1555 …}
  -id: 63512
  -bodyTs: "'access':38,129 'ad':225 'adjust':282 'anonym':207 'attempt':36 'automat':246 'b32':140 'back':76 'basic':14 'becom':247 'built':199 'built-in':198 'choos':232 'client':172 'configur':154,173,271,285 'connect':85 'contrast':196 'creation':109 'destin':327 'direct':113,149 'enabl':257 'encrypt':25,53,70,84,116 'equival':333 'establish':83 'exit':16,57,101,203,234,250,341 'expos':305 'first':8 'follow':72 'go':299 'handl':165 'host':112,344 'hostnam':132 'http/https':162,307 'i2p':6,27,44,88,104,134,138,157,168,187,265,294,311,318,326 'i2p/tor':69 'includ':92 'inform':275 'intend':190 'interfac':22 'intern':96,136,338 'internet':33,41,66,213 'kind':144 'later':226 'let':9 'link':159 'list':242 'maintain':240 'manual':270 'matter':255 'model':217 'need':230,268 'network':26,54,117,221,319 'node':17,20,58,80,91,102,204,235,251,295,330,342 'non':167,325,340 'non-exit':339 'non-i2p':166,324 'one':93,245,345 'onion':97,125,131,222,348 'option':259 'origin':216 'other':276 'path':75 'pick':244 'possibl':343 'primarili':189 'protocol':148 'proxi':163,180,273,284,308 'refer':122 'regular':32,40 'request':63 'respons':71 'revers':74 'rout':48,98,205,322 'run':335 'send':61 'server':274 'servic':111,126,137,146,158,181,223,312,349 'set':262,291 'simpl':254 'site':42 'specif':156 'start':11 'support':107,150,201 'system':239 'though':151 'tor':29,46,90,106,119,194,209,220,237,249,337 'traffic':50,206,315 'url':169 'use':94,193,287 'user':35,79,210 'via':328 'way':303 'wherea':263 'without':67 'work':7 'would':47,267"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/4101407"
  +editedAt: DateTimeImmutable @1697917879 {#1559
    date: 2023-10-21 21:51:19.0 +02:00
  }
  +createdAt: DateTimeImmutable @1697917492 {#1548
    date: 2023-10-21 21:44:52.0 +02:00
  }
  +"title": 63512
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
11 DENIED edit
App\Entity\EntryComment {#1550
  +user: App\Entity\User {#264 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1582
    +user: Proxies\__CG__\App\Entity\User {#1727 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
    +image: Proxies\__CG__\App\Entity\Image {#2326 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#2159 …}
    +slug: "PSA-Don-t-torrent-over-TOR"
    +title: "PSA: Don't torrent over TOR"
    +url: "https://tor.stackexchange.com/questions/64/how-can-bittorrent-traffic-be-anonymized-with-tor"
    +body: """
      1. It doesn’t make you anonymous. Torrent protocol wasn’t designed with anonymity in mind and there are a million ways you’re going to leak your actual IP address.\n
      2. Tor is a TCP only network.\n
      3. While this doesn’t give you the anonymity you wanted, it will hurt the network for other users.
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 100
    +favouriteCount: 624
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1699287082 {#1720
      date: 2023-11-06 17:11:22.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2338 …}
    +votes: Doctrine\ORM\PersistentCollection {#2335 …}
    +reports: Doctrine\ORM\PersistentCollection {#2337 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2058 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2050 …}
    +badges: Doctrine\ORM\PersistentCollection {#2109 …}
    +children: [
      1 => App\Entity\EntryComment {#1709
        +user: App\Entity\User {#264 …}
        +entry: Proxies\__CG__\App\Entity\Entry {#1582 …2}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1654 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1650 …}
        +body: "It is *not* true that every node is an exit node in I2P. The I2P protocol does not officially have exit nodes—all I2P communication terminates at some node within the I2P network, encrypted end-to-end. It is possible to run a local proxy server and make it accessible to other users as an I2P service, creating an “exit node” of sorts, but this is something that must be set up deliberately; it’s not the default or recommended configuration. Users would need to select a specific I2P proxy service (exit node) to forward non-I2P traffic through and configure their browser (or other network-based programs) to use it."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 10
        +score: 0
        +lastActive: DateTime @1697908069 {#1435
          date: 2023-10-21 19:07:49.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@onlinepersona@programming.dev"
          "@supervent@lemmy.dbzer0.com"
          "@atlasraven31@lemm.ee"
          "@ReversalHatchery@beehaw.org"
          "@NuXCOM_90Percent@lemmy.zip"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1671 …}
        +nested: Doctrine\ORM\PersistentCollection {#1667 …}
        +votes: Doctrine\ORM\PersistentCollection {#1670 …}
        +reports: Doctrine\ORM\PersistentCollection {#1678 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1551 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1586 …}
        -id: 63223
        -bodyTs: "'access':51 'base':110 'browser':105 'communic':25 'configur':82,103 'creat':59 'default':79 'deliber':74 'encrypt':34 'end':36,38 'end-to-end':35 'everi':6 'exit':10,21,61,93 'forward':96 'i2p':13,15,24,32,57,90,99 'local':45 'make':49 'must':70 'need':85 'network':33,109 'network-bas':108 'node':7,11,22,29,62,94 'non':98 'non-i2p':97 'offici':19 'possibl':41 'program':111 'protocol':16 'proxi':46,91 'recommend':81 'run':43 'select':87 'server':47 'servic':58,92 'set':72 'someth':68 'sort':64 'specif':89 'termin':26 'traffic':100 'true':4 'use':113 'user':54,83 'within':30 'would':84"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://programming.dev/comment/4097827"
        +editedAt: null
        +createdAt: DateTimeImmutable @1697908069 {#1438
          date: 2023-10-21 19:07:49.0 +02:00
        }
        +"title": 63223
      }
      0 => App\Entity\EntryComment {#1550}
    ]
    -id: 6808
    -titleTs: "'psa':1 'tor':6 'torrent':4"
    -bodyTs: "'1':1 '2':32 '3':39 'actual':29 'address':31 'anonym':7,14,47 'design':12 'doesn':3,42 'give':44 'go':25 'hurt':52 'ip':30 'leak':27 'make':5 'million':21 'mind':16 'network':38,54 'protocol':9 're':24 'tcp':36 'tor':33 'torrent':8 'user':57 'want':49 'wasn':10 'way':22"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697969159
    +visibility: "visible             "
    +apId: "https://programming.dev/post/4694754"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697882759 {#1696
      date: 2023-10-21 12:05:59.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#1561 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#1650 …}
  +body: """
    No, that’s not how I2P works.\n
    \n
    First, let’s start with the basics. An exit node is a node which interfaces between the encrypted network (I2P or Tor) and the regular Internet. A user attempting to access a regular Internet site over I2P or Tor would route their traffic through the encrypted network to an exit node, which then sends the request over the Internet without the I2P/Tor encryption. Responses follow the reverse path back to the user. Nodes which only establish encrypted connections to other I2P or Tor nodes, including ones used for internal (onion) routing, are *not* exit nodes.\n
    \n
    Both I2P and Tor support the creation of services hosted directly through the encrypted network. In Tor these are referred to as onion services and are accessed through *.onion hostnames. In I2P these internal services (*.i2p or *.b32) are the *only* kind of service the protocol directly supports—though you can configure a specific I2P service linked to a HTTP/HTTPS proxy to handle non-I2P URLs in the client configuration. There are only a few such proxy services as this is not how I2P is primarily intended to be used.\n
    \n
    Tor, by contrast, has built-in support for exit nodes. Routing traffic anonymously from Tor users to the Internet is the original model for the Tor network; onion services were added later. There is no need to *choose* an exit node in Tor—the system maintains a list and picks one automatically. Becoming a Tor exit node is a simple matter of enabling an option in the settings, whereas in I2P you would need to manually configure a proxy server, inform others about it, and have them adjust their proxy configuration to use it.\n
    \n
    If you set up an I2P node and do not go out of your way to expose a HTTP/HTTPS proxy as an I2P service then no traffic from the I2P network can be routed to non-I2P destinations via your node. This is equivalent to running a Tor internal, *non-exit* node, possibly hosting one or more onion services.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 7
  +score: 0
  +lastActive: DateTime @1697917492 {#1579
    date: 2023-10-21 21:44:52.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@onlinepersona@programming.dev"
    "@supervent@lemmy.dbzer0.com"
    "@atlasraven31@lemm.ee"
    "@ReversalHatchery@beehaw.org"
    "@NuXCOM_90Percent@lemmy.zip"
    "@nybble41@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1525 …}
  +nested: Doctrine\ORM\PersistentCollection {#1566 …}
  +votes: Doctrine\ORM\PersistentCollection {#1562 …}
  +reports: Doctrine\ORM\PersistentCollection {#1554 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1555 …}
  -id: 63512
  -bodyTs: "'access':38,129 'ad':225 'adjust':282 'anonym':207 'attempt':36 'automat':246 'b32':140 'back':76 'basic':14 'becom':247 'built':199 'built-in':198 'choos':232 'client':172 'configur':154,173,271,285 'connect':85 'contrast':196 'creation':109 'destin':327 'direct':113,149 'enabl':257 'encrypt':25,53,70,84,116 'equival':333 'establish':83 'exit':16,57,101,203,234,250,341 'expos':305 'first':8 'follow':72 'go':299 'handl':165 'host':112,344 'hostnam':132 'http/https':162,307 'i2p':6,27,44,88,104,134,138,157,168,187,265,294,311,318,326 'i2p/tor':69 'includ':92 'inform':275 'intend':190 'interfac':22 'intern':96,136,338 'internet':33,41,66,213 'kind':144 'later':226 'let':9 'link':159 'list':242 'maintain':240 'manual':270 'matter':255 'model':217 'need':230,268 'network':26,54,117,221,319 'node':17,20,58,80,91,102,204,235,251,295,330,342 'non':167,325,340 'non-exit':339 'non-i2p':166,324 'one':93,245,345 'onion':97,125,131,222,348 'option':259 'origin':216 'other':276 'path':75 'pick':244 'possibl':343 'primarili':189 'protocol':148 'proxi':163,180,273,284,308 'refer':122 'regular':32,40 'request':63 'respons':71 'revers':74 'rout':48,98,205,322 'run':335 'send':61 'server':274 'servic':111,126,137,146,158,181,223,312,349 'set':262,291 'simpl':254 'site':42 'specif':156 'start':11 'support':107,150,201 'system':239 'though':151 'tor':29,46,90,106,119,194,209,220,237,249,337 'traffic':50,206,315 'url':169 'use':94,193,287 'user':35,79,210 'via':328 'way':303 'wherea':263 'without':67 'work':7 'would':47,267"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/4101407"
  +editedAt: DateTimeImmutable @1697917879 {#1559
    date: 2023-10-21 21:51:19.0 +02:00
  }
  +createdAt: DateTimeImmutable @1697917492 {#1548
    date: 2023-10-21 21:44:52.0 +02:00
  }
  +"title": 63512
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
12 DENIED moderate
App\Entity\EntryComment {#1550
  +user: App\Entity\User {#264 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1582
    +user: Proxies\__CG__\App\Entity\User {#1727 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
    +image: Proxies\__CG__\App\Entity\Image {#2326 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#2159 …}
    +slug: "PSA-Don-t-torrent-over-TOR"
    +title: "PSA: Don't torrent over TOR"
    +url: "https://tor.stackexchange.com/questions/64/how-can-bittorrent-traffic-be-anonymized-with-tor"
    +body: """
      1. It doesn’t make you anonymous. Torrent protocol wasn’t designed with anonymity in mind and there are a million ways you’re going to leak your actual IP address.\n
      2. Tor is a TCP only network.\n
      3. While this doesn’t give you the anonymity you wanted, it will hurt the network for other users.
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 100
    +favouriteCount: 624
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1699287082 {#1720
      date: 2023-11-06 17:11:22.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2338 …}
    +votes: Doctrine\ORM\PersistentCollection {#2335 …}
    +reports: Doctrine\ORM\PersistentCollection {#2337 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2058 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2050 …}
    +badges: Doctrine\ORM\PersistentCollection {#2109 …}
    +children: [
      1 => App\Entity\EntryComment {#1709
        +user: App\Entity\User {#264 …}
        +entry: Proxies\__CG__\App\Entity\Entry {#1582 …2}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1654 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1650 …}
        +body: "It is *not* true that every node is an exit node in I2P. The I2P protocol does not officially have exit nodes—all I2P communication terminates at some node within the I2P network, encrypted end-to-end. It is possible to run a local proxy server and make it accessible to other users as an I2P service, creating an “exit node” of sorts, but this is something that must be set up deliberately; it’s not the default or recommended configuration. Users would need to select a specific I2P proxy service (exit node) to forward non-I2P traffic through and configure their browser (or other network-based programs) to use it."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 10
        +score: 0
        +lastActive: DateTime @1697908069 {#1435
          date: 2023-10-21 19:07:49.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@onlinepersona@programming.dev"
          "@supervent@lemmy.dbzer0.com"
          "@atlasraven31@lemm.ee"
          "@ReversalHatchery@beehaw.org"
          "@NuXCOM_90Percent@lemmy.zip"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1671 …}
        +nested: Doctrine\ORM\PersistentCollection {#1667 …}
        +votes: Doctrine\ORM\PersistentCollection {#1670 …}
        +reports: Doctrine\ORM\PersistentCollection {#1678 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1551 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1586 …}
        -id: 63223
        -bodyTs: "'access':51 'base':110 'browser':105 'communic':25 'configur':82,103 'creat':59 'default':79 'deliber':74 'encrypt':34 'end':36,38 'end-to-end':35 'everi':6 'exit':10,21,61,93 'forward':96 'i2p':13,15,24,32,57,90,99 'local':45 'make':49 'must':70 'need':85 'network':33,109 'network-bas':108 'node':7,11,22,29,62,94 'non':98 'non-i2p':97 'offici':19 'possibl':41 'program':111 'protocol':16 'proxi':46,91 'recommend':81 'run':43 'select':87 'server':47 'servic':58,92 'set':72 'someth':68 'sort':64 'specif':89 'termin':26 'traffic':100 'true':4 'use':113 'user':54,83 'within':30 'would':84"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://programming.dev/comment/4097827"
        +editedAt: null
        +createdAt: DateTimeImmutable @1697908069 {#1438
          date: 2023-10-21 19:07:49.0 +02:00
        }
        +"title": 63223
      }
      0 => App\Entity\EntryComment {#1550}
    ]
    -id: 6808
    -titleTs: "'psa':1 'tor':6 'torrent':4"
    -bodyTs: "'1':1 '2':32 '3':39 'actual':29 'address':31 'anonym':7,14,47 'design':12 'doesn':3,42 'give':44 'go':25 'hurt':52 'ip':30 'leak':27 'make':5 'million':21 'mind':16 'network':38,54 'protocol':9 're':24 'tcp':36 'tor':33 'torrent':8 'user':57 'want':49 'wasn':10 'way':22"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697969159
    +visibility: "visible             "
    +apId: "https://programming.dev/post/4694754"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697882759 {#1696
      date: 2023-10-21 12:05:59.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#1561 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#1650 …}
  +body: """
    No, that’s not how I2P works.\n
    \n
    First, let’s start with the basics. An exit node is a node which interfaces between the encrypted network (I2P or Tor) and the regular Internet. A user attempting to access a regular Internet site over I2P or Tor would route their traffic through the encrypted network to an exit node, which then sends the request over the Internet without the I2P/Tor encryption. Responses follow the reverse path back to the user. Nodes which only establish encrypted connections to other I2P or Tor nodes, including ones used for internal (onion) routing, are *not* exit nodes.\n
    \n
    Both I2P and Tor support the creation of services hosted directly through the encrypted network. In Tor these are referred to as onion services and are accessed through *.onion hostnames. In I2P these internal services (*.i2p or *.b32) are the *only* kind of service the protocol directly supports—though you can configure a specific I2P service linked to a HTTP/HTTPS proxy to handle non-I2P URLs in the client configuration. There are only a few such proxy services as this is not how I2P is primarily intended to be used.\n
    \n
    Tor, by contrast, has built-in support for exit nodes. Routing traffic anonymously from Tor users to the Internet is the original model for the Tor network; onion services were added later. There is no need to *choose* an exit node in Tor—the system maintains a list and picks one automatically. Becoming a Tor exit node is a simple matter of enabling an option in the settings, whereas in I2P you would need to manually configure a proxy server, inform others about it, and have them adjust their proxy configuration to use it.\n
    \n
    If you set up an I2P node and do not go out of your way to expose a HTTP/HTTPS proxy as an I2P service then no traffic from the I2P network can be routed to non-I2P destinations via your node. This is equivalent to running a Tor internal, *non-exit* node, possibly hosting one or more onion services.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 7
  +score: 0
  +lastActive: DateTime @1697917492 {#1579
    date: 2023-10-21 21:44:52.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@onlinepersona@programming.dev"
    "@supervent@lemmy.dbzer0.com"
    "@atlasraven31@lemm.ee"
    "@ReversalHatchery@beehaw.org"
    "@NuXCOM_90Percent@lemmy.zip"
    "@nybble41@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1525 …}
  +nested: Doctrine\ORM\PersistentCollection {#1566 …}
  +votes: Doctrine\ORM\PersistentCollection {#1562 …}
  +reports: Doctrine\ORM\PersistentCollection {#1554 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1555 …}
  -id: 63512
  -bodyTs: "'access':38,129 'ad':225 'adjust':282 'anonym':207 'attempt':36 'automat':246 'b32':140 'back':76 'basic':14 'becom':247 'built':199 'built-in':198 'choos':232 'client':172 'configur':154,173,271,285 'connect':85 'contrast':196 'creation':109 'destin':327 'direct':113,149 'enabl':257 'encrypt':25,53,70,84,116 'equival':333 'establish':83 'exit':16,57,101,203,234,250,341 'expos':305 'first':8 'follow':72 'go':299 'handl':165 'host':112,344 'hostnam':132 'http/https':162,307 'i2p':6,27,44,88,104,134,138,157,168,187,265,294,311,318,326 'i2p/tor':69 'includ':92 'inform':275 'intend':190 'interfac':22 'intern':96,136,338 'internet':33,41,66,213 'kind':144 'later':226 'let':9 'link':159 'list':242 'maintain':240 'manual':270 'matter':255 'model':217 'need':230,268 'network':26,54,117,221,319 'node':17,20,58,80,91,102,204,235,251,295,330,342 'non':167,325,340 'non-exit':339 'non-i2p':166,324 'one':93,245,345 'onion':97,125,131,222,348 'option':259 'origin':216 'other':276 'path':75 'pick':244 'possibl':343 'primarili':189 'protocol':148 'proxi':163,180,273,284,308 'refer':122 'regular':32,40 'request':63 'respons':71 'revers':74 'rout':48,98,205,322 'run':335 'send':61 'server':274 'servic':111,126,137,146,158,181,223,312,349 'set':262,291 'simpl':254 'site':42 'specif':156 'start':11 'support':107,150,201 'system':239 'though':151 'tor':29,46,90,106,119,194,209,220,237,249,337 'traffic':50,206,315 'url':169 'use':94,193,287 'user':35,79,210 'via':328 'way':303 'wherea':263 'without':67 'work':7 'would':47,267"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/4101407"
  +editedAt: DateTimeImmutable @1697917879 {#1559
    date: 2023-10-21 21:51:19.0 +02:00
  }
  +createdAt: DateTimeImmutable @1697917492 {#1548
    date: 2023-10-21 21:44:52.0 +02:00
  }
  +"title": 63512
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
13 DENIED ROLE_ADMIN
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
14 DENIED ROLE_MODERATOR
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details