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 …}
}
56.33 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
App\Entity\EntryComment {#1374
  +user: Proxies\__CG__\App\Entity\User {#1370 …}
  +entry: App\Entity\Entry {#1832 …}
  +magazine: App\Entity\Magazine {#311
    +icon: Proxies\__CG__\App\Entity\Image {#292 …}
    +name: "selfhosted@lemmy.world"
    +title: "selfhosted"
    +description: """
      A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
      \n
      Rules:\n
      \n
      - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
      - No spam posting.\n
      - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
      - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
      - No trolling.\n
      \n
      Resources:\n
      \n
      - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
      - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
      - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
      \n
      > Any issues on the community? Report it using the report flag.\n
      \n
      > Questions? DM the mods!
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 222
    +entryCommentCount: 3916
    +postCount: 0
    +postCommentCount: 0
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729582735 {#319
      date: 2024-10-22 09:38:55.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#283 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#279 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#268 …}
    +entries: Doctrine\ORM\PersistentCollection {#226 …}
    +posts: Doctrine\ORM\PersistentCollection {#184 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#246 …}
    +bans: Doctrine\ORM\PersistentCollection {#163 …}
    +reports: Doctrine\ORM\PersistentCollection {#149 …}
    +badges: Doctrine\ORM\PersistentCollection {#127 …}
    +logs: Doctrine\ORM\PersistentCollection {#117 …}
    +awards: Doctrine\ORM\PersistentCollection {#106 …}
    +categories: Doctrine\ORM\PersistentCollection {#93 …}
    -id: 120
    +apId: "selfhosted@lemmy.world"
    +apProfileId: "https://lemmy.world/c/selfhosted"
    +apPublicUrl: "https://lemmy.world/c/selfhosted"
    +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "selfhosted"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703473826 {#320
      date: 2023-12-25 04:10:26.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703473826 {#314
      date: 2023-12-25 04:10:26.0 +01:00
    }
  }
  +image: null
  +parent: null
  +root: null
  +body: """
    I know this is not the best answer since you would probably like me to talk about Nebula, but I have to say that the best solution I have found for setting up a mesh VPN is [Zerotier](https://www.zerotier.com/).\n
    \n
    It is a very complete solution. Multisystem, very simple but very configurable, fast, etc.\n
    \n
    You simply start by creating a network on the [public controller](https://my.zerotier.com/) (which will generate an ID for that network) and then join the rest to that network and everyone can communicate with everyone (by default, then you can create subnets if you want).\n
    \n
    Using the public controller is completely optional (I personally use it because it is convenient for me and because I have few hosts) but if you want you can set up your own controller, I [have an article](https://ogarcia.me/posts/zerotier/) (the bad thing is that it is in Spanish, but if you run a translator you can understand it perfectly) where I explain how to do it without any requirement. If not, you can use [ztncui](https://github.com/key-networks/ztncui) for it.\n
    \n
    Take a look at it, you might find it more attractive than Nebula.\n
    \n
    By the way, for me one of the great advantages of ZeroTier is that I don’t have to worry about certificates and keys, the controller takes care of everything for you and security is guaranteed from the point of view that each node has a unique identifier.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1703758895 {#1602
    date: 2023-12-28 11:21:35.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@brownmustardminion@lemmy.ml"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1371 …}
  +nested: Doctrine\ORM\PersistentCollection {#1379 …}
  +votes: Doctrine\ORM\PersistentCollection {#2446 …}
  +reports: Doctrine\ORM\PersistentCollection {#1891 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2409 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2358 …}
  -id: 258857
  -bodyTs: "'/)':69 '/).':41 '/key-networks/ztncui)':181 '/posts/zerotier/)':142 'advantag':206 'answer':8 'articl':139 'attract':194 'bad':144 'best':7,26 'care':224 'certif':218 'communic':89 'complet':46,107 'configur':53 'control':66,105,135,222 'conveni':116 'creat':60,97 'default':93 'etc':55 'everyon':87,91 'everyth':226 'explain':165 'fast':54 'find':191 'found':30 'generat':72 'github.com':180 'github.com/key-networks/ztncui)':179 'great':205 'guarante':232 'host':124 'id':74 'identifi':244 'join':80 'key':220 'know':2 'like':13 'look':186 'mesh':35 'might':190 'multisystem':48 'my.zerotier.com':68 'my.zerotier.com/)':67 'nebula':18,196 'network':62,77,85 'node':240 'ogarcia.me':141 'ogarcia.me/posts/zerotier/)':140 'one':202 'option':108 'perfect':162 'person':110 'point':235 'probabl':12 'public':65,104 'requir':172 'rest':82 'run':155 'say':23 'secur':230 'set':32,131 'simpl':50 'simpli':57 'sinc':9 'solut':27,47 'spanish':151 'start':58 'subnet':98 'take':184,223 'talk':16 'thing':145 'translat':157 'understand':160 'uniqu':243 'use':102,111,177 'view':237 'vpn':36 'want':101,128 'way':199 'without':170 'worri':216 'would':11 'www.zerotier.com':40 'www.zerotier.com/).':39 'zeroti':38,208 'ztncui':178"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/6274468"
  +editedAt: null
  +createdAt: DateTimeImmutable @1703758895 {#1969
    date: 2023-12-28 11:21:35.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
3 DENIED edit
App\Entity\EntryComment {#1374
  +user: Proxies\__CG__\App\Entity\User {#1370 …}
  +entry: App\Entity\Entry {#1832 …}
  +magazine: App\Entity\Magazine {#311
    +icon: Proxies\__CG__\App\Entity\Image {#292 …}
    +name: "selfhosted@lemmy.world"
    +title: "selfhosted"
    +description: """
      A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
      \n
      Rules:\n
      \n
      - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
      - No spam posting.\n
      - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
      - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
      - No trolling.\n
      \n
      Resources:\n
      \n
      - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
      - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
      - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
      \n
      > Any issues on the community? Report it using the report flag.\n
      \n
      > Questions? DM the mods!
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 222
    +entryCommentCount: 3916
    +postCount: 0
    +postCommentCount: 0
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729582735 {#319
      date: 2024-10-22 09:38:55.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#283 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#279 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#268 …}
    +entries: Doctrine\ORM\PersistentCollection {#226 …}
    +posts: Doctrine\ORM\PersistentCollection {#184 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#246 …}
    +bans: Doctrine\ORM\PersistentCollection {#163 …}
    +reports: Doctrine\ORM\PersistentCollection {#149 …}
    +badges: Doctrine\ORM\PersistentCollection {#127 …}
    +logs: Doctrine\ORM\PersistentCollection {#117 …}
    +awards: Doctrine\ORM\PersistentCollection {#106 …}
    +categories: Doctrine\ORM\PersistentCollection {#93 …}
    -id: 120
    +apId: "selfhosted@lemmy.world"
    +apProfileId: "https://lemmy.world/c/selfhosted"
    +apPublicUrl: "https://lemmy.world/c/selfhosted"
    +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "selfhosted"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703473826 {#320
      date: 2023-12-25 04:10:26.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703473826 {#314
      date: 2023-12-25 04:10:26.0 +01:00
    }
  }
  +image: null
  +parent: null
  +root: null
  +body: """
    I know this is not the best answer since you would probably like me to talk about Nebula, but I have to say that the best solution I have found for setting up a mesh VPN is [Zerotier](https://www.zerotier.com/).\n
    \n
    It is a very complete solution. Multisystem, very simple but very configurable, fast, etc.\n
    \n
    You simply start by creating a network on the [public controller](https://my.zerotier.com/) (which will generate an ID for that network) and then join the rest to that network and everyone can communicate with everyone (by default, then you can create subnets if you want).\n
    \n
    Using the public controller is completely optional (I personally use it because it is convenient for me and because I have few hosts) but if you want you can set up your own controller, I [have an article](https://ogarcia.me/posts/zerotier/) (the bad thing is that it is in Spanish, but if you run a translator you can understand it perfectly) where I explain how to do it without any requirement. If not, you can use [ztncui](https://github.com/key-networks/ztncui) for it.\n
    \n
    Take a look at it, you might find it more attractive than Nebula.\n
    \n
    By the way, for me one of the great advantages of ZeroTier is that I don’t have to worry about certificates and keys, the controller takes care of everything for you and security is guaranteed from the point of view that each node has a unique identifier.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1703758895 {#1602
    date: 2023-12-28 11:21:35.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@brownmustardminion@lemmy.ml"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1371 …}
  +nested: Doctrine\ORM\PersistentCollection {#1379 …}
  +votes: Doctrine\ORM\PersistentCollection {#2446 …}
  +reports: Doctrine\ORM\PersistentCollection {#1891 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2409 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2358 …}
  -id: 258857
  -bodyTs: "'/)':69 '/).':41 '/key-networks/ztncui)':181 '/posts/zerotier/)':142 'advantag':206 'answer':8 'articl':139 'attract':194 'bad':144 'best':7,26 'care':224 'certif':218 'communic':89 'complet':46,107 'configur':53 'control':66,105,135,222 'conveni':116 'creat':60,97 'default':93 'etc':55 'everyon':87,91 'everyth':226 'explain':165 'fast':54 'find':191 'found':30 'generat':72 'github.com':180 'github.com/key-networks/ztncui)':179 'great':205 'guarante':232 'host':124 'id':74 'identifi':244 'join':80 'key':220 'know':2 'like':13 'look':186 'mesh':35 'might':190 'multisystem':48 'my.zerotier.com':68 'my.zerotier.com/)':67 'nebula':18,196 'network':62,77,85 'node':240 'ogarcia.me':141 'ogarcia.me/posts/zerotier/)':140 'one':202 'option':108 'perfect':162 'person':110 'point':235 'probabl':12 'public':65,104 'requir':172 'rest':82 'run':155 'say':23 'secur':230 'set':32,131 'simpl':50 'simpli':57 'sinc':9 'solut':27,47 'spanish':151 'start':58 'subnet':98 'take':184,223 'talk':16 'thing':145 'translat':157 'understand':160 'uniqu':243 'use':102,111,177 'view':237 'vpn':36 'want':101,128 'way':199 'without':170 'worri':216 'would':11 'www.zerotier.com':40 'www.zerotier.com/).':39 'zeroti':38,208 'ztncui':178"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/6274468"
  +editedAt: null
  +createdAt: DateTimeImmutable @1703758895 {#1969
    date: 2023-12-28 11:21:35.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
4 DENIED moderate
App\Entity\EntryComment {#1374
  +user: Proxies\__CG__\App\Entity\User {#1370 …}
  +entry: App\Entity\Entry {#1832 …}
  +magazine: App\Entity\Magazine {#311
    +icon: Proxies\__CG__\App\Entity\Image {#292 …}
    +name: "selfhosted@lemmy.world"
    +title: "selfhosted"
    +description: """
      A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
      \n
      Rules:\n
      \n
      - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
      - No spam posting.\n
      - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
      - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
      - No trolling.\n
      \n
      Resources:\n
      \n
      - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
      - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
      - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
      \n
      > Any issues on the community? Report it using the report flag.\n
      \n
      > Questions? DM the mods!
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 222
    +entryCommentCount: 3916
    +postCount: 0
    +postCommentCount: 0
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729582735 {#319
      date: 2024-10-22 09:38:55.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#283 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#279 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#268 …}
    +entries: Doctrine\ORM\PersistentCollection {#226 …}
    +posts: Doctrine\ORM\PersistentCollection {#184 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#246 …}
    +bans: Doctrine\ORM\PersistentCollection {#163 …}
    +reports: Doctrine\ORM\PersistentCollection {#149 …}
    +badges: Doctrine\ORM\PersistentCollection {#127 …}
    +logs: Doctrine\ORM\PersistentCollection {#117 …}
    +awards: Doctrine\ORM\PersistentCollection {#106 …}
    +categories: Doctrine\ORM\PersistentCollection {#93 …}
    -id: 120
    +apId: "selfhosted@lemmy.world"
    +apProfileId: "https://lemmy.world/c/selfhosted"
    +apPublicUrl: "https://lemmy.world/c/selfhosted"
    +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "selfhosted"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703473826 {#320
      date: 2023-12-25 04:10:26.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703473826 {#314
      date: 2023-12-25 04:10:26.0 +01:00
    }
  }
  +image: null
  +parent: null
  +root: null
  +body: """
    I know this is not the best answer since you would probably like me to talk about Nebula, but I have to say that the best solution I have found for setting up a mesh VPN is [Zerotier](https://www.zerotier.com/).\n
    \n
    It is a very complete solution. Multisystem, very simple but very configurable, fast, etc.\n
    \n
    You simply start by creating a network on the [public controller](https://my.zerotier.com/) (which will generate an ID for that network) and then join the rest to that network and everyone can communicate with everyone (by default, then you can create subnets if you want).\n
    \n
    Using the public controller is completely optional (I personally use it because it is convenient for me and because I have few hosts) but if you want you can set up your own controller, I [have an article](https://ogarcia.me/posts/zerotier/) (the bad thing is that it is in Spanish, but if you run a translator you can understand it perfectly) where I explain how to do it without any requirement. If not, you can use [ztncui](https://github.com/key-networks/ztncui) for it.\n
    \n
    Take a look at it, you might find it more attractive than Nebula.\n
    \n
    By the way, for me one of the great advantages of ZeroTier is that I don’t have to worry about certificates and keys, the controller takes care of everything for you and security is guaranteed from the point of view that each node has a unique identifier.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1703758895 {#1602
    date: 2023-12-28 11:21:35.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@brownmustardminion@lemmy.ml"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1371 …}
  +nested: Doctrine\ORM\PersistentCollection {#1379 …}
  +votes: Doctrine\ORM\PersistentCollection {#2446 …}
  +reports: Doctrine\ORM\PersistentCollection {#1891 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2409 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2358 …}
  -id: 258857
  -bodyTs: "'/)':69 '/).':41 '/key-networks/ztncui)':181 '/posts/zerotier/)':142 'advantag':206 'answer':8 'articl':139 'attract':194 'bad':144 'best':7,26 'care':224 'certif':218 'communic':89 'complet':46,107 'configur':53 'control':66,105,135,222 'conveni':116 'creat':60,97 'default':93 'etc':55 'everyon':87,91 'everyth':226 'explain':165 'fast':54 'find':191 'found':30 'generat':72 'github.com':180 'github.com/key-networks/ztncui)':179 'great':205 'guarante':232 'host':124 'id':74 'identifi':244 'join':80 'key':220 'know':2 'like':13 'look':186 'mesh':35 'might':190 'multisystem':48 'my.zerotier.com':68 'my.zerotier.com/)':67 'nebula':18,196 'network':62,77,85 'node':240 'ogarcia.me':141 'ogarcia.me/posts/zerotier/)':140 'one':202 'option':108 'perfect':162 'person':110 'point':235 'probabl':12 'public':65,104 'requir':172 'rest':82 'run':155 'say':23 'secur':230 'set':32,131 'simpl':50 'simpli':57 'sinc':9 'solut':27,47 'spanish':151 'start':58 'subnet':98 'take':184,223 'talk':16 'thing':145 'translat':157 'understand':160 'uniqu':243 'use':102,111,177 'view':237 'vpn':36 'want':101,128 'way':199 'without':170 'worri':216 'would':11 'www.zerotier.com':40 'www.zerotier.com/).':39 'zeroti':38,208 'ztncui':178"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/6274468"
  +editedAt: null
  +createdAt: DateTimeImmutable @1703758895 {#1969
    date: 2023-12-28 11:21:35.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
5 DENIED edit
App\Entity\Magazine {#311
  +icon: Proxies\__CG__\App\Entity\Image {#292 …}
  +name: "selfhosted@lemmy.world"
  +title: "selfhosted"
  +description: """
    A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
    \n
    Rules:\n
    \n
    - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
    - No spam posting.\n
    - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
    - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
    - No trolling.\n
    \n
    Resources:\n
    \n
    - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
    - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
    - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
    \n
    > Any issues on the community? Report it using the report flag.\n
    \n
    > Questions? DM the mods!
    """
  +rules: null
  +subscriptionsCount: 1
  +entryCount: 222
  +entryCommentCount: 3916
  +postCount: 0
  +postCommentCount: 0
  +isAdult: false
  +customCss: null
  +lastActive: DateTime @1729582735 {#319
    date: 2024-10-22 09:38:55.0 +02:00
  }
  +markedForDeletionAt: null
  +tags: null
  +moderators: Doctrine\ORM\PersistentCollection {#283 …}
  +ownershipRequests: Doctrine\ORM\PersistentCollection {#279 …}
  +moderatorRequests: Doctrine\ORM\PersistentCollection {#268 …}
  +entries: Doctrine\ORM\PersistentCollection {#226 …}
  +posts: Doctrine\ORM\PersistentCollection {#184 …}
  +subscriptions: Doctrine\ORM\PersistentCollection {#246 …}
  +bans: Doctrine\ORM\PersistentCollection {#163 …}
  +reports: Doctrine\ORM\PersistentCollection {#149 …}
  +badges: Doctrine\ORM\PersistentCollection {#127 …}
  +logs: Doctrine\ORM\PersistentCollection {#117 …}
  +awards: Doctrine\ORM\PersistentCollection {#106 …}
  +categories: Doctrine\ORM\PersistentCollection {#93 …}
  -id: 120
  +apId: "selfhosted@lemmy.world"
  +apProfileId: "https://lemmy.world/c/selfhosted"
  +apPublicUrl: "https://lemmy.world/c/selfhosted"
  +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
  +apInboxUrl: "https://lemmy.world/inbox"
  +apDomain: "lemmy.world"
  +apPreferredUsername: "selfhosted"
  +apDiscoverable: true
  +apManuallyApprovesFollowers: null
  +privateKey: null
  +publicKey: null
  +apFetchedAt: DateTime @1703473826 {#320
    date: 2023-12-25 04:10:26.0 +01:00
  }
  +apDeletedAt: null
  +apTimeoutAt: null
  +visibility: "visible             "
  +createdAt: DateTimeImmutable @1703473826 {#314
    date: 2023-12-25 04:10:26.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS DENIED
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details