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 …}
}
2.90 ms (none)
Symfony\Component\Security\Http\Firewall\AuthenticatorManagerListener {#584
  -authenticatorManager: Symfony\Component\Security\Http\Authentication\AuthenticatorManager {#595 …}
}
0.00 ms (none)
Scheb\TwoFactorBundle\Security\Http\Firewall\TwoFactorAccessListener {#582
  -twoFactorFirewallConfig: Scheb\TwoFactorBundle\Security\TwoFactor\TwoFactorFirewallConfig {#842 …}
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -twoFactorAccessDecider: Scheb\TwoFactorBundle\Security\Authorization\TwoFactorAccessDecider {#581 …}
}
0.04 ms (none)
Symfony\Component\Security\Http\Firewall\AccessListener {#579
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -accessDecisionManager: Symfony\Component\Security\Core\Authorization\TraceableAccessDecisionManager {#937 …}
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\LogoutListener {#786
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -options: [
    "csrf_parameter" => "_csrf_token"
    "csrf_token_id" => "logout"
    "logout_path" => "app_logout"
  ]
  -httpUtils: Symfony\Component\Security\Http\HttpUtils {#841 …}
  -csrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#1015 …}
  -eventDispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
}
0.00 ms (none)

Authenticators

No authenticators have been recorded. Check previous profiles on your authentication endpoint.

Access Decision

affirmative Strategy
# Voter class
1
"Symfony\Component\Security\Core\Authorization\Voter\AuthenticatedVoter"
2
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
3
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
4
"Symfony\Component\Security\Core\Authorization\Voter\ExpressionVoter"
5
"App\Security\Voter\EntryCommentVoter"
6
"App\Security\Voter\EntryVoter"
7
"App\Security\Voter\MagazineVoter"
8
"App\Security\Voter\MessageThreadVoter"
9
"App\Security\Voter\MessageVoter"
10
"App\Security\Voter\NotificationVoter"
11
"App\Security\Voter\OAuth2UserConsentVoter"
12
"App\Security\Voter\PostCommentVoter"
13
"App\Security\Voter\PostVoter"
14
"App\Security\Voter\UserVoter"

Access decision log

# Result Attributes Object
1 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
2 DENIED moderate
App\Entity\EntryComment {#1378
  +user: Proxies\__CG__\App\Entity\User {#1371 …}
  +entry: App\Entity\Entry {#1849 …}
  +magazine: App\Entity\Magazine {#312
    +icon: Proxies\__CG__\App\Entity\Image {#293 …}
    +name: "piracy@lemmy.dbzer0.com"
    +title: "piracy"
    +description: """
      ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
      \n
      ---\n
      \n
      ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
      \n
      **1**. Posts must be related to the discussion of digital piracy\n
      \n
      **2**. Don’t request invites, trade, sell, or self-promote\n
      \n
      **3**. Don’t request or link to specific pirated titles, including DMs\n
      \n
      **4**. Don’t submit low-quality posts, be entitled, or harass others\n
      \n
      **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
      \n
      ---\n
      \n
      [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
      ---------------------------------------------------------------------------\n
      \n
      ### Loot, Pillage, & Plunder\n
      \n
      - [📜 Megathread](https://rentry.co/megathread)\n
      - [🪶 FAQ](https://rentry.co/piracy-faq)\n
      - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
      - [🪶 Rules](https://rentry.co/piracy-rules)\n
      \n
      ---\n
      \n
      💰 Please help cover server costs.\n
      \n
      [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
      \n
      ---
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 866
    +entryCommentCount: 20194
    +postCount: 7
    +postCommentCount: 149
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729581369 {#320
      date: 2024-10-22 09:16:09.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#284 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#280 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#269 …}
    +entries: Doctrine\ORM\PersistentCollection {#227 …}
    +posts: Doctrine\ORM\PersistentCollection {#185 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#247 …}
    +bans: Doctrine\ORM\PersistentCollection {#164 …}
    +reports: Doctrine\ORM\PersistentCollection {#150 …}
    +badges: Doctrine\ORM\PersistentCollection {#128 …}
    +logs: Doctrine\ORM\PersistentCollection {#118 …}
    +awards: Doctrine\ORM\PersistentCollection {#107 …}
    +categories: Doctrine\ORM\PersistentCollection {#94 …}
    -id: 51
    +apId: "piracy@lemmy.dbzer0.com"
    +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
    +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
    +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
    +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
    +apDomain: "lemmy.dbzer0.com"
    +apPreferredUsername: "piracy"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1708748229 {#321
      date: 2024-02-24 05:17:09.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1697197339 {#315
      date: 2023-10-13 13:42:19.0 +02:00
    }
  }
  +image: null
  +parent: null
  +root: null
  +body: """
    **FOR LINUX, COMPLETE AND WORKING**\n
    \n
    1. Install xdotool, AutoKey\n
    2. In Firefox get Save Screenshot: [addons.mozilla.org/en-US/…/savescreenshot/](https://addons.mozilla.org/en-US/firefox/addon/savescreenshot/) Then, in [Firefox Shortcuts](https://support.mozilla.org/en-US/kb/manage-extension-shortcuts-firefox) add Ctrl+1 as a hotkey to capture visible page.\n
    3. Create a script for Autokey in Python, mine is:\n
    \n
    ```\n
    \n
    <span style="color:#323232;">import time\n
    </span><span style="color:#323232;">import os   \n
    </span><span style="color:#323232;">import subprocess\n
    </span><span style="color:#323232;">\n
    </span><span style="color:#323232;">pages = dialog.input_dialog(title='', message='Number of pages:', default='5').data\n
    </span><span style="color:#323232;">\n
    </span><span style="color:#323232;">time.sleep(1)\n
    </span><span style="color:#323232;">for k in range(1,int(pages)):\n
    </span><span style="color:#323232;">    subprocess.run(["xdotool", "key", "ctrl+1"]) # Plugin's hotkey\n
    </span><span style="color:#323232;">    time.sleep(2)\n
    </span><span style="color:#323232;">    subprocess.run(["xdotool", "click", "1"]) # Mouseclick\n
    </span><span style="color:#323232;">    time.sleep(2)\n
    </span><span style="color:#323232;">\n
    </span><span style="color:#323232;">subprocess.run(["xdotool", "key", "ctrl+1"]) # to screenshot the last one\n
    </span>\n
    ```\n
    \n
    4. In the bottom of a program, set a hotkey to launch it (I set it to Home).\n
    5. Open OP’s page and via Inspect Element find the link to embed. It’s [www.sbcaplanroom.com/preview/2477/12610/200647](https://www.sbcaplanroom.com/preview/2477/12610/200647)\n
    6. Press F11, make the whole picture fit.\n
    7. Place mouse pointer over next page button, so it clicks each time.\n
    8. Lauch my Autokey script via Home button.\n
    9. Enter number of pages.\n
    10. See how it does it.\n
    11. Open screenshots directory in XnView, select them. Locate it’s BatchConvert tool, in Actions tab select a crop action and adjust it to pages’ margins. **ACHTUNG** The last one should be done differently, you can open it in XnV and crop this one alone.\n
    12. Use any tool to stitch them back together into a PDF. I’ve used PDF Arranger: [github.com/pdfarranger/pdfarranger](https://github.com/pdfarranger/pdfarranger) But some user down there said it crashed on 600-something pages document.\n
    \n
    Result: [files.catbox.moe/iivoga.pdf](https://files.catbox.moe/iivoga.pdf)
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 20
  +score: 0
  +lastActive: DateTime @1699122565 {#1769
    date: 2023-11-04 19:29:25.0 +01:00
  }
  +ip: null
  +tags: [
    "323232"
  ]
  +mentions: [
    "@nooneescapesthelaw@lemmy.ml"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1375 …}
  +nested: Doctrine\ORM\PersistentCollection {#1400 …}
  +votes: Doctrine\ORM\PersistentCollection {#2428 …}
  +reports: Doctrine\ORM\PersistentCollection {#1904 …}
  +favourites: Doctrine\ORM\PersistentCollection {#60 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2487 …}
  -id: 88917
  -bodyTs: "'+1':32,80,97 '/en-us/':18 '/en-us/firefox/addon/savescreenshot/)':22 '/en-us/kb/manage-extension-shortcuts-firefox)':29 '/iivoga.pdf](https://files.catbox.moe/iivoga.pdf)':261 '/pdfarranger/pdfarranger](https://github.com/pdfarranger/pdfarranger)':244 '/preview/2477/12610/200647](https://www.sbcaplanroom.com/preview/2477/12610/200647)':139 '/savescreenshot':19 '1':6,68,73,89 '10':174 '11':180 '12':225 '2':10,85,92 '3':40 '4':103 '5':65,121 '6':140 '600':254 '7':148 '8':161 '9':169 'achtung':206 'action':194,199 'add':30 'addons.mozilla.org':17,21 'addons.mozilla.org/en-us/':16 'addons.mozilla.org/en-us/firefox/addon/savescreenshot/)':20 'adjust':201 'alon':224 'arrang':241 'autokey':9,45,164 'back':232 'batchconvert':191 'bottom':106 'button':155,168 'captur':37 'click':88,158 'complet':3 'crash':252 'creat':41 'crop':198,221 'ctrl':31,79,96 'data':66 'default':64 'dialog':58 'dialog.input':57 'differ':213 'directori':183 'document':257 'done':212 'element':129 'emb':134 'enter':170 'f11':142 'files.catbox.moe':260 'files.catbox.moe/iivoga.pdf](https://files.catbox.moe/iivoga.pdf)':259 'find':130 'firefox':12,25 'fit':147 'get':13 'github.com':243 'github.com/pdfarranger/pdfarranger](https://github.com/pdfarranger/pdfarranger)':242 'home':120,167 'hotkey':35,83,112 'import':50,52,54 'inspect':128 'instal':7 'int':74 'k':70 'key':78,95 'last':101,208 'lauch':162 'launch':114 'link':132 'linux':2 'locat':188 'make':143 'margin':205 'messag':60 'mine':48 'mous':150 'mouseclick':90 'next':153 'number':61,171 'one':102,209,223 'op':123 'open':122,181,216 'os':53 'page':39,56,63,75,125,154,173,204,256 'pdf':236,240 'pictur':146 'place':149 'plugin':81 'pointer':151 'press':141 'program':109 'python':47 'rang':72 'result':258 'said':250 'save':14 'screenshot':15,99,182 'script':43,165 'see':175 'select':186,196 'set':110,117 'shortcut':26 'someth':255 'stitch':230 'subprocess':55 'subprocess.run':76,86,93 'support.mozilla.org':28 'support.mozilla.org/en-us/kb/manage-extension-shortcuts-firefox)':27 'tab':195 'time':51,160 'time.sleep':67,84,91 'titl':59 'togeth':233 'tool':192,228 'use':226,239 'user':247 've':238 'via':127,166 'visibl':38 'whole':145 'work':5 'www.sbcaplanroom.com':138 'www.sbcaplanroom.com/preview/2477/12610/200647](https://www.sbcaplanroom.com/preview/2477/12610/200647)':137 'xdotool':8,77,87,94 'xnv':219 'xnview':185"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://sh.itjust.works/comment/5142480"
  +editedAt: DateTimeImmutable @1699296987 {#1969
    date: 2023-11-06 19:56:27.0 +01:00
  }
  +createdAt: DateTimeImmutable @1699084658 {#1399
    date: 2023-11-04 08:57:38.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 {#1378
  +user: Proxies\__CG__\App\Entity\User {#1371 …}
  +entry: App\Entity\Entry {#1849 …}
  +magazine: App\Entity\Magazine {#312
    +icon: Proxies\__CG__\App\Entity\Image {#293 …}
    +name: "piracy@lemmy.dbzer0.com"
    +title: "piracy"
    +description: """
      ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
      \n
      ---\n
      \n
      ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
      \n
      **1**. Posts must be related to the discussion of digital piracy\n
      \n
      **2**. Don’t request invites, trade, sell, or self-promote\n
      \n
      **3**. Don’t request or link to specific pirated titles, including DMs\n
      \n
      **4**. Don’t submit low-quality posts, be entitled, or harass others\n
      \n
      **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
      \n
      ---\n
      \n
      [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
      ---------------------------------------------------------------------------\n
      \n
      ### Loot, Pillage, &amp; Plunder\n
      \n
      - [📜 Megathread](https://rentry.co/megathread)\n
      - [🪶 FAQ](https://rentry.co/piracy-faq)\n
      - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
      - [🪶 Rules](https://rentry.co/piracy-rules)\n
      \n
      ---\n
      \n
      💰 Please help cover server costs.\n
      \n
      [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
      \n
      ---
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 866
    +entryCommentCount: 20194
    +postCount: 7
    +postCommentCount: 149
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729581369 {#320
      date: 2024-10-22 09:16:09.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#284 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#280 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#269 …}
    +entries: Doctrine\ORM\PersistentCollection {#227 …}
    +posts: Doctrine\ORM\PersistentCollection {#185 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#247 …}
    +bans: Doctrine\ORM\PersistentCollection {#164 …}
    +reports: Doctrine\ORM\PersistentCollection {#150 …}
    +badges: Doctrine\ORM\PersistentCollection {#128 …}
    +logs: Doctrine\ORM\PersistentCollection {#118 …}
    +awards: Doctrine\ORM\PersistentCollection {#107 …}
    +categories: Doctrine\ORM\PersistentCollection {#94 …}
    -id: 51
    +apId: "piracy@lemmy.dbzer0.com"
    +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
    +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
    +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
    +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
    +apDomain: "lemmy.dbzer0.com"
    +apPreferredUsername: "piracy"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1708748229 {#321
      date: 2024-02-24 05:17:09.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1697197339 {#315
      date: 2023-10-13 13:42:19.0 +02:00
    }
  }
  +image: null
  +parent: null
  +root: null
  +body: """
    **FOR LINUX, COMPLETE AND WORKING**\n
    \n
    1. Install xdotool, AutoKey\n
    2. In Firefox get Save Screenshot: [addons.mozilla.org/en-US/…/savescreenshot/](https://addons.mozilla.org/en-US/firefox/addon/savescreenshot/) Then, in [Firefox Shortcuts](https://support.mozilla.org/en-US/kb/manage-extension-shortcuts-firefox) add Ctrl+1 as a hotkey to capture visible page.\n
    3. Create a script for Autokey in Python, mine is:\n
    \n
    ```\n
    \n
    <span style="color:#323232;">import time\n
    </span><span style="color:#323232;">import os   \n
    </span><span style="color:#323232;">import subprocess\n
    </span><span style="color:#323232;">\n
    </span><span style="color:#323232;">pages = dialog.input_dialog(title='', message='Number of pages:', default='5').data\n
    </span><span style="color:#323232;">\n
    </span><span style="color:#323232;">time.sleep(1)\n
    </span><span style="color:#323232;">for k in range(1,int(pages)):\n
    </span><span style="color:#323232;">    subprocess.run(["xdotool", "key", "ctrl+1"]) # Plugin's hotkey\n
    </span><span style="color:#323232;">    time.sleep(2)\n
    </span><span style="color:#323232;">    subprocess.run(["xdotool", "click", "1"]) # Mouseclick\n
    </span><span style="color:#323232;">    time.sleep(2)\n
    </span><span style="color:#323232;">\n
    </span><span style="color:#323232;">subprocess.run(["xdotool", "key", "ctrl+1"]) # to screenshot the last one\n
    </span>\n
    ```\n
    \n
    4. In the bottom of a program, set a hotkey to launch it (I set it to Home).\n
    5. Open OP’s page and via Inspect Element find the link to embed. It’s [www.sbcaplanroom.com/preview/2477/12610/200647](https://www.sbcaplanroom.com/preview/2477/12610/200647)\n
    6. Press F11, make the whole picture fit.\n
    7. Place mouse pointer over next page button, so it clicks each time.\n
    8. Lauch my Autokey script via Home button.\n
    9. Enter number of pages.\n
    10. See how it does it.\n
    11. Open screenshots directory in XnView, select them. Locate it’s BatchConvert tool, in Actions tab select a crop action and adjust it to pages’ margins. **ACHTUNG** The last one should be done differently, you can open it in XnV and crop this one alone.\n
    12. Use any tool to stitch them back together into a PDF. I’ve used PDF Arranger: [github.com/pdfarranger/pdfarranger](https://github.com/pdfarranger/pdfarranger) But some user down there said it crashed on 600-something pages document.\n
    \n
    Result: [files.catbox.moe/iivoga.pdf](https://files.catbox.moe/iivoga.pdf)
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 20
  +score: 0
  +lastActive: DateTime @1699122565 {#1769
    date: 2023-11-04 19:29:25.0 +01:00
  }
  +ip: null
  +tags: [
    "323232"
  ]
  +mentions: [
    "@nooneescapesthelaw@lemmy.ml"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1375 …}
  +nested: Doctrine\ORM\PersistentCollection {#1400 …}
  +votes: Doctrine\ORM\PersistentCollection {#2428 …}
  +reports: Doctrine\ORM\PersistentCollection {#1904 …}
  +favourites: Doctrine\ORM\PersistentCollection {#60 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2487 …}
  -id: 88917
  -bodyTs: "'+1':32,80,97 '/en-us/':18 '/en-us/firefox/addon/savescreenshot/)':22 '/en-us/kb/manage-extension-shortcuts-firefox)':29 '/iivoga.pdf](https://files.catbox.moe/iivoga.pdf)':261 '/pdfarranger/pdfarranger](https://github.com/pdfarranger/pdfarranger)':244 '/preview/2477/12610/200647](https://www.sbcaplanroom.com/preview/2477/12610/200647)':139 '/savescreenshot':19 '1':6,68,73,89 '10':174 '11':180 '12':225 '2':10,85,92 '3':40 '4':103 '5':65,121 '6':140 '600':254 '7':148 '8':161 '9':169 'achtung':206 'action':194,199 'add':30 'addons.mozilla.org':17,21 'addons.mozilla.org/en-us/':16 'addons.mozilla.org/en-us/firefox/addon/savescreenshot/)':20 'adjust':201 'alon':224 'arrang':241 'autokey':9,45,164 'back':232 'batchconvert':191 'bottom':106 'button':155,168 'captur':37 'click':88,158 'complet':3 'crash':252 'creat':41 'crop':198,221 'ctrl':31,79,96 'data':66 'default':64 'dialog':58 'dialog.input':57 'differ':213 'directori':183 'document':257 'done':212 'element':129 'emb':134 'enter':170 'f11':142 'files.catbox.moe':260 'files.catbox.moe/iivoga.pdf](https://files.catbox.moe/iivoga.pdf)':259 'find':130 'firefox':12,25 'fit':147 'get':13 'github.com':243 'github.com/pdfarranger/pdfarranger](https://github.com/pdfarranger/pdfarranger)':242 'home':120,167 'hotkey':35,83,112 'import':50,52,54 'inspect':128 'instal':7 'int':74 'k':70 'key':78,95 'last':101,208 'lauch':162 'launch':114 'link':132 'linux':2 'locat':188 'make':143 'margin':205 'messag':60 'mine':48 'mous':150 'mouseclick':90 'next':153 'number':61,171 'one':102,209,223 'op':123 'open':122,181,216 'os':53 'page':39,56,63,75,125,154,173,204,256 'pdf':236,240 'pictur':146 'place':149 'plugin':81 'pointer':151 'press':141 'program':109 'python':47 'rang':72 'result':258 'said':250 'save':14 'screenshot':15,99,182 'script':43,165 'see':175 'select':186,196 'set':110,117 'shortcut':26 'someth':255 'stitch':230 'subprocess':55 'subprocess.run':76,86,93 'support.mozilla.org':28 'support.mozilla.org/en-us/kb/manage-extension-shortcuts-firefox)':27 'tab':195 'time':51,160 'time.sleep':67,84,91 'titl':59 'togeth':233 'tool':192,228 'use':226,239 'user':247 've':238 'via':127,166 'visibl':38 'whole':145 'work':5 'www.sbcaplanroom.com':138 'www.sbcaplanroom.com/preview/2477/12610/200647](https://www.sbcaplanroom.com/preview/2477/12610/200647)':137 'xdotool':8,77,87,94 'xnv':219 'xnview':185"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://sh.itjust.works/comment/5142480"
  +editedAt: DateTimeImmutable @1699296987 {#1969
    date: 2023-11-06 19:56:27.0 +01:00
  }
  +createdAt: DateTimeImmutable @1699084658 {#1399
    date: 2023-11-04 08:57:38.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 {#1378
  +user: Proxies\__CG__\App\Entity\User {#1371 …}
  +entry: App\Entity\Entry {#1849 …}
  +magazine: App\Entity\Magazine {#312
    +icon: Proxies\__CG__\App\Entity\Image {#293 …}
    +name: "piracy@lemmy.dbzer0.com"
    +title: "piracy"
    +description: """
      ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
      \n
      ---\n
      \n
      ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
      \n
      **1**. Posts must be related to the discussion of digital piracy\n
      \n
      **2**. Don’t request invites, trade, sell, or self-promote\n
      \n
      **3**. Don’t request or link to specific pirated titles, including DMs\n
      \n
      **4**. Don’t submit low-quality posts, be entitled, or harass others\n
      \n
      **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
      \n
      ---\n
      \n
      [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
      ---------------------------------------------------------------------------\n
      \n
      ### Loot, Pillage, &amp; Plunder\n
      \n
      - [📜 Megathread](https://rentry.co/megathread)\n
      - [🪶 FAQ](https://rentry.co/piracy-faq)\n
      - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
      - [🪶 Rules](https://rentry.co/piracy-rules)\n
      \n
      ---\n
      \n
      💰 Please help cover server costs.\n
      \n
      [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
      \n
      ---
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 866
    +entryCommentCount: 20194
    +postCount: 7
    +postCommentCount: 149
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729581369 {#320
      date: 2024-10-22 09:16:09.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#284 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#280 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#269 …}
    +entries: Doctrine\ORM\PersistentCollection {#227 …}
    +posts: Doctrine\ORM\PersistentCollection {#185 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#247 …}
    +bans: Doctrine\ORM\PersistentCollection {#164 …}
    +reports: Doctrine\ORM\PersistentCollection {#150 …}
    +badges: Doctrine\ORM\PersistentCollection {#128 …}
    +logs: Doctrine\ORM\PersistentCollection {#118 …}
    +awards: Doctrine\ORM\PersistentCollection {#107 …}
    +categories: Doctrine\ORM\PersistentCollection {#94 …}
    -id: 51
    +apId: "piracy@lemmy.dbzer0.com"
    +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
    +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
    +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
    +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
    +apDomain: "lemmy.dbzer0.com"
    +apPreferredUsername: "piracy"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1708748229 {#321
      date: 2024-02-24 05:17:09.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1697197339 {#315
      date: 2023-10-13 13:42:19.0 +02:00
    }
  }
  +image: null
  +parent: null
  +root: null
  +body: """
    **FOR LINUX, COMPLETE AND WORKING**\n
    \n
    1. Install xdotool, AutoKey\n
    2. In Firefox get Save Screenshot: [addons.mozilla.org/en-US/…/savescreenshot/](https://addons.mozilla.org/en-US/firefox/addon/savescreenshot/) Then, in [Firefox Shortcuts](https://support.mozilla.org/en-US/kb/manage-extension-shortcuts-firefox) add Ctrl+1 as a hotkey to capture visible page.\n
    3. Create a script for Autokey in Python, mine is:\n
    \n
    ```\n
    \n
    <span style="color:#323232;">import time\n
    </span><span style="color:#323232;">import os   \n
    </span><span style="color:#323232;">import subprocess\n
    </span><span style="color:#323232;">\n
    </span><span style="color:#323232;">pages = dialog.input_dialog(title='', message='Number of pages:', default='5').data\n
    </span><span style="color:#323232;">\n
    </span><span style="color:#323232;">time.sleep(1)\n
    </span><span style="color:#323232;">for k in range(1,int(pages)):\n
    </span><span style="color:#323232;">    subprocess.run(["xdotool", "key", "ctrl+1"]) # Plugin's hotkey\n
    </span><span style="color:#323232;">    time.sleep(2)\n
    </span><span style="color:#323232;">    subprocess.run(["xdotool", "click", "1"]) # Mouseclick\n
    </span><span style="color:#323232;">    time.sleep(2)\n
    </span><span style="color:#323232;">\n
    </span><span style="color:#323232;">subprocess.run(["xdotool", "key", "ctrl+1"]) # to screenshot the last one\n
    </span>\n
    ```\n
    \n
    4. In the bottom of a program, set a hotkey to launch it (I set it to Home).\n
    5. Open OP’s page and via Inspect Element find the link to embed. It’s [www.sbcaplanroom.com/preview/2477/12610/200647](https://www.sbcaplanroom.com/preview/2477/12610/200647)\n
    6. Press F11, make the whole picture fit.\n
    7. Place mouse pointer over next page button, so it clicks each time.\n
    8. Lauch my Autokey script via Home button.\n
    9. Enter number of pages.\n
    10. See how it does it.\n
    11. Open screenshots directory in XnView, select them. Locate it’s BatchConvert tool, in Actions tab select a crop action and adjust it to pages’ margins. **ACHTUNG** The last one should be done differently, you can open it in XnV and crop this one alone.\n
    12. Use any tool to stitch them back together into a PDF. I’ve used PDF Arranger: [github.com/pdfarranger/pdfarranger](https://github.com/pdfarranger/pdfarranger) But some user down there said it crashed on 600-something pages document.\n
    \n
    Result: [files.catbox.moe/iivoga.pdf](https://files.catbox.moe/iivoga.pdf)
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 20
  +score: 0
  +lastActive: DateTime @1699122565 {#1769
    date: 2023-11-04 19:29:25.0 +01:00
  }
  +ip: null
  +tags: [
    "323232"
  ]
  +mentions: [
    "@nooneescapesthelaw@lemmy.ml"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1375 …}
  +nested: Doctrine\ORM\PersistentCollection {#1400 …}
  +votes: Doctrine\ORM\PersistentCollection {#2428 …}
  +reports: Doctrine\ORM\PersistentCollection {#1904 …}
  +favourites: Doctrine\ORM\PersistentCollection {#60 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2487 …}
  -id: 88917
  -bodyTs: "'+1':32,80,97 '/en-us/':18 '/en-us/firefox/addon/savescreenshot/)':22 '/en-us/kb/manage-extension-shortcuts-firefox)':29 '/iivoga.pdf](https://files.catbox.moe/iivoga.pdf)':261 '/pdfarranger/pdfarranger](https://github.com/pdfarranger/pdfarranger)':244 '/preview/2477/12610/200647](https://www.sbcaplanroom.com/preview/2477/12610/200647)':139 '/savescreenshot':19 '1':6,68,73,89 '10':174 '11':180 '12':225 '2':10,85,92 '3':40 '4':103 '5':65,121 '6':140 '600':254 '7':148 '8':161 '9':169 'achtung':206 'action':194,199 'add':30 'addons.mozilla.org':17,21 'addons.mozilla.org/en-us/':16 'addons.mozilla.org/en-us/firefox/addon/savescreenshot/)':20 'adjust':201 'alon':224 'arrang':241 'autokey':9,45,164 'back':232 'batchconvert':191 'bottom':106 'button':155,168 'captur':37 'click':88,158 'complet':3 'crash':252 'creat':41 'crop':198,221 'ctrl':31,79,96 'data':66 'default':64 'dialog':58 'dialog.input':57 'differ':213 'directori':183 'document':257 'done':212 'element':129 'emb':134 'enter':170 'f11':142 'files.catbox.moe':260 'files.catbox.moe/iivoga.pdf](https://files.catbox.moe/iivoga.pdf)':259 'find':130 'firefox':12,25 'fit':147 'get':13 'github.com':243 'github.com/pdfarranger/pdfarranger](https://github.com/pdfarranger/pdfarranger)':242 'home':120,167 'hotkey':35,83,112 'import':50,52,54 'inspect':128 'instal':7 'int':74 'k':70 'key':78,95 'last':101,208 'lauch':162 'launch':114 'link':132 'linux':2 'locat':188 'make':143 'margin':205 'messag':60 'mine':48 'mous':150 'mouseclick':90 'next':153 'number':61,171 'one':102,209,223 'op':123 'open':122,181,216 'os':53 'page':39,56,63,75,125,154,173,204,256 'pdf':236,240 'pictur':146 'place':149 'plugin':81 'pointer':151 'press':141 'program':109 'python':47 'rang':72 'result':258 'said':250 'save':14 'screenshot':15,99,182 'script':43,165 'see':175 'select':186,196 'set':110,117 'shortcut':26 'someth':255 'stitch':230 'subprocess':55 'subprocess.run':76,86,93 'support.mozilla.org':28 'support.mozilla.org/en-us/kb/manage-extension-shortcuts-firefox)':27 'tab':195 'time':51,160 'time.sleep':67,84,91 'titl':59 'togeth':233 'tool':192,228 'use':226,239 'user':247 've':238 'via':127,166 'visibl':38 'whole':145 'work':5 'www.sbcaplanroom.com':138 'www.sbcaplanroom.com/preview/2477/12610/200647](https://www.sbcaplanroom.com/preview/2477/12610/200647)':137 'xdotool':8,77,87,94 'xnv':219 'xnview':185"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://sh.itjust.works/comment/5142480"
  +editedAt: DateTimeImmutable @1699296987 {#1969
    date: 2023-11-06 19:56:27.0 +01:00
  }
  +createdAt: DateTimeImmutable @1699084658 {#1399
    date: 2023-11-04 08:57:38.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 {#312
  +icon: Proxies\__CG__\App\Entity\Image {#293 …}
  +name: "piracy@lemmy.dbzer0.com"
  +title: "piracy"
  +description: """
    ##### ⚓ Community devoted to in-depth debate on topics concerning digital piracy, ethical problems, and legal advancements.\n
    \n
    ---\n
    \n
    ### Rules • [Full Version](https://rentry.co/piracy-rules)\n
    \n
    **1**. Posts must be related to the discussion of digital piracy\n
    \n
    **2**. Don’t request invites, trade, sell, or self-promote\n
    \n
    **3**. Don’t request or link to specific pirated titles, including DMs\n
    \n
    **4**. Don’t submit low-quality posts, be entitled, or harass others\n
    \n
    **5**. Don’t post questions already answered. READ THE [WIKI](https://lemmy.dbzer0.com/post/10901)\n
    \n
    ---\n
    \n
    [![](https://a.imagem.app/oZoQ1v.png)](https://lemmy.dbzer0.com/post/10901)\n
    ---------------------------------------------------------------------------\n
    \n
    ### Loot, Pillage, &amp; Plunder\n
    \n
    - [📜 Megathread](https://rentry.co/megathread)\n
    - [🪶 FAQ](https://rentry.co/piracy-faq)\n
    - [🪶 ISP Complaints](https://rentry.co/piracy-isp-complaints)\n
    - [🪶 Rules](https://rentry.co/piracy-rules)\n
    \n
    ---\n
    \n
    💰 Please help cover server costs.\n
    \n
    [![Ko-Fi](https://lemmy.dbzer0.com/pictrs/image/4a2f073a-3dd8-492a-942d-72bd929c9f1d.png)](https://ko-fi.com/dbzer0)[![Liberapay](https://lemmy.dbzer0.com/pictrs/image/eec4659d-39be-4fc9-bc9e-66a96285ea2c.png)](https://liberapay.com/db0/)\n
    \n
    ---
    """
  +rules: null
  +subscriptionsCount: 1
  +entryCount: 866
  +entryCommentCount: 20194
  +postCount: 7
  +postCommentCount: 149
  +isAdult: false
  +customCss: null
  +lastActive: DateTime @1729581369 {#320
    date: 2024-10-22 09:16:09.0 +02:00
  }
  +markedForDeletionAt: null
  +tags: null
  +moderators: Doctrine\ORM\PersistentCollection {#284 …}
  +ownershipRequests: Doctrine\ORM\PersistentCollection {#280 …}
  +moderatorRequests: Doctrine\ORM\PersistentCollection {#269 …}
  +entries: Doctrine\ORM\PersistentCollection {#227 …}
  +posts: Doctrine\ORM\PersistentCollection {#185 …}
  +subscriptions: Doctrine\ORM\PersistentCollection {#247 …}
  +bans: Doctrine\ORM\PersistentCollection {#164 …}
  +reports: Doctrine\ORM\PersistentCollection {#150 …}
  +badges: Doctrine\ORM\PersistentCollection {#128 …}
  +logs: Doctrine\ORM\PersistentCollection {#118 …}
  +awards: Doctrine\ORM\PersistentCollection {#107 …}
  +categories: Doctrine\ORM\PersistentCollection {#94 …}
  -id: 51
  +apId: "piracy@lemmy.dbzer0.com"
  +apProfileId: "https://lemmy.dbzer0.com/c/piracy"
  +apPublicUrl: "https://lemmy.dbzer0.com/c/piracy"
  +apFollowersUrl: "https://lemmy.dbzer0.com/c/piracy/followers"
  +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
  +apDomain: "lemmy.dbzer0.com"
  +apPreferredUsername: "piracy"
  +apDiscoverable: true
  +apManuallyApprovesFollowers: null
  +privateKey: null
  +publicKey: null
  +apFetchedAt: DateTime @1708748229 {#321
    date: 2024-02-24 05:17:09.0 +01:00
  }
  +apDeletedAt: null
  +apTimeoutAt: null
  +visibility: "visible             "
  +createdAt: DateTimeImmutable @1697197339 {#315
    date: 2023-10-13 13:42:19.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS DENIED
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details