Components
21
Twig Components
67
Render Count
184
ms
Render Time
14.0
MiB
Memory Usage
Components
Render calls
user_box | App\Twig\Components\UserBoxComponent | 14.0 MiB | 9.97 ms | |
---|---|---|---|---|
Input props | [ "user" => App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } "stretchedLink" => false ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\UserBoxComponent {#2036 +user: App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } +stretchedLink: false } |
user_avatar | App\Twig\Components\UserAvatarComponent | 14.0 MiB | 3.12 ms | |
---|---|---|---|---|
Input props | [ "user" => App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } "width" => 100 "height" => 100 ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\UserAvatarComponent {#2205 +width: 100 +height: 100 +user: App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } +asLink: false } |
user_actions | App\Twig\Components\UserActionsComponent | 14.0 MiB | 2.62 ms | |
---|---|---|---|---|
Input props | [ "user" => App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\UserActionsComponent {#2152 +user: App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } } |
entry | App\Twig\Components\EntryComponent | 14.0 MiB | 21.08 ms | |
---|---|---|---|---|
Input props | [ "entry" => App\Entity\Entry {#1609 +user: App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 +icon: Proxies\__CG__\App\Entity\Image {#3026 …} +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://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 [](https://ko-fi.com/dbzer0)[](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 {#3023 : 2024-10-22 09:16:09.0 +02:00 } +markedForDeletionAt: null +tags: null +moderators: Doctrine\ORM\PersistentCollection {#3027 …} +ownershipRequests: Doctrine\ORM\PersistentCollection {#3029 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#3031 …} +entries: Doctrine\ORM\PersistentCollection {#3033 …} +posts: Doctrine\ORM\PersistentCollection {#3035 …} +subscriptions: Doctrine\ORM\PersistentCollection {#3037 …} +bans: Doctrine\ORM\PersistentCollection {#3043 …} +reports: Doctrine\ORM\PersistentCollection {#3051 …} +badges: Doctrine\ORM\PersistentCollection {#3064 …} +logs: Doctrine\ORM\PersistentCollection {#3074 …} +awards: Doctrine\ORM\PersistentCollection {#3056 …} +categories: Doctrine\ORM\PersistentCollection {#3080 …} -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 {#3024 : 2024-02-24 05:17:09.0 +01:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197339 {#3025 : 2023-10-13 13:42:19.0 +02:00 } +__isInitialized__: true …2 } +image: Proxies\__CG__\App\Entity\Image {#1579 …} +domain: Proxies\__CG__\App\Entity\Domain {#1679 …} +slug: "I-made-a-thing-to-make-playing-YouTube-videos-locally" +title: "I made a thing to make playing YouTube videos locally from your browser easier" +url: "https://gitlab.com/danielquinn/video-bypass" +body: """ The other day someone was complaining about the new ad blocker-blocker on YouTube and I mentioned that it might be fun to write a Firefox extension that would just load up `yt-dlp` and play the video through `mpv`.\n \n It turns out, writing a Firefox extension is *easy* and tricking Firefox into launching `yt-dlp` isn’t much harder (though it does require some annoying configuration on the user’s end).\n \n Anyway, if you’re a Linux user, feel free to try it out. I don’t know how much I’m going to pour into this, but as an exercise of “can this be done”, it was pretty good for a few hours on a Friday night. """ +type: "link" +lang: "en" +isOc: false +hasEmbed: false +commentCount: 19 +favouriteCount: 200 +score: 0 +isAdult: false +sticky: false +lastActive: DateTime @1707557582 {#1421 : 2024-02-10 10:33:02.0 +01:00 } +ip: null +adaAmount: 0 +tags: null +mentions: null +comments: Doctrine\ORM\PersistentCollection {#1650 …} +votes: Doctrine\ORM\PersistentCollection {#1652 …} +reports: Doctrine\ORM\PersistentCollection {#1651 …} +favourites: Doctrine\ORM\PersistentCollection {#1527 …} +notifications: Doctrine\ORM\PersistentCollection {#1560 …} +badges: Doctrine\ORM\PersistentCollection {#1558 …} +children: [ 3 => App\Entity\EntryComment {#1611 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "Is there another way to do this? This hack was the only way I could figure out how to get Firefox to invoke an external binary, but if there’s a more conventional way to do it, I’d like to know 'cause I have another more complicated project in need of a pattern much like this one." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697268007 {#1596 : 2023-10-14 09:20:07.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2464 …} +nested: Doctrine\ORM\PersistentCollection {#1740 …} +votes: Doctrine\ORM\PersistentCollection {#1739 …} +reports: Doctrine\ORM\PersistentCollection {#1716 …} +favourites: Doctrine\ORM\PersistentCollection {#2461 …} +notifications: Doctrine\ORM\PersistentCollection {#2447 …} -id: 48003 -bodyTs: "'anoth':3,46 'binari':26 'caus':43 'complic':48 'convent':33 'could':15 'd':39 'extern':25 'figur':16 'firefox':21 'get':20 'hack':9 'invok':23 'know':42 'like':40,56 'much':55 'need':51 'one':58 'pattern':54 'project':49 'way':4,13,34" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993154" +editedAt: null +createdAt: DateTimeImmutable @1697268007 {#1555 : 2023-10-14 09:20:07.0 +02:00 } +"title": 48003 } 2 => App\Entity\EntryComment {#2467 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +body: """ I don’t think I have it in me to put together a video, but I can describe it if you like.\n \n Once you install the extension and follow the setup instructions, you just go to a YouTube page. The extension adds an ugly button to the top-left of the page that says “bypass”. When you click it, Firefox launches `yt-dlp [the URL you’re at] -o - | mpv -` which basically just downloads the video and streams the output through the `mpv` video player. So now you’re watching just the video, with no web page necessary. """ +lang: "en" +isAdult: false +favouriteCount: 3 +score: 0 +lastActive: DateTime @1697268377 {#1731 : 2023-10-14 09:26:17.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@zaknenou@lemmy.dbzer0.com" ] +children: Doctrine\ORM\PersistentCollection {#2455 …} +nested: Doctrine\ORM\PersistentCollection {#2471 …} +votes: Doctrine\ORM\PersistentCollection {#2363 …} +reports: Doctrine\ORM\PersistentCollection {#2377 …} +favourites: Doctrine\ORM\PersistentCollection {#2359 …} +notifications: Doctrine\ORM\PersistentCollection {#2364 …} -id: 48009 -bodyTs: "'add':42 'basic':74 'button':45 'bypass':56 'click':59 'describ':18 'dlp':65 'download':76 'extens':27,41 'firefox':61 'follow':29 'go':35 'instal':25 'instruct':32 'launch':62 'left':50 'like':22 'mpv':72,85 'necessari':100 'o':71 'output':82 'page':39,53,99 'player':87 'put':11 're':69,91 'say':55 'setup':31 'stream':80 'think':4 'togeth':12 'top':49 'top-left':48 'ugli':44 'url':67 'video':14,78,86,95 'watch':92 'web':98 'youtub':38 'yt':64 'yt-dlp':63" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993221" +editedAt: null +createdAt: DateTimeImmutable @1697268377 {#2469 : 2023-10-14 09:26:17.0 +02:00 } +"title": 48009 } 1 => App\Entity\EntryComment {#2382 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +body: """ Honestly, because I didn’t know (a) that ff2mpv even existed, or that (b) mpv could play YouTube URLs directly. So thanks! I learnt two things today :-)\n \n It was still a fun project though 'cause I learnt how to write a Firefox extension *and* get the browser to launch programs on-click, so not a waste of time! """ +lang: "en" +isAdult: false +favouriteCount: 13 +score: 0 +lastActive: DateTime @1697288649 {#2380 : 2023-10-14 15:04:09.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@khorovodoved@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2384 …} +nested: Doctrine\ORM\PersistentCollection {#2379 …} +votes: Doctrine\ORM\PersistentCollection {#2383 …} +reports: Doctrine\ORM\PersistentCollection {#1906 …} +favourites: Doctrine\ORM\PersistentCollection {#1708 …} +notifications: Doctrine\ORM\PersistentCollection {#1410 …} -id: 48431 -bodyTs: "'b':14 'browser':47 'caus':35 'click':53 'could':16 'didn':4 'direct':20 'even':10 'exist':11 'extens':43 'ff2mpv':9 'firefox':42 'fun':32 'get':45 'honest':1 'know':6 'launch':49 'learnt':24,37 'mpv':15 'on-click':51 'play':17 'program':50 'project':33 'still':30 'thank':22 'thing':26 'though':34 'time':59 'today':27 'two':25 'url':19 'wast':57 'write':40 'youtub':18" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3997262" +editedAt: null +createdAt: DateTimeImmutable @1697288649 {#2386 : 2023-10-14 15:04:09.0 +02:00 } +"title": 48431 } 0 => App\Entity\EntryComment {#1407 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#1883 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "That’s actually very helpful, thanks. I’ve been working on another project to open certain URLs in specific browsers/profiles, and wanted to be sure that I wasn’t missing a more obvious design pattern. The project is [here](https://gitlab.com/danielquinn/opening) if you’re curious." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697303255 {#1907 : 2023-10-14 19:07:35.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2391 …} +nested: Doctrine\ORM\PersistentCollection {#2369 …} +votes: Doctrine\ORM\PersistentCollection {#2392 …} +reports: Doctrine\ORM\PersistentCollection {#2395 …} +favourites: Doctrine\ORM\PersistentCollection {#1384 …} +notifications: Doctrine\ORM\PersistentCollection {#1383 …} -id: 48905 -bodyTs: "'/danielquinn/opening)':42 'actual':3 'anoth':12 'browsers/profiles':20 'certain':16 'curious':46 'design':34 'gitlab.com':41 'gitlab.com/danielquinn/opening)':40 'help':5 'miss':30 'obvious':33 'open':15 'pattern':35 'project':13,37 're':45 'specif':19 'sure':25 'thank':6 'url':17 've':8 'want':22 'wasn':28 'work':10" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/4002090" +editedAt: null +createdAt: DateTimeImmutable @1697303255 {#1908 : 2023-10-14 19:07:35.0 +02:00 } +"title": 48905 } ] -id: 5166 -titleTs: "'browser':13 'easier':14 'local':10 'made':2 'make':6 'play':7 'thing':4 'video':9 'youtub':8" -bodyTs: "'ad':10 'annoy':69 'anyway':76 'blocker':12,13 'blocker-block':11 'complain':6 'configur':70 'day':3 'dlp':36,59 'done':110 'easi':51 'end':75 'exercis':105 'extens':28,49 'feel':83 'firefox':27,48,54 'free':84 'friday':121 'fun':23 'go':97 'good':114 'harder':63 'hour':118 'isn':60 'know':92 'launch':56 'linux':81 'load':32 'm':96 'mention':18 'might':21 'mpv':42 'much':62,94 'new':9 'night':122 'play':38 'pour':99 'pretti':113 're':79 'requir':67 'someon':4 'though':64 'tri':86 'trick':53 'turn':44 'user':73,82 'video':40 'would':30 'write':25,46 'youtub':15 'yt':35,58 'yt-dlp':34,57" +cross: false +upVotes: 0 +downVotes: 0 +ranking: 1697325241 +visibility: "visible " +apId: "https://lemmy.ca/post/7150213" +editedAt: null +createdAt: DateTimeImmutable @1697238841 {#1424 : 2023-10-14 01:14:01.0 +02:00 } } "dateAsUrl" => true ] |
|||
Attributes | [ "dateAsUrl" => true ] |
|||
Component | App\Twig\Components\EntryComponent {#2970 -authorizationChecker: Symfony\Component\Security\Core\Authorization\AuthorizationChecker {#931 …} -newCommentMarkerCount: App\Kbin\NewCommentMarker\NewCommentMarkerCount {#2971 …} -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …} -twig: Twig\Environment {#1252 …} -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …} -security: Symfony\Bundle\SecurityBundle\Security {#1101 …} +entry: App\Entity\Entry {#1609 +user: App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 +icon: Proxies\__CG__\App\Entity\Image {#3026 …} +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://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 [](https://ko-fi.com/dbzer0)[](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 {#3023 : 2024-10-22 09:16:09.0 +02:00 } +markedForDeletionAt: null +tags: null +moderators: Doctrine\ORM\PersistentCollection {#3027 …} +ownershipRequests: Doctrine\ORM\PersistentCollection {#3029 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#3031 …} +entries: Doctrine\ORM\PersistentCollection {#3033 …} +posts: Doctrine\ORM\PersistentCollection {#3035 …} +subscriptions: Doctrine\ORM\PersistentCollection {#3037 …} +bans: Doctrine\ORM\PersistentCollection {#3043 …} +reports: Doctrine\ORM\PersistentCollection {#3051 …} +badges: Doctrine\ORM\PersistentCollection {#3064 …} +logs: Doctrine\ORM\PersistentCollection {#3074 …} +awards: Doctrine\ORM\PersistentCollection {#3056 …} +categories: Doctrine\ORM\PersistentCollection {#3080 …} -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 {#3024 : 2024-02-24 05:17:09.0 +01:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197339 {#3025 : 2023-10-13 13:42:19.0 +02:00 } +__isInitialized__: true …2 } +image: Proxies\__CG__\App\Entity\Image {#1579 …} +domain: Proxies\__CG__\App\Entity\Domain {#1679 …} +slug: "I-made-a-thing-to-make-playing-YouTube-videos-locally" +title: "I made a thing to make playing YouTube videos locally from your browser easier" +url: "https://gitlab.com/danielquinn/video-bypass" +body: """ The other day someone was complaining about the new ad blocker-blocker on YouTube and I mentioned that it might be fun to write a Firefox extension that would just load up `yt-dlp` and play the video through `mpv`.\n \n It turns out, writing a Firefox extension is *easy* and tricking Firefox into launching `yt-dlp` isn’t much harder (though it does require some annoying configuration on the user’s end).\n \n Anyway, if you’re a Linux user, feel free to try it out. I don’t know how much I’m going to pour into this, but as an exercise of “can this be done”, it was pretty good for a few hours on a Friday night. """ +type: "link" +lang: "en" +isOc: false +hasEmbed: false +commentCount: 19 +favouriteCount: 200 +score: 0 +isAdult: false +sticky: false +lastActive: DateTime @1707557582 {#1421 : 2024-02-10 10:33:02.0 +01:00 } +ip: null +adaAmount: 0 +tags: null +mentions: null +comments: Doctrine\ORM\PersistentCollection {#1650 …} +votes: Doctrine\ORM\PersistentCollection {#1652 …} +reports: Doctrine\ORM\PersistentCollection {#1651 …} +favourites: Doctrine\ORM\PersistentCollection {#1527 …} +notifications: Doctrine\ORM\PersistentCollection {#1560 …} +badges: Doctrine\ORM\PersistentCollection {#1558 …} +children: [ 3 => App\Entity\EntryComment {#1611 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "Is there another way to do this? This hack was the only way I could figure out how to get Firefox to invoke an external binary, but if there’s a more conventional way to do it, I’d like to know 'cause I have another more complicated project in need of a pattern much like this one." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697268007 {#1596 : 2023-10-14 09:20:07.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2464 …} +nested: Doctrine\ORM\PersistentCollection {#1740 …} +votes: Doctrine\ORM\PersistentCollection {#1739 …} +reports: Doctrine\ORM\PersistentCollection {#1716 …} +favourites: Doctrine\ORM\PersistentCollection {#2461 …} +notifications: Doctrine\ORM\PersistentCollection {#2447 …} -id: 48003 -bodyTs: "'anoth':3,46 'binari':26 'caus':43 'complic':48 'convent':33 'could':15 'd':39 'extern':25 'figur':16 'firefox':21 'get':20 'hack':9 'invok':23 'know':42 'like':40,56 'much':55 'need':51 'one':58 'pattern':54 'project':49 'way':4,13,34" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993154" +editedAt: null +createdAt: DateTimeImmutable @1697268007 {#1555 : 2023-10-14 09:20:07.0 +02:00 } +"title": 48003 } 2 => App\Entity\EntryComment {#2467 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +body: """ I don’t think I have it in me to put together a video, but I can describe it if you like.\n \n Once you install the extension and follow the setup instructions, you just go to a YouTube page. The extension adds an ugly button to the top-left of the page that says “bypass”. When you click it, Firefox launches `yt-dlp [the URL you’re at] -o - | mpv -` which basically just downloads the video and streams the output through the `mpv` video player. So now you’re watching just the video, with no web page necessary. """ +lang: "en" +isAdult: false +favouriteCount: 3 +score: 0 +lastActive: DateTime @1697268377 {#1731 : 2023-10-14 09:26:17.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@zaknenou@lemmy.dbzer0.com" ] +children: Doctrine\ORM\PersistentCollection {#2455 …} +nested: Doctrine\ORM\PersistentCollection {#2471 …} +votes: Doctrine\ORM\PersistentCollection {#2363 …} +reports: Doctrine\ORM\PersistentCollection {#2377 …} +favourites: Doctrine\ORM\PersistentCollection {#2359 …} +notifications: Doctrine\ORM\PersistentCollection {#2364 …} -id: 48009 -bodyTs: "'add':42 'basic':74 'button':45 'bypass':56 'click':59 'describ':18 'dlp':65 'download':76 'extens':27,41 'firefox':61 'follow':29 'go':35 'instal':25 'instruct':32 'launch':62 'left':50 'like':22 'mpv':72,85 'necessari':100 'o':71 'output':82 'page':39,53,99 'player':87 'put':11 're':69,91 'say':55 'setup':31 'stream':80 'think':4 'togeth':12 'top':49 'top-left':48 'ugli':44 'url':67 'video':14,78,86,95 'watch':92 'web':98 'youtub':38 'yt':64 'yt-dlp':63" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993221" +editedAt: null +createdAt: DateTimeImmutable @1697268377 {#2469 : 2023-10-14 09:26:17.0 +02:00 } +"title": 48009 } 1 => App\Entity\EntryComment {#2382 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +body: """ Honestly, because I didn’t know (a) that ff2mpv even existed, or that (b) mpv could play YouTube URLs directly. So thanks! I learnt two things today :-)\n \n It was still a fun project though 'cause I learnt how to write a Firefox extension *and* get the browser to launch programs on-click, so not a waste of time! """ +lang: "en" +isAdult: false +favouriteCount: 13 +score: 0 +lastActive: DateTime @1697288649 {#2380 : 2023-10-14 15:04:09.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@khorovodoved@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2384 …} +nested: Doctrine\ORM\PersistentCollection {#2379 …} +votes: Doctrine\ORM\PersistentCollection {#2383 …} +reports: Doctrine\ORM\PersistentCollection {#1906 …} +favourites: Doctrine\ORM\PersistentCollection {#1708 …} +notifications: Doctrine\ORM\PersistentCollection {#1410 …} -id: 48431 -bodyTs: "'b':14 'browser':47 'caus':35 'click':53 'could':16 'didn':4 'direct':20 'even':10 'exist':11 'extens':43 'ff2mpv':9 'firefox':42 'fun':32 'get':45 'honest':1 'know':6 'launch':49 'learnt':24,37 'mpv':15 'on-click':51 'play':17 'program':50 'project':33 'still':30 'thank':22 'thing':26 'though':34 'time':59 'today':27 'two':25 'url':19 'wast':57 'write':40 'youtub':18" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3997262" +editedAt: null +createdAt: DateTimeImmutable @1697288649 {#2386 : 2023-10-14 15:04:09.0 +02:00 } +"title": 48431 } 0 => App\Entity\EntryComment {#1407 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#1883 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "That’s actually very helpful, thanks. I’ve been working on another project to open certain URLs in specific browsers/profiles, and wanted to be sure that I wasn’t missing a more obvious design pattern. The project is [here](https://gitlab.com/danielquinn/opening) if you’re curious." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697303255 {#1907 : 2023-10-14 19:07:35.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2391 …} +nested: Doctrine\ORM\PersistentCollection {#2369 …} +votes: Doctrine\ORM\PersistentCollection {#2392 …} +reports: Doctrine\ORM\PersistentCollection {#2395 …} +favourites: Doctrine\ORM\PersistentCollection {#1384 …} +notifications: Doctrine\ORM\PersistentCollection {#1383 …} -id: 48905 -bodyTs: "'/danielquinn/opening)':42 'actual':3 'anoth':12 'browsers/profiles':20 'certain':16 'curious':46 'design':34 'gitlab.com':41 'gitlab.com/danielquinn/opening)':40 'help':5 'miss':30 'obvious':33 'open':15 'pattern':35 'project':13,37 're':45 'specif':19 'sure':25 'thank':6 'url':17 've':8 'want':22 'wasn':28 'work':10" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/4002090" +editedAt: null +createdAt: DateTimeImmutable @1697303255 {#1908 : 2023-10-14 19:07:35.0 +02:00 } +"title": 48905 } ] -id: 5166 -titleTs: "'browser':13 'easier':14 'local':10 'made':2 'make':6 'play':7 'thing':4 'video':9 'youtub':8" -bodyTs: "'ad':10 'annoy':69 'anyway':76 'blocker':12,13 'blocker-block':11 'complain':6 'configur':70 'day':3 'dlp':36,59 'done':110 'easi':51 'end':75 'exercis':105 'extens':28,49 'feel':83 'firefox':27,48,54 'free':84 'friday':121 'fun':23 'go':97 'good':114 'harder':63 'hour':118 'isn':60 'know':92 'launch':56 'linux':81 'load':32 'm':96 'mention':18 'might':21 'mpv':42 'much':62,94 'new':9 'night':122 'play':38 'pour':99 'pretti':113 're':79 'requir':67 'someon':4 'though':64 'tri':86 'trick':53 'turn':44 'user':73,82 'video':40 'would':30 'write':25,46 'youtub':15 'yt':35,58 'yt-dlp':34,57" +cross: false +upVotes: 0 +downVotes: 0 +ranking: 1697325241 +visibility: "visible " +apId: "https://lemmy.ca/post/7150213" +editedAt: null +createdAt: DateTimeImmutable @1697238841 {#1424 : 2023-10-14 01:14:01.0 +02:00 } } +isSingle: false +showShortSentence: true +showBody: false +showMagazineName: true +canSeeTrash: false +newComments: 0 } |
user_inline | App\Twig\Components\UserInlineComponent | 14.0 MiB | 0.20 ms | |
---|---|---|---|---|
Input props | [ "user" => App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } "showAvatar" => false ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\UserInlineComponent {#3144 +user: App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } +showAvatar: false } |
date | App\Twig\Components\DateComponent | 14.0 MiB | 0.21 ms | |
---|---|---|---|---|
Input props | [ "date" => DateTimeImmutable @1697238841 {#1424 : 2023-10-14 01:14:01.0 +02:00 } ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\DateComponent {#3209 +date: DateTimeImmutable @1697238841 {#1424 : 2023-10-14 01:14:01.0 +02:00 } } |
date_edited | App\Twig\Components\DateEditedComponent | 14.0 MiB | 0.14 ms | |
---|---|---|---|---|
Input props | [ "createdAt" => DateTimeImmutable @1697238841 {#1424 : 2023-10-14 01:14:01.0 +02:00 } "editedAt" => null ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\DateEditedComponent {#3273 +createdAt: DateTimeImmutable @1697238841 {#1424 : 2023-10-14 01:14:01.0 +02:00 } +editedAt: null } |
magazine_inline | App\Twig\Components\MagazineInlineComponent | 14.0 MiB | 0.17 ms | |
---|---|---|---|---|
Input props | [ "magazine" => Proxies\__CG__\App\Entity\Magazine {#1584 +icon: Proxies\__CG__\App\Entity\Image {#3026 …} +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://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 [](https://ko-fi.com/dbzer0)[](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 {#3023 : 2024-10-22 09:16:09.0 +02:00 } +markedForDeletionAt: null +tags: null +moderators: Doctrine\ORM\PersistentCollection {#3027 …} +ownershipRequests: Doctrine\ORM\PersistentCollection {#3029 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#3031 …} +entries: Doctrine\ORM\PersistentCollection {#3033 …} +posts: Doctrine\ORM\PersistentCollection {#3035 …} +subscriptions: Doctrine\ORM\PersistentCollection {#3037 …} +bans: Doctrine\ORM\PersistentCollection {#3043 …} +reports: Doctrine\ORM\PersistentCollection {#3051 …} +badges: Doctrine\ORM\PersistentCollection {#3064 …} +logs: Doctrine\ORM\PersistentCollection {#3074 …} +awards: Doctrine\ORM\PersistentCollection {#3056 …} +categories: Doctrine\ORM\PersistentCollection {#3080 …} -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 {#3024 : 2024-02-24 05:17:09.0 +01:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197339 {#3025 : 2023-10-13 13:42:19.0 +02:00 } +__isInitialized__: true …2 } "showAvatar" => false ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\MagazineInlineComponent {#3338 +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 +icon: Proxies\__CG__\App\Entity\Image {#3026 …} +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://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 [](https://ko-fi.com/dbzer0)[](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 {#3023 : 2024-10-22 09:16:09.0 +02:00 } +markedForDeletionAt: null +tags: null +moderators: Doctrine\ORM\PersistentCollection {#3027 …} +ownershipRequests: Doctrine\ORM\PersistentCollection {#3029 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#3031 …} +entries: Doctrine\ORM\PersistentCollection {#3033 …} +posts: Doctrine\ORM\PersistentCollection {#3035 …} +subscriptions: Doctrine\ORM\PersistentCollection {#3037 …} +bans: Doctrine\ORM\PersistentCollection {#3043 …} +reports: Doctrine\ORM\PersistentCollection {#3051 …} +badges: Doctrine\ORM\PersistentCollection {#3064 …} +logs: Doctrine\ORM\PersistentCollection {#3074 …} +awards: Doctrine\ORM\PersistentCollection {#3056 …} +categories: Doctrine\ORM\PersistentCollection {#3080 …} -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 {#3024 : 2024-02-24 05:17:09.0 +01:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197339 {#3025 : 2023-10-13 13:42:19.0 +02:00 } +__isInitialized__: true …2 } +showTitle: true +fullName: false +stretchedLink: false +showAvatar: false } |
vote | App\Twig\Components\VoteComponent | 14.0 MiB | 0.57 ms | |
---|---|---|---|---|
Input props | [ "subject" => App\Entity\Entry {#1609 +user: App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 +icon: Proxies\__CG__\App\Entity\Image {#3026 …} +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://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 [](https://ko-fi.com/dbzer0)[](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 {#3023 : 2024-10-22 09:16:09.0 +02:00 } +markedForDeletionAt: null +tags: null +moderators: Doctrine\ORM\PersistentCollection {#3027 …} +ownershipRequests: Doctrine\ORM\PersistentCollection {#3029 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#3031 …} +entries: Doctrine\ORM\PersistentCollection {#3033 …} +posts: Doctrine\ORM\PersistentCollection {#3035 …} +subscriptions: Doctrine\ORM\PersistentCollection {#3037 …} +bans: Doctrine\ORM\PersistentCollection {#3043 …} +reports: Doctrine\ORM\PersistentCollection {#3051 …} +badges: Doctrine\ORM\PersistentCollection {#3064 …} +logs: Doctrine\ORM\PersistentCollection {#3074 …} +awards: Doctrine\ORM\PersistentCollection {#3056 …} +categories: Doctrine\ORM\PersistentCollection {#3080 …} -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 {#3024 : 2024-02-24 05:17:09.0 +01:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197339 {#3025 : 2023-10-13 13:42:19.0 +02:00 } +__isInitialized__: true …2 } +image: Proxies\__CG__\App\Entity\Image {#1579 …} +domain: Proxies\__CG__\App\Entity\Domain {#1679 …} +slug: "I-made-a-thing-to-make-playing-YouTube-videos-locally" +title: "I made a thing to make playing YouTube videos locally from your browser easier" +url: "https://gitlab.com/danielquinn/video-bypass" +body: """ The other day someone was complaining about the new ad blocker-blocker on YouTube and I mentioned that it might be fun to write a Firefox extension that would just load up `yt-dlp` and play the video through `mpv`.\n \n It turns out, writing a Firefox extension is *easy* and tricking Firefox into launching `yt-dlp` isn’t much harder (though it does require some annoying configuration on the user’s end).\n \n Anyway, if you’re a Linux user, feel free to try it out. I don’t know how much I’m going to pour into this, but as an exercise of “can this be done”, it was pretty good for a few hours on a Friday night. """ +type: "link" +lang: "en" +isOc: false +hasEmbed: false +commentCount: 19 +favouriteCount: 200 +score: 0 +isAdult: false +sticky: false +lastActive: DateTime @1707557582 {#1421 : 2024-02-10 10:33:02.0 +01:00 } +ip: null +adaAmount: 0 +tags: null +mentions: null +comments: Doctrine\ORM\PersistentCollection {#1650 …} +votes: Doctrine\ORM\PersistentCollection {#1652 …} +reports: Doctrine\ORM\PersistentCollection {#1651 …} +favourites: Doctrine\ORM\PersistentCollection {#1527 …} +notifications: Doctrine\ORM\PersistentCollection {#1560 …} +badges: Doctrine\ORM\PersistentCollection {#1558 …} +children: [ 3 => App\Entity\EntryComment {#1611 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "Is there another way to do this? This hack was the only way I could figure out how to get Firefox to invoke an external binary, but if there’s a more conventional way to do it, I’d like to know 'cause I have another more complicated project in need of a pattern much like this one." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697268007 {#1596 : 2023-10-14 09:20:07.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2464 …} +nested: Doctrine\ORM\PersistentCollection {#1740 …} +votes: Doctrine\ORM\PersistentCollection {#1739 …} +reports: Doctrine\ORM\PersistentCollection {#1716 …} +favourites: Doctrine\ORM\PersistentCollection {#2461 …} +notifications: Doctrine\ORM\PersistentCollection {#2447 …} -id: 48003 -bodyTs: "'anoth':3,46 'binari':26 'caus':43 'complic':48 'convent':33 'could':15 'd':39 'extern':25 'figur':16 'firefox':21 'get':20 'hack':9 'invok':23 'know':42 'like':40,56 'much':55 'need':51 'one':58 'pattern':54 'project':49 'way':4,13,34" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993154" +editedAt: null +createdAt: DateTimeImmutable @1697268007 {#1555 : 2023-10-14 09:20:07.0 +02:00 } +"title": 48003 } 2 => App\Entity\EntryComment {#2467 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +body: """ I don’t think I have it in me to put together a video, but I can describe it if you like.\n \n Once you install the extension and follow the setup instructions, you just go to a YouTube page. The extension adds an ugly button to the top-left of the page that says “bypass”. When you click it, Firefox launches `yt-dlp [the URL you’re at] -o - | mpv -` which basically just downloads the video and streams the output through the `mpv` video player. So now you’re watching just the video, with no web page necessary. """ +lang: "en" +isAdult: false +favouriteCount: 3 +score: 0 +lastActive: DateTime @1697268377 {#1731 : 2023-10-14 09:26:17.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@zaknenou@lemmy.dbzer0.com" ] +children: Doctrine\ORM\PersistentCollection {#2455 …} +nested: Doctrine\ORM\PersistentCollection {#2471 …} +votes: Doctrine\ORM\PersistentCollection {#2363 …} +reports: Doctrine\ORM\PersistentCollection {#2377 …} +favourites: Doctrine\ORM\PersistentCollection {#2359 …} +notifications: Doctrine\ORM\PersistentCollection {#2364 …} -id: 48009 -bodyTs: "'add':42 'basic':74 'button':45 'bypass':56 'click':59 'describ':18 'dlp':65 'download':76 'extens':27,41 'firefox':61 'follow':29 'go':35 'instal':25 'instruct':32 'launch':62 'left':50 'like':22 'mpv':72,85 'necessari':100 'o':71 'output':82 'page':39,53,99 'player':87 'put':11 're':69,91 'say':55 'setup':31 'stream':80 'think':4 'togeth':12 'top':49 'top-left':48 'ugli':44 'url':67 'video':14,78,86,95 'watch':92 'web':98 'youtub':38 'yt':64 'yt-dlp':63" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993221" +editedAt: null +createdAt: DateTimeImmutable @1697268377 {#2469 : 2023-10-14 09:26:17.0 +02:00 } +"title": 48009 } 1 => App\Entity\EntryComment {#2382 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +body: """ Honestly, because I didn’t know (a) that ff2mpv even existed, or that (b) mpv could play YouTube URLs directly. So thanks! I learnt two things today :-)\n \n It was still a fun project though 'cause I learnt how to write a Firefox extension *and* get the browser to launch programs on-click, so not a waste of time! """ +lang: "en" +isAdult: false +favouriteCount: 13 +score: 0 +lastActive: DateTime @1697288649 {#2380 : 2023-10-14 15:04:09.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@khorovodoved@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2384 …} +nested: Doctrine\ORM\PersistentCollection {#2379 …} +votes: Doctrine\ORM\PersistentCollection {#2383 …} +reports: Doctrine\ORM\PersistentCollection {#1906 …} +favourites: Doctrine\ORM\PersistentCollection {#1708 …} +notifications: Doctrine\ORM\PersistentCollection {#1410 …} -id: 48431 -bodyTs: "'b':14 'browser':47 'caus':35 'click':53 'could':16 'didn':4 'direct':20 'even':10 'exist':11 'extens':43 'ff2mpv':9 'firefox':42 'fun':32 'get':45 'honest':1 'know':6 'launch':49 'learnt':24,37 'mpv':15 'on-click':51 'play':17 'program':50 'project':33 'still':30 'thank':22 'thing':26 'though':34 'time':59 'today':27 'two':25 'url':19 'wast':57 'write':40 'youtub':18" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3997262" +editedAt: null +createdAt: DateTimeImmutable @1697288649 {#2386 : 2023-10-14 15:04:09.0 +02:00 } +"title": 48431 } 0 => App\Entity\EntryComment {#1407 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#1883 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "That’s actually very helpful, thanks. I’ve been working on another project to open certain URLs in specific browsers/profiles, and wanted to be sure that I wasn’t missing a more obvious design pattern. The project is [here](https://gitlab.com/danielquinn/opening) if you’re curious." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697303255 {#1907 : 2023-10-14 19:07:35.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2391 …} +nested: Doctrine\ORM\PersistentCollection {#2369 …} +votes: Doctrine\ORM\PersistentCollection {#2392 …} +reports: Doctrine\ORM\PersistentCollection {#2395 …} +favourites: Doctrine\ORM\PersistentCollection {#1384 …} +notifications: Doctrine\ORM\PersistentCollection {#1383 …} -id: 48905 -bodyTs: "'/danielquinn/opening)':42 'actual':3 'anoth':12 'browsers/profiles':20 'certain':16 'curious':46 'design':34 'gitlab.com':41 'gitlab.com/danielquinn/opening)':40 'help':5 'miss':30 'obvious':33 'open':15 'pattern':35 'project':13,37 're':45 'specif':19 'sure':25 'thank':6 'url':17 've':8 'want':22 'wasn':28 'work':10" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/4002090" +editedAt: null +createdAt: DateTimeImmutable @1697303255 {#1908 : 2023-10-14 19:07:35.0 +02:00 } +"title": 48905 } ] -id: 5166 -titleTs: "'browser':13 'easier':14 'local':10 'made':2 'make':6 'play':7 'thing':4 'video':9 'youtub':8" -bodyTs: "'ad':10 'annoy':69 'anyway':76 'blocker':12,13 'blocker-block':11 'complain':6 'configur':70 'day':3 'dlp':36,59 'done':110 'easi':51 'end':75 'exercis':105 'extens':28,49 'feel':83 'firefox':27,48,54 'free':84 'friday':121 'fun':23 'go':97 'good':114 'harder':63 'hour':118 'isn':60 'know':92 'launch':56 'linux':81 'load':32 'm':96 'mention':18 'might':21 'mpv':42 'much':62,94 'new':9 'night':122 'play':38 'pour':99 'pretti':113 're':79 'requir':67 'someon':4 'though':64 'tri':86 'trick':53 'turn':44 'user':73,82 'video':40 'would':30 'write':25,46 'youtub':15 'yt':35,58 'yt-dlp':34,57" +cross: false +upVotes: 0 +downVotes: 0 +ranking: 1697325241 +visibility: "visible " +apId: "https://lemmy.ca/post/7150213" +editedAt: null +createdAt: DateTimeImmutable @1697238841 {#1424 : 2023-10-14 01:14:01.0 +02:00 } } ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\VoteComponent {#3414 +subject: App\Entity\Entry {#1609 +user: App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 +icon: Proxies\__CG__\App\Entity\Image {#3026 …} +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://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 [](https://ko-fi.com/dbzer0)[](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 {#3023 : 2024-10-22 09:16:09.0 +02:00 } +markedForDeletionAt: null +tags: null +moderators: Doctrine\ORM\PersistentCollection {#3027 …} +ownershipRequests: Doctrine\ORM\PersistentCollection {#3029 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#3031 …} +entries: Doctrine\ORM\PersistentCollection {#3033 …} +posts: Doctrine\ORM\PersistentCollection {#3035 …} +subscriptions: Doctrine\ORM\PersistentCollection {#3037 …} +bans: Doctrine\ORM\PersistentCollection {#3043 …} +reports: Doctrine\ORM\PersistentCollection {#3051 …} +badges: Doctrine\ORM\PersistentCollection {#3064 …} +logs: Doctrine\ORM\PersistentCollection {#3074 …} +awards: Doctrine\ORM\PersistentCollection {#3056 …} +categories: Doctrine\ORM\PersistentCollection {#3080 …} -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 {#3024 : 2024-02-24 05:17:09.0 +01:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197339 {#3025 : 2023-10-13 13:42:19.0 +02:00 } +__isInitialized__: true …2 } +image: Proxies\__CG__\App\Entity\Image {#1579 …} +domain: Proxies\__CG__\App\Entity\Domain {#1679 …} +slug: "I-made-a-thing-to-make-playing-YouTube-videos-locally" +title: "I made a thing to make playing YouTube videos locally from your browser easier" +url: "https://gitlab.com/danielquinn/video-bypass" +body: """ The other day someone was complaining about the new ad blocker-blocker on YouTube and I mentioned that it might be fun to write a Firefox extension that would just load up `yt-dlp` and play the video through `mpv`.\n \n It turns out, writing a Firefox extension is *easy* and tricking Firefox into launching `yt-dlp` isn’t much harder (though it does require some annoying configuration on the user’s end).\n \n Anyway, if you’re a Linux user, feel free to try it out. I don’t know how much I’m going to pour into this, but as an exercise of “can this be done”, it was pretty good for a few hours on a Friday night. """ +type: "link" +lang: "en" +isOc: false +hasEmbed: false +commentCount: 19 +favouriteCount: 200 +score: 0 +isAdult: false +sticky: false +lastActive: DateTime @1707557582 {#1421 : 2024-02-10 10:33:02.0 +01:00 } +ip: null +adaAmount: 0 +tags: null +mentions: null +comments: Doctrine\ORM\PersistentCollection {#1650 …} +votes: Doctrine\ORM\PersistentCollection {#1652 …} +reports: Doctrine\ORM\PersistentCollection {#1651 …} +favourites: Doctrine\ORM\PersistentCollection {#1527 …} +notifications: Doctrine\ORM\PersistentCollection {#1560 …} +badges: Doctrine\ORM\PersistentCollection {#1558 …} +children: [ 3 => App\Entity\EntryComment {#1611 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "Is there another way to do this? This hack was the only way I could figure out how to get Firefox to invoke an external binary, but if there’s a more conventional way to do it, I’d like to know 'cause I have another more complicated project in need of a pattern much like this one." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697268007 {#1596 : 2023-10-14 09:20:07.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2464 …} +nested: Doctrine\ORM\PersistentCollection {#1740 …} +votes: Doctrine\ORM\PersistentCollection {#1739 …} +reports: Doctrine\ORM\PersistentCollection {#1716 …} +favourites: Doctrine\ORM\PersistentCollection {#2461 …} +notifications: Doctrine\ORM\PersistentCollection {#2447 …} -id: 48003 -bodyTs: "'anoth':3,46 'binari':26 'caus':43 'complic':48 'convent':33 'could':15 'd':39 'extern':25 'figur':16 'firefox':21 'get':20 'hack':9 'invok':23 'know':42 'like':40,56 'much':55 'need':51 'one':58 'pattern':54 'project':49 'way':4,13,34" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993154" +editedAt: null +createdAt: DateTimeImmutable @1697268007 {#1555 : 2023-10-14 09:20:07.0 +02:00 } +"title": 48003 } 2 => App\Entity\EntryComment {#2467 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +body: """ I don’t think I have it in me to put together a video, but I can describe it if you like.\n \n Once you install the extension and follow the setup instructions, you just go to a YouTube page. The extension adds an ugly button to the top-left of the page that says “bypass”. When you click it, Firefox launches `yt-dlp [the URL you’re at] -o - | mpv -` which basically just downloads the video and streams the output through the `mpv` video player. So now you’re watching just the video, with no web page necessary. """ +lang: "en" +isAdult: false +favouriteCount: 3 +score: 0 +lastActive: DateTime @1697268377 {#1731 : 2023-10-14 09:26:17.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@zaknenou@lemmy.dbzer0.com" ] +children: Doctrine\ORM\PersistentCollection {#2455 …} +nested: Doctrine\ORM\PersistentCollection {#2471 …} +votes: Doctrine\ORM\PersistentCollection {#2363 …} +reports: Doctrine\ORM\PersistentCollection {#2377 …} +favourites: Doctrine\ORM\PersistentCollection {#2359 …} +notifications: Doctrine\ORM\PersistentCollection {#2364 …} -id: 48009 -bodyTs: "'add':42 'basic':74 'button':45 'bypass':56 'click':59 'describ':18 'dlp':65 'download':76 'extens':27,41 'firefox':61 'follow':29 'go':35 'instal':25 'instruct':32 'launch':62 'left':50 'like':22 'mpv':72,85 'necessari':100 'o':71 'output':82 'page':39,53,99 'player':87 'put':11 're':69,91 'say':55 'setup':31 'stream':80 'think':4 'togeth':12 'top':49 'top-left':48 'ugli':44 'url':67 'video':14,78,86,95 'watch':92 'web':98 'youtub':38 'yt':64 'yt-dlp':63" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993221" +editedAt: null +createdAt: DateTimeImmutable @1697268377 {#2469 : 2023-10-14 09:26:17.0 +02:00 } +"title": 48009 } 1 => App\Entity\EntryComment {#2382 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +body: """ Honestly, because I didn’t know (a) that ff2mpv even existed, or that (b) mpv could play YouTube URLs directly. So thanks! I learnt two things today :-)\n \n It was still a fun project though 'cause I learnt how to write a Firefox extension *and* get the browser to launch programs on-click, so not a waste of time! """ +lang: "en" +isAdult: false +favouriteCount: 13 +score: 0 +lastActive: DateTime @1697288649 {#2380 : 2023-10-14 15:04:09.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@khorovodoved@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2384 …} +nested: Doctrine\ORM\PersistentCollection {#2379 …} +votes: Doctrine\ORM\PersistentCollection {#2383 …} +reports: Doctrine\ORM\PersistentCollection {#1906 …} +favourites: Doctrine\ORM\PersistentCollection {#1708 …} +notifications: Doctrine\ORM\PersistentCollection {#1410 …} -id: 48431 -bodyTs: "'b':14 'browser':47 'caus':35 'click':53 'could':16 'didn':4 'direct':20 'even':10 'exist':11 'extens':43 'ff2mpv':9 'firefox':42 'fun':32 'get':45 'honest':1 'know':6 'launch':49 'learnt':24,37 'mpv':15 'on-click':51 'play':17 'program':50 'project':33 'still':30 'thank':22 'thing':26 'though':34 'time':59 'today':27 'two':25 'url':19 'wast':57 'write':40 'youtub':18" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3997262" +editedAt: null +createdAt: DateTimeImmutable @1697288649 {#2386 : 2023-10-14 15:04:09.0 +02:00 } +"title": 48431 } 0 => App\Entity\EntryComment {#1407 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#1883 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "That’s actually very helpful, thanks. I’ve been working on another project to open certain URLs in specific browsers/profiles, and wanted to be sure that I wasn’t missing a more obvious design pattern. The project is [here](https://gitlab.com/danielquinn/opening) if you’re curious." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697303255 {#1907 : 2023-10-14 19:07:35.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2391 …} +nested: Doctrine\ORM\PersistentCollection {#2369 …} +votes: Doctrine\ORM\PersistentCollection {#2392 …} +reports: Doctrine\ORM\PersistentCollection {#2395 …} +favourites: Doctrine\ORM\PersistentCollection {#1384 …} +notifications: Doctrine\ORM\PersistentCollection {#1383 …} -id: 48905 -bodyTs: "'/danielquinn/opening)':42 'actual':3 'anoth':12 'browsers/profiles':20 'certain':16 'curious':46 'design':34 'gitlab.com':41 'gitlab.com/danielquinn/opening)':40 'help':5 'miss':30 'obvious':33 'open':15 'pattern':35 'project':13,37 're':45 'specif':19 'sure':25 'thank':6 'url':17 've':8 'want':22 'wasn':28 'work':10" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/4002090" +editedAt: null +createdAt: DateTimeImmutable @1697303255 {#1908 : 2023-10-14 19:07:35.0 +02:00 } +"title": 48905 } ] -id: 5166 -titleTs: "'browser':13 'easier':14 'local':10 'made':2 'make':6 'play':7 'thing':4 'video':9 'youtub':8" -bodyTs: "'ad':10 'annoy':69 'anyway':76 'blocker':12,13 'blocker-block':11 'complain':6 'configur':70 'day':3 'dlp':36,59 'done':110 'easi':51 'end':75 'exercis':105 'extens':28,49 'feel':83 'firefox':27,48,54 'free':84 'friday':121 'fun':23 'go':97 'good':114 'harder':63 'hour':118 'isn':60 'know':92 'launch':56 'linux':81 'load':32 'm':96 'mention':18 'might':21 'mpv':42 'much':62,94 'new':9 'night':122 'play':38 'pour':99 'pretti':113 're':79 'requir':67 'someon':4 'though':64 'tri':86 'trick':53 'turn':44 'user':73,82 'video':40 'would':30 'write':25,46 'youtub':15 'yt':35,58 'yt-dlp':34,57" +cross: false +upVotes: 0 +downVotes: 0 +ranking: 1697325241 +visibility: "visible " +apId: "https://lemmy.ca/post/7150213" +editedAt: null +createdAt: DateTimeImmutable @1697238841 {#1424 : 2023-10-14 01:14:01.0 +02:00 } } +formDest: "entry" +showDownvote: true -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …} } |
boost | App\Twig\Components\BoostComponent | 14.0 MiB | 1.42 ms | |
---|---|---|---|---|
Input props | [ "subject" => App\Entity\Entry {#1609 +user: App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 +icon: Proxies\__CG__\App\Entity\Image {#3026 …} +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://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 [](https://ko-fi.com/dbzer0)[](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 {#3023 : 2024-10-22 09:16:09.0 +02:00 } +markedForDeletionAt: null +tags: null +moderators: Doctrine\ORM\PersistentCollection {#3027 …} +ownershipRequests: Doctrine\ORM\PersistentCollection {#3029 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#3031 …} +entries: Doctrine\ORM\PersistentCollection {#3033 …} +posts: Doctrine\ORM\PersistentCollection {#3035 …} +subscriptions: Doctrine\ORM\PersistentCollection {#3037 …} +bans: Doctrine\ORM\PersistentCollection {#3043 …} +reports: Doctrine\ORM\PersistentCollection {#3051 …} +badges: Doctrine\ORM\PersistentCollection {#3064 …} +logs: Doctrine\ORM\PersistentCollection {#3074 …} +awards: Doctrine\ORM\PersistentCollection {#3056 …} +categories: Doctrine\ORM\PersistentCollection {#3080 …} -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 {#3024 : 2024-02-24 05:17:09.0 +01:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197339 {#3025 : 2023-10-13 13:42:19.0 +02:00 } +__isInitialized__: true …2 } +image: Proxies\__CG__\App\Entity\Image {#1579 …} +domain: Proxies\__CG__\App\Entity\Domain {#1679 …} +slug: "I-made-a-thing-to-make-playing-YouTube-videos-locally" +title: "I made a thing to make playing YouTube videos locally from your browser easier" +url: "https://gitlab.com/danielquinn/video-bypass" +body: """ The other day someone was complaining about the new ad blocker-blocker on YouTube and I mentioned that it might be fun to write a Firefox extension that would just load up `yt-dlp` and play the video through `mpv`.\n \n It turns out, writing a Firefox extension is *easy* and tricking Firefox into launching `yt-dlp` isn’t much harder (though it does require some annoying configuration on the user’s end).\n \n Anyway, if you’re a Linux user, feel free to try it out. I don’t know how much I’m going to pour into this, but as an exercise of “can this be done”, it was pretty good for a few hours on a Friday night. """ +type: "link" +lang: "en" +isOc: false +hasEmbed: false +commentCount: 19 +favouriteCount: 200 +score: 0 +isAdult: false +sticky: false +lastActive: DateTime @1707557582 {#1421 : 2024-02-10 10:33:02.0 +01:00 } +ip: null +adaAmount: 0 +tags: null +mentions: null +comments: Doctrine\ORM\PersistentCollection {#1650 …} +votes: Doctrine\ORM\PersistentCollection {#1652 …} +reports: Doctrine\ORM\PersistentCollection {#1651 …} +favourites: Doctrine\ORM\PersistentCollection {#1527 …} +notifications: Doctrine\ORM\PersistentCollection {#1560 …} +badges: Doctrine\ORM\PersistentCollection {#1558 …} +children: [ 3 => App\Entity\EntryComment {#1611 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "Is there another way to do this? This hack was the only way I could figure out how to get Firefox to invoke an external binary, but if there’s a more conventional way to do it, I’d like to know 'cause I have another more complicated project in need of a pattern much like this one." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697268007 {#1596 : 2023-10-14 09:20:07.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2464 …} +nested: Doctrine\ORM\PersistentCollection {#1740 …} +votes: Doctrine\ORM\PersistentCollection {#1739 …} +reports: Doctrine\ORM\PersistentCollection {#1716 …} +favourites: Doctrine\ORM\PersistentCollection {#2461 …} +notifications: Doctrine\ORM\PersistentCollection {#2447 …} -id: 48003 -bodyTs: "'anoth':3,46 'binari':26 'caus':43 'complic':48 'convent':33 'could':15 'd':39 'extern':25 'figur':16 'firefox':21 'get':20 'hack':9 'invok':23 'know':42 'like':40,56 'much':55 'need':51 'one':58 'pattern':54 'project':49 'way':4,13,34" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993154" +editedAt: null +createdAt: DateTimeImmutable @1697268007 {#1555 : 2023-10-14 09:20:07.0 +02:00 } +"title": 48003 } 2 => App\Entity\EntryComment {#2467 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +body: """ I don’t think I have it in me to put together a video, but I can describe it if you like.\n \n Once you install the extension and follow the setup instructions, you just go to a YouTube page. The extension adds an ugly button to the top-left of the page that says “bypass”. When you click it, Firefox launches `yt-dlp [the URL you’re at] -o - | mpv -` which basically just downloads the video and streams the output through the `mpv` video player. So now you’re watching just the video, with no web page necessary. """ +lang: "en" +isAdult: false +favouriteCount: 3 +score: 0 +lastActive: DateTime @1697268377 {#1731 : 2023-10-14 09:26:17.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@zaknenou@lemmy.dbzer0.com" ] +children: Doctrine\ORM\PersistentCollection {#2455 …} +nested: Doctrine\ORM\PersistentCollection {#2471 …} +votes: Doctrine\ORM\PersistentCollection {#2363 …} +reports: Doctrine\ORM\PersistentCollection {#2377 …} +favourites: Doctrine\ORM\PersistentCollection {#2359 …} +notifications: Doctrine\ORM\PersistentCollection {#2364 …} -id: 48009 -bodyTs: "'add':42 'basic':74 'button':45 'bypass':56 'click':59 'describ':18 'dlp':65 'download':76 'extens':27,41 'firefox':61 'follow':29 'go':35 'instal':25 'instruct':32 'launch':62 'left':50 'like':22 'mpv':72,85 'necessari':100 'o':71 'output':82 'page':39,53,99 'player':87 'put':11 're':69,91 'say':55 'setup':31 'stream':80 'think':4 'togeth':12 'top':49 'top-left':48 'ugli':44 'url':67 'video':14,78,86,95 'watch':92 'web':98 'youtub':38 'yt':64 'yt-dlp':63" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993221" +editedAt: null +createdAt: DateTimeImmutable @1697268377 {#2469 : 2023-10-14 09:26:17.0 +02:00 } +"title": 48009 } 1 => App\Entity\EntryComment {#2382 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +body: """ Honestly, because I didn’t know (a) that ff2mpv even existed, or that (b) mpv could play YouTube URLs directly. So thanks! I learnt two things today :-)\n \n It was still a fun project though 'cause I learnt how to write a Firefox extension *and* get the browser to launch programs on-click, so not a waste of time! """ +lang: "en" +isAdult: false +favouriteCount: 13 +score: 0 +lastActive: DateTime @1697288649 {#2380 : 2023-10-14 15:04:09.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@khorovodoved@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2384 …} +nested: Doctrine\ORM\PersistentCollection {#2379 …} +votes: Doctrine\ORM\PersistentCollection {#2383 …} +reports: Doctrine\ORM\PersistentCollection {#1906 …} +favourites: Doctrine\ORM\PersistentCollection {#1708 …} +notifications: Doctrine\ORM\PersistentCollection {#1410 …} -id: 48431 -bodyTs: "'b':14 'browser':47 'caus':35 'click':53 'could':16 'didn':4 'direct':20 'even':10 'exist':11 'extens':43 'ff2mpv':9 'firefox':42 'fun':32 'get':45 'honest':1 'know':6 'launch':49 'learnt':24,37 'mpv':15 'on-click':51 'play':17 'program':50 'project':33 'still':30 'thank':22 'thing':26 'though':34 'time':59 'today':27 'two':25 'url':19 'wast':57 'write':40 'youtub':18" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3997262" +editedAt: null +createdAt: DateTimeImmutable @1697288649 {#2386 : 2023-10-14 15:04:09.0 +02:00 } +"title": 48431 } 0 => App\Entity\EntryComment {#1407 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#1883 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "That’s actually very helpful, thanks. I’ve been working on another project to open certain URLs in specific browsers/profiles, and wanted to be sure that I wasn’t missing a more obvious design pattern. The project is [here](https://gitlab.com/danielquinn/opening) if you’re curious." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697303255 {#1907 : 2023-10-14 19:07:35.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2391 …} +nested: Doctrine\ORM\PersistentCollection {#2369 …} +votes: Doctrine\ORM\PersistentCollection {#2392 …} +reports: Doctrine\ORM\PersistentCollection {#2395 …} +favourites: Doctrine\ORM\PersistentCollection {#1384 …} +notifications: Doctrine\ORM\PersistentCollection {#1383 …} -id: 48905 -bodyTs: "'/danielquinn/opening)':42 'actual':3 'anoth':12 'browsers/profiles':20 'certain':16 'curious':46 'design':34 'gitlab.com':41 'gitlab.com/danielquinn/opening)':40 'help':5 'miss':30 'obvious':33 'open':15 'pattern':35 'project':13,37 're':45 'specif':19 'sure':25 'thank':6 'url':17 've':8 'want':22 'wasn':28 'work':10" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/4002090" +editedAt: null +createdAt: DateTimeImmutable @1697303255 {#1908 : 2023-10-14 19:07:35.0 +02:00 } +"title": 48905 } ] -id: 5166 -titleTs: "'browser':13 'easier':14 'local':10 'made':2 'make':6 'play':7 'thing':4 'video':9 'youtub':8" -bodyTs: "'ad':10 'annoy':69 'anyway':76 'blocker':12,13 'blocker-block':11 'complain':6 'configur':70 'day':3 'dlp':36,59 'done':110 'easi':51 'end':75 'exercis':105 'extens':28,49 'feel':83 'firefox':27,48,54 'free':84 'friday':121 'fun':23 'go':97 'good':114 'harder':63 'hour':118 'isn':60 'know':92 'launch':56 'linux':81 'load':32 'm':96 'mention':18 'might':21 'mpv':42 'much':62,94 'new':9 'night':122 'play':38 'pour':99 'pretti':113 're':79 'requir':67 'someon':4 'though':64 'tri':86 'trick':53 'turn':44 'user':73,82 'video':40 'would':30 'write':25,46 'youtub':15 'yt':35,58 'yt-dlp':34,57" +cross: false +upVotes: 0 +downVotes: 0 +ranking: 1697325241 +visibility: "visible " +apId: "https://lemmy.ca/post/7150213" +editedAt: null +createdAt: DateTimeImmutable @1697238841 {#1424 : 2023-10-14 01:14:01.0 +02:00 } } ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\BoostComponent {#3479 +formDest: "entry" +subject: App\Entity\Entry {#1609 +user: App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 +icon: Proxies\__CG__\App\Entity\Image {#3026 …} +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://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 [](https://ko-fi.com/dbzer0)[](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 {#3023 : 2024-10-22 09:16:09.0 +02:00 } +markedForDeletionAt: null +tags: null +moderators: Doctrine\ORM\PersistentCollection {#3027 …} +ownershipRequests: Doctrine\ORM\PersistentCollection {#3029 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#3031 …} +entries: Doctrine\ORM\PersistentCollection {#3033 …} +posts: Doctrine\ORM\PersistentCollection {#3035 …} +subscriptions: Doctrine\ORM\PersistentCollection {#3037 …} +bans: Doctrine\ORM\PersistentCollection {#3043 …} +reports: Doctrine\ORM\PersistentCollection {#3051 …} +badges: Doctrine\ORM\PersistentCollection {#3064 …} +logs: Doctrine\ORM\PersistentCollection {#3074 …} +awards: Doctrine\ORM\PersistentCollection {#3056 …} +categories: Doctrine\ORM\PersistentCollection {#3080 …} -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 {#3024 : 2024-02-24 05:17:09.0 +01:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197339 {#3025 : 2023-10-13 13:42:19.0 +02:00 } +__isInitialized__: true …2 } +image: Proxies\__CG__\App\Entity\Image {#1579 …} +domain: Proxies\__CG__\App\Entity\Domain {#1679 …} +slug: "I-made-a-thing-to-make-playing-YouTube-videos-locally" +title: "I made a thing to make playing YouTube videos locally from your browser easier" +url: "https://gitlab.com/danielquinn/video-bypass" +body: """ The other day someone was complaining about the new ad blocker-blocker on YouTube and I mentioned that it might be fun to write a Firefox extension that would just load up `yt-dlp` and play the video through `mpv`.\n \n It turns out, writing a Firefox extension is *easy* and tricking Firefox into launching `yt-dlp` isn’t much harder (though it does require some annoying configuration on the user’s end).\n \n Anyway, if you’re a Linux user, feel free to try it out. I don’t know how much I’m going to pour into this, but as an exercise of “can this be done”, it was pretty good for a few hours on a Friday night. """ +type: "link" +lang: "en" +isOc: false +hasEmbed: false +commentCount: 19 +favouriteCount: 200 +score: 0 +isAdult: false +sticky: false +lastActive: DateTime @1707557582 {#1421 : 2024-02-10 10:33:02.0 +01:00 } +ip: null +adaAmount: 0 +tags: null +mentions: null +comments: Doctrine\ORM\PersistentCollection {#1650 …} +votes: Doctrine\ORM\PersistentCollection {#1652 …} +reports: Doctrine\ORM\PersistentCollection {#1651 …} +favourites: Doctrine\ORM\PersistentCollection {#1527 …} +notifications: Doctrine\ORM\PersistentCollection {#1560 …} +badges: Doctrine\ORM\PersistentCollection {#1558 …} +children: [ 3 => App\Entity\EntryComment {#1611 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "Is there another way to do this? This hack was the only way I could figure out how to get Firefox to invoke an external binary, but if there’s a more conventional way to do it, I’d like to know 'cause I have another more complicated project in need of a pattern much like this one." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697268007 {#1596 : 2023-10-14 09:20:07.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2464 …} +nested: Doctrine\ORM\PersistentCollection {#1740 …} +votes: Doctrine\ORM\PersistentCollection {#1739 …} +reports: Doctrine\ORM\PersistentCollection {#1716 …} +favourites: Doctrine\ORM\PersistentCollection {#2461 …} +notifications: Doctrine\ORM\PersistentCollection {#2447 …} -id: 48003 -bodyTs: "'anoth':3,46 'binari':26 'caus':43 'complic':48 'convent':33 'could':15 'd':39 'extern':25 'figur':16 'firefox':21 'get':20 'hack':9 'invok':23 'know':42 'like':40,56 'much':55 'need':51 'one':58 'pattern':54 'project':49 'way':4,13,34" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993154" +editedAt: null +createdAt: DateTimeImmutable @1697268007 {#1555 : 2023-10-14 09:20:07.0 +02:00 } +"title": 48003 } 2 => App\Entity\EntryComment {#2467 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +body: """ I don’t think I have it in me to put together a video, but I can describe it if you like.\n \n Once you install the extension and follow the setup instructions, you just go to a YouTube page. The extension adds an ugly button to the top-left of the page that says “bypass”. When you click it, Firefox launches `yt-dlp [the URL you’re at] -o - | mpv -` which basically just downloads the video and streams the output through the `mpv` video player. So now you’re watching just the video, with no web page necessary. """ +lang: "en" +isAdult: false +favouriteCount: 3 +score: 0 +lastActive: DateTime @1697268377 {#1731 : 2023-10-14 09:26:17.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@zaknenou@lemmy.dbzer0.com" ] +children: Doctrine\ORM\PersistentCollection {#2455 …} +nested: Doctrine\ORM\PersistentCollection {#2471 …} +votes: Doctrine\ORM\PersistentCollection {#2363 …} +reports: Doctrine\ORM\PersistentCollection {#2377 …} +favourites: Doctrine\ORM\PersistentCollection {#2359 …} +notifications: Doctrine\ORM\PersistentCollection {#2364 …} -id: 48009 -bodyTs: "'add':42 'basic':74 'button':45 'bypass':56 'click':59 'describ':18 'dlp':65 'download':76 'extens':27,41 'firefox':61 'follow':29 'go':35 'instal':25 'instruct':32 'launch':62 'left':50 'like':22 'mpv':72,85 'necessari':100 'o':71 'output':82 'page':39,53,99 'player':87 'put':11 're':69,91 'say':55 'setup':31 'stream':80 'think':4 'togeth':12 'top':49 'top-left':48 'ugli':44 'url':67 'video':14,78,86,95 'watch':92 'web':98 'youtub':38 'yt':64 'yt-dlp':63" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993221" +editedAt: null +createdAt: DateTimeImmutable @1697268377 {#2469 : 2023-10-14 09:26:17.0 +02:00 } +"title": 48009 } 1 => App\Entity\EntryComment {#2382 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +body: """ Honestly, because I didn’t know (a) that ff2mpv even existed, or that (b) mpv could play YouTube URLs directly. So thanks! I learnt two things today :-)\n \n It was still a fun project though 'cause I learnt how to write a Firefox extension *and* get the browser to launch programs on-click, so not a waste of time! """ +lang: "en" +isAdult: false +favouriteCount: 13 +score: 0 +lastActive: DateTime @1697288649 {#2380 : 2023-10-14 15:04:09.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@khorovodoved@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2384 …} +nested: Doctrine\ORM\PersistentCollection {#2379 …} +votes: Doctrine\ORM\PersistentCollection {#2383 …} +reports: Doctrine\ORM\PersistentCollection {#1906 …} +favourites: Doctrine\ORM\PersistentCollection {#1708 …} +notifications: Doctrine\ORM\PersistentCollection {#1410 …} -id: 48431 -bodyTs: "'b':14 'browser':47 'caus':35 'click':53 'could':16 'didn':4 'direct':20 'even':10 'exist':11 'extens':43 'ff2mpv':9 'firefox':42 'fun':32 'get':45 'honest':1 'know':6 'launch':49 'learnt':24,37 'mpv':15 'on-click':51 'play':17 'program':50 'project':33 'still':30 'thank':22 'thing':26 'though':34 'time':59 'today':27 'two':25 'url':19 'wast':57 'write':40 'youtub':18" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3997262" +editedAt: null +createdAt: DateTimeImmutable @1697288649 {#2386 : 2023-10-14 15:04:09.0 +02:00 } +"title": 48431 } 0 => App\Entity\EntryComment {#1407 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#1883 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "That’s actually very helpful, thanks. I’ve been working on another project to open certain URLs in specific browsers/profiles, and wanted to be sure that I wasn’t missing a more obvious design pattern. The project is [here](https://gitlab.com/danielquinn/opening) if you’re curious." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697303255 {#1907 : 2023-10-14 19:07:35.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2391 …} +nested: Doctrine\ORM\PersistentCollection {#2369 …} +votes: Doctrine\ORM\PersistentCollection {#2392 …} +reports: Doctrine\ORM\PersistentCollection {#2395 …} +favourites: Doctrine\ORM\PersistentCollection {#1384 …} +notifications: Doctrine\ORM\PersistentCollection {#1383 …} -id: 48905 -bodyTs: "'/danielquinn/opening)':42 'actual':3 'anoth':12 'browsers/profiles':20 'certain':16 'curious':46 'design':34 'gitlab.com':41 'gitlab.com/danielquinn/opening)':40 'help':5 'miss':30 'obvious':33 'open':15 'pattern':35 'project':13,37 're':45 'specif':19 'sure':25 'thank':6 'url':17 've':8 'want':22 'wasn':28 'work':10" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/4002090" +editedAt: null +createdAt: DateTimeImmutable @1697303255 {#1908 : 2023-10-14 19:07:35.0 +02:00 } +"title": 48905 } ] -id: 5166 -titleTs: "'browser':13 'easier':14 'local':10 'made':2 'make':6 'play':7 'thing':4 'video':9 'youtub':8" -bodyTs: "'ad':10 'annoy':69 'anyway':76 'blocker':12,13 'blocker-block':11 'complain':6 'configur':70 'day':3 'dlp':36,59 'done':110 'easi':51 'end':75 'exercis':105 'extens':28,49 'feel':83 'firefox':27,48,54 'free':84 'friday':121 'fun':23 'go':97 'good':114 'harder':63 'hour':118 'isn':60 'know':92 'launch':56 'linux':81 'load':32 'm':96 'mention':18 'might':21 'mpv':42 'much':62,94 'new':9 'night':122 'play':38 'pour':99 'pretti':113 're':79 'requir':67 'someon':4 'though':64 'tri':86 'trick':53 'turn':44 'user':73,82 'video':40 'would':30 'write':25,46 'youtub':15 'yt':35,58 'yt-dlp':34,57" +cross: false +upVotes: 0 +downVotes: 0 +ranking: 1697325241 +visibility: "visible " +apId: "https://lemmy.ca/post/7150213" +editedAt: null +createdAt: DateTimeImmutable @1697238841 {#1424 : 2023-10-14 01:14:01.0 +02:00 } } -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …} } |
entry_comment | App\Twig\Components\EntryCommentComponent | 14.0 MiB | 13.42 ms | |
---|---|---|---|---|
Input props | [ "comment" => App\Entity\EntryComment {#1611 +user: App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } +entry: App\Entity\Entry {#1609 +user: App\Entity\User {#260} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 +icon: Proxies\__CG__\App\Entity\Image {#3026 …} +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://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 [](https://ko-fi.com/dbzer0)[](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 {#3023 : 2024-10-22 09:16:09.0 +02:00 } +markedForDeletionAt: null +tags: null +moderators: Doctrine\ORM\PersistentCollection {#3027 …} +ownershipRequests: Doctrine\ORM\PersistentCollection {#3029 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#3031 …} +entries: Doctrine\ORM\PersistentCollection {#3033 …} +posts: Doctrine\ORM\PersistentCollection {#3035 …} +subscriptions: Doctrine\ORM\PersistentCollection {#3037 …} +bans: Doctrine\ORM\PersistentCollection {#3043 …} +reports: Doctrine\ORM\PersistentCollection {#3051 …} +badges: Doctrine\ORM\PersistentCollection {#3064 …} +logs: Doctrine\ORM\PersistentCollection {#3074 …} +awards: Doctrine\ORM\PersistentCollection {#3056 …} +categories: Doctrine\ORM\PersistentCollection {#3080 …} -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 {#3024 : 2024-02-24 05:17:09.0 +01:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197339 {#3025 : 2023-10-13 13:42:19.0 +02:00 } +__isInitialized__: true …2 } +image: Proxies\__CG__\App\Entity\Image {#1579 …} +domain: Proxies\__CG__\App\Entity\Domain {#1679 …} +slug: "I-made-a-thing-to-make-playing-YouTube-videos-locally" +title: "I made a thing to make playing YouTube videos locally from your browser easier" +url: "https://gitlab.com/danielquinn/video-bypass" +body: """ The other day someone was complaining about the new ad blocker-blocker on YouTube and I mentioned that it might be fun to write a Firefox extension that would just load up `yt-dlp` and play the video through `mpv`.\n \n It turns out, writing a Firefox extension is *easy* and tricking Firefox into launching `yt-dlp` isn’t much harder (though it does require some annoying configuration on the user’s end).\n \n Anyway, if you’re a Linux user, feel free to try it out. I don’t know how much I’m going to pour into this, but as an exercise of “can this be done”, it was pretty good for a few hours on a Friday night. """ +type: "link" +lang: "en" +isOc: false +hasEmbed: false +commentCount: 19 +favouriteCount: 200 +score: 0 +isAdult: false +sticky: false +lastActive: DateTime @1707557582 {#1421 : 2024-02-10 10:33:02.0 +01:00 } +ip: null +adaAmount: 0 +tags: null +mentions: null +comments: Doctrine\ORM\PersistentCollection {#1650 …} +votes: Doctrine\ORM\PersistentCollection {#1652 …} +reports: Doctrine\ORM\PersistentCollection {#1651 …} +favourites: Doctrine\ORM\PersistentCollection {#1527 …} +notifications: Doctrine\ORM\PersistentCollection {#1560 …} +badges: Doctrine\ORM\PersistentCollection {#1558 …} +children: [ 3 => App\Entity\EntryComment {#1611} 2 => App\Entity\EntryComment {#2467 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +body: """ I don’t think I have it in me to put together a video, but I can describe it if you like.\n \n Once you install the extension and follow the setup instructions, you just go to a YouTube page. The extension adds an ugly button to the top-left of the page that says “bypass”. When you click it, Firefox launches `yt-dlp [the URL you’re at] -o - | mpv -` which basically just downloads the video and streams the output through the `mpv` video player. So now you’re watching just the video, with no web page necessary. """ +lang: "en" +isAdult: false +favouriteCount: 3 +score: 0 +lastActive: DateTime @1697268377 {#1731 : 2023-10-14 09:26:17.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@zaknenou@lemmy.dbzer0.com" ] +children: Doctrine\ORM\PersistentCollection {#2455 …} +nested: Doctrine\ORM\PersistentCollection {#2471 …} +votes: Doctrine\ORM\PersistentCollection {#2363 …} +reports: Doctrine\ORM\PersistentCollection {#2377 …} +favourites: Doctrine\ORM\PersistentCollection {#2359 …} +notifications: Doctrine\ORM\PersistentCollection {#2364 …} -id: 48009 -bodyTs: "'add':42 'basic':74 'button':45 'bypass':56 'click':59 'describ':18 'dlp':65 'download':76 'extens':27,41 'firefox':61 'follow':29 'go':35 'instal':25 'instruct':32 'launch':62 'left':50 'like':22 'mpv':72,85 'necessari':100 'o':71 'output':82 'page':39,53,99 'player':87 'put':11 're':69,91 'say':55 'setup':31 'stream':80 'think':4 'togeth':12 'top':49 'top-left':48 'ugli':44 'url':67 'video':14,78,86,95 'watch':92 'web':98 'youtub':38 'yt':64 'yt-dlp':63" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993221" +editedAt: null +createdAt: DateTimeImmutable @1697268377 {#2469 : 2023-10-14 09:26:17.0 +02:00 } +"title": 48009 } 1 => App\Entity\EntryComment {#2382 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +body: """ Honestly, because I didn’t know (a) that ff2mpv even existed, or that (b) mpv could play YouTube URLs directly. So thanks! I learnt two things today :-)\n \n It was still a fun project though 'cause I learnt how to write a Firefox extension *and* get the browser to launch programs on-click, so not a waste of time! """ +lang: "en" +isAdult: false +favouriteCount: 13 +score: 0 +lastActive: DateTime @1697288649 {#2380 : 2023-10-14 15:04:09.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@khorovodoved@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2384 …} +nested: Doctrine\ORM\PersistentCollection {#2379 …} +votes: Doctrine\ORM\PersistentCollection {#2383 …} +reports: Doctrine\ORM\PersistentCollection {#1906 …} +favourites: Doctrine\ORM\PersistentCollection {#1708 …} +notifications: Doctrine\ORM\PersistentCollection {#1410 …} -id: 48431 -bodyTs: "'b':14 'browser':47 'caus':35 'click':53 'could':16 'didn':4 'direct':20 'even':10 'exist':11 'extens':43 'ff2mpv':9 'firefox':42 'fun':32 'get':45 'honest':1 'know':6 'launch':49 'learnt':24,37 'mpv':15 'on-click':51 'play':17 'program':50 'project':33 'still':30 'thank':22 'thing':26 'though':34 'time':59 'today':27 'two':25 'url':19 'wast':57 'write':40 'youtub':18" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3997262" +editedAt: null +createdAt: DateTimeImmutable @1697288649 {#2386 : 2023-10-14 15:04:09.0 +02:00 } +"title": 48431 } 0 => App\Entity\EntryComment {#1407 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#1883 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "That’s actually very helpful, thanks. I’ve been working on another project to open certain URLs in specific browsers/profiles, and wanted to be sure that I wasn’t missing a more obvious design pattern. The project is [here](https://gitlab.com/danielquinn/opening) if you’re curious." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697303255 {#1907 : 2023-10-14 19:07:35.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2391 …} +nested: Doctrine\ORM\PersistentCollection {#2369 …} +votes: Doctrine\ORM\PersistentCollection {#2392 …} +reports: Doctrine\ORM\PersistentCollection {#2395 …} +favourites: Doctrine\ORM\PersistentCollection {#1384 …} +notifications: Doctrine\ORM\PersistentCollection {#1383 …} -id: 48905 -bodyTs: "'/danielquinn/opening)':42 'actual':3 'anoth':12 'browsers/profiles':20 'certain':16 'curious':46 'design':34 'gitlab.com':41 'gitlab.com/danielquinn/opening)':40 'help':5 'miss':30 'obvious':33 'open':15 'pattern':35 'project':13,37 're':45 'specif':19 'sure':25 'thank':6 'url':17 've':8 'want':22 'wasn':28 'work':10" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/4002090" +editedAt: null +createdAt: DateTimeImmutable @1697303255 {#1908 : 2023-10-14 19:07:35.0 +02:00 } +"title": 48905 } ] -id: 5166 -titleTs: "'browser':13 'easier':14 'local':10 'made':2 'make':6 'play':7 'thing':4 'video':9 'youtub':8" -bodyTs: "'ad':10 'annoy':69 'anyway':76 'blocker':12,13 'blocker-block':11 'complain':6 'configur':70 'day':3 'dlp':36,59 'done':110 'easi':51 'end':75 'exercis':105 'extens':28,49 'feel':83 'firefox':27,48,54 'free':84 'friday':121 'fun':23 'go':97 'good':114 'harder':63 'hour':118 'isn':60 'know':92 'launch':56 'linux':81 'load':32 'm':96 'mention':18 'might':21 'mpv':42 'much':62,94 'new':9 'night':122 'play':38 'pour':99 'pretti':113 're':79 'requir':67 'someon':4 'though':64 'tri':86 'trick':53 'turn':44 'user':73,82 'video':40 'would':30 'write':25,46 'youtub':15 'yt':35,58 'yt-dlp':34,57" +cross: false +upVotes: 0 +downVotes: 0 +ranking: 1697325241 +visibility: "visible " +apId: "https://lemmy.ca/post/7150213" +editedAt: null +createdAt: DateTimeImmutable @1697238841 {#1424 : 2023-10-14 01:14:01.0 +02:00 } } +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "Is there another way to do this? This hack was the only way I could figure out how to get Firefox to invoke an external binary, but if there’s a more conventional way to do it, I’d like to know 'cause I have another more complicated project in need of a pattern much like this one." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697268007 {#1596 : 2023-10-14 09:20:07.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2464 …} +nested: Doctrine\ORM\PersistentCollection {#1740 …} +votes: Doctrine\ORM\PersistentCollection {#1739 …} +reports: Doctrine\ORM\PersistentCollection {#1716 …} +favourites: Doctrine\ORM\PersistentCollection {#2461 …} +notifications: Doctrine\ORM\PersistentCollection {#2447 …} -id: 48003 -bodyTs: "'anoth':3,46 'binari':26 'caus':43 'complic':48 'convent':33 'could':15 'd':39 'extern':25 'figur':16 'firefox':21 'get':20 'hack':9 'invok':23 'know':42 'like':40,56 'much':55 'need':51 'one':58 'pattern':54 'project':49 'way':4,13,34" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993154" +editedAt: null +createdAt: DateTimeImmutable @1697268007 {#1555 : 2023-10-14 09:20:07.0 +02:00 } +"title": 48003 } "showEntryTitle" => false "dateAsUrl" => true "showMagazineName" => false ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\EntryCommentComponent {#3795 +comment: App\Entity\EntryComment {#1611 +user: App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } +entry: App\Entity\Entry {#1609 +user: App\Entity\User {#260} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 +icon: Proxies\__CG__\App\Entity\Image {#3026 …} +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://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 [](https://ko-fi.com/dbzer0)[](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 {#3023 : 2024-10-22 09:16:09.0 +02:00 } +markedForDeletionAt: null +tags: null +moderators: Doctrine\ORM\PersistentCollection {#3027 …} +ownershipRequests: Doctrine\ORM\PersistentCollection {#3029 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#3031 …} +entries: Doctrine\ORM\PersistentCollection {#3033 …} +posts: Doctrine\ORM\PersistentCollection {#3035 …} +subscriptions: Doctrine\ORM\PersistentCollection {#3037 …} +bans: Doctrine\ORM\PersistentCollection {#3043 …} +reports: Doctrine\ORM\PersistentCollection {#3051 …} +badges: Doctrine\ORM\PersistentCollection {#3064 …} +logs: Doctrine\ORM\PersistentCollection {#3074 …} +awards: Doctrine\ORM\PersistentCollection {#3056 …} +categories: Doctrine\ORM\PersistentCollection {#3080 …} -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 {#3024 : 2024-02-24 05:17:09.0 +01:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197339 {#3025 : 2023-10-13 13:42:19.0 +02:00 } +__isInitialized__: true …2 } +image: Proxies\__CG__\App\Entity\Image {#1579 …} +domain: Proxies\__CG__\App\Entity\Domain {#1679 …} +slug: "I-made-a-thing-to-make-playing-YouTube-videos-locally" +title: "I made a thing to make playing YouTube videos locally from your browser easier" +url: "https://gitlab.com/danielquinn/video-bypass" +body: """ The other day someone was complaining about the new ad blocker-blocker on YouTube and I mentioned that it might be fun to write a Firefox extension that would just load up `yt-dlp` and play the video through `mpv`.\n \n It turns out, writing a Firefox extension is *easy* and tricking Firefox into launching `yt-dlp` isn’t much harder (though it does require some annoying configuration on the user’s end).\n \n Anyway, if you’re a Linux user, feel free to try it out. I don’t know how much I’m going to pour into this, but as an exercise of “can this be done”, it was pretty good for a few hours on a Friday night. """ +type: "link" +lang: "en" +isOc: false +hasEmbed: false +commentCount: 19 +favouriteCount: 200 +score: 0 +isAdult: false +sticky: false +lastActive: DateTime @1707557582 {#1421 : 2024-02-10 10:33:02.0 +01:00 } +ip: null +adaAmount: 0 +tags: null +mentions: null +comments: Doctrine\ORM\PersistentCollection {#1650 …} +votes: Doctrine\ORM\PersistentCollection {#1652 …} +reports: Doctrine\ORM\PersistentCollection {#1651 …} +favourites: Doctrine\ORM\PersistentCollection {#1527 …} +notifications: Doctrine\ORM\PersistentCollection {#1560 …} +badges: Doctrine\ORM\PersistentCollection {#1558 …} +children: [ 3 => App\Entity\EntryComment {#1611} 2 => App\Entity\EntryComment {#2467 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +body: """ I don’t think I have it in me to put together a video, but I can describe it if you like.\n \n Once you install the extension and follow the setup instructions, you just go to a YouTube page. The extension adds an ugly button to the top-left of the page that says “bypass”. When you click it, Firefox launches `yt-dlp [the URL you’re at] -o - | mpv -` which basically just downloads the video and streams the output through the `mpv` video player. So now you’re watching just the video, with no web page necessary. """ +lang: "en" +isAdult: false +favouriteCount: 3 +score: 0 +lastActive: DateTime @1697268377 {#1731 : 2023-10-14 09:26:17.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@zaknenou@lemmy.dbzer0.com" ] +children: Doctrine\ORM\PersistentCollection {#2455 …} +nested: Doctrine\ORM\PersistentCollection {#2471 …} +votes: Doctrine\ORM\PersistentCollection {#2363 …} +reports: Doctrine\ORM\PersistentCollection {#2377 …} +favourites: Doctrine\ORM\PersistentCollection {#2359 …} +notifications: Doctrine\ORM\PersistentCollection {#2364 …} -id: 48009 -bodyTs: "'add':42 'basic':74 'button':45 'bypass':56 'click':59 'describ':18 'dlp':65 'download':76 'extens':27,41 'firefox':61 'follow':29 'go':35 'instal':25 'instruct':32 'launch':62 'left':50 'like':22 'mpv':72,85 'necessari':100 'o':71 'output':82 'page':39,53,99 'player':87 'put':11 're':69,91 'say':55 'setup':31 'stream':80 'think':4 'togeth':12 'top':49 'top-left':48 'ugli':44 'url':67 'video':14,78,86,95 'watch':92 'web':98 'youtub':38 'yt':64 'yt-dlp':63" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993221" +editedAt: null +createdAt: DateTimeImmutable @1697268377 {#2469 : 2023-10-14 09:26:17.0 +02:00 } +"title": 48009 } 1 => App\Entity\EntryComment {#2382 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +body: """ Honestly, because I didn’t know (a) that ff2mpv even existed, or that (b) mpv could play YouTube URLs directly. So thanks! I learnt two things today :-)\n \n It was still a fun project though 'cause I learnt how to write a Firefox extension *and* get the browser to launch programs on-click, so not a waste of time! """ +lang: "en" +isAdult: false +favouriteCount: 13 +score: 0 +lastActive: DateTime @1697288649 {#2380 : 2023-10-14 15:04:09.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@khorovodoved@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2384 …} +nested: Doctrine\ORM\PersistentCollection {#2379 …} +votes: Doctrine\ORM\PersistentCollection {#2383 …} +reports: Doctrine\ORM\PersistentCollection {#1906 …} +favourites: Doctrine\ORM\PersistentCollection {#1708 …} +notifications: Doctrine\ORM\PersistentCollection {#1410 …} -id: 48431 -bodyTs: "'b':14 'browser':47 'caus':35 'click':53 'could':16 'didn':4 'direct':20 'even':10 'exist':11 'extens':43 'ff2mpv':9 'firefox':42 'fun':32 'get':45 'honest':1 'know':6 'launch':49 'learnt':24,37 'mpv':15 'on-click':51 'play':17 'program':50 'project':33 'still':30 'thank':22 'thing':26 'though':34 'time':59 'today':27 'two':25 'url':19 'wast':57 'write':40 'youtub':18" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3997262" +editedAt: null +createdAt: DateTimeImmutable @1697288649 {#2386 : 2023-10-14 15:04:09.0 +02:00 } +"title": 48431 } 0 => App\Entity\EntryComment {#1407 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#1883 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "That’s actually very helpful, thanks. I’ve been working on another project to open certain URLs in specific browsers/profiles, and wanted to be sure that I wasn’t missing a more obvious design pattern. The project is [here](https://gitlab.com/danielquinn/opening) if you’re curious." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697303255 {#1907 : 2023-10-14 19:07:35.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2391 …} +nested: Doctrine\ORM\PersistentCollection {#2369 …} +votes: Doctrine\ORM\PersistentCollection {#2392 …} +reports: Doctrine\ORM\PersistentCollection {#2395 …} +favourites: Doctrine\ORM\PersistentCollection {#1384 …} +notifications: Doctrine\ORM\PersistentCollection {#1383 …} -id: 48905 -bodyTs: "'/danielquinn/opening)':42 'actual':3 'anoth':12 'browsers/profiles':20 'certain':16 'curious':46 'design':34 'gitlab.com':41 'gitlab.com/danielquinn/opening)':40 'help':5 'miss':30 'obvious':33 'open':15 'pattern':35 'project':13,37 're':45 'specif':19 'sure':25 'thank':6 'url':17 've':8 'want':22 'wasn':28 'work':10" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/4002090" +editedAt: null +createdAt: DateTimeImmutable @1697303255 {#1908 : 2023-10-14 19:07:35.0 +02:00 } +"title": 48905 } ] -id: 5166 -titleTs: "'browser':13 'easier':14 'local':10 'made':2 'make':6 'play':7 'thing':4 'video':9 'youtub':8" -bodyTs: "'ad':10 'annoy':69 'anyway':76 'blocker':12,13 'blocker-block':11 'complain':6 'configur':70 'day':3 'dlp':36,59 'done':110 'easi':51 'end':75 'exercis':105 'extens':28,49 'feel':83 'firefox':27,48,54 'free':84 'friday':121 'fun':23 'go':97 'good':114 'harder':63 'hour':118 'isn':60 'know':92 'launch':56 'linux':81 'load':32 'm':96 'mention':18 'might':21 'mpv':42 'much':62,94 'new':9 'night':122 'play':38 'pour':99 'pretti':113 're':79 'requir':67 'someon':4 'though':64 'tri':86 'trick':53 'turn':44 'user':73,82 'video':40 'would':30 'write':25,46 'youtub':15 'yt':35,58 'yt-dlp':34,57" +cross: false +upVotes: 0 +downVotes: 0 +ranking: 1697325241 +visibility: "visible " +apId: "https://lemmy.ca/post/7150213" +editedAt: null +createdAt: DateTimeImmutable @1697238841 {#1424 : 2023-10-14 01:14:01.0 +02:00 } } +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "Is there another way to do this? This hack was the only way I could figure out how to get Firefox to invoke an external binary, but if there’s a more conventional way to do it, I’d like to know 'cause I have another more complicated project in need of a pattern much like this one." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697268007 {#1596 : 2023-10-14 09:20:07.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2464 …} +nested: Doctrine\ORM\PersistentCollection {#1740 …} +votes: Doctrine\ORM\PersistentCollection {#1739 …} +reports: Doctrine\ORM\PersistentCollection {#1716 …} +favourites: Doctrine\ORM\PersistentCollection {#2461 …} +notifications: Doctrine\ORM\PersistentCollection {#2447 …} -id: 48003 -bodyTs: "'anoth':3,46 'binari':26 'caus':43 'complic':48 'convent':33 'could':15 'd':39 'extern':25 'figur':16 'firefox':21 'get':20 'hack':9 'invok':23 'know':42 'like':40,56 'much':55 'need':51 'one':58 'pattern':54 'project':49 'way':4,13,34" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993154" +editedAt: null +createdAt: DateTimeImmutable @1697268007 {#1555 : 2023-10-14 09:20:07.0 +02:00 } +"title": 48003 } +showMagazineName: false +showEntryTitle: false +showNested: false +level: 1 +canSeeTrash: false +dateAsUrl: true -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …} -authorizationChecker: Symfony\Component\Security\Core\Authorization\AuthorizationChecker {#931 …} } |
user_inline | App\Twig\Components\UserInlineComponent | 14.0 MiB | 0.13 ms | |
---|---|---|---|---|
Input props | [ "user" => App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } "showAvatar" => false ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\UserInlineComponent {#3854 +user: App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } +showAvatar: false } |
date | App\Twig\Components\DateComponent | 14.0 MiB | 0.14 ms | |
---|---|---|---|---|
Input props | [ "date" => DateTimeImmutable @1697268007 {#1555 : 2023-10-14 09:20:07.0 +02:00 } ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\DateComponent {#3910 +date: DateTimeImmutable @1697268007 {#1555 : 2023-10-14 09:20:07.0 +02:00 } } |
date_edited | App\Twig\Components\DateEditedComponent | 14.0 MiB | 0.09 ms | |
---|---|---|---|---|
Input props | [ "createdAt" => DateTimeImmutable @1697268007 {#1555 : 2023-10-14 09:20:07.0 +02:00 } "editedAt" => null ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\DateEditedComponent {#3964 +createdAt: DateTimeImmutable @1697268007 {#1555 : 2023-10-14 09:20:07.0 +02:00 } +editedAt: null } |
user_avatar | App\Twig\Components\UserAvatarComponent | 14.0 MiB | 0.27 ms | |
---|---|---|---|---|
Input props | [ "user" => App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } "width" => 40 "height" => 40 "asLink" => true ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\UserAvatarComponent {#4018 +width: 40 +height: 40 +user: App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } +asLink: true } |
vote | App\Twig\Components\VoteComponent | 14.0 MiB | 0.53 ms | |
---|---|---|---|---|
Input props | [ "subject" => App\Entity\EntryComment {#1611 +user: App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } +entry: App\Entity\Entry {#1609 +user: App\Entity\User {#260} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 +icon: Proxies\__CG__\App\Entity\Image {#3026 …} +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://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 [](https://ko-fi.com/dbzer0)[](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 {#3023 : 2024-10-22 09:16:09.0 +02:00 } +markedForDeletionAt: null +tags: null +moderators: Doctrine\ORM\PersistentCollection {#3027 …} +ownershipRequests: Doctrine\ORM\PersistentCollection {#3029 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#3031 …} +entries: Doctrine\ORM\PersistentCollection {#3033 …} +posts: Doctrine\ORM\PersistentCollection {#3035 …} +subscriptions: Doctrine\ORM\PersistentCollection {#3037 …} +bans: Doctrine\ORM\PersistentCollection {#3043 …} +reports: Doctrine\ORM\PersistentCollection {#3051 …} +badges: Doctrine\ORM\PersistentCollection {#3064 …} +logs: Doctrine\ORM\PersistentCollection {#3074 …} +awards: Doctrine\ORM\PersistentCollection {#3056 …} +categories: Doctrine\ORM\PersistentCollection {#3080 …} -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 {#3024 : 2024-02-24 05:17:09.0 +01:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197339 {#3025 : 2023-10-13 13:42:19.0 +02:00 } +__isInitialized__: true …2 } +image: Proxies\__CG__\App\Entity\Image {#1579 …} +domain: Proxies\__CG__\App\Entity\Domain {#1679 …} +slug: "I-made-a-thing-to-make-playing-YouTube-videos-locally" +title: "I made a thing to make playing YouTube videos locally from your browser easier" +url: "https://gitlab.com/danielquinn/video-bypass" +body: """ The other day someone was complaining about the new ad blocker-blocker on YouTube and I mentioned that it might be fun to write a Firefox extension that would just load up `yt-dlp` and play the video through `mpv`.\n \n It turns out, writing a Firefox extension is *easy* and tricking Firefox into launching `yt-dlp` isn’t much harder (though it does require some annoying configuration on the user’s end).\n \n Anyway, if you’re a Linux user, feel free to try it out. I don’t know how much I’m going to pour into this, but as an exercise of “can this be done”, it was pretty good for a few hours on a Friday night. """ +type: "link" +lang: "en" +isOc: false +hasEmbed: false +commentCount: 19 +favouriteCount: 200 +score: 0 +isAdult: false +sticky: false +lastActive: DateTime @1707557582 {#1421 : 2024-02-10 10:33:02.0 +01:00 } +ip: null +adaAmount: 0 +tags: null +mentions: null +comments: Doctrine\ORM\PersistentCollection {#1650 …} +votes: Doctrine\ORM\PersistentCollection {#1652 …} +reports: Doctrine\ORM\PersistentCollection {#1651 …} +favourites: Doctrine\ORM\PersistentCollection {#1527 …} +notifications: Doctrine\ORM\PersistentCollection {#1560 …} +badges: Doctrine\ORM\PersistentCollection {#1558 …} +children: [ 3 => App\Entity\EntryComment {#1611} 2 => App\Entity\EntryComment {#2467 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +body: """ I don’t think I have it in me to put together a video, but I can describe it if you like.\n \n Once you install the extension and follow the setup instructions, you just go to a YouTube page. The extension adds an ugly button to the top-left of the page that says “bypass”. When you click it, Firefox launches `yt-dlp [the URL you’re at] -o - | mpv -` which basically just downloads the video and streams the output through the `mpv` video player. So now you’re watching just the video, with no web page necessary. """ +lang: "en" +isAdult: false +favouriteCount: 3 +score: 0 +lastActive: DateTime @1697268377 {#1731 : 2023-10-14 09:26:17.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@zaknenou@lemmy.dbzer0.com" ] +children: Doctrine\ORM\PersistentCollection {#2455 …} +nested: Doctrine\ORM\PersistentCollection {#2471 …} +votes: Doctrine\ORM\PersistentCollection {#2363 …} +reports: Doctrine\ORM\PersistentCollection {#2377 …} +favourites: Doctrine\ORM\PersistentCollection {#2359 …} +notifications: Doctrine\ORM\PersistentCollection {#2364 …} -id: 48009 -bodyTs: "'add':42 'basic':74 'button':45 'bypass':56 'click':59 'describ':18 'dlp':65 'download':76 'extens':27,41 'firefox':61 'follow':29 'go':35 'instal':25 'instruct':32 'launch':62 'left':50 'like':22 'mpv':72,85 'necessari':100 'o':71 'output':82 'page':39,53,99 'player':87 'put':11 're':69,91 'say':55 'setup':31 'stream':80 'think':4 'togeth':12 'top':49 'top-left':48 'ugli':44 'url':67 'video':14,78,86,95 'watch':92 'web':98 'youtub':38 'yt':64 'yt-dlp':63" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993221" +editedAt: null +createdAt: DateTimeImmutable @1697268377 {#2469 : 2023-10-14 09:26:17.0 +02:00 } +"title": 48009 } 1 => App\Entity\EntryComment {#2382 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +body: """ Honestly, because I didn’t know (a) that ff2mpv even existed, or that (b) mpv could play YouTube URLs directly. So thanks! I learnt two things today :-)\n \n It was still a fun project though 'cause I learnt how to write a Firefox extension *and* get the browser to launch programs on-click, so not a waste of time! """ +lang: "en" +isAdult: false +favouriteCount: 13 +score: 0 +lastActive: DateTime @1697288649 {#2380 : 2023-10-14 15:04:09.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@khorovodoved@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2384 …} +nested: Doctrine\ORM\PersistentCollection {#2379 …} +votes: Doctrine\ORM\PersistentCollection {#2383 …} +reports: Doctrine\ORM\PersistentCollection {#1906 …} +favourites: Doctrine\ORM\PersistentCollection {#1708 …} +notifications: Doctrine\ORM\PersistentCollection {#1410 …} -id: 48431 -bodyTs: "'b':14 'browser':47 'caus':35 'click':53 'could':16 'didn':4 'direct':20 'even':10 'exist':11 'extens':43 'ff2mpv':9 'firefox':42 'fun':32 'get':45 'honest':1 'know':6 'launch':49 'learnt':24,37 'mpv':15 'on-click':51 'play':17 'program':50 'project':33 'still':30 'thank':22 'thing':26 'though':34 'time':59 'today':27 'two':25 'url':19 'wast':57 'write':40 'youtub':18" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3997262" +editedAt: null +createdAt: DateTimeImmutable @1697288649 {#2386 : 2023-10-14 15:04:09.0 +02:00 } +"title": 48431 } 0 => App\Entity\EntryComment {#1407 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#1883 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "That’s actually very helpful, thanks. I’ve been working on another project to open certain URLs in specific browsers/profiles, and wanted to be sure that I wasn’t missing a more obvious design pattern. The project is [here](https://gitlab.com/danielquinn/opening) if you’re curious." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697303255 {#1907 : 2023-10-14 19:07:35.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2391 …} +nested: Doctrine\ORM\PersistentCollection {#2369 …} +votes: Doctrine\ORM\PersistentCollection {#2392 …} +reports: Doctrine\ORM\PersistentCollection {#2395 …} +favourites: Doctrine\ORM\PersistentCollection {#1384 …} +notifications: Doctrine\ORM\PersistentCollection {#1383 …} -id: 48905 -bodyTs: "'/danielquinn/opening)':42 'actual':3 'anoth':12 'browsers/profiles':20 'certain':16 'curious':46 'design':34 'gitlab.com':41 'gitlab.com/danielquinn/opening)':40 'help':5 'miss':30 'obvious':33 'open':15 'pattern':35 'project':13,37 're':45 'specif':19 'sure':25 'thank':6 'url':17 've':8 'want':22 'wasn':28 'work':10" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/4002090" +editedAt: null +createdAt: DateTimeImmutable @1697303255 {#1908 : 2023-10-14 19:07:35.0 +02:00 } +"title": 48905 } ] -id: 5166 -titleTs: "'browser':13 'easier':14 'local':10 'made':2 'make':6 'play':7 'thing':4 'video':9 'youtub':8" -bodyTs: "'ad':10 'annoy':69 'anyway':76 'blocker':12,13 'blocker-block':11 'complain':6 'configur':70 'day':3 'dlp':36,59 'done':110 'easi':51 'end':75 'exercis':105 'extens':28,49 'feel':83 'firefox':27,48,54 'free':84 'friday':121 'fun':23 'go':97 'good':114 'harder':63 'hour':118 'isn':60 'know':92 'launch':56 'linux':81 'load':32 'm':96 'mention':18 'might':21 'mpv':42 'much':62,94 'new':9 'night':122 'play':38 'pour':99 'pretti':113 're':79 'requir':67 'someon':4 'though':64 'tri':86 'trick':53 'turn':44 'user':73,82 'video':40 'would':30 'write':25,46 'youtub':15 'yt':35,58 'yt-dlp':34,57" +cross: false +upVotes: 0 +downVotes: 0 +ranking: 1697325241 +visibility: "visible " +apId: "https://lemmy.ca/post/7150213" +editedAt: null +createdAt: DateTimeImmutable @1697238841 {#1424 : 2023-10-14 01:14:01.0 +02:00 } } +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "Is there another way to do this? This hack was the only way I could figure out how to get Firefox to invoke an external binary, but if there’s a more conventional way to do it, I’d like to know 'cause I have another more complicated project in need of a pattern much like this one." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697268007 {#1596 : 2023-10-14 09:20:07.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2464 …} +nested: Doctrine\ORM\PersistentCollection {#1740 …} +votes: Doctrine\ORM\PersistentCollection {#1739 …} +reports: Doctrine\ORM\PersistentCollection {#1716 …} +favourites: Doctrine\ORM\PersistentCollection {#2461 …} +notifications: Doctrine\ORM\PersistentCollection {#2447 …} -id: 48003 -bodyTs: "'anoth':3,46 'binari':26 'caus':43 'complic':48 'convent':33 'could':15 'd':39 'extern':25 'figur':16 'firefox':21 'get':20 'hack':9 'invok':23 'know':42 'like':40,56 'much':55 'need':51 'one':58 'pattern':54 'project':49 'way':4,13,34" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993154" +editedAt: null +createdAt: DateTimeImmutable @1697268007 {#1555 : 2023-10-14 09:20:07.0 +02:00 } +"title": 48003 } ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\VoteComponent {#4091 +subject: App\Entity\EntryComment {#1611 +user: App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } +entry: App\Entity\Entry {#1609 +user: App\Entity\User {#260} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 +icon: Proxies\__CG__\App\Entity\Image {#3026 …} +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://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 [](https://ko-fi.com/dbzer0)[](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 {#3023 : 2024-10-22 09:16:09.0 +02:00 } +markedForDeletionAt: null +tags: null +moderators: Doctrine\ORM\PersistentCollection {#3027 …} +ownershipRequests: Doctrine\ORM\PersistentCollection {#3029 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#3031 …} +entries: Doctrine\ORM\PersistentCollection {#3033 …} +posts: Doctrine\ORM\PersistentCollection {#3035 …} +subscriptions: Doctrine\ORM\PersistentCollection {#3037 …} +bans: Doctrine\ORM\PersistentCollection {#3043 …} +reports: Doctrine\ORM\PersistentCollection {#3051 …} +badges: Doctrine\ORM\PersistentCollection {#3064 …} +logs: Doctrine\ORM\PersistentCollection {#3074 …} +awards: Doctrine\ORM\PersistentCollection {#3056 …} +categories: Doctrine\ORM\PersistentCollection {#3080 …} -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 {#3024 : 2024-02-24 05:17:09.0 +01:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197339 {#3025 : 2023-10-13 13:42:19.0 +02:00 } +__isInitialized__: true …2 } +image: Proxies\__CG__\App\Entity\Image {#1579 …} +domain: Proxies\__CG__\App\Entity\Domain {#1679 …} +slug: "I-made-a-thing-to-make-playing-YouTube-videos-locally" +title: "I made a thing to make playing YouTube videos locally from your browser easier" +url: "https://gitlab.com/danielquinn/video-bypass" +body: """ The other day someone was complaining about the new ad blocker-blocker on YouTube and I mentioned that it might be fun to write a Firefox extension that would just load up `yt-dlp` and play the video through `mpv`.\n \n It turns out, writing a Firefox extension is *easy* and tricking Firefox into launching `yt-dlp` isn’t much harder (though it does require some annoying configuration on the user’s end).\n \n Anyway, if you’re a Linux user, feel free to try it out. I don’t know how much I’m going to pour into this, but as an exercise of “can this be done”, it was pretty good for a few hours on a Friday night. """ +type: "link" +lang: "en" +isOc: false +hasEmbed: false +commentCount: 19 +favouriteCount: 200 +score: 0 +isAdult: false +sticky: false +lastActive: DateTime @1707557582 {#1421 : 2024-02-10 10:33:02.0 +01:00 } +ip: null +adaAmount: 0 +tags: null +mentions: null +comments: Doctrine\ORM\PersistentCollection {#1650 …} +votes: Doctrine\ORM\PersistentCollection {#1652 …} +reports: Doctrine\ORM\PersistentCollection {#1651 …} +favourites: Doctrine\ORM\PersistentCollection {#1527 …} +notifications: Doctrine\ORM\PersistentCollection {#1560 …} +badges: Doctrine\ORM\PersistentCollection {#1558 …} +children: [ 3 => App\Entity\EntryComment {#1611} 2 => App\Entity\EntryComment {#2467 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +body: """ I don’t think I have it in me to put together a video, but I can describe it if you like.\n \n Once you install the extension and follow the setup instructions, you just go to a YouTube page. The extension adds an ugly button to the top-left of the page that says “bypass”. When you click it, Firefox launches `yt-dlp [the URL you’re at] -o - | mpv -` which basically just downloads the video and streams the output through the `mpv` video player. So now you’re watching just the video, with no web page necessary. """ +lang: "en" +isAdult: false +favouriteCount: 3 +score: 0 +lastActive: DateTime @1697268377 {#1731 : 2023-10-14 09:26:17.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@zaknenou@lemmy.dbzer0.com" ] +children: Doctrine\ORM\PersistentCollection {#2455 …} +nested: Doctrine\ORM\PersistentCollection {#2471 …} +votes: Doctrine\ORM\PersistentCollection {#2363 …} +reports: Doctrine\ORM\PersistentCollection {#2377 …} +favourites: Doctrine\ORM\PersistentCollection {#2359 …} +notifications: Doctrine\ORM\PersistentCollection {#2364 …} -id: 48009 -bodyTs: "'add':42 'basic':74 'button':45 'bypass':56 'click':59 'describ':18 'dlp':65 'download':76 'extens':27,41 'firefox':61 'follow':29 'go':35 'instal':25 'instruct':32 'launch':62 'left':50 'like':22 'mpv':72,85 'necessari':100 'o':71 'output':82 'page':39,53,99 'player':87 'put':11 're':69,91 'say':55 'setup':31 'stream':80 'think':4 'togeth':12 'top':49 'top-left':48 'ugli':44 'url':67 'video':14,78,86,95 'watch':92 'web':98 'youtub':38 'yt':64 'yt-dlp':63" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993221" +editedAt: null +createdAt: DateTimeImmutable @1697268377 {#2469 : 2023-10-14 09:26:17.0 +02:00 } +"title": 48009 } 1 => App\Entity\EntryComment {#2382 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +body: """ Honestly, because I didn’t know (a) that ff2mpv even existed, or that (b) mpv could play YouTube URLs directly. So thanks! I learnt two things today :-)\n \n It was still a fun project though 'cause I learnt how to write a Firefox extension *and* get the browser to launch programs on-click, so not a waste of time! """ +lang: "en" +isAdult: false +favouriteCount: 13 +score: 0 +lastActive: DateTime @1697288649 {#2380 : 2023-10-14 15:04:09.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@khorovodoved@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2384 …} +nested: Doctrine\ORM\PersistentCollection {#2379 …} +votes: Doctrine\ORM\PersistentCollection {#2383 …} +reports: Doctrine\ORM\PersistentCollection {#1906 …} +favourites: Doctrine\ORM\PersistentCollection {#1708 …} +notifications: Doctrine\ORM\PersistentCollection {#1410 …} -id: 48431 -bodyTs: "'b':14 'browser':47 'caus':35 'click':53 'could':16 'didn':4 'direct':20 'even':10 'exist':11 'extens':43 'ff2mpv':9 'firefox':42 'fun':32 'get':45 'honest':1 'know':6 'launch':49 'learnt':24,37 'mpv':15 'on-click':51 'play':17 'program':50 'project':33 'still':30 'thank':22 'thing':26 'though':34 'time':59 'today':27 'two':25 'url':19 'wast':57 'write':40 'youtub':18" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3997262" +editedAt: null +createdAt: DateTimeImmutable @1697288649 {#2386 : 2023-10-14 15:04:09.0 +02:00 } +"title": 48431 } 0 => App\Entity\EntryComment {#1407 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#1883 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "That’s actually very helpful, thanks. I’ve been working on another project to open certain URLs in specific browsers/profiles, and wanted to be sure that I wasn’t missing a more obvious design pattern. The project is [here](https://gitlab.com/danielquinn/opening) if you’re curious." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697303255 {#1907 : 2023-10-14 19:07:35.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2391 …} +nested: Doctrine\ORM\PersistentCollection {#2369 …} +votes: Doctrine\ORM\PersistentCollection {#2392 …} +reports: Doctrine\ORM\PersistentCollection {#2395 …} +favourites: Doctrine\ORM\PersistentCollection {#1384 …} +notifications: Doctrine\ORM\PersistentCollection {#1383 …} -id: 48905 -bodyTs: "'/danielquinn/opening)':42 'actual':3 'anoth':12 'browsers/profiles':20 'certain':16 'curious':46 'design':34 'gitlab.com':41 'gitlab.com/danielquinn/opening)':40 'help':5 'miss':30 'obvious':33 'open':15 'pattern':35 'project':13,37 're':45 'specif':19 'sure':25 'thank':6 'url':17 've':8 'want':22 'wasn':28 'work':10" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/4002090" +editedAt: null +createdAt: DateTimeImmutable @1697303255 {#1908 : 2023-10-14 19:07:35.0 +02:00 } +"title": 48905 } ] -id: 5166 -titleTs: "'browser':13 'easier':14 'local':10 'made':2 'make':6 'play':7 'thing':4 'video':9 'youtub':8" -bodyTs: "'ad':10 'annoy':69 'anyway':76 'blocker':12,13 'blocker-block':11 'complain':6 'configur':70 'day':3 'dlp':36,59 'done':110 'easi':51 'end':75 'exercis':105 'extens':28,49 'feel':83 'firefox':27,48,54 'free':84 'friday':121 'fun':23 'go':97 'good':114 'harder':63 'hour':118 'isn':60 'know':92 'launch':56 'linux':81 'load':32 'm':96 'mention':18 'might':21 'mpv':42 'much':62,94 'new':9 'night':122 'play':38 'pour':99 'pretti':113 're':79 'requir':67 'someon':4 'though':64 'tri':86 'trick':53 'turn':44 'user':73,82 'video':40 'would':30 'write':25,46 'youtub':15 'yt':35,58 'yt-dlp':34,57" +cross: false +upVotes: 0 +downVotes: 0 +ranking: 1697325241 +visibility: "visible " +apId: "https://lemmy.ca/post/7150213" +editedAt: null +createdAt: DateTimeImmutable @1697238841 {#1424 : 2023-10-14 01:14:01.0 +02:00 } } +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "Is there another way to do this? This hack was the only way I could figure out how to get Firefox to invoke an external binary, but if there’s a more conventional way to do it, I’d like to know 'cause I have another more complicated project in need of a pattern much like this one." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697268007 {#1596 : 2023-10-14 09:20:07.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2464 …} +nested: Doctrine\ORM\PersistentCollection {#1740 …} +votes: Doctrine\ORM\PersistentCollection {#1739 …} +reports: Doctrine\ORM\PersistentCollection {#1716 …} +favourites: Doctrine\ORM\PersistentCollection {#2461 …} +notifications: Doctrine\ORM\PersistentCollection {#2447 …} -id: 48003 -bodyTs: "'anoth':3,46 'binari':26 'caus':43 'complic':48 'convent':33 'could':15 'd':39 'extern':25 'figur':16 'firefox':21 'get':20 'hack':9 'invok':23 'know':42 'like':40,56 'much':55 'need':51 'one':58 'pattern':54 'project':49 'way':4,13,34" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993154" +editedAt: null +createdAt: DateTimeImmutable @1697268007 {#1555 : 2023-10-14 09:20:07.0 +02:00 } +"title": 48003 } +formDest: "entry_comment" +showDownvote: true -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …} } |
boost | App\Twig\Components\BoostComponent | 14.0 MiB | 1.00 ms | |
---|---|---|---|---|
Input props | [ "subject" => App\Entity\EntryComment {#1611 +user: App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } +entry: App\Entity\Entry {#1609 +user: App\Entity\User {#260} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 +icon: Proxies\__CG__\App\Entity\Image {#3026 …} +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://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 [](https://ko-fi.com/dbzer0)[](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 {#3023 : 2024-10-22 09:16:09.0 +02:00 } +markedForDeletionAt: null +tags: null +moderators: Doctrine\ORM\PersistentCollection {#3027 …} +ownershipRequests: Doctrine\ORM\PersistentCollection {#3029 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#3031 …} +entries: Doctrine\ORM\PersistentCollection {#3033 …} +posts: Doctrine\ORM\PersistentCollection {#3035 …} +subscriptions: Doctrine\ORM\PersistentCollection {#3037 …} +bans: Doctrine\ORM\PersistentCollection {#3043 …} +reports: Doctrine\ORM\PersistentCollection {#3051 …} +badges: Doctrine\ORM\PersistentCollection {#3064 …} +logs: Doctrine\ORM\PersistentCollection {#3074 …} +awards: Doctrine\ORM\PersistentCollection {#3056 …} +categories: Doctrine\ORM\PersistentCollection {#3080 …} -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 {#3024 : 2024-02-24 05:17:09.0 +01:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197339 {#3025 : 2023-10-13 13:42:19.0 +02:00 } +__isInitialized__: true …2 } +image: Proxies\__CG__\App\Entity\Image {#1579 …} +domain: Proxies\__CG__\App\Entity\Domain {#1679 …} +slug: "I-made-a-thing-to-make-playing-YouTube-videos-locally" +title: "I made a thing to make playing YouTube videos locally from your browser easier" +url: "https://gitlab.com/danielquinn/video-bypass" +body: """ The other day someone was complaining about the new ad blocker-blocker on YouTube and I mentioned that it might be fun to write a Firefox extension that would just load up `yt-dlp` and play the video through `mpv`.\n \n It turns out, writing a Firefox extension is *easy* and tricking Firefox into launching `yt-dlp` isn’t much harder (though it does require some annoying configuration on the user’s end).\n \n Anyway, if you’re a Linux user, feel free to try it out. I don’t know how much I’m going to pour into this, but as an exercise of “can this be done”, it was pretty good for a few hours on a Friday night. """ +type: "link" +lang: "en" +isOc: false +hasEmbed: false +commentCount: 19 +favouriteCount: 200 +score: 0 +isAdult: false +sticky: false +lastActive: DateTime @1707557582 {#1421 : 2024-02-10 10:33:02.0 +01:00 } +ip: null +adaAmount: 0 +tags: null +mentions: null +comments: Doctrine\ORM\PersistentCollection {#1650 …} +votes: Doctrine\ORM\PersistentCollection {#1652 …} +reports: Doctrine\ORM\PersistentCollection {#1651 …} +favourites: Doctrine\ORM\PersistentCollection {#1527 …} +notifications: Doctrine\ORM\PersistentCollection {#1560 …} +badges: Doctrine\ORM\PersistentCollection {#1558 …} +children: [ 3 => App\Entity\EntryComment {#1611} 2 => App\Entity\EntryComment {#2467 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +body: """ I don’t think I have it in me to put together a video, but I can describe it if you like.\n \n Once you install the extension and follow the setup instructions, you just go to a YouTube page. The extension adds an ugly button to the top-left of the page that says “bypass”. When you click it, Firefox launches `yt-dlp [the URL you’re at] -o - | mpv -` which basically just downloads the video and streams the output through the `mpv` video player. So now you’re watching just the video, with no web page necessary. """ +lang: "en" +isAdult: false +favouriteCount: 3 +score: 0 +lastActive: DateTime @1697268377 {#1731 : 2023-10-14 09:26:17.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@zaknenou@lemmy.dbzer0.com" ] +children: Doctrine\ORM\PersistentCollection {#2455 …} +nested: Doctrine\ORM\PersistentCollection {#2471 …} +votes: Doctrine\ORM\PersistentCollection {#2363 …} +reports: Doctrine\ORM\PersistentCollection {#2377 …} +favourites: Doctrine\ORM\PersistentCollection {#2359 …} +notifications: Doctrine\ORM\PersistentCollection {#2364 …} -id: 48009 -bodyTs: "'add':42 'basic':74 'button':45 'bypass':56 'click':59 'describ':18 'dlp':65 'download':76 'extens':27,41 'firefox':61 'follow':29 'go':35 'instal':25 'instruct':32 'launch':62 'left':50 'like':22 'mpv':72,85 'necessari':100 'o':71 'output':82 'page':39,53,99 'player':87 'put':11 're':69,91 'say':55 'setup':31 'stream':80 'think':4 'togeth':12 'top':49 'top-left':48 'ugli':44 'url':67 'video':14,78,86,95 'watch':92 'web':98 'youtub':38 'yt':64 'yt-dlp':63" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993221" +editedAt: null +createdAt: DateTimeImmutable @1697268377 {#2469 : 2023-10-14 09:26:17.0 +02:00 } +"title": 48009 } 1 => App\Entity\EntryComment {#2382 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +body: """ Honestly, because I didn’t know (a) that ff2mpv even existed, or that (b) mpv could play YouTube URLs directly. So thanks! I learnt two things today :-)\n \n It was still a fun project though 'cause I learnt how to write a Firefox extension *and* get the browser to launch programs on-click, so not a waste of time! """ +lang: "en" +isAdult: false +favouriteCount: 13 +score: 0 +lastActive: DateTime @1697288649 {#2380 : 2023-10-14 15:04:09.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@khorovodoved@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2384 …} +nested: Doctrine\ORM\PersistentCollection {#2379 …} +votes: Doctrine\ORM\PersistentCollection {#2383 …} +reports: Doctrine\ORM\PersistentCollection {#1906 …} +favourites: Doctrine\ORM\PersistentCollection {#1708 …} +notifications: Doctrine\ORM\PersistentCollection {#1410 …} -id: 48431 -bodyTs: "'b':14 'browser':47 'caus':35 'click':53 'could':16 'didn':4 'direct':20 'even':10 'exist':11 'extens':43 'ff2mpv':9 'firefox':42 'fun':32 'get':45 'honest':1 'know':6 'launch':49 'learnt':24,37 'mpv':15 'on-click':51 'play':17 'program':50 'project':33 'still':30 'thank':22 'thing':26 'though':34 'time':59 'today':27 'two':25 'url':19 'wast':57 'write':40 'youtub':18" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3997262" +editedAt: null +createdAt: DateTimeImmutable @1697288649 {#2386 : 2023-10-14 15:04:09.0 +02:00 } +"title": 48431 } 0 => App\Entity\EntryComment {#1407 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#1883 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "That’s actually very helpful, thanks. I’ve been working on another project to open certain URLs in specific browsers/profiles, and wanted to be sure that I wasn’t missing a more obvious design pattern. The project is [here](https://gitlab.com/danielquinn/opening) if you’re curious." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697303255 {#1907 : 2023-10-14 19:07:35.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2391 …} +nested: Doctrine\ORM\PersistentCollection {#2369 …} +votes: Doctrine\ORM\PersistentCollection {#2392 …} +reports: Doctrine\ORM\PersistentCollection {#2395 …} +favourites: Doctrine\ORM\PersistentCollection {#1384 …} +notifications: Doctrine\ORM\PersistentCollection {#1383 …} -id: 48905 -bodyTs: "'/danielquinn/opening)':42 'actual':3 'anoth':12 'browsers/profiles':20 'certain':16 'curious':46 'design':34 'gitlab.com':41 'gitlab.com/danielquinn/opening)':40 'help':5 'miss':30 'obvious':33 'open':15 'pattern':35 'project':13,37 're':45 'specif':19 'sure':25 'thank':6 'url':17 've':8 'want':22 'wasn':28 'work':10" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/4002090" +editedAt: null +createdAt: DateTimeImmutable @1697303255 {#1908 : 2023-10-14 19:07:35.0 +02:00 } +"title": 48905 } ] -id: 5166 -titleTs: "'browser':13 'easier':14 'local':10 'made':2 'make':6 'play':7 'thing':4 'video':9 'youtub':8" -bodyTs: "'ad':10 'annoy':69 'anyway':76 'blocker':12,13 'blocker-block':11 'complain':6 'configur':70 'day':3 'dlp':36,59 'done':110 'easi':51 'end':75 'exercis':105 'extens':28,49 'feel':83 'firefox':27,48,54 'free':84 'friday':121 'fun':23 'go':97 'good':114 'harder':63 'hour':118 'isn':60 'know':92 'launch':56 'linux':81 'load':32 'm':96 'mention':18 'might':21 'mpv':42 'much':62,94 'new':9 'night':122 'play':38 'pour':99 'pretti':113 're':79 'requir':67 'someon':4 'though':64 'tri':86 'trick':53 'turn':44 'user':73,82 'video':40 'would':30 'write':25,46 'youtub':15 'yt':35,58 'yt-dlp':34,57" +cross: false +upVotes: 0 +downVotes: 0 +ranking: 1697325241 +visibility: "visible " +apId: "https://lemmy.ca/post/7150213" +editedAt: null +createdAt: DateTimeImmutable @1697238841 {#1424 : 2023-10-14 01:14:01.0 +02:00 } } +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "Is there another way to do this? This hack was the only way I could figure out how to get Firefox to invoke an external binary, but if there’s a more conventional way to do it, I’d like to know 'cause I have another more complicated project in need of a pattern much like this one." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697268007 {#1596 : 2023-10-14 09:20:07.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2464 …} +nested: Doctrine\ORM\PersistentCollection {#1740 …} +votes: Doctrine\ORM\PersistentCollection {#1739 …} +reports: Doctrine\ORM\PersistentCollection {#1716 …} +favourites: Doctrine\ORM\PersistentCollection {#2461 …} +notifications: Doctrine\ORM\PersistentCollection {#2447 …} -id: 48003 -bodyTs: "'anoth':3,46 'binari':26 'caus':43 'complic':48 'convent':33 'could':15 'd':39 'extern':25 'figur':16 'firefox':21 'get':20 'hack':9 'invok':23 'know':42 'like':40,56 'much':55 'need':51 'one':58 'pattern':54 'project':49 'way':4,13,34" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993154" +editedAt: null +createdAt: DateTimeImmutable @1697268007 {#1555 : 2023-10-14 09:20:07.0 +02:00 } +"title": 48003 } ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\BoostComponent {#4148 +formDest: "entry_comment" +subject: App\Entity\EntryComment {#1611 +user: App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } +entry: App\Entity\Entry {#1609 +user: App\Entity\User {#260} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 +icon: Proxies\__CG__\App\Entity\Image {#3026 …} +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://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 [](https://ko-fi.com/dbzer0)[](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 {#3023 : 2024-10-22 09:16:09.0 +02:00 } +markedForDeletionAt: null +tags: null +moderators: Doctrine\ORM\PersistentCollection {#3027 …} +ownershipRequests: Doctrine\ORM\PersistentCollection {#3029 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#3031 …} +entries: Doctrine\ORM\PersistentCollection {#3033 …} +posts: Doctrine\ORM\PersistentCollection {#3035 …} +subscriptions: Doctrine\ORM\PersistentCollection {#3037 …} +bans: Doctrine\ORM\PersistentCollection {#3043 …} +reports: Doctrine\ORM\PersistentCollection {#3051 …} +badges: Doctrine\ORM\PersistentCollection {#3064 …} +logs: Doctrine\ORM\PersistentCollection {#3074 …} +awards: Doctrine\ORM\PersistentCollection {#3056 …} +categories: Doctrine\ORM\PersistentCollection {#3080 …} -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 {#3024 : 2024-02-24 05:17:09.0 +01:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197339 {#3025 : 2023-10-13 13:42:19.0 +02:00 } +__isInitialized__: true …2 } +image: Proxies\__CG__\App\Entity\Image {#1579 …} +domain: Proxies\__CG__\App\Entity\Domain {#1679 …} +slug: "I-made-a-thing-to-make-playing-YouTube-videos-locally" +title: "I made a thing to make playing YouTube videos locally from your browser easier" +url: "https://gitlab.com/danielquinn/video-bypass" +body: """ The other day someone was complaining about the new ad blocker-blocker on YouTube and I mentioned that it might be fun to write a Firefox extension that would just load up `yt-dlp` and play the video through `mpv`.\n \n It turns out, writing a Firefox extension is *easy* and tricking Firefox into launching `yt-dlp` isn’t much harder (though it does require some annoying configuration on the user’s end).\n \n Anyway, if you’re a Linux user, feel free to try it out. I don’t know how much I’m going to pour into this, but as an exercise of “can this be done”, it was pretty good for a few hours on a Friday night. """ +type: "link" +lang: "en" +isOc: false +hasEmbed: false +commentCount: 19 +favouriteCount: 200 +score: 0 +isAdult: false +sticky: false +lastActive: DateTime @1707557582 {#1421 : 2024-02-10 10:33:02.0 +01:00 } +ip: null +adaAmount: 0 +tags: null +mentions: null +comments: Doctrine\ORM\PersistentCollection {#1650 …} +votes: Doctrine\ORM\PersistentCollection {#1652 …} +reports: Doctrine\ORM\PersistentCollection {#1651 …} +favourites: Doctrine\ORM\PersistentCollection {#1527 …} +notifications: Doctrine\ORM\PersistentCollection {#1560 …} +badges: Doctrine\ORM\PersistentCollection {#1558 …} +children: [ 3 => App\Entity\EntryComment {#1611} 2 => App\Entity\EntryComment {#2467 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +body: """ I don’t think I have it in me to put together a video, but I can describe it if you like.\n \n Once you install the extension and follow the setup instructions, you just go to a YouTube page. The extension adds an ugly button to the top-left of the page that says “bypass”. When you click it, Firefox launches `yt-dlp [the URL you’re at] -o - | mpv -` which basically just downloads the video and streams the output through the `mpv` video player. So now you’re watching just the video, with no web page necessary. """ +lang: "en" +isAdult: false +favouriteCount: 3 +score: 0 +lastActive: DateTime @1697268377 {#1731 : 2023-10-14 09:26:17.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@zaknenou@lemmy.dbzer0.com" ] +children: Doctrine\ORM\PersistentCollection {#2455 …} +nested: Doctrine\ORM\PersistentCollection {#2471 …} +votes: Doctrine\ORM\PersistentCollection {#2363 …} +reports: Doctrine\ORM\PersistentCollection {#2377 …} +favourites: Doctrine\ORM\PersistentCollection {#2359 …} +notifications: Doctrine\ORM\PersistentCollection {#2364 …} -id: 48009 -bodyTs: "'add':42 'basic':74 'button':45 'bypass':56 'click':59 'describ':18 'dlp':65 'download':76 'extens':27,41 'firefox':61 'follow':29 'go':35 'instal':25 'instruct':32 'launch':62 'left':50 'like':22 'mpv':72,85 'necessari':100 'o':71 'output':82 'page':39,53,99 'player':87 'put':11 're':69,91 'say':55 'setup':31 'stream':80 'think':4 'togeth':12 'top':49 'top-left':48 'ugli':44 'url':67 'video':14,78,86,95 'watch':92 'web':98 'youtub':38 'yt':64 'yt-dlp':63" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993221" +editedAt: null +createdAt: DateTimeImmutable @1697268377 {#2469 : 2023-10-14 09:26:17.0 +02:00 } +"title": 48009 } 1 => App\Entity\EntryComment {#2382 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +body: """ Honestly, because I didn’t know (a) that ff2mpv even existed, or that (b) mpv could play YouTube URLs directly. So thanks! I learnt two things today :-)\n \n It was still a fun project though 'cause I learnt how to write a Firefox extension *and* get the browser to launch programs on-click, so not a waste of time! """ +lang: "en" +isAdult: false +favouriteCount: 13 +score: 0 +lastActive: DateTime @1697288649 {#2380 : 2023-10-14 15:04:09.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@khorovodoved@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2384 …} +nested: Doctrine\ORM\PersistentCollection {#2379 …} +votes: Doctrine\ORM\PersistentCollection {#2383 …} +reports: Doctrine\ORM\PersistentCollection {#1906 …} +favourites: Doctrine\ORM\PersistentCollection {#1708 …} +notifications: Doctrine\ORM\PersistentCollection {#1410 …} -id: 48431 -bodyTs: "'b':14 'browser':47 'caus':35 'click':53 'could':16 'didn':4 'direct':20 'even':10 'exist':11 'extens':43 'ff2mpv':9 'firefox':42 'fun':32 'get':45 'honest':1 'know':6 'launch':49 'learnt':24,37 'mpv':15 'on-click':51 'play':17 'program':50 'project':33 'still':30 'thank':22 'thing':26 'though':34 'time':59 'today':27 'two':25 'url':19 'wast':57 'write':40 'youtub':18" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3997262" +editedAt: null +createdAt: DateTimeImmutable @1697288649 {#2386 : 2023-10-14 15:04:09.0 +02:00 } +"title": 48431 } 0 => App\Entity\EntryComment {#1407 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#1883 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "That’s actually very helpful, thanks. I’ve been working on another project to open certain URLs in specific browsers/profiles, and wanted to be sure that I wasn’t missing a more obvious design pattern. The project is [here](https://gitlab.com/danielquinn/opening) if you’re curious." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697303255 {#1907 : 2023-10-14 19:07:35.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2391 …} +nested: Doctrine\ORM\PersistentCollection {#2369 …} +votes: Doctrine\ORM\PersistentCollection {#2392 …} +reports: Doctrine\ORM\PersistentCollection {#2395 …} +favourites: Doctrine\ORM\PersistentCollection {#1384 …} +notifications: Doctrine\ORM\PersistentCollection {#1383 …} -id: 48905 -bodyTs: "'/danielquinn/opening)':42 'actual':3 'anoth':12 'browsers/profiles':20 'certain':16 'curious':46 'design':34 'gitlab.com':41 'gitlab.com/danielquinn/opening)':40 'help':5 'miss':30 'obvious':33 'open':15 'pattern':35 'project':13,37 're':45 'specif':19 'sure':25 'thank':6 'url':17 've':8 'want':22 'wasn':28 'work':10" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/4002090" +editedAt: null +createdAt: DateTimeImmutable @1697303255 {#1908 : 2023-10-14 19:07:35.0 +02:00 } +"title": 48905 } ] -id: 5166 -titleTs: "'browser':13 'easier':14 'local':10 'made':2 'make':6 'play':7 'thing':4 'video':9 'youtub':8" -bodyTs: "'ad':10 'annoy':69 'anyway':76 'blocker':12,13 'blocker-block':11 'complain':6 'configur':70 'day':3 'dlp':36,59 'done':110 'easi':51 'end':75 'exercis':105 'extens':28,49 'feel':83 'firefox':27,48,54 'free':84 'friday':121 'fun':23 'go':97 'good':114 'harder':63 'hour':118 'isn':60 'know':92 'launch':56 'linux':81 'load':32 'm':96 'mention':18 'might':21 'mpv':42 'much':62,94 'new':9 'night':122 'play':38 'pour':99 'pretti':113 're':79 'requir':67 'someon':4 'though':64 'tri':86 'trick':53 'turn':44 'user':73,82 'video':40 'would':30 'write':25,46 'youtub':15 'yt':35,58 'yt-dlp':34,57" +cross: false +upVotes: 0 +downVotes: 0 +ranking: 1697325241 +visibility: "visible " +apId: "https://lemmy.ca/post/7150213" +editedAt: null +createdAt: DateTimeImmutable @1697238841 {#1424 : 2023-10-14 01:14:01.0 +02:00 } } +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "Is there another way to do this? This hack was the only way I could figure out how to get Firefox to invoke an external binary, but if there’s a more conventional way to do it, I’d like to know 'cause I have another more complicated project in need of a pattern much like this one." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697268007 {#1596 : 2023-10-14 09:20:07.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2464 …} +nested: Doctrine\ORM\PersistentCollection {#1740 …} +votes: Doctrine\ORM\PersistentCollection {#1739 …} +reports: Doctrine\ORM\PersistentCollection {#1716 …} +favourites: Doctrine\ORM\PersistentCollection {#2461 …} +notifications: Doctrine\ORM\PersistentCollection {#2447 …} -id: 48003 -bodyTs: "'anoth':3,46 'binari':26 'caus':43 'complic':48 'convent':33 'could':15 'd':39 'extern':25 'figur':16 'firefox':21 'get':20 'hack':9 'invok':23 'know':42 'like':40,56 'much':55 'need':51 'one':58 'pattern':54 'project':49 'way':4,13,34" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993154" +editedAt: null +createdAt: DateTimeImmutable @1697268007 {#1555 : 2023-10-14 09:20:07.0 +02:00 } +"title": 48003 } -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …} } |
entry_comment | App\Twig\Components\EntryCommentComponent | 14.0 MiB | 18.92 ms | |
---|---|---|---|---|
Input props | [ "comment" => App\Entity\EntryComment {#2467 +user: App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } +entry: App\Entity\Entry {#1609 +user: App\Entity\User {#260} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 +icon: Proxies\__CG__\App\Entity\Image {#3026 …} +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://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 [](https://ko-fi.com/dbzer0)[](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 {#3023 : 2024-10-22 09:16:09.0 +02:00 } +markedForDeletionAt: null +tags: null +moderators: Doctrine\ORM\PersistentCollection {#3027 …} +ownershipRequests: Doctrine\ORM\PersistentCollection {#3029 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#3031 …} +entries: Doctrine\ORM\PersistentCollection {#3033 …} +posts: Doctrine\ORM\PersistentCollection {#3035 …} +subscriptions: Doctrine\ORM\PersistentCollection {#3037 …} +bans: Doctrine\ORM\PersistentCollection {#3043 …} +reports: Doctrine\ORM\PersistentCollection {#3051 …} +badges: Doctrine\ORM\PersistentCollection {#3064 …} +logs: Doctrine\ORM\PersistentCollection {#3074 …} +awards: Doctrine\ORM\PersistentCollection {#3056 …} +categories: Doctrine\ORM\PersistentCollection {#3080 …} -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 {#3024 : 2024-02-24 05:17:09.0 +01:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197339 {#3025 : 2023-10-13 13:42:19.0 +02:00 } +__isInitialized__: true …2 } +image: Proxies\__CG__\App\Entity\Image {#1579 …} +domain: Proxies\__CG__\App\Entity\Domain {#1679 …} +slug: "I-made-a-thing-to-make-playing-YouTube-videos-locally" +title: "I made a thing to make playing YouTube videos locally from your browser easier" +url: "https://gitlab.com/danielquinn/video-bypass" +body: """ The other day someone was complaining about the new ad blocker-blocker on YouTube and I mentioned that it might be fun to write a Firefox extension that would just load up `yt-dlp` and play the video through `mpv`.\n \n It turns out, writing a Firefox extension is *easy* and tricking Firefox into launching `yt-dlp` isn’t much harder (though it does require some annoying configuration on the user’s end).\n \n Anyway, if you’re a Linux user, feel free to try it out. I don’t know how much I’m going to pour into this, but as an exercise of “can this be done”, it was pretty good for a few hours on a Friday night. """ +type: "link" +lang: "en" +isOc: false +hasEmbed: false +commentCount: 19 +favouriteCount: 200 +score: 0 +isAdult: false +sticky: false +lastActive: DateTime @1707557582 {#1421 : 2024-02-10 10:33:02.0 +01:00 } +ip: null +adaAmount: 0 +tags: null +mentions: null +comments: Doctrine\ORM\PersistentCollection {#1650 …} +votes: Doctrine\ORM\PersistentCollection {#1652 …} +reports: Doctrine\ORM\PersistentCollection {#1651 …} +favourites: Doctrine\ORM\PersistentCollection {#1527 …} +notifications: Doctrine\ORM\PersistentCollection {#1560 …} +badges: Doctrine\ORM\PersistentCollection {#1558 …} +children: [ 3 => App\Entity\EntryComment {#1611 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "Is there another way to do this? This hack was the only way I could figure out how to get Firefox to invoke an external binary, but if there’s a more conventional way to do it, I’d like to know 'cause I have another more complicated project in need of a pattern much like this one." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697268007 {#1596 : 2023-10-14 09:20:07.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2464 …} +nested: Doctrine\ORM\PersistentCollection {#1740 …} +votes: Doctrine\ORM\PersistentCollection {#1739 …} +reports: Doctrine\ORM\PersistentCollection {#1716 …} +favourites: Doctrine\ORM\PersistentCollection {#2461 …} +notifications: Doctrine\ORM\PersistentCollection {#2447 …} -id: 48003 -bodyTs: "'anoth':3,46 'binari':26 'caus':43 'complic':48 'convent':33 'could':15 'd':39 'extern':25 'figur':16 'firefox':21 'get':20 'hack':9 'invok':23 'know':42 'like':40,56 'much':55 'need':51 'one':58 'pattern':54 'project':49 'way':4,13,34" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993154" +editedAt: null +createdAt: DateTimeImmutable @1697268007 {#1555 : 2023-10-14 09:20:07.0 +02:00 } +"title": 48003 } 2 => App\Entity\EntryComment {#2467} 1 => App\Entity\EntryComment {#2382 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +body: """ Honestly, because I didn’t know (a) that ff2mpv even existed, or that (b) mpv could play YouTube URLs directly. So thanks! I learnt two things today :-)\n \n It was still a fun project though 'cause I learnt how to write a Firefox extension *and* get the browser to launch programs on-click, so not a waste of time! """ +lang: "en" +isAdult: false +favouriteCount: 13 +score: 0 +lastActive: DateTime @1697288649 {#2380 : 2023-10-14 15:04:09.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@khorovodoved@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2384 …} +nested: Doctrine\ORM\PersistentCollection {#2379 …} +votes: Doctrine\ORM\PersistentCollection {#2383 …} +reports: Doctrine\ORM\PersistentCollection {#1906 …} +favourites: Doctrine\ORM\PersistentCollection {#1708 …} +notifications: Doctrine\ORM\PersistentCollection {#1410 …} -id: 48431 -bodyTs: "'b':14 'browser':47 'caus':35 'click':53 'could':16 'didn':4 'direct':20 'even':10 'exist':11 'extens':43 'ff2mpv':9 'firefox':42 'fun':32 'get':45 'honest':1 'know':6 'launch':49 'learnt':24,37 'mpv':15 'on-click':51 'play':17 'program':50 'project':33 'still':30 'thank':22 'thing':26 'though':34 'time':59 'today':27 'two':25 'url':19 'wast':57 'write':40 'youtub':18" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3997262" +editedAt: null +createdAt: DateTimeImmutable @1697288649 {#2386 : 2023-10-14 15:04:09.0 +02:00 } +"title": 48431 } 0 => App\Entity\EntryComment {#1407 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#1883 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "That’s actually very helpful, thanks. I’ve been working on another project to open certain URLs in specific browsers/profiles, and wanted to be sure that I wasn’t missing a more obvious design pattern. The project is [here](https://gitlab.com/danielquinn/opening) if you’re curious." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697303255 {#1907 : 2023-10-14 19:07:35.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2391 …} +nested: Doctrine\ORM\PersistentCollection {#2369 …} +votes: Doctrine\ORM\PersistentCollection {#2392 …} +reports: Doctrine\ORM\PersistentCollection {#2395 …} +favourites: Doctrine\ORM\PersistentCollection {#1384 …} +notifications: Doctrine\ORM\PersistentCollection {#1383 …} -id: 48905 -bodyTs: "'/danielquinn/opening)':42 'actual':3 'anoth':12 'browsers/profiles':20 'certain':16 'curious':46 'design':34 'gitlab.com':41 'gitlab.com/danielquinn/opening)':40 'help':5 'miss':30 'obvious':33 'open':15 'pattern':35 'project':13,37 're':45 'specif':19 'sure':25 'thank':6 'url':17 've':8 'want':22 'wasn':28 'work':10" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/4002090" +editedAt: null +createdAt: DateTimeImmutable @1697303255 {#1908 : 2023-10-14 19:07:35.0 +02:00 } +"title": 48905 } ] -id: 5166 -titleTs: "'browser':13 'easier':14 'local':10 'made':2 'make':6 'play':7 'thing':4 'video':9 'youtub':8" -bodyTs: "'ad':10 'annoy':69 'anyway':76 'blocker':12,13 'blocker-block':11 'complain':6 'configur':70 'day':3 'dlp':36,59 'done':110 'easi':51 'end':75 'exercis':105 'extens':28,49 'feel':83 'firefox':27,48,54 'free':84 'friday':121 'fun':23 'go':97 'good':114 'harder':63 'hour':118 'isn':60 'know':92 'launch':56 'linux':81 'load':32 'm':96 'mention':18 'might':21 'mpv':42 'much':62,94 'new':9 'night':122 'play':38 'pour':99 'pretti':113 're':79 'requir':67 'someon':4 'though':64 'tri':86 'trick':53 'turn':44 'user':73,82 'video':40 'would':30 'write':25,46 'youtub':15 'yt':35,58 'yt-dlp':34,57" +cross: false +upVotes: 0 +downVotes: 0 +ranking: 1697325241 +visibility: "visible " +apId: "https://lemmy.ca/post/7150213" +editedAt: null +createdAt: DateTimeImmutable @1697238841 {#1424 : 2023-10-14 01:14:01.0 +02:00 } } +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +body: """ I don’t think I have it in me to put together a video, but I can describe it if you like.\n \n Once you install the extension and follow the setup instructions, you just go to a YouTube page. The extension adds an ugly button to the top-left of the page that says “bypass”. When you click it, Firefox launches `yt-dlp [the URL you’re at] -o - | mpv -` which basically just downloads the video and streams the output through the `mpv` video player. So now you’re watching just the video, with no web page necessary. """ +lang: "en" +isAdult: false +favouriteCount: 3 +score: 0 +lastActive: DateTime @1697268377 {#1731 : 2023-10-14 09:26:17.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@zaknenou@lemmy.dbzer0.com" ] +children: Doctrine\ORM\PersistentCollection {#2455 …} +nested: Doctrine\ORM\PersistentCollection {#2471 …} +votes: Doctrine\ORM\PersistentCollection {#2363 …} +reports: Doctrine\ORM\PersistentCollection {#2377 …} +favourites: Doctrine\ORM\PersistentCollection {#2359 …} +notifications: Doctrine\ORM\PersistentCollection {#2364 …} -id: 48009 -bodyTs: "'add':42 'basic':74 'button':45 'bypass':56 'click':59 'describ':18 'dlp':65 'download':76 'extens':27,41 'firefox':61 'follow':29 'go':35 'instal':25 'instruct':32 'launch':62 'left':50 'like':22 'mpv':72,85 'necessari':100 'o':71 'output':82 'page':39,53,99 'player':87 'put':11 're':69,91 'say':55 'setup':31 'stream':80 'think':4 'togeth':12 'top':49 'top-left':48 'ugli':44 'url':67 'video':14,78,86,95 'watch':92 'web':98 'youtub':38 'yt':64 'yt-dlp':63" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993221" +editedAt: null +createdAt: DateTimeImmutable @1697268377 {#2469 : 2023-10-14 09:26:17.0 +02:00 } +"title": 48009 } "showEntryTitle" => false "dateAsUrl" => true "showMagazineName" => false ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\EntryCommentComponent {#4402 +comment: App\Entity\EntryComment {#2467 +user: App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } +entry: App\Entity\Entry {#1609 +user: App\Entity\User {#260} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 +icon: Proxies\__CG__\App\Entity\Image {#3026 …} +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://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 [](https://ko-fi.com/dbzer0)[](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 {#3023 : 2024-10-22 09:16:09.0 +02:00 } +markedForDeletionAt: null +tags: null +moderators: Doctrine\ORM\PersistentCollection {#3027 …} +ownershipRequests: Doctrine\ORM\PersistentCollection {#3029 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#3031 …} +entries: Doctrine\ORM\PersistentCollection {#3033 …} +posts: Doctrine\ORM\PersistentCollection {#3035 …} +subscriptions: Doctrine\ORM\PersistentCollection {#3037 …} +bans: Doctrine\ORM\PersistentCollection {#3043 …} +reports: Doctrine\ORM\PersistentCollection {#3051 …} +badges: Doctrine\ORM\PersistentCollection {#3064 …} +logs: Doctrine\ORM\PersistentCollection {#3074 …} +awards: Doctrine\ORM\PersistentCollection {#3056 …} +categories: Doctrine\ORM\PersistentCollection {#3080 …} -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 {#3024 : 2024-02-24 05:17:09.0 +01:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197339 {#3025 : 2023-10-13 13:42:19.0 +02:00 } +__isInitialized__: true …2 } +image: Proxies\__CG__\App\Entity\Image {#1579 …} +domain: Proxies\__CG__\App\Entity\Domain {#1679 …} +slug: "I-made-a-thing-to-make-playing-YouTube-videos-locally" +title: "I made a thing to make playing YouTube videos locally from your browser easier" +url: "https://gitlab.com/danielquinn/video-bypass" +body: """ The other day someone was complaining about the new ad blocker-blocker on YouTube and I mentioned that it might be fun to write a Firefox extension that would just load up `yt-dlp` and play the video through `mpv`.\n \n It turns out, writing a Firefox extension is *easy* and tricking Firefox into launching `yt-dlp` isn’t much harder (though it does require some annoying configuration on the user’s end).\n \n Anyway, if you’re a Linux user, feel free to try it out. I don’t know how much I’m going to pour into this, but as an exercise of “can this be done”, it was pretty good for a few hours on a Friday night. """ +type: "link" +lang: "en" +isOc: false +hasEmbed: false +commentCount: 19 +favouriteCount: 200 +score: 0 +isAdult: false +sticky: false +lastActive: DateTime @1707557582 {#1421 : 2024-02-10 10:33:02.0 +01:00 } +ip: null +adaAmount: 0 +tags: null +mentions: null +comments: Doctrine\ORM\PersistentCollection {#1650 …} +votes: Doctrine\ORM\PersistentCollection {#1652 …} +reports: Doctrine\ORM\PersistentCollection {#1651 …} +favourites: Doctrine\ORM\PersistentCollection {#1527 …} +notifications: Doctrine\ORM\PersistentCollection {#1560 …} +badges: Doctrine\ORM\PersistentCollection {#1558 …} +children: [ 3 => App\Entity\EntryComment {#1611 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "Is there another way to do this? This hack was the only way I could figure out how to get Firefox to invoke an external binary, but if there’s a more conventional way to do it, I’d like to know 'cause I have another more complicated project in need of a pattern much like this one." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697268007 {#1596 : 2023-10-14 09:20:07.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2464 …} +nested: Doctrine\ORM\PersistentCollection {#1740 …} +votes: Doctrine\ORM\PersistentCollection {#1739 …} +reports: Doctrine\ORM\PersistentCollection {#1716 …} +favourites: Doctrine\ORM\PersistentCollection {#2461 …} +notifications: Doctrine\ORM\PersistentCollection {#2447 …} -id: 48003 -bodyTs: "'anoth':3,46 'binari':26 'caus':43 'complic':48 'convent':33 'could':15 'd':39 'extern':25 'figur':16 'firefox':21 'get':20 'hack':9 'invok':23 'know':42 'like':40,56 'much':55 'need':51 'one':58 'pattern':54 'project':49 'way':4,13,34" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993154" +editedAt: null +createdAt: DateTimeImmutable @1697268007 {#1555 : 2023-10-14 09:20:07.0 +02:00 } +"title": 48003 } 2 => App\Entity\EntryComment {#2467} 1 => App\Entity\EntryComment {#2382 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +body: """ Honestly, because I didn’t know (a) that ff2mpv even existed, or that (b) mpv could play YouTube URLs directly. So thanks! I learnt two things today :-)\n \n It was still a fun project though 'cause I learnt how to write a Firefox extension *and* get the browser to launch programs on-click, so not a waste of time! """ +lang: "en" +isAdult: false +favouriteCount: 13 +score: 0 +lastActive: DateTime @1697288649 {#2380 : 2023-10-14 15:04:09.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@khorovodoved@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2384 …} +nested: Doctrine\ORM\PersistentCollection {#2379 …} +votes: Doctrine\ORM\PersistentCollection {#2383 …} +reports: Doctrine\ORM\PersistentCollection {#1906 …} +favourites: Doctrine\ORM\PersistentCollection {#1708 …} +notifications: Doctrine\ORM\PersistentCollection {#1410 …} -id: 48431 -bodyTs: "'b':14 'browser':47 'caus':35 'click':53 'could':16 'didn':4 'direct':20 'even':10 'exist':11 'extens':43 'ff2mpv':9 'firefox':42 'fun':32 'get':45 'honest':1 'know':6 'launch':49 'learnt':24,37 'mpv':15 'on-click':51 'play':17 'program':50 'project':33 'still':30 'thank':22 'thing':26 'though':34 'time':59 'today':27 'two':25 'url':19 'wast':57 'write':40 'youtub':18" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3997262" +editedAt: null +createdAt: DateTimeImmutable @1697288649 {#2386 : 2023-10-14 15:04:09.0 +02:00 } +"title": 48431 } 0 => App\Entity\EntryComment {#1407 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#1883 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "That’s actually very helpful, thanks. I’ve been working on another project to open certain URLs in specific browsers/profiles, and wanted to be sure that I wasn’t missing a more obvious design pattern. The project is [here](https://gitlab.com/danielquinn/opening) if you’re curious." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697303255 {#1907 : 2023-10-14 19:07:35.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2391 …} +nested: Doctrine\ORM\PersistentCollection {#2369 …} +votes: Doctrine\ORM\PersistentCollection {#2392 …} +reports: Doctrine\ORM\PersistentCollection {#2395 …} +favourites: Doctrine\ORM\PersistentCollection {#1384 …} +notifications: Doctrine\ORM\PersistentCollection {#1383 …} -id: 48905 -bodyTs: "'/danielquinn/opening)':42 'actual':3 'anoth':12 'browsers/profiles':20 'certain':16 'curious':46 'design':34 'gitlab.com':41 'gitlab.com/danielquinn/opening)':40 'help':5 'miss':30 'obvious':33 'open':15 'pattern':35 'project':13,37 're':45 'specif':19 'sure':25 'thank':6 'url':17 've':8 'want':22 'wasn':28 'work':10" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/4002090" +editedAt: null +createdAt: DateTimeImmutable @1697303255 {#1908 : 2023-10-14 19:07:35.0 +02:00 } +"title": 48905 } ] -id: 5166 -titleTs: "'browser':13 'easier':14 'local':10 'made':2 'make':6 'play':7 'thing':4 'video':9 'youtub':8" -bodyTs: "'ad':10 'annoy':69 'anyway':76 'blocker':12,13 'blocker-block':11 'complain':6 'configur':70 'day':3 'dlp':36,59 'done':110 'easi':51 'end':75 'exercis':105 'extens':28,49 'feel':83 'firefox':27,48,54 'free':84 'friday':121 'fun':23 'go':97 'good':114 'harder':63 'hour':118 'isn':60 'know':92 'launch':56 'linux':81 'load':32 'm':96 'mention':18 'might':21 'mpv':42 'much':62,94 'new':9 'night':122 'play':38 'pour':99 'pretti':113 're':79 'requir':67 'someon':4 'though':64 'tri':86 'trick':53 'turn':44 'user':73,82 'video':40 'would':30 'write':25,46 'youtub':15 'yt':35,58 'yt-dlp':34,57" +cross: false +upVotes: 0 +downVotes: 0 +ranking: 1697325241 +visibility: "visible " +apId: "https://lemmy.ca/post/7150213" +editedAt: null +createdAt: DateTimeImmutable @1697238841 {#1424 : 2023-10-14 01:14:01.0 +02:00 } } +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +body: """ I don’t think I have it in me to put together a video, but I can describe it if you like.\n \n Once you install the extension and follow the setup instructions, you just go to a YouTube page. The extension adds an ugly button to the top-left of the page that says “bypass”. When you click it, Firefox launches `yt-dlp [the URL you’re at] -o - | mpv -` which basically just downloads the video and streams the output through the `mpv` video player. So now you’re watching just the video, with no web page necessary. """ +lang: "en" +isAdult: false +favouriteCount: 3 +score: 0 +lastActive: DateTime @1697268377 {#1731 : 2023-10-14 09:26:17.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@zaknenou@lemmy.dbzer0.com" ] +children: Doctrine\ORM\PersistentCollection {#2455 …} +nested: Doctrine\ORM\PersistentCollection {#2471 …} +votes: Doctrine\ORM\PersistentCollection {#2363 …} +reports: Doctrine\ORM\PersistentCollection {#2377 …} +favourites: Doctrine\ORM\PersistentCollection {#2359 …} +notifications: Doctrine\ORM\PersistentCollection {#2364 …} -id: 48009 -bodyTs: "'add':42 'basic':74 'button':45 'bypass':56 'click':59 'describ':18 'dlp':65 'download':76 'extens':27,41 'firefox':61 'follow':29 'go':35 'instal':25 'instruct':32 'launch':62 'left':50 'like':22 'mpv':72,85 'necessari':100 'o':71 'output':82 'page':39,53,99 'player':87 'put':11 're':69,91 'say':55 'setup':31 'stream':80 'think':4 'togeth':12 'top':49 'top-left':48 'ugli':44 'url':67 'video':14,78,86,95 'watch':92 'web':98 'youtub':38 'yt':64 'yt-dlp':63" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993221" +editedAt: null +createdAt: DateTimeImmutable @1697268377 {#2469 : 2023-10-14 09:26:17.0 +02:00 } +"title": 48009 } +showMagazineName: false +showEntryTitle: false +showNested: false +level: 1 +canSeeTrash: false +dateAsUrl: true -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …} -authorizationChecker: Symfony\Component\Security\Core\Authorization\AuthorizationChecker {#931 …} } |
user_inline | App\Twig\Components\UserInlineComponent | 14.0 MiB | 0.17 ms | |
---|---|---|---|---|
Input props | [ "user" => App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } "showAvatar" => false ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\UserInlineComponent {#4447 +user: App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } +showAvatar: false } |
date | App\Twig\Components\DateComponent | 14.0 MiB | 0.14 ms | |
---|---|---|---|---|
Input props | [ "date" => DateTimeImmutable @1697268377 {#2469 : 2023-10-14 09:26:17.0 +02:00 } ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\DateComponent {#4503 +date: DateTimeImmutable @1697268377 {#2469 : 2023-10-14 09:26:17.0 +02:00 } } |
date_edited | App\Twig\Components\DateEditedComponent | 14.0 MiB | 0.15 ms | |
---|---|---|---|---|
Input props | [ "createdAt" => DateTimeImmutable @1697268377 {#2469 : 2023-10-14 09:26:17.0 +02:00 } "editedAt" => null ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\DateEditedComponent {#4557 +createdAt: DateTimeImmutable @1697268377 {#2469 : 2023-10-14 09:26:17.0 +02:00 } +editedAt: null } |
user_avatar | App\Twig\Components\UserAvatarComponent | 14.0 MiB | 0.20 ms | |
---|---|---|---|---|
Input props | [ "user" => App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } "width" => 40 "height" => 40 "asLink" => true ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\UserAvatarComponent {#4611 +width: 40 +height: 40 +user: App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } +asLink: true } |
vote | App\Twig\Components\VoteComponent | 14.0 MiB | 0.41 ms | |
---|---|---|---|---|
Input props | [ "subject" => App\Entity\EntryComment {#2467 +user: App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } +entry: App\Entity\Entry {#1609 +user: App\Entity\User {#260} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 +icon: Proxies\__CG__\App\Entity\Image {#3026 …} +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://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 [](https://ko-fi.com/dbzer0)[](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 {#3023 : 2024-10-22 09:16:09.0 +02:00 } +markedForDeletionAt: null +tags: null +moderators: Doctrine\ORM\PersistentCollection {#3027 …} +ownershipRequests: Doctrine\ORM\PersistentCollection {#3029 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#3031 …} +entries: Doctrine\ORM\PersistentCollection {#3033 …} +posts: Doctrine\ORM\PersistentCollection {#3035 …} +subscriptions: Doctrine\ORM\PersistentCollection {#3037 …} +bans: Doctrine\ORM\PersistentCollection {#3043 …} +reports: Doctrine\ORM\PersistentCollection {#3051 …} +badges: Doctrine\ORM\PersistentCollection {#3064 …} +logs: Doctrine\ORM\PersistentCollection {#3074 …} +awards: Doctrine\ORM\PersistentCollection {#3056 …} +categories: Doctrine\ORM\PersistentCollection {#3080 …} -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 {#3024 : 2024-02-24 05:17:09.0 +01:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197339 {#3025 : 2023-10-13 13:42:19.0 +02:00 } +__isInitialized__: true …2 } +image: Proxies\__CG__\App\Entity\Image {#1579 …} +domain: Proxies\__CG__\App\Entity\Domain {#1679 …} +slug: "I-made-a-thing-to-make-playing-YouTube-videos-locally" +title: "I made a thing to make playing YouTube videos locally from your browser easier" +url: "https://gitlab.com/danielquinn/video-bypass" +body: """ The other day someone was complaining about the new ad blocker-blocker on YouTube and I mentioned that it might be fun to write a Firefox extension that would just load up `yt-dlp` and play the video through `mpv`.\n \n It turns out, writing a Firefox extension is *easy* and tricking Firefox into launching `yt-dlp` isn’t much harder (though it does require some annoying configuration on the user’s end).\n \n Anyway, if you’re a Linux user, feel free to try it out. I don’t know how much I’m going to pour into this, but as an exercise of “can this be done”, it was pretty good for a few hours on a Friday night. """ +type: "link" +lang: "en" +isOc: false +hasEmbed: false +commentCount: 19 +favouriteCount: 200 +score: 0 +isAdult: false +sticky: false +lastActive: DateTime @1707557582 {#1421 : 2024-02-10 10:33:02.0 +01:00 } +ip: null +adaAmount: 0 +tags: null +mentions: null +comments: Doctrine\ORM\PersistentCollection {#1650 …} +votes: Doctrine\ORM\PersistentCollection {#1652 …} +reports: Doctrine\ORM\PersistentCollection {#1651 …} +favourites: Doctrine\ORM\PersistentCollection {#1527 …} +notifications: Doctrine\ORM\PersistentCollection {#1560 …} +badges: Doctrine\ORM\PersistentCollection {#1558 …} +children: [ 3 => App\Entity\EntryComment {#1611 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "Is there another way to do this? This hack was the only way I could figure out how to get Firefox to invoke an external binary, but if there’s a more conventional way to do it, I’d like to know 'cause I have another more complicated project in need of a pattern much like this one." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697268007 {#1596 : 2023-10-14 09:20:07.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2464 …} +nested: Doctrine\ORM\PersistentCollection {#1740 …} +votes: Doctrine\ORM\PersistentCollection {#1739 …} +reports: Doctrine\ORM\PersistentCollection {#1716 …} +favourites: Doctrine\ORM\PersistentCollection {#2461 …} +notifications: Doctrine\ORM\PersistentCollection {#2447 …} -id: 48003 -bodyTs: "'anoth':3,46 'binari':26 'caus':43 'complic':48 'convent':33 'could':15 'd':39 'extern':25 'figur':16 'firefox':21 'get':20 'hack':9 'invok':23 'know':42 'like':40,56 'much':55 'need':51 'one':58 'pattern':54 'project':49 'way':4,13,34" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993154" +editedAt: null +createdAt: DateTimeImmutable @1697268007 {#1555 : 2023-10-14 09:20:07.0 +02:00 } +"title": 48003 } 2 => App\Entity\EntryComment {#2467} 1 => App\Entity\EntryComment {#2382 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +body: """ Honestly, because I didn’t know (a) that ff2mpv even existed, or that (b) mpv could play YouTube URLs directly. So thanks! I learnt two things today :-)\n \n It was still a fun project though 'cause I learnt how to write a Firefox extension *and* get the browser to launch programs on-click, so not a waste of time! """ +lang: "en" +isAdult: false +favouriteCount: 13 +score: 0 +lastActive: DateTime @1697288649 {#2380 : 2023-10-14 15:04:09.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@khorovodoved@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2384 …} +nested: Doctrine\ORM\PersistentCollection {#2379 …} +votes: Doctrine\ORM\PersistentCollection {#2383 …} +reports: Doctrine\ORM\PersistentCollection {#1906 …} +favourites: Doctrine\ORM\PersistentCollection {#1708 …} +notifications: Doctrine\ORM\PersistentCollection {#1410 …} -id: 48431 -bodyTs: "'b':14 'browser':47 'caus':35 'click':53 'could':16 'didn':4 'direct':20 'even':10 'exist':11 'extens':43 'ff2mpv':9 'firefox':42 'fun':32 'get':45 'honest':1 'know':6 'launch':49 'learnt':24,37 'mpv':15 'on-click':51 'play':17 'program':50 'project':33 'still':30 'thank':22 'thing':26 'though':34 'time':59 'today':27 'two':25 'url':19 'wast':57 'write':40 'youtub':18" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3997262" +editedAt: null +createdAt: DateTimeImmutable @1697288649 {#2386 : 2023-10-14 15:04:09.0 +02:00 } +"title": 48431 } 0 => App\Entity\EntryComment {#1407 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#1883 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "That’s actually very helpful, thanks. I’ve been working on another project to open certain URLs in specific browsers/profiles, and wanted to be sure that I wasn’t missing a more obvious design pattern. The project is [here](https://gitlab.com/danielquinn/opening) if you’re curious." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697303255 {#1907 : 2023-10-14 19:07:35.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2391 …} +nested: Doctrine\ORM\PersistentCollection {#2369 …} +votes: Doctrine\ORM\PersistentCollection {#2392 …} +reports: Doctrine\ORM\PersistentCollection {#2395 …} +favourites: Doctrine\ORM\PersistentCollection {#1384 …} +notifications: Doctrine\ORM\PersistentCollection {#1383 …} -id: 48905 -bodyTs: "'/danielquinn/opening)':42 'actual':3 'anoth':12 'browsers/profiles':20 'certain':16 'curious':46 'design':34 'gitlab.com':41 'gitlab.com/danielquinn/opening)':40 'help':5 'miss':30 'obvious':33 'open':15 'pattern':35 'project':13,37 're':45 'specif':19 'sure':25 'thank':6 'url':17 've':8 'want':22 'wasn':28 'work':10" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/4002090" +editedAt: null +createdAt: DateTimeImmutable @1697303255 {#1908 : 2023-10-14 19:07:35.0 +02:00 } +"title": 48905 } ] -id: 5166 -titleTs: "'browser':13 'easier':14 'local':10 'made':2 'make':6 'play':7 'thing':4 'video':9 'youtub':8" -bodyTs: "'ad':10 'annoy':69 'anyway':76 'blocker':12,13 'blocker-block':11 'complain':6 'configur':70 'day':3 'dlp':36,59 'done':110 'easi':51 'end':75 'exercis':105 'extens':28,49 'feel':83 'firefox':27,48,54 'free':84 'friday':121 'fun':23 'go':97 'good':114 'harder':63 'hour':118 'isn':60 'know':92 'launch':56 'linux':81 'load':32 'm':96 'mention':18 'might':21 'mpv':42 'much':62,94 'new':9 'night':122 'play':38 'pour':99 'pretti':113 're':79 'requir':67 'someon':4 'though':64 'tri':86 'trick':53 'turn':44 'user':73,82 'video':40 'would':30 'write':25,46 'youtub':15 'yt':35,58 'yt-dlp':34,57" +cross: false +upVotes: 0 +downVotes: 0 +ranking: 1697325241 +visibility: "visible " +apId: "https://lemmy.ca/post/7150213" +editedAt: null +createdAt: DateTimeImmutable @1697238841 {#1424 : 2023-10-14 01:14:01.0 +02:00 } } +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +body: """ I don’t think I have it in me to put together a video, but I can describe it if you like.\n \n Once you install the extension and follow the setup instructions, you just go to a YouTube page. The extension adds an ugly button to the top-left of the page that says “bypass”. When you click it, Firefox launches `yt-dlp [the URL you’re at] -o - | mpv -` which basically just downloads the video and streams the output through the `mpv` video player. So now you’re watching just the video, with no web page necessary. """ +lang: "en" +isAdult: false +favouriteCount: 3 +score: 0 +lastActive: DateTime @1697268377 {#1731 : 2023-10-14 09:26:17.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@zaknenou@lemmy.dbzer0.com" ] +children: Doctrine\ORM\PersistentCollection {#2455 …} +nested: Doctrine\ORM\PersistentCollection {#2471 …} +votes: Doctrine\ORM\PersistentCollection {#2363 …} +reports: Doctrine\ORM\PersistentCollection {#2377 …} +favourites: Doctrine\ORM\PersistentCollection {#2359 …} +notifications: Doctrine\ORM\PersistentCollection {#2364 …} -id: 48009 -bodyTs: "'add':42 'basic':74 'button':45 'bypass':56 'click':59 'describ':18 'dlp':65 'download':76 'extens':27,41 'firefox':61 'follow':29 'go':35 'instal':25 'instruct':32 'launch':62 'left':50 'like':22 'mpv':72,85 'necessari':100 'o':71 'output':82 'page':39,53,99 'player':87 'put':11 're':69,91 'say':55 'setup':31 'stream':80 'think':4 'togeth':12 'top':49 'top-left':48 'ugli':44 'url':67 'video':14,78,86,95 'watch':92 'web':98 'youtub':38 'yt':64 'yt-dlp':63" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993221" +editedAt: null +createdAt: DateTimeImmutable @1697268377 {#2469 : 2023-10-14 09:26:17.0 +02:00 } +"title": 48009 } ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\VoteComponent {#4693 +subject: App\Entity\EntryComment {#2467 +user: App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } +entry: App\Entity\Entry {#1609 +user: App\Entity\User {#260} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 +icon: Proxies\__CG__\App\Entity\Image {#3026 …} +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://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 [](https://ko-fi.com/dbzer0)[](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 {#3023 : 2024-10-22 09:16:09.0 +02:00 } +markedForDeletionAt: null +tags: null +moderators: Doctrine\ORM\PersistentCollection {#3027 …} +ownershipRequests: Doctrine\ORM\PersistentCollection {#3029 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#3031 …} +entries: Doctrine\ORM\PersistentCollection {#3033 …} +posts: Doctrine\ORM\PersistentCollection {#3035 …} +subscriptions: Doctrine\ORM\PersistentCollection {#3037 …} +bans: Doctrine\ORM\PersistentCollection {#3043 …} +reports: Doctrine\ORM\PersistentCollection {#3051 …} +badges: Doctrine\ORM\PersistentCollection {#3064 …} +logs: Doctrine\ORM\PersistentCollection {#3074 …} +awards: Doctrine\ORM\PersistentCollection {#3056 …} +categories: Doctrine\ORM\PersistentCollection {#3080 …} -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 {#3024 : 2024-02-24 05:17:09.0 +01:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197339 {#3025 : 2023-10-13 13:42:19.0 +02:00 } +__isInitialized__: true …2 } +image: Proxies\__CG__\App\Entity\Image {#1579 …} +domain: Proxies\__CG__\App\Entity\Domain {#1679 …} +slug: "I-made-a-thing-to-make-playing-YouTube-videos-locally" +title: "I made a thing to make playing YouTube videos locally from your browser easier" +url: "https://gitlab.com/danielquinn/video-bypass" +body: """ The other day someone was complaining about the new ad blocker-blocker on YouTube and I mentioned that it might be fun to write a Firefox extension that would just load up `yt-dlp` and play the video through `mpv`.\n \n It turns out, writing a Firefox extension is *easy* and tricking Firefox into launching `yt-dlp` isn’t much harder (though it does require some annoying configuration on the user’s end).\n \n Anyway, if you’re a Linux user, feel free to try it out. I don’t know how much I’m going to pour into this, but as an exercise of “can this be done”, it was pretty good for a few hours on a Friday night. """ +type: "link" +lang: "en" +isOc: false +hasEmbed: false +commentCount: 19 +favouriteCount: 200 +score: 0 +isAdult: false +sticky: false +lastActive: DateTime @1707557582 {#1421 : 2024-02-10 10:33:02.0 +01:00 } +ip: null +adaAmount: 0 +tags: null +mentions: null +comments: Doctrine\ORM\PersistentCollection {#1650 …} +votes: Doctrine\ORM\PersistentCollection {#1652 …} +reports: Doctrine\ORM\PersistentCollection {#1651 …} +favourites: Doctrine\ORM\PersistentCollection {#1527 …} +notifications: Doctrine\ORM\PersistentCollection {#1560 …} +badges: Doctrine\ORM\PersistentCollection {#1558 …} +children: [ 3 => App\Entity\EntryComment {#1611 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "Is there another way to do this? This hack was the only way I could figure out how to get Firefox to invoke an external binary, but if there’s a more conventional way to do it, I’d like to know 'cause I have another more complicated project in need of a pattern much like this one." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697268007 {#1596 : 2023-10-14 09:20:07.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2464 …} +nested: Doctrine\ORM\PersistentCollection {#1740 …} +votes: Doctrine\ORM\PersistentCollection {#1739 …} +reports: Doctrine\ORM\PersistentCollection {#1716 …} +favourites: Doctrine\ORM\PersistentCollection {#2461 …} +notifications: Doctrine\ORM\PersistentCollection {#2447 …} -id: 48003 -bodyTs: "'anoth':3,46 'binari':26 'caus':43 'complic':48 'convent':33 'could':15 'd':39 'extern':25 'figur':16 'firefox':21 'get':20 'hack':9 'invok':23 'know':42 'like':40,56 'much':55 'need':51 'one':58 'pattern':54 'project':49 'way':4,13,34" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993154" +editedAt: null +createdAt: DateTimeImmutable @1697268007 {#1555 : 2023-10-14 09:20:07.0 +02:00 } +"title": 48003 } 2 => App\Entity\EntryComment {#2467} 1 => App\Entity\EntryComment {#2382 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +body: """ Honestly, because I didn’t know (a) that ff2mpv even existed, or that (b) mpv could play YouTube URLs directly. So thanks! I learnt two things today :-)\n \n It was still a fun project though 'cause I learnt how to write a Firefox extension *and* get the browser to launch programs on-click, so not a waste of time! """ +lang: "en" +isAdult: false +favouriteCount: 13 +score: 0 +lastActive: DateTime @1697288649 {#2380 : 2023-10-14 15:04:09.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@khorovodoved@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2384 …} +nested: Doctrine\ORM\PersistentCollection {#2379 …} +votes: Doctrine\ORM\PersistentCollection {#2383 …} +reports: Doctrine\ORM\PersistentCollection {#1906 …} +favourites: Doctrine\ORM\PersistentCollection {#1708 …} +notifications: Doctrine\ORM\PersistentCollection {#1410 …} -id: 48431 -bodyTs: "'b':14 'browser':47 'caus':35 'click':53 'could':16 'didn':4 'direct':20 'even':10 'exist':11 'extens':43 'ff2mpv':9 'firefox':42 'fun':32 'get':45 'honest':1 'know':6 'launch':49 'learnt':24,37 'mpv':15 'on-click':51 'play':17 'program':50 'project':33 'still':30 'thank':22 'thing':26 'though':34 'time':59 'today':27 'two':25 'url':19 'wast':57 'write':40 'youtub':18" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3997262" +editedAt: null +createdAt: DateTimeImmutable @1697288649 {#2386 : 2023-10-14 15:04:09.0 +02:00 } +"title": 48431 } 0 => App\Entity\EntryComment {#1407 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#1883 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "That’s actually very helpful, thanks. I’ve been working on another project to open certain URLs in specific browsers/profiles, and wanted to be sure that I wasn’t missing a more obvious design pattern. The project is [here](https://gitlab.com/danielquinn/opening) if you’re curious." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697303255 {#1907 : 2023-10-14 19:07:35.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2391 …} +nested: Doctrine\ORM\PersistentCollection {#2369 …} +votes: Doctrine\ORM\PersistentCollection {#2392 …} +reports: Doctrine\ORM\PersistentCollection {#2395 …} +favourites: Doctrine\ORM\PersistentCollection {#1384 …} +notifications: Doctrine\ORM\PersistentCollection {#1383 …} -id: 48905 -bodyTs: "'/danielquinn/opening)':42 'actual':3 'anoth':12 'browsers/profiles':20 'certain':16 'curious':46 'design':34 'gitlab.com':41 'gitlab.com/danielquinn/opening)':40 'help':5 'miss':30 'obvious':33 'open':15 'pattern':35 'project':13,37 're':45 'specif':19 'sure':25 'thank':6 'url':17 've':8 'want':22 'wasn':28 'work':10" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/4002090" +editedAt: null +createdAt: DateTimeImmutable @1697303255 {#1908 : 2023-10-14 19:07:35.0 +02:00 } +"title": 48905 } ] -id: 5166 -titleTs: "'browser':13 'easier':14 'local':10 'made':2 'make':6 'play':7 'thing':4 'video':9 'youtub':8" -bodyTs: "'ad':10 'annoy':69 'anyway':76 'blocker':12,13 'blocker-block':11 'complain':6 'configur':70 'day':3 'dlp':36,59 'done':110 'easi':51 'end':75 'exercis':105 'extens':28,49 'feel':83 'firefox':27,48,54 'free':84 'friday':121 'fun':23 'go':97 'good':114 'harder':63 'hour':118 'isn':60 'know':92 'launch':56 'linux':81 'load':32 'm':96 'mention':18 'might':21 'mpv':42 'much':62,94 'new':9 'night':122 'play':38 'pour':99 'pretti':113 're':79 'requir':67 'someon':4 'though':64 'tri':86 'trick':53 'turn':44 'user':73,82 'video':40 'would':30 'write':25,46 'youtub':15 'yt':35,58 'yt-dlp':34,57" +cross: false +upVotes: 0 +downVotes: 0 +ranking: 1697325241 +visibility: "visible " +apId: "https://lemmy.ca/post/7150213" +editedAt: null +createdAt: DateTimeImmutable @1697238841 {#1424 : 2023-10-14 01:14:01.0 +02:00 } } +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +body: """ I don’t think I have it in me to put together a video, but I can describe it if you like.\n \n Once you install the extension and follow the setup instructions, you just go to a YouTube page. The extension adds an ugly button to the top-left of the page that says “bypass”. When you click it, Firefox launches `yt-dlp [the URL you’re at] -o - | mpv -` which basically just downloads the video and streams the output through the `mpv` video player. So now you’re watching just the video, with no web page necessary. """ +lang: "en" +isAdult: false +favouriteCount: 3 +score: 0 +lastActive: DateTime @1697268377 {#1731 : 2023-10-14 09:26:17.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@zaknenou@lemmy.dbzer0.com" ] +children: Doctrine\ORM\PersistentCollection {#2455 …} +nested: Doctrine\ORM\PersistentCollection {#2471 …} +votes: Doctrine\ORM\PersistentCollection {#2363 …} +reports: Doctrine\ORM\PersistentCollection {#2377 …} +favourites: Doctrine\ORM\PersistentCollection {#2359 …} +notifications: Doctrine\ORM\PersistentCollection {#2364 …} -id: 48009 -bodyTs: "'add':42 'basic':74 'button':45 'bypass':56 'click':59 'describ':18 'dlp':65 'download':76 'extens':27,41 'firefox':61 'follow':29 'go':35 'instal':25 'instruct':32 'launch':62 'left':50 'like':22 'mpv':72,85 'necessari':100 'o':71 'output':82 'page':39,53,99 'player':87 'put':11 're':69,91 'say':55 'setup':31 'stream':80 'think':4 'togeth':12 'top':49 'top-left':48 'ugli':44 'url':67 'video':14,78,86,95 'watch':92 'web':98 'youtub':38 'yt':64 'yt-dlp':63" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993221" +editedAt: null +createdAt: DateTimeImmutable @1697268377 {#2469 : 2023-10-14 09:26:17.0 +02:00 } +"title": 48009 } +formDest: "entry_comment" +showDownvote: true -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …} } |
boost | App\Twig\Components\BoostComponent | 14.0 MiB | 0.92 ms | |
---|---|---|---|---|
Input props | [ "subject" => App\Entity\EntryComment {#2467 +user: App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } +entry: App\Entity\Entry {#1609 +user: App\Entity\User {#260} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 +icon: Proxies\__CG__\App\Entity\Image {#3026 …} +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://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 [](https://ko-fi.com/dbzer0)[](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 {#3023 : 2024-10-22 09:16:09.0 +02:00 } +markedForDeletionAt: null +tags: null +moderators: Doctrine\ORM\PersistentCollection {#3027 …} +ownershipRequests: Doctrine\ORM\PersistentCollection {#3029 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#3031 …} +entries: Doctrine\ORM\PersistentCollection {#3033 …} +posts: Doctrine\ORM\PersistentCollection {#3035 …} +subscriptions: Doctrine\ORM\PersistentCollection {#3037 …} +bans: Doctrine\ORM\PersistentCollection {#3043 …} +reports: Doctrine\ORM\PersistentCollection {#3051 …} +badges: Doctrine\ORM\PersistentCollection {#3064 …} +logs: Doctrine\ORM\PersistentCollection {#3074 …} +awards: Doctrine\ORM\PersistentCollection {#3056 …} +categories: Doctrine\ORM\PersistentCollection {#3080 …} -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 {#3024 : 2024-02-24 05:17:09.0 +01:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197339 {#3025 : 2023-10-13 13:42:19.0 +02:00 } +__isInitialized__: true …2 } +image: Proxies\__CG__\App\Entity\Image {#1579 …} +domain: Proxies\__CG__\App\Entity\Domain {#1679 …} +slug: "I-made-a-thing-to-make-playing-YouTube-videos-locally" +title: "I made a thing to make playing YouTube videos locally from your browser easier" +url: "https://gitlab.com/danielquinn/video-bypass" +body: """ The other day someone was complaining about the new ad blocker-blocker on YouTube and I mentioned that it might be fun to write a Firefox extension that would just load up `yt-dlp` and play the video through `mpv`.\n \n It turns out, writing a Firefox extension is *easy* and tricking Firefox into launching `yt-dlp` isn’t much harder (though it does require some annoying configuration on the user’s end).\n \n Anyway, if you’re a Linux user, feel free to try it out. I don’t know how much I’m going to pour into this, but as an exercise of “can this be done”, it was pretty good for a few hours on a Friday night. """ +type: "link" +lang: "en" +isOc: false +hasEmbed: false +commentCount: 19 +favouriteCount: 200 +score: 0 +isAdult: false +sticky: false +lastActive: DateTime @1707557582 {#1421 : 2024-02-10 10:33:02.0 +01:00 } +ip: null +adaAmount: 0 +tags: null +mentions: null +comments: Doctrine\ORM\PersistentCollection {#1650 …} +votes: Doctrine\ORM\PersistentCollection {#1652 …} +reports: Doctrine\ORM\PersistentCollection {#1651 …} +favourites: Doctrine\ORM\PersistentCollection {#1527 …} +notifications: Doctrine\ORM\PersistentCollection {#1560 …} +badges: Doctrine\ORM\PersistentCollection {#1558 …} +children: [ 3 => App\Entity\EntryComment {#1611 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "Is there another way to do this? This hack was the only way I could figure out how to get Firefox to invoke an external binary, but if there’s a more conventional way to do it, I’d like to know 'cause I have another more complicated project in need of a pattern much like this one." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697268007 {#1596 : 2023-10-14 09:20:07.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2464 …} +nested: Doctrine\ORM\PersistentCollection {#1740 …} +votes: Doctrine\ORM\PersistentCollection {#1739 …} +reports: Doctrine\ORM\PersistentCollection {#1716 …} +favourites: Doctrine\ORM\PersistentCollection {#2461 …} +notifications: Doctrine\ORM\PersistentCollection {#2447 …} -id: 48003 -bodyTs: "'anoth':3,46 'binari':26 'caus':43 'complic':48 'convent':33 'could':15 'd':39 'extern':25 'figur':16 'firefox':21 'get':20 'hack':9 'invok':23 'know':42 'like':40,56 'much':55 'need':51 'one':58 'pattern':54 'project':49 'way':4,13,34" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993154" +editedAt: null +createdAt: DateTimeImmutable @1697268007 {#1555 : 2023-10-14 09:20:07.0 +02:00 } +"title": 48003 } 2 => App\Entity\EntryComment {#2467} 1 => App\Entity\EntryComment {#2382 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +body: """ Honestly, because I didn’t know (a) that ff2mpv even existed, or that (b) mpv could play YouTube URLs directly. So thanks! I learnt two things today :-)\n \n It was still a fun project though 'cause I learnt how to write a Firefox extension *and* get the browser to launch programs on-click, so not a waste of time! """ +lang: "en" +isAdult: false +favouriteCount: 13 +score: 0 +lastActive: DateTime @1697288649 {#2380 : 2023-10-14 15:04:09.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@khorovodoved@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2384 …} +nested: Doctrine\ORM\PersistentCollection {#2379 …} +votes: Doctrine\ORM\PersistentCollection {#2383 …} +reports: Doctrine\ORM\PersistentCollection {#1906 …} +favourites: Doctrine\ORM\PersistentCollection {#1708 …} +notifications: Doctrine\ORM\PersistentCollection {#1410 …} -id: 48431 -bodyTs: "'b':14 'browser':47 'caus':35 'click':53 'could':16 'didn':4 'direct':20 'even':10 'exist':11 'extens':43 'ff2mpv':9 'firefox':42 'fun':32 'get':45 'honest':1 'know':6 'launch':49 'learnt':24,37 'mpv':15 'on-click':51 'play':17 'program':50 'project':33 'still':30 'thank':22 'thing':26 'though':34 'time':59 'today':27 'two':25 'url':19 'wast':57 'write':40 'youtub':18" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3997262" +editedAt: null +createdAt: DateTimeImmutable @1697288649 {#2386 : 2023-10-14 15:04:09.0 +02:00 } +"title": 48431 } 0 => App\Entity\EntryComment {#1407 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#1883 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "That’s actually very helpful, thanks. I’ve been working on another project to open certain URLs in specific browsers/profiles, and wanted to be sure that I wasn’t missing a more obvious design pattern. The project is [here](https://gitlab.com/danielquinn/opening) if you’re curious." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697303255 {#1907 : 2023-10-14 19:07:35.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2391 …} +nested: Doctrine\ORM\PersistentCollection {#2369 …} +votes: Doctrine\ORM\PersistentCollection {#2392 …} +reports: Doctrine\ORM\PersistentCollection {#2395 …} +favourites: Doctrine\ORM\PersistentCollection {#1384 …} +notifications: Doctrine\ORM\PersistentCollection {#1383 …} -id: 48905 -bodyTs: "'/danielquinn/opening)':42 'actual':3 'anoth':12 'browsers/profiles':20 'certain':16 'curious':46 'design':34 'gitlab.com':41 'gitlab.com/danielquinn/opening)':40 'help':5 'miss':30 'obvious':33 'open':15 'pattern':35 'project':13,37 're':45 'specif':19 'sure':25 'thank':6 'url':17 've':8 'want':22 'wasn':28 'work':10" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/4002090" +editedAt: null +createdAt: DateTimeImmutable @1697303255 {#1908 : 2023-10-14 19:07:35.0 +02:00 } +"title": 48905 } ] -id: 5166 -titleTs: "'browser':13 'easier':14 'local':10 'made':2 'make':6 'play':7 'thing':4 'video':9 'youtub':8" -bodyTs: "'ad':10 'annoy':69 'anyway':76 'blocker':12,13 'blocker-block':11 'complain':6 'configur':70 'day':3 'dlp':36,59 'done':110 'easi':51 'end':75 'exercis':105 'extens':28,49 'feel':83 'firefox':27,48,54 'free':84 'friday':121 'fun':23 'go':97 'good':114 'harder':63 'hour':118 'isn':60 'know':92 'launch':56 'linux':81 'load':32 'm':96 'mention':18 'might':21 'mpv':42 'much':62,94 'new':9 'night':122 'play':38 'pour':99 'pretti':113 're':79 'requir':67 'someon':4 'though':64 'tri':86 'trick':53 'turn':44 'user':73,82 'video':40 'would':30 'write':25,46 'youtub':15 'yt':35,58 'yt-dlp':34,57" +cross: false +upVotes: 0 +downVotes: 0 +ranking: 1697325241 +visibility: "visible " +apId: "https://lemmy.ca/post/7150213" +editedAt: null +createdAt: DateTimeImmutable @1697238841 {#1424 : 2023-10-14 01:14:01.0 +02:00 } } +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +body: """ I don’t think I have it in me to put together a video, but I can describe it if you like.\n \n Once you install the extension and follow the setup instructions, you just go to a YouTube page. The extension adds an ugly button to the top-left of the page that says “bypass”. When you click it, Firefox launches `yt-dlp [the URL you’re at] -o - | mpv -` which basically just downloads the video and streams the output through the `mpv` video player. So now you’re watching just the video, with no web page necessary. """ +lang: "en" +isAdult: false +favouriteCount: 3 +score: 0 +lastActive: DateTime @1697268377 {#1731 : 2023-10-14 09:26:17.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@zaknenou@lemmy.dbzer0.com" ] +children: Doctrine\ORM\PersistentCollection {#2455 …} +nested: Doctrine\ORM\PersistentCollection {#2471 …} +votes: Doctrine\ORM\PersistentCollection {#2363 …} +reports: Doctrine\ORM\PersistentCollection {#2377 …} +favourites: Doctrine\ORM\PersistentCollection {#2359 …} +notifications: Doctrine\ORM\PersistentCollection {#2364 …} -id: 48009 -bodyTs: "'add':42 'basic':74 'button':45 'bypass':56 'click':59 'describ':18 'dlp':65 'download':76 'extens':27,41 'firefox':61 'follow':29 'go':35 'instal':25 'instruct':32 'launch':62 'left':50 'like':22 'mpv':72,85 'necessari':100 'o':71 'output':82 'page':39,53,99 'player':87 'put':11 're':69,91 'say':55 'setup':31 'stream':80 'think':4 'togeth':12 'top':49 'top-left':48 'ugli':44 'url':67 'video':14,78,86,95 'watch':92 'web':98 'youtub':38 'yt':64 'yt-dlp':63" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993221" +editedAt: null +createdAt: DateTimeImmutable @1697268377 {#2469 : 2023-10-14 09:26:17.0 +02:00 } +"title": 48009 } ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\BoostComponent {#4750 +formDest: "entry_comment" +subject: App\Entity\EntryComment {#2467 +user: App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } +entry: App\Entity\Entry {#1609 +user: App\Entity\User {#260} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 +icon: Proxies\__CG__\App\Entity\Image {#3026 …} +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://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 [](https://ko-fi.com/dbzer0)[](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 {#3023 : 2024-10-22 09:16:09.0 +02:00 } +markedForDeletionAt: null +tags: null +moderators: Doctrine\ORM\PersistentCollection {#3027 …} +ownershipRequests: Doctrine\ORM\PersistentCollection {#3029 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#3031 …} +entries: Doctrine\ORM\PersistentCollection {#3033 …} +posts: Doctrine\ORM\PersistentCollection {#3035 …} +subscriptions: Doctrine\ORM\PersistentCollection {#3037 …} +bans: Doctrine\ORM\PersistentCollection {#3043 …} +reports: Doctrine\ORM\PersistentCollection {#3051 …} +badges: Doctrine\ORM\PersistentCollection {#3064 …} +logs: Doctrine\ORM\PersistentCollection {#3074 …} +awards: Doctrine\ORM\PersistentCollection {#3056 …} +categories: Doctrine\ORM\PersistentCollection {#3080 …} -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 {#3024 : 2024-02-24 05:17:09.0 +01:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197339 {#3025 : 2023-10-13 13:42:19.0 +02:00 } +__isInitialized__: true …2 } +image: Proxies\__CG__\App\Entity\Image {#1579 …} +domain: Proxies\__CG__\App\Entity\Domain {#1679 …} +slug: "I-made-a-thing-to-make-playing-YouTube-videos-locally" +title: "I made a thing to make playing YouTube videos locally from your browser easier" +url: "https://gitlab.com/danielquinn/video-bypass" +body: """ The other day someone was complaining about the new ad blocker-blocker on YouTube and I mentioned that it might be fun to write a Firefox extension that would just load up `yt-dlp` and play the video through `mpv`.\n \n It turns out, writing a Firefox extension is *easy* and tricking Firefox into launching `yt-dlp` isn’t much harder (though it does require some annoying configuration on the user’s end).\n \n Anyway, if you’re a Linux user, feel free to try it out. I don’t know how much I’m going to pour into this, but as an exercise of “can this be done”, it was pretty good for a few hours on a Friday night. """ +type: "link" +lang: "en" +isOc: false +hasEmbed: false +commentCount: 19 +favouriteCount: 200 +score: 0 +isAdult: false +sticky: false +lastActive: DateTime @1707557582 {#1421 : 2024-02-10 10:33:02.0 +01:00 } +ip: null +adaAmount: 0 +tags: null +mentions: null +comments: Doctrine\ORM\PersistentCollection {#1650 …} +votes: Doctrine\ORM\PersistentCollection {#1652 …} +reports: Doctrine\ORM\PersistentCollection {#1651 …} +favourites: Doctrine\ORM\PersistentCollection {#1527 …} +notifications: Doctrine\ORM\PersistentCollection {#1560 …} +badges: Doctrine\ORM\PersistentCollection {#1558 …} +children: [ 3 => App\Entity\EntryComment {#1611 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "Is there another way to do this? This hack was the only way I could figure out how to get Firefox to invoke an external binary, but if there’s a more conventional way to do it, I’d like to know 'cause I have another more complicated project in need of a pattern much like this one." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697268007 {#1596 : 2023-10-14 09:20:07.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2464 …} +nested: Doctrine\ORM\PersistentCollection {#1740 …} +votes: Doctrine\ORM\PersistentCollection {#1739 …} +reports: Doctrine\ORM\PersistentCollection {#1716 …} +favourites: Doctrine\ORM\PersistentCollection {#2461 …} +notifications: Doctrine\ORM\PersistentCollection {#2447 …} -id: 48003 -bodyTs: "'anoth':3,46 'binari':26 'caus':43 'complic':48 'convent':33 'could':15 'd':39 'extern':25 'figur':16 'firefox':21 'get':20 'hack':9 'invok':23 'know':42 'like':40,56 'much':55 'need':51 'one':58 'pattern':54 'project':49 'way':4,13,34" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993154" +editedAt: null +createdAt: DateTimeImmutable @1697268007 {#1555 : 2023-10-14 09:20:07.0 +02:00 } +"title": 48003 } 2 => App\Entity\EntryComment {#2467} 1 => App\Entity\EntryComment {#2382 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +body: """ Honestly, because I didn’t know (a) that ff2mpv even existed, or that (b) mpv could play YouTube URLs directly. So thanks! I learnt two things today :-)\n \n It was still a fun project though 'cause I learnt how to write a Firefox extension *and* get the browser to launch programs on-click, so not a waste of time! """ +lang: "en" +isAdult: false +favouriteCount: 13 +score: 0 +lastActive: DateTime @1697288649 {#2380 : 2023-10-14 15:04:09.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@khorovodoved@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2384 …} +nested: Doctrine\ORM\PersistentCollection {#2379 …} +votes: Doctrine\ORM\PersistentCollection {#2383 …} +reports: Doctrine\ORM\PersistentCollection {#1906 …} +favourites: Doctrine\ORM\PersistentCollection {#1708 …} +notifications: Doctrine\ORM\PersistentCollection {#1410 …} -id: 48431 -bodyTs: "'b':14 'browser':47 'caus':35 'click':53 'could':16 'didn':4 'direct':20 'even':10 'exist':11 'extens':43 'ff2mpv':9 'firefox':42 'fun':32 'get':45 'honest':1 'know':6 'launch':49 'learnt':24,37 'mpv':15 'on-click':51 'play':17 'program':50 'project':33 'still':30 'thank':22 'thing':26 'though':34 'time':59 'today':27 'two':25 'url':19 'wast':57 'write':40 'youtub':18" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3997262" +editedAt: null +createdAt: DateTimeImmutable @1697288649 {#2386 : 2023-10-14 15:04:09.0 +02:00 } +"title": 48431 } 0 => App\Entity\EntryComment {#1407 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#1883 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "That’s actually very helpful, thanks. I’ve been working on another project to open certain URLs in specific browsers/profiles, and wanted to be sure that I wasn’t missing a more obvious design pattern. The project is [here](https://gitlab.com/danielquinn/opening) if you’re curious." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697303255 {#1907 : 2023-10-14 19:07:35.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2391 …} +nested: Doctrine\ORM\PersistentCollection {#2369 …} +votes: Doctrine\ORM\PersistentCollection {#2392 …} +reports: Doctrine\ORM\PersistentCollection {#2395 …} +favourites: Doctrine\ORM\PersistentCollection {#1384 …} +notifications: Doctrine\ORM\PersistentCollection {#1383 …} -id: 48905 -bodyTs: "'/danielquinn/opening)':42 'actual':3 'anoth':12 'browsers/profiles':20 'certain':16 'curious':46 'design':34 'gitlab.com':41 'gitlab.com/danielquinn/opening)':40 'help':5 'miss':30 'obvious':33 'open':15 'pattern':35 'project':13,37 're':45 'specif':19 'sure':25 'thank':6 'url':17 've':8 'want':22 'wasn':28 'work':10" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/4002090" +editedAt: null +createdAt: DateTimeImmutable @1697303255 {#1908 : 2023-10-14 19:07:35.0 +02:00 } +"title": 48905 } ] -id: 5166 -titleTs: "'browser':13 'easier':14 'local':10 'made':2 'make':6 'play':7 'thing':4 'video':9 'youtub':8" -bodyTs: "'ad':10 'annoy':69 'anyway':76 'blocker':12,13 'blocker-block':11 'complain':6 'configur':70 'day':3 'dlp':36,59 'done':110 'easi':51 'end':75 'exercis':105 'extens':28,49 'feel':83 'firefox':27,48,54 'free':84 'friday':121 'fun':23 'go':97 'good':114 'harder':63 'hour':118 'isn':60 'know':92 'launch':56 'linux':81 'load':32 'm':96 'mention':18 'might':21 'mpv':42 'much':62,94 'new':9 'night':122 'play':38 'pour':99 'pretti':113 're':79 'requir':67 'someon':4 'though':64 'tri':86 'trick':53 'turn':44 'user':73,82 'video':40 'would':30 'write':25,46 'youtub':15 'yt':35,58 'yt-dlp':34,57" +cross: false +upVotes: 0 +downVotes: 0 +ranking: 1697325241 +visibility: "visible " +apId: "https://lemmy.ca/post/7150213" +editedAt: null +createdAt: DateTimeImmutable @1697238841 {#1424 : 2023-10-14 01:14:01.0 +02:00 } } +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +body: """ I don’t think I have it in me to put together a video, but I can describe it if you like.\n \n Once you install the extension and follow the setup instructions, you just go to a YouTube page. The extension adds an ugly button to the top-left of the page that says “bypass”. When you click it, Firefox launches `yt-dlp [the URL you’re at] -o - | mpv -` which basically just downloads the video and streams the output through the `mpv` video player. So now you’re watching just the video, with no web page necessary. """ +lang: "en" +isAdult: false +favouriteCount: 3 +score: 0 +lastActive: DateTime @1697268377 {#1731 : 2023-10-14 09:26:17.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@zaknenou@lemmy.dbzer0.com" ] +children: Doctrine\ORM\PersistentCollection {#2455 …} +nested: Doctrine\ORM\PersistentCollection {#2471 …} +votes: Doctrine\ORM\PersistentCollection {#2363 …} +reports: Doctrine\ORM\PersistentCollection {#2377 …} +favourites: Doctrine\ORM\PersistentCollection {#2359 …} +notifications: Doctrine\ORM\PersistentCollection {#2364 …} -id: 48009 -bodyTs: "'add':42 'basic':74 'button':45 'bypass':56 'click':59 'describ':18 'dlp':65 'download':76 'extens':27,41 'firefox':61 'follow':29 'go':35 'instal':25 'instruct':32 'launch':62 'left':50 'like':22 'mpv':72,85 'necessari':100 'o':71 'output':82 'page':39,53,99 'player':87 'put':11 're':69,91 'say':55 'setup':31 'stream':80 'think':4 'togeth':12 'top':49 'top-left':48 'ugli':44 'url':67 'video':14,78,86,95 'watch':92 'web':98 'youtub':38 'yt':64 'yt-dlp':63" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993221" +editedAt: null +createdAt: DateTimeImmutable @1697268377 {#2469 : 2023-10-14 09:26:17.0 +02:00 } +"title": 48009 } -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …} } |
entry_comment | App\Twig\Components\EntryCommentComponent | 14.0 MiB | 9.48 ms | |
---|---|---|---|---|
Input props | [ "comment" => App\Entity\EntryComment {#2382 +user: App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } +entry: App\Entity\Entry {#1609 +user: App\Entity\User {#260} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 +icon: Proxies\__CG__\App\Entity\Image {#3026 …} +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://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 [](https://ko-fi.com/dbzer0)[](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 {#3023 : 2024-10-22 09:16:09.0 +02:00 } +markedForDeletionAt: null +tags: null +moderators: Doctrine\ORM\PersistentCollection {#3027 …} +ownershipRequests: Doctrine\ORM\PersistentCollection {#3029 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#3031 …} +entries: Doctrine\ORM\PersistentCollection {#3033 …} +posts: Doctrine\ORM\PersistentCollection {#3035 …} +subscriptions: Doctrine\ORM\PersistentCollection {#3037 …} +bans: Doctrine\ORM\PersistentCollection {#3043 …} +reports: Doctrine\ORM\PersistentCollection {#3051 …} +badges: Doctrine\ORM\PersistentCollection {#3064 …} +logs: Doctrine\ORM\PersistentCollection {#3074 …} +awards: Doctrine\ORM\PersistentCollection {#3056 …} +categories: Doctrine\ORM\PersistentCollection {#3080 …} -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 {#3024 : 2024-02-24 05:17:09.0 +01:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197339 {#3025 : 2023-10-13 13:42:19.0 +02:00 } +__isInitialized__: true …2 } +image: Proxies\__CG__\App\Entity\Image {#1579 …} +domain: Proxies\__CG__\App\Entity\Domain {#1679 …} +slug: "I-made-a-thing-to-make-playing-YouTube-videos-locally" +title: "I made a thing to make playing YouTube videos locally from your browser easier" +url: "https://gitlab.com/danielquinn/video-bypass" +body: """ The other day someone was complaining about the new ad blocker-blocker on YouTube and I mentioned that it might be fun to write a Firefox extension that would just load up `yt-dlp` and play the video through `mpv`.\n \n It turns out, writing a Firefox extension is *easy* and tricking Firefox into launching `yt-dlp` isn’t much harder (though it does require some annoying configuration on the user’s end).\n \n Anyway, if you’re a Linux user, feel free to try it out. I don’t know how much I’m going to pour into this, but as an exercise of “can this be done”, it was pretty good for a few hours on a Friday night. """ +type: "link" +lang: "en" +isOc: false +hasEmbed: false +commentCount: 19 +favouriteCount: 200 +score: 0 +isAdult: false +sticky: false +lastActive: DateTime @1707557582 {#1421 : 2024-02-10 10:33:02.0 +01:00 } +ip: null +adaAmount: 0 +tags: null +mentions: null +comments: Doctrine\ORM\PersistentCollection {#1650 …} +votes: Doctrine\ORM\PersistentCollection {#1652 …} +reports: Doctrine\ORM\PersistentCollection {#1651 …} +favourites: Doctrine\ORM\PersistentCollection {#1527 …} +notifications: Doctrine\ORM\PersistentCollection {#1560 …} +badges: Doctrine\ORM\PersistentCollection {#1558 …} +children: [ 3 => App\Entity\EntryComment {#1611 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "Is there another way to do this? This hack was the only way I could figure out how to get Firefox to invoke an external binary, but if there’s a more conventional way to do it, I’d like to know 'cause I have another more complicated project in need of a pattern much like this one." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697268007 {#1596 : 2023-10-14 09:20:07.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2464 …} +nested: Doctrine\ORM\PersistentCollection {#1740 …} +votes: Doctrine\ORM\PersistentCollection {#1739 …} +reports: Doctrine\ORM\PersistentCollection {#1716 …} +favourites: Doctrine\ORM\PersistentCollection {#2461 …} +notifications: Doctrine\ORM\PersistentCollection {#2447 …} -id: 48003 -bodyTs: "'anoth':3,46 'binari':26 'caus':43 'complic':48 'convent':33 'could':15 'd':39 'extern':25 'figur':16 'firefox':21 'get':20 'hack':9 'invok':23 'know':42 'like':40,56 'much':55 'need':51 'one':58 'pattern':54 'project':49 'way':4,13,34" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993154" +editedAt: null +createdAt: DateTimeImmutable @1697268007 {#1555 : 2023-10-14 09:20:07.0 +02:00 } +"title": 48003 } 2 => App\Entity\EntryComment {#2467 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +body: """ I don’t think I have it in me to put together a video, but I can describe it if you like.\n \n Once you install the extension and follow the setup instructions, you just go to a YouTube page. The extension adds an ugly button to the top-left of the page that says “bypass”. When you click it, Firefox launches `yt-dlp [the URL you’re at] -o - | mpv -` which basically just downloads the video and streams the output through the `mpv` video player. So now you’re watching just the video, with no web page necessary. """ +lang: "en" +isAdult: false +favouriteCount: 3 +score: 0 +lastActive: DateTime @1697268377 {#1731 : 2023-10-14 09:26:17.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@zaknenou@lemmy.dbzer0.com" ] +children: Doctrine\ORM\PersistentCollection {#2455 …} +nested: Doctrine\ORM\PersistentCollection {#2471 …} +votes: Doctrine\ORM\PersistentCollection {#2363 …} +reports: Doctrine\ORM\PersistentCollection {#2377 …} +favourites: Doctrine\ORM\PersistentCollection {#2359 …} +notifications: Doctrine\ORM\PersistentCollection {#2364 …} -id: 48009 -bodyTs: "'add':42 'basic':74 'button':45 'bypass':56 'click':59 'describ':18 'dlp':65 'download':76 'extens':27,41 'firefox':61 'follow':29 'go':35 'instal':25 'instruct':32 'launch':62 'left':50 'like':22 'mpv':72,85 'necessari':100 'o':71 'output':82 'page':39,53,99 'player':87 'put':11 're':69,91 'say':55 'setup':31 'stream':80 'think':4 'togeth':12 'top':49 'top-left':48 'ugli':44 'url':67 'video':14,78,86,95 'watch':92 'web':98 'youtub':38 'yt':64 'yt-dlp':63" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993221" +editedAt: null +createdAt: DateTimeImmutable @1697268377 {#2469 : 2023-10-14 09:26:17.0 +02:00 } +"title": 48009 } 1 => App\Entity\EntryComment {#2382} 0 => App\Entity\EntryComment {#1407 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#1883 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "That’s actually very helpful, thanks. I’ve been working on another project to open certain URLs in specific browsers/profiles, and wanted to be sure that I wasn’t missing a more obvious design pattern. The project is [here](https://gitlab.com/danielquinn/opening) if you’re curious." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697303255 {#1907 : 2023-10-14 19:07:35.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2391 …} +nested: Doctrine\ORM\PersistentCollection {#2369 …} +votes: Doctrine\ORM\PersistentCollection {#2392 …} +reports: Doctrine\ORM\PersistentCollection {#2395 …} +favourites: Doctrine\ORM\PersistentCollection {#1384 …} +notifications: Doctrine\ORM\PersistentCollection {#1383 …} -id: 48905 -bodyTs: "'/danielquinn/opening)':42 'actual':3 'anoth':12 'browsers/profiles':20 'certain':16 'curious':46 'design':34 'gitlab.com':41 'gitlab.com/danielquinn/opening)':40 'help':5 'miss':30 'obvious':33 'open':15 'pattern':35 'project':13,37 're':45 'specif':19 'sure':25 'thank':6 'url':17 've':8 'want':22 'wasn':28 'work':10" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/4002090" +editedAt: null +createdAt: DateTimeImmutable @1697303255 {#1908 : 2023-10-14 19:07:35.0 +02:00 } +"title": 48905 } ] -id: 5166 -titleTs: "'browser':13 'easier':14 'local':10 'made':2 'make':6 'play':7 'thing':4 'video':9 'youtub':8" -bodyTs: "'ad':10 'annoy':69 'anyway':76 'blocker':12,13 'blocker-block':11 'complain':6 'configur':70 'day':3 'dlp':36,59 'done':110 'easi':51 'end':75 'exercis':105 'extens':28,49 'feel':83 'firefox':27,48,54 'free':84 'friday':121 'fun':23 'go':97 'good':114 'harder':63 'hour':118 'isn':60 'know':92 'launch':56 'linux':81 'load':32 'm':96 'mention':18 'might':21 'mpv':42 'much':62,94 'new':9 'night':122 'play':38 'pour':99 'pretti':113 're':79 'requir':67 'someon':4 'though':64 'tri':86 'trick':53 'turn':44 'user':73,82 'video':40 'would':30 'write':25,46 'youtub':15 'yt':35,58 'yt-dlp':34,57" +cross: false +upVotes: 0 +downVotes: 0 +ranking: 1697325241 +visibility: "visible " +apId: "https://lemmy.ca/post/7150213" +editedAt: null +createdAt: DateTimeImmutable @1697238841 {#1424 : 2023-10-14 01:14:01.0 +02:00 } } +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +body: """ Honestly, because I didn’t know (a) that ff2mpv even existed, or that (b) mpv could play YouTube URLs directly. So thanks! I learnt two things today :-)\n \n It was still a fun project though 'cause I learnt how to write a Firefox extension *and* get the browser to launch programs on-click, so not a waste of time! """ +lang: "en" +isAdult: false +favouriteCount: 13 +score: 0 +lastActive: DateTime @1697288649 {#2380 : 2023-10-14 15:04:09.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@khorovodoved@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2384 …} +nested: Doctrine\ORM\PersistentCollection {#2379 …} +votes: Doctrine\ORM\PersistentCollection {#2383 …} +reports: Doctrine\ORM\PersistentCollection {#1906 …} +favourites: Doctrine\ORM\PersistentCollection {#1708 …} +notifications: Doctrine\ORM\PersistentCollection {#1410 …} -id: 48431 -bodyTs: "'b':14 'browser':47 'caus':35 'click':53 'could':16 'didn':4 'direct':20 'even':10 'exist':11 'extens':43 'ff2mpv':9 'firefox':42 'fun':32 'get':45 'honest':1 'know':6 'launch':49 'learnt':24,37 'mpv':15 'on-click':51 'play':17 'program':50 'project':33 'still':30 'thank':22 'thing':26 'though':34 'time':59 'today':27 'two':25 'url':19 'wast':57 'write':40 'youtub':18" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3997262" +editedAt: null +createdAt: DateTimeImmutable @1697288649 {#2386 : 2023-10-14 15:04:09.0 +02:00 } +"title": 48431 } "showEntryTitle" => false "dateAsUrl" => true "showMagazineName" => false ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\EntryCommentComponent {#5001 +comment: App\Entity\EntryComment {#2382 +user: App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } +entry: App\Entity\Entry {#1609 +user: App\Entity\User {#260} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 +icon: Proxies\__CG__\App\Entity\Image {#3026 …} +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://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 [](https://ko-fi.com/dbzer0)[](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 {#3023 : 2024-10-22 09:16:09.0 +02:00 } +markedForDeletionAt: null +tags: null +moderators: Doctrine\ORM\PersistentCollection {#3027 …} +ownershipRequests: Doctrine\ORM\PersistentCollection {#3029 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#3031 …} +entries: Doctrine\ORM\PersistentCollection {#3033 …} +posts: Doctrine\ORM\PersistentCollection {#3035 …} +subscriptions: Doctrine\ORM\PersistentCollection {#3037 …} +bans: Doctrine\ORM\PersistentCollection {#3043 …} +reports: Doctrine\ORM\PersistentCollection {#3051 …} +badges: Doctrine\ORM\PersistentCollection {#3064 …} +logs: Doctrine\ORM\PersistentCollection {#3074 …} +awards: Doctrine\ORM\PersistentCollection {#3056 …} +categories: Doctrine\ORM\PersistentCollection {#3080 …} -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 {#3024 : 2024-02-24 05:17:09.0 +01:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197339 {#3025 : 2023-10-13 13:42:19.0 +02:00 } +__isInitialized__: true …2 } +image: Proxies\__CG__\App\Entity\Image {#1579 …} +domain: Proxies\__CG__\App\Entity\Domain {#1679 …} +slug: "I-made-a-thing-to-make-playing-YouTube-videos-locally" +title: "I made a thing to make playing YouTube videos locally from your browser easier" +url: "https://gitlab.com/danielquinn/video-bypass" +body: """ The other day someone was complaining about the new ad blocker-blocker on YouTube and I mentioned that it might be fun to write a Firefox extension that would just load up `yt-dlp` and play the video through `mpv`.\n \n It turns out, writing a Firefox extension is *easy* and tricking Firefox into launching `yt-dlp` isn’t much harder (though it does require some annoying configuration on the user’s end).\n \n Anyway, if you’re a Linux user, feel free to try it out. I don’t know how much I’m going to pour into this, but as an exercise of “can this be done”, it was pretty good for a few hours on a Friday night. """ +type: "link" +lang: "en" +isOc: false +hasEmbed: false +commentCount: 19 +favouriteCount: 200 +score: 0 +isAdult: false +sticky: false +lastActive: DateTime @1707557582 {#1421 : 2024-02-10 10:33:02.0 +01:00 } +ip: null +adaAmount: 0 +tags: null +mentions: null +comments: Doctrine\ORM\PersistentCollection {#1650 …} +votes: Doctrine\ORM\PersistentCollection {#1652 …} +reports: Doctrine\ORM\PersistentCollection {#1651 …} +favourites: Doctrine\ORM\PersistentCollection {#1527 …} +notifications: Doctrine\ORM\PersistentCollection {#1560 …} +badges: Doctrine\ORM\PersistentCollection {#1558 …} +children: [ 3 => App\Entity\EntryComment {#1611 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "Is there another way to do this? This hack was the only way I could figure out how to get Firefox to invoke an external binary, but if there’s a more conventional way to do it, I’d like to know 'cause I have another more complicated project in need of a pattern much like this one." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697268007 {#1596 : 2023-10-14 09:20:07.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2464 …} +nested: Doctrine\ORM\PersistentCollection {#1740 …} +votes: Doctrine\ORM\PersistentCollection {#1739 …} +reports: Doctrine\ORM\PersistentCollection {#1716 …} +favourites: Doctrine\ORM\PersistentCollection {#2461 …} +notifications: Doctrine\ORM\PersistentCollection {#2447 …} -id: 48003 -bodyTs: "'anoth':3,46 'binari':26 'caus':43 'complic':48 'convent':33 'could':15 'd':39 'extern':25 'figur':16 'firefox':21 'get':20 'hack':9 'invok':23 'know':42 'like':40,56 'much':55 'need':51 'one':58 'pattern':54 'project':49 'way':4,13,34" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993154" +editedAt: null +createdAt: DateTimeImmutable @1697268007 {#1555 : 2023-10-14 09:20:07.0 +02:00 } +"title": 48003 } 2 => App\Entity\EntryComment {#2467 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +body: """ I don’t think I have it in me to put together a video, but I can describe it if you like.\n \n Once you install the extension and follow the setup instructions, you just go to a YouTube page. The extension adds an ugly button to the top-left of the page that says “bypass”. When you click it, Firefox launches `yt-dlp [the URL you’re at] -o - | mpv -` which basically just downloads the video and streams the output through the `mpv` video player. So now you’re watching just the video, with no web page necessary. """ +lang: "en" +isAdult: false +favouriteCount: 3 +score: 0 +lastActive: DateTime @1697268377 {#1731 : 2023-10-14 09:26:17.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@zaknenou@lemmy.dbzer0.com" ] +children: Doctrine\ORM\PersistentCollection {#2455 …} +nested: Doctrine\ORM\PersistentCollection {#2471 …} +votes: Doctrine\ORM\PersistentCollection {#2363 …} +reports: Doctrine\ORM\PersistentCollection {#2377 …} +favourites: Doctrine\ORM\PersistentCollection {#2359 …} +notifications: Doctrine\ORM\PersistentCollection {#2364 …} -id: 48009 -bodyTs: "'add':42 'basic':74 'button':45 'bypass':56 'click':59 'describ':18 'dlp':65 'download':76 'extens':27,41 'firefox':61 'follow':29 'go':35 'instal':25 'instruct':32 'launch':62 'left':50 'like':22 'mpv':72,85 'necessari':100 'o':71 'output':82 'page':39,53,99 'player':87 'put':11 're':69,91 'say':55 'setup':31 'stream':80 'think':4 'togeth':12 'top':49 'top-left':48 'ugli':44 'url':67 'video':14,78,86,95 'watch':92 'web':98 'youtub':38 'yt':64 'yt-dlp':63" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993221" +editedAt: null +createdAt: DateTimeImmutable @1697268377 {#2469 : 2023-10-14 09:26:17.0 +02:00 } +"title": 48009 } 1 => App\Entity\EntryComment {#2382} 0 => App\Entity\EntryComment {#1407 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#1883 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "That’s actually very helpful, thanks. I’ve been working on another project to open certain URLs in specific browsers/profiles, and wanted to be sure that I wasn’t missing a more obvious design pattern. The project is [here](https://gitlab.com/danielquinn/opening) if you’re curious." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697303255 {#1907 : 2023-10-14 19:07:35.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2391 …} +nested: Doctrine\ORM\PersistentCollection {#2369 …} +votes: Doctrine\ORM\PersistentCollection {#2392 …} +reports: Doctrine\ORM\PersistentCollection {#2395 …} +favourites: Doctrine\ORM\PersistentCollection {#1384 …} +notifications: Doctrine\ORM\PersistentCollection {#1383 …} -id: 48905 -bodyTs: "'/danielquinn/opening)':42 'actual':3 'anoth':12 'browsers/profiles':20 'certain':16 'curious':46 'design':34 'gitlab.com':41 'gitlab.com/danielquinn/opening)':40 'help':5 'miss':30 'obvious':33 'open':15 'pattern':35 'project':13,37 're':45 'specif':19 'sure':25 'thank':6 'url':17 've':8 'want':22 'wasn':28 'work':10" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/4002090" +editedAt: null +createdAt: DateTimeImmutable @1697303255 {#1908 : 2023-10-14 19:07:35.0 +02:00 } +"title": 48905 } ] -id: 5166 -titleTs: "'browser':13 'easier':14 'local':10 'made':2 'make':6 'play':7 'thing':4 'video':9 'youtub':8" -bodyTs: "'ad':10 'annoy':69 'anyway':76 'blocker':12,13 'blocker-block':11 'complain':6 'configur':70 'day':3 'dlp':36,59 'done':110 'easi':51 'end':75 'exercis':105 'extens':28,49 'feel':83 'firefox':27,48,54 'free':84 'friday':121 'fun':23 'go':97 'good':114 'harder':63 'hour':118 'isn':60 'know':92 'launch':56 'linux':81 'load':32 'm':96 'mention':18 'might':21 'mpv':42 'much':62,94 'new':9 'night':122 'play':38 'pour':99 'pretti':113 're':79 'requir':67 'someon':4 'though':64 'tri':86 'trick':53 'turn':44 'user':73,82 'video':40 'would':30 'write':25,46 'youtub':15 'yt':35,58 'yt-dlp':34,57" +cross: false +upVotes: 0 +downVotes: 0 +ranking: 1697325241 +visibility: "visible " +apId: "https://lemmy.ca/post/7150213" +editedAt: null +createdAt: DateTimeImmutable @1697238841 {#1424 : 2023-10-14 01:14:01.0 +02:00 } } +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +body: """ Honestly, because I didn’t know (a) that ff2mpv even existed, or that (b) mpv could play YouTube URLs directly. So thanks! I learnt two things today :-)\n \n It was still a fun project though 'cause I learnt how to write a Firefox extension *and* get the browser to launch programs on-click, so not a waste of time! """ +lang: "en" +isAdult: false +favouriteCount: 13 +score: 0 +lastActive: DateTime @1697288649 {#2380 : 2023-10-14 15:04:09.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@khorovodoved@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2384 …} +nested: Doctrine\ORM\PersistentCollection {#2379 …} +votes: Doctrine\ORM\PersistentCollection {#2383 …} +reports: Doctrine\ORM\PersistentCollection {#1906 …} +favourites: Doctrine\ORM\PersistentCollection {#1708 …} +notifications: Doctrine\ORM\PersistentCollection {#1410 …} -id: 48431 -bodyTs: "'b':14 'browser':47 'caus':35 'click':53 'could':16 'didn':4 'direct':20 'even':10 'exist':11 'extens':43 'ff2mpv':9 'firefox':42 'fun':32 'get':45 'honest':1 'know':6 'launch':49 'learnt':24,37 'mpv':15 'on-click':51 'play':17 'program':50 'project':33 'still':30 'thank':22 'thing':26 'though':34 'time':59 'today':27 'two':25 'url':19 'wast':57 'write':40 'youtub':18" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3997262" +editedAt: null +createdAt: DateTimeImmutable @1697288649 {#2386 : 2023-10-14 15:04:09.0 +02:00 } +"title": 48431 } +showMagazineName: false +showEntryTitle: false +showNested: false +level: 1 +canSeeTrash: false +dateAsUrl: true -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …} -authorizationChecker: Symfony\Component\Security\Core\Authorization\AuthorizationChecker {#931 …} } |
user_inline | App\Twig\Components\UserInlineComponent | 14.0 MiB | 0.12 ms | |
---|---|---|---|---|
Input props | [ "user" => App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } "showAvatar" => false ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\UserInlineComponent {#5046 +user: App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } +showAvatar: false } |
date | App\Twig\Components\DateComponent | 14.0 MiB | 0.14 ms | |
---|---|---|---|---|
Input props | [ "date" => DateTimeImmutable @1697288649 {#2386 : 2023-10-14 15:04:09.0 +02:00 } ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\DateComponent {#5102 +date: DateTimeImmutable @1697288649 {#2386 : 2023-10-14 15:04:09.0 +02:00 } } |
date_edited | App\Twig\Components\DateEditedComponent | 14.0 MiB | 0.09 ms | |
---|---|---|---|---|
Input props | [ "createdAt" => DateTimeImmutable @1697288649 {#2386 : 2023-10-14 15:04:09.0 +02:00 } "editedAt" => null ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\DateEditedComponent {#5156 +createdAt: DateTimeImmutable @1697288649 {#2386 : 2023-10-14 15:04:09.0 +02:00 } +editedAt: null } |
user_avatar | App\Twig\Components\UserAvatarComponent | 14.0 MiB | 0.17 ms | |
---|---|---|---|---|
Input props | [ "user" => App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } "width" => 40 "height" => 40 "asLink" => true ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\UserAvatarComponent {#5210 +width: 40 +height: 40 +user: App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } +asLink: true } |
vote | App\Twig\Components\VoteComponent | 14.0 MiB | 0.40 ms | |
---|---|---|---|---|
Input props | [ "subject" => App\Entity\EntryComment {#2382 +user: App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } +entry: App\Entity\Entry {#1609 +user: App\Entity\User {#260} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 +icon: Proxies\__CG__\App\Entity\Image {#3026 …} +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://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 [](https://ko-fi.com/dbzer0)[](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 {#3023 : 2024-10-22 09:16:09.0 +02:00 } +markedForDeletionAt: null +tags: null +moderators: Doctrine\ORM\PersistentCollection {#3027 …} +ownershipRequests: Doctrine\ORM\PersistentCollection {#3029 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#3031 …} +entries: Doctrine\ORM\PersistentCollection {#3033 …} +posts: Doctrine\ORM\PersistentCollection {#3035 …} +subscriptions: Doctrine\ORM\PersistentCollection {#3037 …} +bans: Doctrine\ORM\PersistentCollection {#3043 …} +reports: Doctrine\ORM\PersistentCollection {#3051 …} +badges: Doctrine\ORM\PersistentCollection {#3064 …} +logs: Doctrine\ORM\PersistentCollection {#3074 …} +awards: Doctrine\ORM\PersistentCollection {#3056 …} +categories: Doctrine\ORM\PersistentCollection {#3080 …} -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 {#3024 : 2024-02-24 05:17:09.0 +01:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197339 {#3025 : 2023-10-13 13:42:19.0 +02:00 } +__isInitialized__: true …2 } +image: Proxies\__CG__\App\Entity\Image {#1579 …} +domain: Proxies\__CG__\App\Entity\Domain {#1679 …} +slug: "I-made-a-thing-to-make-playing-YouTube-videos-locally" +title: "I made a thing to make playing YouTube videos locally from your browser easier" +url: "https://gitlab.com/danielquinn/video-bypass" +body: """ The other day someone was complaining about the new ad blocker-blocker on YouTube and I mentioned that it might be fun to write a Firefox extension that would just load up `yt-dlp` and play the video through `mpv`.\n \n It turns out, writing a Firefox extension is *easy* and tricking Firefox into launching `yt-dlp` isn’t much harder (though it does require some annoying configuration on the user’s end).\n \n Anyway, if you’re a Linux user, feel free to try it out. I don’t know how much I’m going to pour into this, but as an exercise of “can this be done”, it was pretty good for a few hours on a Friday night. """ +type: "link" +lang: "en" +isOc: false +hasEmbed: false +commentCount: 19 +favouriteCount: 200 +score: 0 +isAdult: false +sticky: false +lastActive: DateTime @1707557582 {#1421 : 2024-02-10 10:33:02.0 +01:00 } +ip: null +adaAmount: 0 +tags: null +mentions: null +comments: Doctrine\ORM\PersistentCollection {#1650 …} +votes: Doctrine\ORM\PersistentCollection {#1652 …} +reports: Doctrine\ORM\PersistentCollection {#1651 …} +favourites: Doctrine\ORM\PersistentCollection {#1527 …} +notifications: Doctrine\ORM\PersistentCollection {#1560 …} +badges: Doctrine\ORM\PersistentCollection {#1558 …} +children: [ 3 => App\Entity\EntryComment {#1611 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "Is there another way to do this? This hack was the only way I could figure out how to get Firefox to invoke an external binary, but if there’s a more conventional way to do it, I’d like to know 'cause I have another more complicated project in need of a pattern much like this one." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697268007 {#1596 : 2023-10-14 09:20:07.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2464 …} +nested: Doctrine\ORM\PersistentCollection {#1740 …} +votes: Doctrine\ORM\PersistentCollection {#1739 …} +reports: Doctrine\ORM\PersistentCollection {#1716 …} +favourites: Doctrine\ORM\PersistentCollection {#2461 …} +notifications: Doctrine\ORM\PersistentCollection {#2447 …} -id: 48003 -bodyTs: "'anoth':3,46 'binari':26 'caus':43 'complic':48 'convent':33 'could':15 'd':39 'extern':25 'figur':16 'firefox':21 'get':20 'hack':9 'invok':23 'know':42 'like':40,56 'much':55 'need':51 'one':58 'pattern':54 'project':49 'way':4,13,34" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993154" +editedAt: null +createdAt: DateTimeImmutable @1697268007 {#1555 : 2023-10-14 09:20:07.0 +02:00 } +"title": 48003 } 2 => App\Entity\EntryComment {#2467 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +body: """ I don’t think I have it in me to put together a video, but I can describe it if you like.\n \n Once you install the extension and follow the setup instructions, you just go to a YouTube page. The extension adds an ugly button to the top-left of the page that says “bypass”. When you click it, Firefox launches `yt-dlp [the URL you’re at] -o - | mpv -` which basically just downloads the video and streams the output through the `mpv` video player. So now you’re watching just the video, with no web page necessary. """ +lang: "en" +isAdult: false +favouriteCount: 3 +score: 0 +lastActive: DateTime @1697268377 {#1731 : 2023-10-14 09:26:17.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@zaknenou@lemmy.dbzer0.com" ] +children: Doctrine\ORM\PersistentCollection {#2455 …} +nested: Doctrine\ORM\PersistentCollection {#2471 …} +votes: Doctrine\ORM\PersistentCollection {#2363 …} +reports: Doctrine\ORM\PersistentCollection {#2377 …} +favourites: Doctrine\ORM\PersistentCollection {#2359 …} +notifications: Doctrine\ORM\PersistentCollection {#2364 …} -id: 48009 -bodyTs: "'add':42 'basic':74 'button':45 'bypass':56 'click':59 'describ':18 'dlp':65 'download':76 'extens':27,41 'firefox':61 'follow':29 'go':35 'instal':25 'instruct':32 'launch':62 'left':50 'like':22 'mpv':72,85 'necessari':100 'o':71 'output':82 'page':39,53,99 'player':87 'put':11 're':69,91 'say':55 'setup':31 'stream':80 'think':4 'togeth':12 'top':49 'top-left':48 'ugli':44 'url':67 'video':14,78,86,95 'watch':92 'web':98 'youtub':38 'yt':64 'yt-dlp':63" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993221" +editedAt: null +createdAt: DateTimeImmutable @1697268377 {#2469 : 2023-10-14 09:26:17.0 +02:00 } +"title": 48009 } 1 => App\Entity\EntryComment {#2382} 0 => App\Entity\EntryComment {#1407 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#1883 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "That’s actually very helpful, thanks. I’ve been working on another project to open certain URLs in specific browsers/profiles, and wanted to be sure that I wasn’t missing a more obvious design pattern. The project is [here](https://gitlab.com/danielquinn/opening) if you’re curious." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697303255 {#1907 : 2023-10-14 19:07:35.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2391 …} +nested: Doctrine\ORM\PersistentCollection {#2369 …} +votes: Doctrine\ORM\PersistentCollection {#2392 …} +reports: Doctrine\ORM\PersistentCollection {#2395 …} +favourites: Doctrine\ORM\PersistentCollection {#1384 …} +notifications: Doctrine\ORM\PersistentCollection {#1383 …} -id: 48905 -bodyTs: "'/danielquinn/opening)':42 'actual':3 'anoth':12 'browsers/profiles':20 'certain':16 'curious':46 'design':34 'gitlab.com':41 'gitlab.com/danielquinn/opening)':40 'help':5 'miss':30 'obvious':33 'open':15 'pattern':35 'project':13,37 're':45 'specif':19 'sure':25 'thank':6 'url':17 've':8 'want':22 'wasn':28 'work':10" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/4002090" +editedAt: null +createdAt: DateTimeImmutable @1697303255 {#1908 : 2023-10-14 19:07:35.0 +02:00 } +"title": 48905 } ] -id: 5166 -titleTs: "'browser':13 'easier':14 'local':10 'made':2 'make':6 'play':7 'thing':4 'video':9 'youtub':8" -bodyTs: "'ad':10 'annoy':69 'anyway':76 'blocker':12,13 'blocker-block':11 'complain':6 'configur':70 'day':3 'dlp':36,59 'done':110 'easi':51 'end':75 'exercis':105 'extens':28,49 'feel':83 'firefox':27,48,54 'free':84 'friday':121 'fun':23 'go':97 'good':114 'harder':63 'hour':118 'isn':60 'know':92 'launch':56 'linux':81 'load':32 'm':96 'mention':18 'might':21 'mpv':42 'much':62,94 'new':9 'night':122 'play':38 'pour':99 'pretti':113 're':79 'requir':67 'someon':4 'though':64 'tri':86 'trick':53 'turn':44 'user':73,82 'video':40 'would':30 'write':25,46 'youtub':15 'yt':35,58 'yt-dlp':34,57" +cross: false +upVotes: 0 +downVotes: 0 +ranking: 1697325241 +visibility: "visible " +apId: "https://lemmy.ca/post/7150213" +editedAt: null +createdAt: DateTimeImmutable @1697238841 {#1424 : 2023-10-14 01:14:01.0 +02:00 } } +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +body: """ Honestly, because I didn’t know (a) that ff2mpv even existed, or that (b) mpv could play YouTube URLs directly. So thanks! I learnt two things today :-)\n \n It was still a fun project though 'cause I learnt how to write a Firefox extension *and* get the browser to launch programs on-click, so not a waste of time! """ +lang: "en" +isAdult: false +favouriteCount: 13 +score: 0 +lastActive: DateTime @1697288649 {#2380 : 2023-10-14 15:04:09.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@khorovodoved@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2384 …} +nested: Doctrine\ORM\PersistentCollection {#2379 …} +votes: Doctrine\ORM\PersistentCollection {#2383 …} +reports: Doctrine\ORM\PersistentCollection {#1906 …} +favourites: Doctrine\ORM\PersistentCollection {#1708 …} +notifications: Doctrine\ORM\PersistentCollection {#1410 …} -id: 48431 -bodyTs: "'b':14 'browser':47 'caus':35 'click':53 'could':16 'didn':4 'direct':20 'even':10 'exist':11 'extens':43 'ff2mpv':9 'firefox':42 'fun':32 'get':45 'honest':1 'know':6 'launch':49 'learnt':24,37 'mpv':15 'on-click':51 'play':17 'program':50 'project':33 'still':30 'thank':22 'thing':26 'though':34 'time':59 'today':27 'two':25 'url':19 'wast':57 'write':40 'youtub':18" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3997262" +editedAt: null +createdAt: DateTimeImmutable @1697288649 {#2386 : 2023-10-14 15:04:09.0 +02:00 } +"title": 48431 } ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\VoteComponent {#5290 +subject: App\Entity\EntryComment {#2382 +user: App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } +entry: App\Entity\Entry {#1609 +user: App\Entity\User {#260} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 +icon: Proxies\__CG__\App\Entity\Image {#3026 …} +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://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 [](https://ko-fi.com/dbzer0)[](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 {#3023 : 2024-10-22 09:16:09.0 +02:00 } +markedForDeletionAt: null +tags: null +moderators: Doctrine\ORM\PersistentCollection {#3027 …} +ownershipRequests: Doctrine\ORM\PersistentCollection {#3029 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#3031 …} +entries: Doctrine\ORM\PersistentCollection {#3033 …} +posts: Doctrine\ORM\PersistentCollection {#3035 …} +subscriptions: Doctrine\ORM\PersistentCollection {#3037 …} +bans: Doctrine\ORM\PersistentCollection {#3043 …} +reports: Doctrine\ORM\PersistentCollection {#3051 …} +badges: Doctrine\ORM\PersistentCollection {#3064 …} +logs: Doctrine\ORM\PersistentCollection {#3074 …} +awards: Doctrine\ORM\PersistentCollection {#3056 …} +categories: Doctrine\ORM\PersistentCollection {#3080 …} -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 {#3024 : 2024-02-24 05:17:09.0 +01:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197339 {#3025 : 2023-10-13 13:42:19.0 +02:00 } +__isInitialized__: true …2 } +image: Proxies\__CG__\App\Entity\Image {#1579 …} +domain: Proxies\__CG__\App\Entity\Domain {#1679 …} +slug: "I-made-a-thing-to-make-playing-YouTube-videos-locally" +title: "I made a thing to make playing YouTube videos locally from your browser easier" +url: "https://gitlab.com/danielquinn/video-bypass" +body: """ The other day someone was complaining about the new ad blocker-blocker on YouTube and I mentioned that it might be fun to write a Firefox extension that would just load up `yt-dlp` and play the video through `mpv`.\n \n It turns out, writing a Firefox extension is *easy* and tricking Firefox into launching `yt-dlp` isn’t much harder (though it does require some annoying configuration on the user’s end).\n \n Anyway, if you’re a Linux user, feel free to try it out. I don’t know how much I’m going to pour into this, but as an exercise of “can this be done”, it was pretty good for a few hours on a Friday night. """ +type: "link" +lang: "en" +isOc: false +hasEmbed: false +commentCount: 19 +favouriteCount: 200 +score: 0 +isAdult: false +sticky: false +lastActive: DateTime @1707557582 {#1421 : 2024-02-10 10:33:02.0 +01:00 } +ip: null +adaAmount: 0 +tags: null +mentions: null +comments: Doctrine\ORM\PersistentCollection {#1650 …} +votes: Doctrine\ORM\PersistentCollection {#1652 …} +reports: Doctrine\ORM\PersistentCollection {#1651 …} +favourites: Doctrine\ORM\PersistentCollection {#1527 …} +notifications: Doctrine\ORM\PersistentCollection {#1560 …} +badges: Doctrine\ORM\PersistentCollection {#1558 …} +children: [ 3 => App\Entity\EntryComment {#1611 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "Is there another way to do this? This hack was the only way I could figure out how to get Firefox to invoke an external binary, but if there’s a more conventional way to do it, I’d like to know 'cause I have another more complicated project in need of a pattern much like this one." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697268007 {#1596 : 2023-10-14 09:20:07.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2464 …} +nested: Doctrine\ORM\PersistentCollection {#1740 …} +votes: Doctrine\ORM\PersistentCollection {#1739 …} +reports: Doctrine\ORM\PersistentCollection {#1716 …} +favourites: Doctrine\ORM\PersistentCollection {#2461 …} +notifications: Doctrine\ORM\PersistentCollection {#2447 …} -id: 48003 -bodyTs: "'anoth':3,46 'binari':26 'caus':43 'complic':48 'convent':33 'could':15 'd':39 'extern':25 'figur':16 'firefox':21 'get':20 'hack':9 'invok':23 'know':42 'like':40,56 'much':55 'need':51 'one':58 'pattern':54 'project':49 'way':4,13,34" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993154" +editedAt: null +createdAt: DateTimeImmutable @1697268007 {#1555 : 2023-10-14 09:20:07.0 +02:00 } +"title": 48003 } 2 => App\Entity\EntryComment {#2467 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +body: """ I don’t think I have it in me to put together a video, but I can describe it if you like.\n \n Once you install the extension and follow the setup instructions, you just go to a YouTube page. The extension adds an ugly button to the top-left of the page that says “bypass”. When you click it, Firefox launches `yt-dlp [the URL you’re at] -o - | mpv -` which basically just downloads the video and streams the output through the `mpv` video player. So now you’re watching just the video, with no web page necessary. """ +lang: "en" +isAdult: false +favouriteCount: 3 +score: 0 +lastActive: DateTime @1697268377 {#1731 : 2023-10-14 09:26:17.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@zaknenou@lemmy.dbzer0.com" ] +children: Doctrine\ORM\PersistentCollection {#2455 …} +nested: Doctrine\ORM\PersistentCollection {#2471 …} +votes: Doctrine\ORM\PersistentCollection {#2363 …} +reports: Doctrine\ORM\PersistentCollection {#2377 …} +favourites: Doctrine\ORM\PersistentCollection {#2359 …} +notifications: Doctrine\ORM\PersistentCollection {#2364 …} -id: 48009 -bodyTs: "'add':42 'basic':74 'button':45 'bypass':56 'click':59 'describ':18 'dlp':65 'download':76 'extens':27,41 'firefox':61 'follow':29 'go':35 'instal':25 'instruct':32 'launch':62 'left':50 'like':22 'mpv':72,85 'necessari':100 'o':71 'output':82 'page':39,53,99 'player':87 'put':11 're':69,91 'say':55 'setup':31 'stream':80 'think':4 'togeth':12 'top':49 'top-left':48 'ugli':44 'url':67 'video':14,78,86,95 'watch':92 'web':98 'youtub':38 'yt':64 'yt-dlp':63" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993221" +editedAt: null +createdAt: DateTimeImmutable @1697268377 {#2469 : 2023-10-14 09:26:17.0 +02:00 } +"title": 48009 } 1 => App\Entity\EntryComment {#2382} 0 => App\Entity\EntryComment {#1407 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#1883 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "That’s actually very helpful, thanks. I’ve been working on another project to open certain URLs in specific browsers/profiles, and wanted to be sure that I wasn’t missing a more obvious design pattern. The project is [here](https://gitlab.com/danielquinn/opening) if you’re curious." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697303255 {#1907 : 2023-10-14 19:07:35.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2391 …} +nested: Doctrine\ORM\PersistentCollection {#2369 …} +votes: Doctrine\ORM\PersistentCollection {#2392 …} +reports: Doctrine\ORM\PersistentCollection {#2395 …} +favourites: Doctrine\ORM\PersistentCollection {#1384 …} +notifications: Doctrine\ORM\PersistentCollection {#1383 …} -id: 48905 -bodyTs: "'/danielquinn/opening)':42 'actual':3 'anoth':12 'browsers/profiles':20 'certain':16 'curious':46 'design':34 'gitlab.com':41 'gitlab.com/danielquinn/opening)':40 'help':5 'miss':30 'obvious':33 'open':15 'pattern':35 'project':13,37 're':45 'specif':19 'sure':25 'thank':6 'url':17 've':8 'want':22 'wasn':28 'work':10" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/4002090" +editedAt: null +createdAt: DateTimeImmutable @1697303255 {#1908 : 2023-10-14 19:07:35.0 +02:00 } +"title": 48905 } ] -id: 5166 -titleTs: "'browser':13 'easier':14 'local':10 'made':2 'make':6 'play':7 'thing':4 'video':9 'youtub':8" -bodyTs: "'ad':10 'annoy':69 'anyway':76 'blocker':12,13 'blocker-block':11 'complain':6 'configur':70 'day':3 'dlp':36,59 'done':110 'easi':51 'end':75 'exercis':105 'extens':28,49 'feel':83 'firefox':27,48,54 'free':84 'friday':121 'fun':23 'go':97 'good':114 'harder':63 'hour':118 'isn':60 'know':92 'launch':56 'linux':81 'load':32 'm':96 'mention':18 'might':21 'mpv':42 'much':62,94 'new':9 'night':122 'play':38 'pour':99 'pretti':113 're':79 'requir':67 'someon':4 'though':64 'tri':86 'trick':53 'turn':44 'user':73,82 'video':40 'would':30 'write':25,46 'youtub':15 'yt':35,58 'yt-dlp':34,57" +cross: false +upVotes: 0 +downVotes: 0 +ranking: 1697325241 +visibility: "visible " +apId: "https://lemmy.ca/post/7150213" +editedAt: null +createdAt: DateTimeImmutable @1697238841 {#1424 : 2023-10-14 01:14:01.0 +02:00 } } +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +body: """ Honestly, because I didn’t know (a) that ff2mpv even existed, or that (b) mpv could play YouTube URLs directly. So thanks! I learnt two things today :-)\n \n It was still a fun project though 'cause I learnt how to write a Firefox extension *and* get the browser to launch programs on-click, so not a waste of time! """ +lang: "en" +isAdult: false +favouriteCount: 13 +score: 0 +lastActive: DateTime @1697288649 {#2380 : 2023-10-14 15:04:09.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@khorovodoved@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2384 …} +nested: Doctrine\ORM\PersistentCollection {#2379 …} +votes: Doctrine\ORM\PersistentCollection {#2383 …} +reports: Doctrine\ORM\PersistentCollection {#1906 …} +favourites: Doctrine\ORM\PersistentCollection {#1708 …} +notifications: Doctrine\ORM\PersistentCollection {#1410 …} -id: 48431 -bodyTs: "'b':14 'browser':47 'caus':35 'click':53 'could':16 'didn':4 'direct':20 'even':10 'exist':11 'extens':43 'ff2mpv':9 'firefox':42 'fun':32 'get':45 'honest':1 'know':6 'launch':49 'learnt':24,37 'mpv':15 'on-click':51 'play':17 'program':50 'project':33 'still':30 'thank':22 'thing':26 'though':34 'time':59 'today':27 'two':25 'url':19 'wast':57 'write':40 'youtub':18" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3997262" +editedAt: null +createdAt: DateTimeImmutable @1697288649 {#2386 : 2023-10-14 15:04:09.0 +02:00 } +"title": 48431 } +formDest: "entry_comment" +showDownvote: true -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …} } |
boost | App\Twig\Components\BoostComponent | 14.0 MiB | 0.68 ms | |
---|---|---|---|---|
Input props | [ "subject" => App\Entity\EntryComment {#2382 +user: App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } +entry: App\Entity\Entry {#1609 +user: App\Entity\User {#260} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 +icon: Proxies\__CG__\App\Entity\Image {#3026 …} +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://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 [](https://ko-fi.com/dbzer0)[](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 {#3023 : 2024-10-22 09:16:09.0 +02:00 } +markedForDeletionAt: null +tags: null +moderators: Doctrine\ORM\PersistentCollection {#3027 …} +ownershipRequests: Doctrine\ORM\PersistentCollection {#3029 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#3031 …} +entries: Doctrine\ORM\PersistentCollection {#3033 …} +posts: Doctrine\ORM\PersistentCollection {#3035 …} +subscriptions: Doctrine\ORM\PersistentCollection {#3037 …} +bans: Doctrine\ORM\PersistentCollection {#3043 …} +reports: Doctrine\ORM\PersistentCollection {#3051 …} +badges: Doctrine\ORM\PersistentCollection {#3064 …} +logs: Doctrine\ORM\PersistentCollection {#3074 …} +awards: Doctrine\ORM\PersistentCollection {#3056 …} +categories: Doctrine\ORM\PersistentCollection {#3080 …} -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 {#3024 : 2024-02-24 05:17:09.0 +01:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197339 {#3025 : 2023-10-13 13:42:19.0 +02:00 } +__isInitialized__: true …2 } +image: Proxies\__CG__\App\Entity\Image {#1579 …} +domain: Proxies\__CG__\App\Entity\Domain {#1679 …} +slug: "I-made-a-thing-to-make-playing-YouTube-videos-locally" +title: "I made a thing to make playing YouTube videos locally from your browser easier" +url: "https://gitlab.com/danielquinn/video-bypass" +body: """ The other day someone was complaining about the new ad blocker-blocker on YouTube and I mentioned that it might be fun to write a Firefox extension that would just load up `yt-dlp` and play the video through `mpv`.\n \n It turns out, writing a Firefox extension is *easy* and tricking Firefox into launching `yt-dlp` isn’t much harder (though it does require some annoying configuration on the user’s end).\n \n Anyway, if you’re a Linux user, feel free to try it out. I don’t know how much I’m going to pour into this, but as an exercise of “can this be done”, it was pretty good for a few hours on a Friday night. """ +type: "link" +lang: "en" +isOc: false +hasEmbed: false +commentCount: 19 +favouriteCount: 200 +score: 0 +isAdult: false +sticky: false +lastActive: DateTime @1707557582 {#1421 : 2024-02-10 10:33:02.0 +01:00 } +ip: null +adaAmount: 0 +tags: null +mentions: null +comments: Doctrine\ORM\PersistentCollection {#1650 …} +votes: Doctrine\ORM\PersistentCollection {#1652 …} +reports: Doctrine\ORM\PersistentCollection {#1651 …} +favourites: Doctrine\ORM\PersistentCollection {#1527 …} +notifications: Doctrine\ORM\PersistentCollection {#1560 …} +badges: Doctrine\ORM\PersistentCollection {#1558 …} +children: [ 3 => App\Entity\EntryComment {#1611 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "Is there another way to do this? This hack was the only way I could figure out how to get Firefox to invoke an external binary, but if there’s a more conventional way to do it, I’d like to know 'cause I have another more complicated project in need of a pattern much like this one." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697268007 {#1596 : 2023-10-14 09:20:07.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2464 …} +nested: Doctrine\ORM\PersistentCollection {#1740 …} +votes: Doctrine\ORM\PersistentCollection {#1739 …} +reports: Doctrine\ORM\PersistentCollection {#1716 …} +favourites: Doctrine\ORM\PersistentCollection {#2461 …} +notifications: Doctrine\ORM\PersistentCollection {#2447 …} -id: 48003 -bodyTs: "'anoth':3,46 'binari':26 'caus':43 'complic':48 'convent':33 'could':15 'd':39 'extern':25 'figur':16 'firefox':21 'get':20 'hack':9 'invok':23 'know':42 'like':40,56 'much':55 'need':51 'one':58 'pattern':54 'project':49 'way':4,13,34" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993154" +editedAt: null +createdAt: DateTimeImmutable @1697268007 {#1555 : 2023-10-14 09:20:07.0 +02:00 } +"title": 48003 } 2 => App\Entity\EntryComment {#2467 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +body: """ I don’t think I have it in me to put together a video, but I can describe it if you like.\n \n Once you install the extension and follow the setup instructions, you just go to a YouTube page. The extension adds an ugly button to the top-left of the page that says “bypass”. When you click it, Firefox launches `yt-dlp [the URL you’re at] -o - | mpv -` which basically just downloads the video and streams the output through the `mpv` video player. So now you’re watching just the video, with no web page necessary. """ +lang: "en" +isAdult: false +favouriteCount: 3 +score: 0 +lastActive: DateTime @1697268377 {#1731 : 2023-10-14 09:26:17.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@zaknenou@lemmy.dbzer0.com" ] +children: Doctrine\ORM\PersistentCollection {#2455 …} +nested: Doctrine\ORM\PersistentCollection {#2471 …} +votes: Doctrine\ORM\PersistentCollection {#2363 …} +reports: Doctrine\ORM\PersistentCollection {#2377 …} +favourites: Doctrine\ORM\PersistentCollection {#2359 …} +notifications: Doctrine\ORM\PersistentCollection {#2364 …} -id: 48009 -bodyTs: "'add':42 'basic':74 'button':45 'bypass':56 'click':59 'describ':18 'dlp':65 'download':76 'extens':27,41 'firefox':61 'follow':29 'go':35 'instal':25 'instruct':32 'launch':62 'left':50 'like':22 'mpv':72,85 'necessari':100 'o':71 'output':82 'page':39,53,99 'player':87 'put':11 're':69,91 'say':55 'setup':31 'stream':80 'think':4 'togeth':12 'top':49 'top-left':48 'ugli':44 'url':67 'video':14,78,86,95 'watch':92 'web':98 'youtub':38 'yt':64 'yt-dlp':63" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993221" +editedAt: null +createdAt: DateTimeImmutable @1697268377 {#2469 : 2023-10-14 09:26:17.0 +02:00 } +"title": 48009 } 1 => App\Entity\EntryComment {#2382} 0 => App\Entity\EntryComment {#1407 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#1883 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "That’s actually very helpful, thanks. I’ve been working on another project to open certain URLs in specific browsers/profiles, and wanted to be sure that I wasn’t missing a more obvious design pattern. The project is [here](https://gitlab.com/danielquinn/opening) if you’re curious." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697303255 {#1907 : 2023-10-14 19:07:35.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2391 …} +nested: Doctrine\ORM\PersistentCollection {#2369 …} +votes: Doctrine\ORM\PersistentCollection {#2392 …} +reports: Doctrine\ORM\PersistentCollection {#2395 …} +favourites: Doctrine\ORM\PersistentCollection {#1384 …} +notifications: Doctrine\ORM\PersistentCollection {#1383 …} -id: 48905 -bodyTs: "'/danielquinn/opening)':42 'actual':3 'anoth':12 'browsers/profiles':20 'certain':16 'curious':46 'design':34 'gitlab.com':41 'gitlab.com/danielquinn/opening)':40 'help':5 'miss':30 'obvious':33 'open':15 'pattern':35 'project':13,37 're':45 'specif':19 'sure':25 'thank':6 'url':17 've':8 'want':22 'wasn':28 'work':10" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/4002090" +editedAt: null +createdAt: DateTimeImmutable @1697303255 {#1908 : 2023-10-14 19:07:35.0 +02:00 } +"title": 48905 } ] -id: 5166 -titleTs: "'browser':13 'easier':14 'local':10 'made':2 'make':6 'play':7 'thing':4 'video':9 'youtub':8" -bodyTs: "'ad':10 'annoy':69 'anyway':76 'blocker':12,13 'blocker-block':11 'complain':6 'configur':70 'day':3 'dlp':36,59 'done':110 'easi':51 'end':75 'exercis':105 'extens':28,49 'feel':83 'firefox':27,48,54 'free':84 'friday':121 'fun':23 'go':97 'good':114 'harder':63 'hour':118 'isn':60 'know':92 'launch':56 'linux':81 'load':32 'm':96 'mention':18 'might':21 'mpv':42 'much':62,94 'new':9 'night':122 'play':38 'pour':99 'pretti':113 're':79 'requir':67 'someon':4 'though':64 'tri':86 'trick':53 'turn':44 'user':73,82 'video':40 'would':30 'write':25,46 'youtub':15 'yt':35,58 'yt-dlp':34,57" +cross: false +upVotes: 0 +downVotes: 0 +ranking: 1697325241 +visibility: "visible " +apId: "https://lemmy.ca/post/7150213" +editedAt: null +createdAt: DateTimeImmutable @1697238841 {#1424 : 2023-10-14 01:14:01.0 +02:00 } } +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +body: """ Honestly, because I didn’t know (a) that ff2mpv even existed, or that (b) mpv could play YouTube URLs directly. So thanks! I learnt two things today :-)\n \n It was still a fun project though 'cause I learnt how to write a Firefox extension *and* get the browser to launch programs on-click, so not a waste of time! """ +lang: "en" +isAdult: false +favouriteCount: 13 +score: 0 +lastActive: DateTime @1697288649 {#2380 : 2023-10-14 15:04:09.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@khorovodoved@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2384 …} +nested: Doctrine\ORM\PersistentCollection {#2379 …} +votes: Doctrine\ORM\PersistentCollection {#2383 …} +reports: Doctrine\ORM\PersistentCollection {#1906 …} +favourites: Doctrine\ORM\PersistentCollection {#1708 …} +notifications: Doctrine\ORM\PersistentCollection {#1410 …} -id: 48431 -bodyTs: "'b':14 'browser':47 'caus':35 'click':53 'could':16 'didn':4 'direct':20 'even':10 'exist':11 'extens':43 'ff2mpv':9 'firefox':42 'fun':32 'get':45 'honest':1 'know':6 'launch':49 'learnt':24,37 'mpv':15 'on-click':51 'play':17 'program':50 'project':33 'still':30 'thank':22 'thing':26 'though':34 'time':59 'today':27 'two':25 'url':19 'wast':57 'write':40 'youtub':18" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3997262" +editedAt: null +createdAt: DateTimeImmutable @1697288649 {#2386 : 2023-10-14 15:04:09.0 +02:00 } +"title": 48431 } ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\BoostComponent {#5347 +formDest: "entry_comment" +subject: App\Entity\EntryComment {#2382 +user: App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } +entry: App\Entity\Entry {#1609 +user: App\Entity\User {#260} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 +icon: Proxies\__CG__\App\Entity\Image {#3026 …} +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://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 [](https://ko-fi.com/dbzer0)[](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 {#3023 : 2024-10-22 09:16:09.0 +02:00 } +markedForDeletionAt: null +tags: null +moderators: Doctrine\ORM\PersistentCollection {#3027 …} +ownershipRequests: Doctrine\ORM\PersistentCollection {#3029 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#3031 …} +entries: Doctrine\ORM\PersistentCollection {#3033 …} +posts: Doctrine\ORM\PersistentCollection {#3035 …} +subscriptions: Doctrine\ORM\PersistentCollection {#3037 …} +bans: Doctrine\ORM\PersistentCollection {#3043 …} +reports: Doctrine\ORM\PersistentCollection {#3051 …} +badges: Doctrine\ORM\PersistentCollection {#3064 …} +logs: Doctrine\ORM\PersistentCollection {#3074 …} +awards: Doctrine\ORM\PersistentCollection {#3056 …} +categories: Doctrine\ORM\PersistentCollection {#3080 …} -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 {#3024 : 2024-02-24 05:17:09.0 +01:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197339 {#3025 : 2023-10-13 13:42:19.0 +02:00 } +__isInitialized__: true …2 } +image: Proxies\__CG__\App\Entity\Image {#1579 …} +domain: Proxies\__CG__\App\Entity\Domain {#1679 …} +slug: "I-made-a-thing-to-make-playing-YouTube-videos-locally" +title: "I made a thing to make playing YouTube videos locally from your browser easier" +url: "https://gitlab.com/danielquinn/video-bypass" +body: """ The other day someone was complaining about the new ad blocker-blocker on YouTube and I mentioned that it might be fun to write a Firefox extension that would just load up `yt-dlp` and play the video through `mpv`.\n \n It turns out, writing a Firefox extension is *easy* and tricking Firefox into launching `yt-dlp` isn’t much harder (though it does require some annoying configuration on the user’s end).\n \n Anyway, if you’re a Linux user, feel free to try it out. I don’t know how much I’m going to pour into this, but as an exercise of “can this be done”, it was pretty good for a few hours on a Friday night. """ +type: "link" +lang: "en" +isOc: false +hasEmbed: false +commentCount: 19 +favouriteCount: 200 +score: 0 +isAdult: false +sticky: false +lastActive: DateTime @1707557582 {#1421 : 2024-02-10 10:33:02.0 +01:00 } +ip: null +adaAmount: 0 +tags: null +mentions: null +comments: Doctrine\ORM\PersistentCollection {#1650 …} +votes: Doctrine\ORM\PersistentCollection {#1652 …} +reports: Doctrine\ORM\PersistentCollection {#1651 …} +favourites: Doctrine\ORM\PersistentCollection {#1527 …} +notifications: Doctrine\ORM\PersistentCollection {#1560 …} +badges: Doctrine\ORM\PersistentCollection {#1558 …} +children: [ 3 => App\Entity\EntryComment {#1611 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "Is there another way to do this? This hack was the only way I could figure out how to get Firefox to invoke an external binary, but if there’s a more conventional way to do it, I’d like to know 'cause I have another more complicated project in need of a pattern much like this one." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697268007 {#1596 : 2023-10-14 09:20:07.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2464 …} +nested: Doctrine\ORM\PersistentCollection {#1740 …} +votes: Doctrine\ORM\PersistentCollection {#1739 …} +reports: Doctrine\ORM\PersistentCollection {#1716 …} +favourites: Doctrine\ORM\PersistentCollection {#2461 …} +notifications: Doctrine\ORM\PersistentCollection {#2447 …} -id: 48003 -bodyTs: "'anoth':3,46 'binari':26 'caus':43 'complic':48 'convent':33 'could':15 'd':39 'extern':25 'figur':16 'firefox':21 'get':20 'hack':9 'invok':23 'know':42 'like':40,56 'much':55 'need':51 'one':58 'pattern':54 'project':49 'way':4,13,34" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993154" +editedAt: null +createdAt: DateTimeImmutable @1697268007 {#1555 : 2023-10-14 09:20:07.0 +02:00 } +"title": 48003 } 2 => App\Entity\EntryComment {#2467 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +body: """ I don’t think I have it in me to put together a video, but I can describe it if you like.\n \n Once you install the extension and follow the setup instructions, you just go to a YouTube page. The extension adds an ugly button to the top-left of the page that says “bypass”. When you click it, Firefox launches `yt-dlp [the URL you’re at] -o - | mpv -` which basically just downloads the video and streams the output through the `mpv` video player. So now you’re watching just the video, with no web page necessary. """ +lang: "en" +isAdult: false +favouriteCount: 3 +score: 0 +lastActive: DateTime @1697268377 {#1731 : 2023-10-14 09:26:17.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@zaknenou@lemmy.dbzer0.com" ] +children: Doctrine\ORM\PersistentCollection {#2455 …} +nested: Doctrine\ORM\PersistentCollection {#2471 …} +votes: Doctrine\ORM\PersistentCollection {#2363 …} +reports: Doctrine\ORM\PersistentCollection {#2377 …} +favourites: Doctrine\ORM\PersistentCollection {#2359 …} +notifications: Doctrine\ORM\PersistentCollection {#2364 …} -id: 48009 -bodyTs: "'add':42 'basic':74 'button':45 'bypass':56 'click':59 'describ':18 'dlp':65 'download':76 'extens':27,41 'firefox':61 'follow':29 'go':35 'instal':25 'instruct':32 'launch':62 'left':50 'like':22 'mpv':72,85 'necessari':100 'o':71 'output':82 'page':39,53,99 'player':87 'put':11 're':69,91 'say':55 'setup':31 'stream':80 'think':4 'togeth':12 'top':49 'top-left':48 'ugli':44 'url':67 'video':14,78,86,95 'watch':92 'web':98 'youtub':38 'yt':64 'yt-dlp':63" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993221" +editedAt: null +createdAt: DateTimeImmutable @1697268377 {#2469 : 2023-10-14 09:26:17.0 +02:00 } +"title": 48009 } 1 => App\Entity\EntryComment {#2382} 0 => App\Entity\EntryComment {#1407 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#1883 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "That’s actually very helpful, thanks. I’ve been working on another project to open certain URLs in specific browsers/profiles, and wanted to be sure that I wasn’t missing a more obvious design pattern. The project is [here](https://gitlab.com/danielquinn/opening) if you’re curious." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697303255 {#1907 : 2023-10-14 19:07:35.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2391 …} +nested: Doctrine\ORM\PersistentCollection {#2369 …} +votes: Doctrine\ORM\PersistentCollection {#2392 …} +reports: Doctrine\ORM\PersistentCollection {#2395 …} +favourites: Doctrine\ORM\PersistentCollection {#1384 …} +notifications: Doctrine\ORM\PersistentCollection {#1383 …} -id: 48905 -bodyTs: "'/danielquinn/opening)':42 'actual':3 'anoth':12 'browsers/profiles':20 'certain':16 'curious':46 'design':34 'gitlab.com':41 'gitlab.com/danielquinn/opening)':40 'help':5 'miss':30 'obvious':33 'open':15 'pattern':35 'project':13,37 're':45 'specif':19 'sure':25 'thank':6 'url':17 've':8 'want':22 'wasn':28 'work':10" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/4002090" +editedAt: null +createdAt: DateTimeImmutable @1697303255 {#1908 : 2023-10-14 19:07:35.0 +02:00 } +"title": 48905 } ] -id: 5166 -titleTs: "'browser':13 'easier':14 'local':10 'made':2 'make':6 'play':7 'thing':4 'video':9 'youtub':8" -bodyTs: "'ad':10 'annoy':69 'anyway':76 'blocker':12,13 'blocker-block':11 'complain':6 'configur':70 'day':3 'dlp':36,59 'done':110 'easi':51 'end':75 'exercis':105 'extens':28,49 'feel':83 'firefox':27,48,54 'free':84 'friday':121 'fun':23 'go':97 'good':114 'harder':63 'hour':118 'isn':60 'know':92 'launch':56 'linux':81 'load':32 'm':96 'mention':18 'might':21 'mpv':42 'much':62,94 'new':9 'night':122 'play':38 'pour':99 'pretti':113 're':79 'requir':67 'someon':4 'though':64 'tri':86 'trick':53 'turn':44 'user':73,82 'video':40 'would':30 'write':25,46 'youtub':15 'yt':35,58 'yt-dlp':34,57" +cross: false +upVotes: 0 +downVotes: 0 +ranking: 1697325241 +visibility: "visible " +apId: "https://lemmy.ca/post/7150213" +editedAt: null +createdAt: DateTimeImmutable @1697238841 {#1424 : 2023-10-14 01:14:01.0 +02:00 } } +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +body: """ Honestly, because I didn’t know (a) that ff2mpv even existed, or that (b) mpv could play YouTube URLs directly. So thanks! I learnt two things today :-)\n \n It was still a fun project though 'cause I learnt how to write a Firefox extension *and* get the browser to launch programs on-click, so not a waste of time! """ +lang: "en" +isAdult: false +favouriteCount: 13 +score: 0 +lastActive: DateTime @1697288649 {#2380 : 2023-10-14 15:04:09.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@khorovodoved@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2384 …} +nested: Doctrine\ORM\PersistentCollection {#2379 …} +votes: Doctrine\ORM\PersistentCollection {#2383 …} +reports: Doctrine\ORM\PersistentCollection {#1906 …} +favourites: Doctrine\ORM\PersistentCollection {#1708 …} +notifications: Doctrine\ORM\PersistentCollection {#1410 …} -id: 48431 -bodyTs: "'b':14 'browser':47 'caus':35 'click':53 'could':16 'didn':4 'direct':20 'even':10 'exist':11 'extens':43 'ff2mpv':9 'firefox':42 'fun':32 'get':45 'honest':1 'know':6 'launch':49 'learnt':24,37 'mpv':15 'on-click':51 'play':17 'program':50 'project':33 'still':30 'thank':22 'thing':26 'though':34 'time':59 'today':27 'two':25 'url':19 'wast':57 'write':40 'youtub':18" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3997262" +editedAt: null +createdAt: DateTimeImmutable @1697288649 {#2386 : 2023-10-14 15:04:09.0 +02:00 } +"title": 48431 } -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …} } |
entry_comment | App\Twig\Components\EntryCommentComponent | 14.0 MiB | 90.54 ms | |
---|---|---|---|---|
Input props | [ "comment" => App\Entity\EntryComment {#1407 +user: App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } +entry: App\Entity\Entry {#1609 +user: App\Entity\User {#260} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 +icon: Proxies\__CG__\App\Entity\Image {#3026 …} +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://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 [](https://ko-fi.com/dbzer0)[](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 {#3023 : 2024-10-22 09:16:09.0 +02:00 } +markedForDeletionAt: null +tags: null +moderators: Doctrine\ORM\PersistentCollection {#3027 …} +ownershipRequests: Doctrine\ORM\PersistentCollection {#3029 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#3031 …} +entries: Doctrine\ORM\PersistentCollection {#3033 …} +posts: Doctrine\ORM\PersistentCollection {#3035 …} +subscriptions: Doctrine\ORM\PersistentCollection {#3037 …} +bans: Doctrine\ORM\PersistentCollection {#3043 …} +reports: Doctrine\ORM\PersistentCollection {#3051 …} +badges: Doctrine\ORM\PersistentCollection {#3064 …} +logs: Doctrine\ORM\PersistentCollection {#3074 …} +awards: Doctrine\ORM\PersistentCollection {#3056 …} +categories: Doctrine\ORM\PersistentCollection {#3080 …} -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 {#3024 : 2024-02-24 05:17:09.0 +01:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197339 {#3025 : 2023-10-13 13:42:19.0 +02:00 } +__isInitialized__: true …2 } +image: Proxies\__CG__\App\Entity\Image {#1579 …} +domain: Proxies\__CG__\App\Entity\Domain {#1679 …} +slug: "I-made-a-thing-to-make-playing-YouTube-videos-locally" +title: "I made a thing to make playing YouTube videos locally from your browser easier" +url: "https://gitlab.com/danielquinn/video-bypass" +body: """ The other day someone was complaining about the new ad blocker-blocker on YouTube and I mentioned that it might be fun to write a Firefox extension that would just load up `yt-dlp` and play the video through `mpv`.\n \n It turns out, writing a Firefox extension is *easy* and tricking Firefox into launching `yt-dlp` isn’t much harder (though it does require some annoying configuration on the user’s end).\n \n Anyway, if you’re a Linux user, feel free to try it out. I don’t know how much I’m going to pour into this, but as an exercise of “can this be done”, it was pretty good for a few hours on a Friday night. """ +type: "link" +lang: "en" +isOc: false +hasEmbed: false +commentCount: 19 +favouriteCount: 200 +score: 0 +isAdult: false +sticky: false +lastActive: DateTime @1707557582 {#1421 : 2024-02-10 10:33:02.0 +01:00 } +ip: null +adaAmount: 0 +tags: null +mentions: null +comments: Doctrine\ORM\PersistentCollection {#1650 …} +votes: Doctrine\ORM\PersistentCollection {#1652 …} +reports: Doctrine\ORM\PersistentCollection {#1651 …} +favourites: Doctrine\ORM\PersistentCollection {#1527 …} +notifications: Doctrine\ORM\PersistentCollection {#1560 …} +badges: Doctrine\ORM\PersistentCollection {#1558 …} +children: [ 3 => App\Entity\EntryComment {#1611 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "Is there another way to do this? This hack was the only way I could figure out how to get Firefox to invoke an external binary, but if there’s a more conventional way to do it, I’d like to know 'cause I have another more complicated project in need of a pattern much like this one." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697268007 {#1596 : 2023-10-14 09:20:07.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2464 …} +nested: Doctrine\ORM\PersistentCollection {#1740 …} +votes: Doctrine\ORM\PersistentCollection {#1739 …} +reports: Doctrine\ORM\PersistentCollection {#1716 …} +favourites: Doctrine\ORM\PersistentCollection {#2461 …} +notifications: Doctrine\ORM\PersistentCollection {#2447 …} -id: 48003 -bodyTs: "'anoth':3,46 'binari':26 'caus':43 'complic':48 'convent':33 'could':15 'd':39 'extern':25 'figur':16 'firefox':21 'get':20 'hack':9 'invok':23 'know':42 'like':40,56 'much':55 'need':51 'one':58 'pattern':54 'project':49 'way':4,13,34" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993154" +editedAt: null +createdAt: DateTimeImmutable @1697268007 {#1555 : 2023-10-14 09:20:07.0 +02:00 } +"title": 48003 } 2 => App\Entity\EntryComment {#2467 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +body: """ I don’t think I have it in me to put together a video, but I can describe it if you like.\n \n Once you install the extension and follow the setup instructions, you just go to a YouTube page. The extension adds an ugly button to the top-left of the page that says “bypass”. When you click it, Firefox launches `yt-dlp [the URL you’re at] -o - | mpv -` which basically just downloads the video and streams the output through the `mpv` video player. So now you’re watching just the video, with no web page necessary. """ +lang: "en" +isAdult: false +favouriteCount: 3 +score: 0 +lastActive: DateTime @1697268377 {#1731 : 2023-10-14 09:26:17.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@zaknenou@lemmy.dbzer0.com" ] +children: Doctrine\ORM\PersistentCollection {#2455 …} +nested: Doctrine\ORM\PersistentCollection {#2471 …} +votes: Doctrine\ORM\PersistentCollection {#2363 …} +reports: Doctrine\ORM\PersistentCollection {#2377 …} +favourites: Doctrine\ORM\PersistentCollection {#2359 …} +notifications: Doctrine\ORM\PersistentCollection {#2364 …} -id: 48009 -bodyTs: "'add':42 'basic':74 'button':45 'bypass':56 'click':59 'describ':18 'dlp':65 'download':76 'extens':27,41 'firefox':61 'follow':29 'go':35 'instal':25 'instruct':32 'launch':62 'left':50 'like':22 'mpv':72,85 'necessari':100 'o':71 'output':82 'page':39,53,99 'player':87 'put':11 're':69,91 'say':55 'setup':31 'stream':80 'think':4 'togeth':12 'top':49 'top-left':48 'ugli':44 'url':67 'video':14,78,86,95 'watch':92 'web':98 'youtub':38 'yt':64 'yt-dlp':63" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993221" +editedAt: null +createdAt: DateTimeImmutable @1697268377 {#2469 : 2023-10-14 09:26:17.0 +02:00 } +"title": 48009 } 1 => App\Entity\EntryComment {#2382 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +body: """ Honestly, because I didn’t know (a) that ff2mpv even existed, or that (b) mpv could play YouTube URLs directly. So thanks! I learnt two things today :-)\n \n It was still a fun project though 'cause I learnt how to write a Firefox extension *and* get the browser to launch programs on-click, so not a waste of time! """ +lang: "en" +isAdult: false +favouriteCount: 13 +score: 0 +lastActive: DateTime @1697288649 {#2380 : 2023-10-14 15:04:09.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@khorovodoved@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2384 …} +nested: Doctrine\ORM\PersistentCollection {#2379 …} +votes: Doctrine\ORM\PersistentCollection {#2383 …} +reports: Doctrine\ORM\PersistentCollection {#1906 …} +favourites: Doctrine\ORM\PersistentCollection {#1708 …} +notifications: Doctrine\ORM\PersistentCollection {#1410 …} -id: 48431 -bodyTs: "'b':14 'browser':47 'caus':35 'click':53 'could':16 'didn':4 'direct':20 'even':10 'exist':11 'extens':43 'ff2mpv':9 'firefox':42 'fun':32 'get':45 'honest':1 'know':6 'launch':49 'learnt':24,37 'mpv':15 'on-click':51 'play':17 'program':50 'project':33 'still':30 'thank':22 'thing':26 'though':34 'time':59 'today':27 'two':25 'url':19 'wast':57 'write':40 'youtub':18" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3997262" +editedAt: null +createdAt: DateTimeImmutable @1697288649 {#2386 : 2023-10-14 15:04:09.0 +02:00 } +"title": 48431 } 0 => App\Entity\EntryComment {#1407} ] -id: 5166 -titleTs: "'browser':13 'easier':14 'local':10 'made':2 'make':6 'play':7 'thing':4 'video':9 'youtub':8" -bodyTs: "'ad':10 'annoy':69 'anyway':76 'blocker':12,13 'blocker-block':11 'complain':6 'configur':70 'day':3 'dlp':36,59 'done':110 'easi':51 'end':75 'exercis':105 'extens':28,49 'feel':83 'firefox':27,48,54 'free':84 'friday':121 'fun':23 'go':97 'good':114 'harder':63 'hour':118 'isn':60 'know':92 'launch':56 'linux':81 'load':32 'm':96 'mention':18 'might':21 'mpv':42 'much':62,94 'new':9 'night':122 'play':38 'pour':99 'pretti':113 're':79 'requir':67 'someon':4 'though':64 'tri':86 'trick':53 'turn':44 'user':73,82 'video':40 'would':30 'write':25,46 'youtub':15 'yt':35,58 'yt-dlp':34,57" +cross: false +upVotes: 0 +downVotes: 0 +ranking: 1697325241 +visibility: "visible " +apId: "https://lemmy.ca/post/7150213" +editedAt: null +createdAt: DateTimeImmutable @1697238841 {#1424 : 2023-10-14 01:14:01.0 +02:00 } } +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#1883 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "That’s actually very helpful, thanks. I’ve been working on another project to open certain URLs in specific browsers/profiles, and wanted to be sure that I wasn’t missing a more obvious design pattern. The project is [here](https://gitlab.com/danielquinn/opening) if you’re curious." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697303255 {#1907 : 2023-10-14 19:07:35.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2391 …} +nested: Doctrine\ORM\PersistentCollection {#2369 …} +votes: Doctrine\ORM\PersistentCollection {#2392 …} +reports: Doctrine\ORM\PersistentCollection {#2395 …} +favourites: Doctrine\ORM\PersistentCollection {#1384 …} +notifications: Doctrine\ORM\PersistentCollection {#1383 …} -id: 48905 -bodyTs: "'/danielquinn/opening)':42 'actual':3 'anoth':12 'browsers/profiles':20 'certain':16 'curious':46 'design':34 'gitlab.com':41 'gitlab.com/danielquinn/opening)':40 'help':5 'miss':30 'obvious':33 'open':15 'pattern':35 'project':13,37 're':45 'specif':19 'sure':25 'thank':6 'url':17 've':8 'want':22 'wasn':28 'work':10" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/4002090" +editedAt: null +createdAt: DateTimeImmutable @1697303255 {#1908 : 2023-10-14 19:07:35.0 +02:00 } +"title": 48905 } "showEntryTitle" => false "dateAsUrl" => true "showMagazineName" => false ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\EntryCommentComponent {#5598 +comment: App\Entity\EntryComment {#1407 +user: App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } +entry: App\Entity\Entry {#1609 +user: App\Entity\User {#260} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 +icon: Proxies\__CG__\App\Entity\Image {#3026 …} +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://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 [](https://ko-fi.com/dbzer0)[](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 {#3023 : 2024-10-22 09:16:09.0 +02:00 } +markedForDeletionAt: null +tags: null +moderators: Doctrine\ORM\PersistentCollection {#3027 …} +ownershipRequests: Doctrine\ORM\PersistentCollection {#3029 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#3031 …} +entries: Doctrine\ORM\PersistentCollection {#3033 …} +posts: Doctrine\ORM\PersistentCollection {#3035 …} +subscriptions: Doctrine\ORM\PersistentCollection {#3037 …} +bans: Doctrine\ORM\PersistentCollection {#3043 …} +reports: Doctrine\ORM\PersistentCollection {#3051 …} +badges: Doctrine\ORM\PersistentCollection {#3064 …} +logs: Doctrine\ORM\PersistentCollection {#3074 …} +awards: Doctrine\ORM\PersistentCollection {#3056 …} +categories: Doctrine\ORM\PersistentCollection {#3080 …} -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 {#3024 : 2024-02-24 05:17:09.0 +01:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197339 {#3025 : 2023-10-13 13:42:19.0 +02:00 } +__isInitialized__: true …2 } +image: Proxies\__CG__\App\Entity\Image {#1579 …} +domain: Proxies\__CG__\App\Entity\Domain {#1679 …} +slug: "I-made-a-thing-to-make-playing-YouTube-videos-locally" +title: "I made a thing to make playing YouTube videos locally from your browser easier" +url: "https://gitlab.com/danielquinn/video-bypass" +body: """ The other day someone was complaining about the new ad blocker-blocker on YouTube and I mentioned that it might be fun to write a Firefox extension that would just load up `yt-dlp` and play the video through `mpv`.\n \n It turns out, writing a Firefox extension is *easy* and tricking Firefox into launching `yt-dlp` isn’t much harder (though it does require some annoying configuration on the user’s end).\n \n Anyway, if you’re a Linux user, feel free to try it out. I don’t know how much I’m going to pour into this, but as an exercise of “can this be done”, it was pretty good for a few hours on a Friday night. """ +type: "link" +lang: "en" +isOc: false +hasEmbed: false +commentCount: 19 +favouriteCount: 200 +score: 0 +isAdult: false +sticky: false +lastActive: DateTime @1707557582 {#1421 : 2024-02-10 10:33:02.0 +01:00 } +ip: null +adaAmount: 0 +tags: null +mentions: null +comments: Doctrine\ORM\PersistentCollection {#1650 …} +votes: Doctrine\ORM\PersistentCollection {#1652 …} +reports: Doctrine\ORM\PersistentCollection {#1651 …} +favourites: Doctrine\ORM\PersistentCollection {#1527 …} +notifications: Doctrine\ORM\PersistentCollection {#1560 …} +badges: Doctrine\ORM\PersistentCollection {#1558 …} +children: [ 3 => App\Entity\EntryComment {#1611 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "Is there another way to do this? This hack was the only way I could figure out how to get Firefox to invoke an external binary, but if there’s a more conventional way to do it, I’d like to know 'cause I have another more complicated project in need of a pattern much like this one." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697268007 {#1596 : 2023-10-14 09:20:07.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2464 …} +nested: Doctrine\ORM\PersistentCollection {#1740 …} +votes: Doctrine\ORM\PersistentCollection {#1739 …} +reports: Doctrine\ORM\PersistentCollection {#1716 …} +favourites: Doctrine\ORM\PersistentCollection {#2461 …} +notifications: Doctrine\ORM\PersistentCollection {#2447 …} -id: 48003 -bodyTs: "'anoth':3,46 'binari':26 'caus':43 'complic':48 'convent':33 'could':15 'd':39 'extern':25 'figur':16 'firefox':21 'get':20 'hack':9 'invok':23 'know':42 'like':40,56 'much':55 'need':51 'one':58 'pattern':54 'project':49 'way':4,13,34" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993154" +editedAt: null +createdAt: DateTimeImmutable @1697268007 {#1555 : 2023-10-14 09:20:07.0 +02:00 } +"title": 48003 } 2 => App\Entity\EntryComment {#2467 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +body: """ I don’t think I have it in me to put together a video, but I can describe it if you like.\n \n Once you install the extension and follow the setup instructions, you just go to a YouTube page. The extension adds an ugly button to the top-left of the page that says “bypass”. When you click it, Firefox launches `yt-dlp [the URL you’re at] -o - | mpv -` which basically just downloads the video and streams the output through the `mpv` video player. So now you’re watching just the video, with no web page necessary. """ +lang: "en" +isAdult: false +favouriteCount: 3 +score: 0 +lastActive: DateTime @1697268377 {#1731 : 2023-10-14 09:26:17.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@zaknenou@lemmy.dbzer0.com" ] +children: Doctrine\ORM\PersistentCollection {#2455 …} +nested: Doctrine\ORM\PersistentCollection {#2471 …} +votes: Doctrine\ORM\PersistentCollection {#2363 …} +reports: Doctrine\ORM\PersistentCollection {#2377 …} +favourites: Doctrine\ORM\PersistentCollection {#2359 …} +notifications: Doctrine\ORM\PersistentCollection {#2364 …} -id: 48009 -bodyTs: "'add':42 'basic':74 'button':45 'bypass':56 'click':59 'describ':18 'dlp':65 'download':76 'extens':27,41 'firefox':61 'follow':29 'go':35 'instal':25 'instruct':32 'launch':62 'left':50 'like':22 'mpv':72,85 'necessari':100 'o':71 'output':82 'page':39,53,99 'player':87 'put':11 're':69,91 'say':55 'setup':31 'stream':80 'think':4 'togeth':12 'top':49 'top-left':48 'ugli':44 'url':67 'video':14,78,86,95 'watch':92 'web':98 'youtub':38 'yt':64 'yt-dlp':63" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993221" +editedAt: null +createdAt: DateTimeImmutable @1697268377 {#2469 : 2023-10-14 09:26:17.0 +02:00 } +"title": 48009 } 1 => App\Entity\EntryComment {#2382 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +body: """ Honestly, because I didn’t know (a) that ff2mpv even existed, or that (b) mpv could play YouTube URLs directly. So thanks! I learnt two things today :-)\n \n It was still a fun project though 'cause I learnt how to write a Firefox extension *and* get the browser to launch programs on-click, so not a waste of time! """ +lang: "en" +isAdult: false +favouriteCount: 13 +score: 0 +lastActive: DateTime @1697288649 {#2380 : 2023-10-14 15:04:09.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@khorovodoved@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2384 …} +nested: Doctrine\ORM\PersistentCollection {#2379 …} +votes: Doctrine\ORM\PersistentCollection {#2383 …} +reports: Doctrine\ORM\PersistentCollection {#1906 …} +favourites: Doctrine\ORM\PersistentCollection {#1708 …} +notifications: Doctrine\ORM\PersistentCollection {#1410 …} -id: 48431 -bodyTs: "'b':14 'browser':47 'caus':35 'click':53 'could':16 'didn':4 'direct':20 'even':10 'exist':11 'extens':43 'ff2mpv':9 'firefox':42 'fun':32 'get':45 'honest':1 'know':6 'launch':49 'learnt':24,37 'mpv':15 'on-click':51 'play':17 'program':50 'project':33 'still':30 'thank':22 'thing':26 'though':34 'time':59 'today':27 'two':25 'url':19 'wast':57 'write':40 'youtub':18" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3997262" +editedAt: null +createdAt: DateTimeImmutable @1697288649 {#2386 : 2023-10-14 15:04:09.0 +02:00 } +"title": 48431 } 0 => App\Entity\EntryComment {#1407} ] -id: 5166 -titleTs: "'browser':13 'easier':14 'local':10 'made':2 'make':6 'play':7 'thing':4 'video':9 'youtub':8" -bodyTs: "'ad':10 'annoy':69 'anyway':76 'blocker':12,13 'blocker-block':11 'complain':6 'configur':70 'day':3 'dlp':36,59 'done':110 'easi':51 'end':75 'exercis':105 'extens':28,49 'feel':83 'firefox':27,48,54 'free':84 'friday':121 'fun':23 'go':97 'good':114 'harder':63 'hour':118 'isn':60 'know':92 'launch':56 'linux':81 'load':32 'm':96 'mention':18 'might':21 'mpv':42 'much':62,94 'new':9 'night':122 'play':38 'pour':99 'pretti':113 're':79 'requir':67 'someon':4 'though':64 'tri':86 'trick':53 'turn':44 'user':73,82 'video':40 'would':30 'write':25,46 'youtub':15 'yt':35,58 'yt-dlp':34,57" +cross: false +upVotes: 0 +downVotes: 0 +ranking: 1697325241 +visibility: "visible " +apId: "https://lemmy.ca/post/7150213" +editedAt: null +createdAt: DateTimeImmutable @1697238841 {#1424 : 2023-10-14 01:14:01.0 +02:00 } } +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#1883 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "That’s actually very helpful, thanks. I’ve been working on another project to open certain URLs in specific browsers/profiles, and wanted to be sure that I wasn’t missing a more obvious design pattern. The project is [here](https://gitlab.com/danielquinn/opening) if you’re curious." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697303255 {#1907 : 2023-10-14 19:07:35.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2391 …} +nested: Doctrine\ORM\PersistentCollection {#2369 …} +votes: Doctrine\ORM\PersistentCollection {#2392 …} +reports: Doctrine\ORM\PersistentCollection {#2395 …} +favourites: Doctrine\ORM\PersistentCollection {#1384 …} +notifications: Doctrine\ORM\PersistentCollection {#1383 …} -id: 48905 -bodyTs: "'/danielquinn/opening)':42 'actual':3 'anoth':12 'browsers/profiles':20 'certain':16 'curious':46 'design':34 'gitlab.com':41 'gitlab.com/danielquinn/opening)':40 'help':5 'miss':30 'obvious':33 'open':15 'pattern':35 'project':13,37 're':45 'specif':19 'sure':25 'thank':6 'url':17 've':8 'want':22 'wasn':28 'work':10" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/4002090" +editedAt: null +createdAt: DateTimeImmutable @1697303255 {#1908 : 2023-10-14 19:07:35.0 +02:00 } +"title": 48905 } +showMagazineName: false +showEntryTitle: false +showNested: false +level: 1 +canSeeTrash: false +dateAsUrl: true -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …} -authorizationChecker: Symfony\Component\Security\Core\Authorization\AuthorizationChecker {#931 …} } |
user_inline | App\Twig\Components\UserInlineComponent | 14.0 MiB | 0.14 ms | |
---|---|---|---|---|
Input props | [ "user" => App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } "showAvatar" => false ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\UserInlineComponent {#5643 +user: App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } +showAvatar: false } |
date | App\Twig\Components\DateComponent | 14.0 MiB | 0.19 ms | |
---|---|---|---|---|
Input props | [ "date" => DateTimeImmutable @1697303255 {#1908 : 2023-10-14 19:07:35.0 +02:00 } ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\DateComponent {#5699 +date: DateTimeImmutable @1697303255 {#1908 : 2023-10-14 19:07:35.0 +02:00 } } |
date_edited | App\Twig\Components\DateEditedComponent | 14.0 MiB | 0.09 ms | |
---|---|---|---|---|
Input props | [ "createdAt" => DateTimeImmutable @1697303255 {#1908 : 2023-10-14 19:07:35.0 +02:00 } "editedAt" => null ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\DateEditedComponent {#5753 +createdAt: DateTimeImmutable @1697303255 {#1908 : 2023-10-14 19:07:35.0 +02:00 } +editedAt: null } |
user_avatar | App\Twig\Components\UserAvatarComponent | 14.0 MiB | 0.26 ms | |
---|---|---|---|---|
Input props | [ "user" => App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } "width" => 40 "height" => 40 "asLink" => true ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\UserAvatarComponent {#5807 +width: 40 +height: 40 +user: App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } +asLink: true } |
vote | App\Twig\Components\VoteComponent | 14.0 MiB | 0.38 ms | |
---|---|---|---|---|
Input props | [ "subject" => App\Entity\EntryComment {#1407 +user: App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } +entry: App\Entity\Entry {#1609 +user: App\Entity\User {#260} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 +icon: Proxies\__CG__\App\Entity\Image {#3026 …} +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://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 [](https://ko-fi.com/dbzer0)[](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 {#3023 : 2024-10-22 09:16:09.0 +02:00 } +markedForDeletionAt: null +tags: null +moderators: Doctrine\ORM\PersistentCollection {#3027 …} +ownershipRequests: Doctrine\ORM\PersistentCollection {#3029 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#3031 …} +entries: Doctrine\ORM\PersistentCollection {#3033 …} +posts: Doctrine\ORM\PersistentCollection {#3035 …} +subscriptions: Doctrine\ORM\PersistentCollection {#3037 …} +bans: Doctrine\ORM\PersistentCollection {#3043 …} +reports: Doctrine\ORM\PersistentCollection {#3051 …} +badges: Doctrine\ORM\PersistentCollection {#3064 …} +logs: Doctrine\ORM\PersistentCollection {#3074 …} +awards: Doctrine\ORM\PersistentCollection {#3056 …} +categories: Doctrine\ORM\PersistentCollection {#3080 …} -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 {#3024 : 2024-02-24 05:17:09.0 +01:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197339 {#3025 : 2023-10-13 13:42:19.0 +02:00 } +__isInitialized__: true …2 } +image: Proxies\__CG__\App\Entity\Image {#1579 …} +domain: Proxies\__CG__\App\Entity\Domain {#1679 …} +slug: "I-made-a-thing-to-make-playing-YouTube-videos-locally" +title: "I made a thing to make playing YouTube videos locally from your browser easier" +url: "https://gitlab.com/danielquinn/video-bypass" +body: """ The other day someone was complaining about the new ad blocker-blocker on YouTube and I mentioned that it might be fun to write a Firefox extension that would just load up `yt-dlp` and play the video through `mpv`.\n \n It turns out, writing a Firefox extension is *easy* and tricking Firefox into launching `yt-dlp` isn’t much harder (though it does require some annoying configuration on the user’s end).\n \n Anyway, if you’re a Linux user, feel free to try it out. I don’t know how much I’m going to pour into this, but as an exercise of “can this be done”, it was pretty good for a few hours on a Friday night. """ +type: "link" +lang: "en" +isOc: false +hasEmbed: false +commentCount: 19 +favouriteCount: 200 +score: 0 +isAdult: false +sticky: false +lastActive: DateTime @1707557582 {#1421 : 2024-02-10 10:33:02.0 +01:00 } +ip: null +adaAmount: 0 +tags: null +mentions: null +comments: Doctrine\ORM\PersistentCollection {#1650 …} +votes: Doctrine\ORM\PersistentCollection {#1652 …} +reports: Doctrine\ORM\PersistentCollection {#1651 …} +favourites: Doctrine\ORM\PersistentCollection {#1527 …} +notifications: Doctrine\ORM\PersistentCollection {#1560 …} +badges: Doctrine\ORM\PersistentCollection {#1558 …} +children: [ 3 => App\Entity\EntryComment {#1611 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "Is there another way to do this? This hack was the only way I could figure out how to get Firefox to invoke an external binary, but if there’s a more conventional way to do it, I’d like to know 'cause I have another more complicated project in need of a pattern much like this one." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697268007 {#1596 : 2023-10-14 09:20:07.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2464 …} +nested: Doctrine\ORM\PersistentCollection {#1740 …} +votes: Doctrine\ORM\PersistentCollection {#1739 …} +reports: Doctrine\ORM\PersistentCollection {#1716 …} +favourites: Doctrine\ORM\PersistentCollection {#2461 …} +notifications: Doctrine\ORM\PersistentCollection {#2447 …} -id: 48003 -bodyTs: "'anoth':3,46 'binari':26 'caus':43 'complic':48 'convent':33 'could':15 'd':39 'extern':25 'figur':16 'firefox':21 'get':20 'hack':9 'invok':23 'know':42 'like':40,56 'much':55 'need':51 'one':58 'pattern':54 'project':49 'way':4,13,34" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993154" +editedAt: null +createdAt: DateTimeImmutable @1697268007 {#1555 : 2023-10-14 09:20:07.0 +02:00 } +"title": 48003 } 2 => App\Entity\EntryComment {#2467 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +body: """ I don’t think I have it in me to put together a video, but I can describe it if you like.\n \n Once you install the extension and follow the setup instructions, you just go to a YouTube page. The extension adds an ugly button to the top-left of the page that says “bypass”. When you click it, Firefox launches `yt-dlp [the URL you’re at] -o - | mpv -` which basically just downloads the video and streams the output through the `mpv` video player. So now you’re watching just the video, with no web page necessary. """ +lang: "en" +isAdult: false +favouriteCount: 3 +score: 0 +lastActive: DateTime @1697268377 {#1731 : 2023-10-14 09:26:17.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@zaknenou@lemmy.dbzer0.com" ] +children: Doctrine\ORM\PersistentCollection {#2455 …} +nested: Doctrine\ORM\PersistentCollection {#2471 …} +votes: Doctrine\ORM\PersistentCollection {#2363 …} +reports: Doctrine\ORM\PersistentCollection {#2377 …} +favourites: Doctrine\ORM\PersistentCollection {#2359 …} +notifications: Doctrine\ORM\PersistentCollection {#2364 …} -id: 48009 -bodyTs: "'add':42 'basic':74 'button':45 'bypass':56 'click':59 'describ':18 'dlp':65 'download':76 'extens':27,41 'firefox':61 'follow':29 'go':35 'instal':25 'instruct':32 'launch':62 'left':50 'like':22 'mpv':72,85 'necessari':100 'o':71 'output':82 'page':39,53,99 'player':87 'put':11 're':69,91 'say':55 'setup':31 'stream':80 'think':4 'togeth':12 'top':49 'top-left':48 'ugli':44 'url':67 'video':14,78,86,95 'watch':92 'web':98 'youtub':38 'yt':64 'yt-dlp':63" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993221" +editedAt: null +createdAt: DateTimeImmutable @1697268377 {#2469 : 2023-10-14 09:26:17.0 +02:00 } +"title": 48009 } 1 => App\Entity\EntryComment {#2382 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +body: """ Honestly, because I didn’t know (a) that ff2mpv even existed, or that (b) mpv could play YouTube URLs directly. So thanks! I learnt two things today :-)\n \n It was still a fun project though 'cause I learnt how to write a Firefox extension *and* get the browser to launch programs on-click, so not a waste of time! """ +lang: "en" +isAdult: false +favouriteCount: 13 +score: 0 +lastActive: DateTime @1697288649 {#2380 : 2023-10-14 15:04:09.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@khorovodoved@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2384 …} +nested: Doctrine\ORM\PersistentCollection {#2379 …} +votes: Doctrine\ORM\PersistentCollection {#2383 …} +reports: Doctrine\ORM\PersistentCollection {#1906 …} +favourites: Doctrine\ORM\PersistentCollection {#1708 …} +notifications: Doctrine\ORM\PersistentCollection {#1410 …} -id: 48431 -bodyTs: "'b':14 'browser':47 'caus':35 'click':53 'could':16 'didn':4 'direct':20 'even':10 'exist':11 'extens':43 'ff2mpv':9 'firefox':42 'fun':32 'get':45 'honest':1 'know':6 'launch':49 'learnt':24,37 'mpv':15 'on-click':51 'play':17 'program':50 'project':33 'still':30 'thank':22 'thing':26 'though':34 'time':59 'today':27 'two':25 'url':19 'wast':57 'write':40 'youtub':18" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3997262" +editedAt: null +createdAt: DateTimeImmutable @1697288649 {#2386 : 2023-10-14 15:04:09.0 +02:00 } +"title": 48431 } 0 => App\Entity\EntryComment {#1407} ] -id: 5166 -titleTs: "'browser':13 'easier':14 'local':10 'made':2 'make':6 'play':7 'thing':4 'video':9 'youtub':8" -bodyTs: "'ad':10 'annoy':69 'anyway':76 'blocker':12,13 'blocker-block':11 'complain':6 'configur':70 'day':3 'dlp':36,59 'done':110 'easi':51 'end':75 'exercis':105 'extens':28,49 'feel':83 'firefox':27,48,54 'free':84 'friday':121 'fun':23 'go':97 'good':114 'harder':63 'hour':118 'isn':60 'know':92 'launch':56 'linux':81 'load':32 'm':96 'mention':18 'might':21 'mpv':42 'much':62,94 'new':9 'night':122 'play':38 'pour':99 'pretti':113 're':79 'requir':67 'someon':4 'though':64 'tri':86 'trick':53 'turn':44 'user':73,82 'video':40 'would':30 'write':25,46 'youtub':15 'yt':35,58 'yt-dlp':34,57" +cross: false +upVotes: 0 +downVotes: 0 +ranking: 1697325241 +visibility: "visible " +apId: "https://lemmy.ca/post/7150213" +editedAt: null +createdAt: DateTimeImmutable @1697238841 {#1424 : 2023-10-14 01:14:01.0 +02:00 } } +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#1883 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "That’s actually very helpful, thanks. I’ve been working on another project to open certain URLs in specific browsers/profiles, and wanted to be sure that I wasn’t missing a more obvious design pattern. The project is [here](https://gitlab.com/danielquinn/opening) if you’re curious." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697303255 {#1907 : 2023-10-14 19:07:35.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2391 …} +nested: Doctrine\ORM\PersistentCollection {#2369 …} +votes: Doctrine\ORM\PersistentCollection {#2392 …} +reports: Doctrine\ORM\PersistentCollection {#2395 …} +favourites: Doctrine\ORM\PersistentCollection {#1384 …} +notifications: Doctrine\ORM\PersistentCollection {#1383 …} -id: 48905 -bodyTs: "'/danielquinn/opening)':42 'actual':3 'anoth':12 'browsers/profiles':20 'certain':16 'curious':46 'design':34 'gitlab.com':41 'gitlab.com/danielquinn/opening)':40 'help':5 'miss':30 'obvious':33 'open':15 'pattern':35 'project':13,37 're':45 'specif':19 'sure':25 'thank':6 'url':17 've':8 'want':22 'wasn':28 'work':10" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/4002090" +editedAt: null +createdAt: DateTimeImmutable @1697303255 {#1908 : 2023-10-14 19:07:35.0 +02:00 } +"title": 48905 } ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\VoteComponent {#5883 +subject: App\Entity\EntryComment {#1407 +user: App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } +entry: App\Entity\Entry {#1609 +user: App\Entity\User {#260} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 +icon: Proxies\__CG__\App\Entity\Image {#3026 …} +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://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 [](https://ko-fi.com/dbzer0)[](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 {#3023 : 2024-10-22 09:16:09.0 +02:00 } +markedForDeletionAt: null +tags: null +moderators: Doctrine\ORM\PersistentCollection {#3027 …} +ownershipRequests: Doctrine\ORM\PersistentCollection {#3029 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#3031 …} +entries: Doctrine\ORM\PersistentCollection {#3033 …} +posts: Doctrine\ORM\PersistentCollection {#3035 …} +subscriptions: Doctrine\ORM\PersistentCollection {#3037 …} +bans: Doctrine\ORM\PersistentCollection {#3043 …} +reports: Doctrine\ORM\PersistentCollection {#3051 …} +badges: Doctrine\ORM\PersistentCollection {#3064 …} +logs: Doctrine\ORM\PersistentCollection {#3074 …} +awards: Doctrine\ORM\PersistentCollection {#3056 …} +categories: Doctrine\ORM\PersistentCollection {#3080 …} -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 {#3024 : 2024-02-24 05:17:09.0 +01:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197339 {#3025 : 2023-10-13 13:42:19.0 +02:00 } +__isInitialized__: true …2 } +image: Proxies\__CG__\App\Entity\Image {#1579 …} +domain: Proxies\__CG__\App\Entity\Domain {#1679 …} +slug: "I-made-a-thing-to-make-playing-YouTube-videos-locally" +title: "I made a thing to make playing YouTube videos locally from your browser easier" +url: "https://gitlab.com/danielquinn/video-bypass" +body: """ The other day someone was complaining about the new ad blocker-blocker on YouTube and I mentioned that it might be fun to write a Firefox extension that would just load up `yt-dlp` and play the video through `mpv`.\n \n It turns out, writing a Firefox extension is *easy* and tricking Firefox into launching `yt-dlp` isn’t much harder (though it does require some annoying configuration on the user’s end).\n \n Anyway, if you’re a Linux user, feel free to try it out. I don’t know how much I’m going to pour into this, but as an exercise of “can this be done”, it was pretty good for a few hours on a Friday night. """ +type: "link" +lang: "en" +isOc: false +hasEmbed: false +commentCount: 19 +favouriteCount: 200 +score: 0 +isAdult: false +sticky: false +lastActive: DateTime @1707557582 {#1421 : 2024-02-10 10:33:02.0 +01:00 } +ip: null +adaAmount: 0 +tags: null +mentions: null +comments: Doctrine\ORM\PersistentCollection {#1650 …} +votes: Doctrine\ORM\PersistentCollection {#1652 …} +reports: Doctrine\ORM\PersistentCollection {#1651 …} +favourites: Doctrine\ORM\PersistentCollection {#1527 …} +notifications: Doctrine\ORM\PersistentCollection {#1560 …} +badges: Doctrine\ORM\PersistentCollection {#1558 …} +children: [ 3 => App\Entity\EntryComment {#1611 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "Is there another way to do this? This hack was the only way I could figure out how to get Firefox to invoke an external binary, but if there’s a more conventional way to do it, I’d like to know 'cause I have another more complicated project in need of a pattern much like this one." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697268007 {#1596 : 2023-10-14 09:20:07.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2464 …} +nested: Doctrine\ORM\PersistentCollection {#1740 …} +votes: Doctrine\ORM\PersistentCollection {#1739 …} +reports: Doctrine\ORM\PersistentCollection {#1716 …} +favourites: Doctrine\ORM\PersistentCollection {#2461 …} +notifications: Doctrine\ORM\PersistentCollection {#2447 …} -id: 48003 -bodyTs: "'anoth':3,46 'binari':26 'caus':43 'complic':48 'convent':33 'could':15 'd':39 'extern':25 'figur':16 'firefox':21 'get':20 'hack':9 'invok':23 'know':42 'like':40,56 'much':55 'need':51 'one':58 'pattern':54 'project':49 'way':4,13,34" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993154" +editedAt: null +createdAt: DateTimeImmutable @1697268007 {#1555 : 2023-10-14 09:20:07.0 +02:00 } +"title": 48003 } 2 => App\Entity\EntryComment {#2467 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +body: """ I don’t think I have it in me to put together a video, but I can describe it if you like.\n \n Once you install the extension and follow the setup instructions, you just go to a YouTube page. The extension adds an ugly button to the top-left of the page that says “bypass”. When you click it, Firefox launches `yt-dlp [the URL you’re at] -o - | mpv -` which basically just downloads the video and streams the output through the `mpv` video player. So now you’re watching just the video, with no web page necessary. """ +lang: "en" +isAdult: false +favouriteCount: 3 +score: 0 +lastActive: DateTime @1697268377 {#1731 : 2023-10-14 09:26:17.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@zaknenou@lemmy.dbzer0.com" ] +children: Doctrine\ORM\PersistentCollection {#2455 …} +nested: Doctrine\ORM\PersistentCollection {#2471 …} +votes: Doctrine\ORM\PersistentCollection {#2363 …} +reports: Doctrine\ORM\PersistentCollection {#2377 …} +favourites: Doctrine\ORM\PersistentCollection {#2359 …} +notifications: Doctrine\ORM\PersistentCollection {#2364 …} -id: 48009 -bodyTs: "'add':42 'basic':74 'button':45 'bypass':56 'click':59 'describ':18 'dlp':65 'download':76 'extens':27,41 'firefox':61 'follow':29 'go':35 'instal':25 'instruct':32 'launch':62 'left':50 'like':22 'mpv':72,85 'necessari':100 'o':71 'output':82 'page':39,53,99 'player':87 'put':11 're':69,91 'say':55 'setup':31 'stream':80 'think':4 'togeth':12 'top':49 'top-left':48 'ugli':44 'url':67 'video':14,78,86,95 'watch':92 'web':98 'youtub':38 'yt':64 'yt-dlp':63" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993221" +editedAt: null +createdAt: DateTimeImmutable @1697268377 {#2469 : 2023-10-14 09:26:17.0 +02:00 } +"title": 48009 } 1 => App\Entity\EntryComment {#2382 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +body: """ Honestly, because I didn’t know (a) that ff2mpv even existed, or that (b) mpv could play YouTube URLs directly. So thanks! I learnt two things today :-)\n \n It was still a fun project though 'cause I learnt how to write a Firefox extension *and* get the browser to launch programs on-click, so not a waste of time! """ +lang: "en" +isAdult: false +favouriteCount: 13 +score: 0 +lastActive: DateTime @1697288649 {#2380 : 2023-10-14 15:04:09.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@khorovodoved@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2384 …} +nested: Doctrine\ORM\PersistentCollection {#2379 …} +votes: Doctrine\ORM\PersistentCollection {#2383 …} +reports: Doctrine\ORM\PersistentCollection {#1906 …} +favourites: Doctrine\ORM\PersistentCollection {#1708 …} +notifications: Doctrine\ORM\PersistentCollection {#1410 …} -id: 48431 -bodyTs: "'b':14 'browser':47 'caus':35 'click':53 'could':16 'didn':4 'direct':20 'even':10 'exist':11 'extens':43 'ff2mpv':9 'firefox':42 'fun':32 'get':45 'honest':1 'know':6 'launch':49 'learnt':24,37 'mpv':15 'on-click':51 'play':17 'program':50 'project':33 'still':30 'thank':22 'thing':26 'though':34 'time':59 'today':27 'two':25 'url':19 'wast':57 'write':40 'youtub':18" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3997262" +editedAt: null +createdAt: DateTimeImmutable @1697288649 {#2386 : 2023-10-14 15:04:09.0 +02:00 } +"title": 48431 } 0 => App\Entity\EntryComment {#1407} ] -id: 5166 -titleTs: "'browser':13 'easier':14 'local':10 'made':2 'make':6 'play':7 'thing':4 'video':9 'youtub':8" -bodyTs: "'ad':10 'annoy':69 'anyway':76 'blocker':12,13 'blocker-block':11 'complain':6 'configur':70 'day':3 'dlp':36,59 'done':110 'easi':51 'end':75 'exercis':105 'extens':28,49 'feel':83 'firefox':27,48,54 'free':84 'friday':121 'fun':23 'go':97 'good':114 'harder':63 'hour':118 'isn':60 'know':92 'launch':56 'linux':81 'load':32 'm':96 'mention':18 'might':21 'mpv':42 'much':62,94 'new':9 'night':122 'play':38 'pour':99 'pretti':113 're':79 'requir':67 'someon':4 'though':64 'tri':86 'trick':53 'turn':44 'user':73,82 'video':40 'would':30 'write':25,46 'youtub':15 'yt':35,58 'yt-dlp':34,57" +cross: false +upVotes: 0 +downVotes: 0 +ranking: 1697325241 +visibility: "visible " +apId: "https://lemmy.ca/post/7150213" +editedAt: null +createdAt: DateTimeImmutable @1697238841 {#1424 : 2023-10-14 01:14:01.0 +02:00 } } +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#1883 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "That’s actually very helpful, thanks. I’ve been working on another project to open certain URLs in specific browsers/profiles, and wanted to be sure that I wasn’t missing a more obvious design pattern. The project is [here](https://gitlab.com/danielquinn/opening) if you’re curious." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697303255 {#1907 : 2023-10-14 19:07:35.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2391 …} +nested: Doctrine\ORM\PersistentCollection {#2369 …} +votes: Doctrine\ORM\PersistentCollection {#2392 …} +reports: Doctrine\ORM\PersistentCollection {#2395 …} +favourites: Doctrine\ORM\PersistentCollection {#1384 …} +notifications: Doctrine\ORM\PersistentCollection {#1383 …} -id: 48905 -bodyTs: "'/danielquinn/opening)':42 'actual':3 'anoth':12 'browsers/profiles':20 'certain':16 'curious':46 'design':34 'gitlab.com':41 'gitlab.com/danielquinn/opening)':40 'help':5 'miss':30 'obvious':33 'open':15 'pattern':35 'project':13,37 're':45 'specif':19 'sure':25 'thank':6 'url':17 've':8 'want':22 'wasn':28 'work':10" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/4002090" +editedAt: null +createdAt: DateTimeImmutable @1697303255 {#1908 : 2023-10-14 19:07:35.0 +02:00 } +"title": 48905 } +formDest: "entry_comment" +showDownvote: true -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …} } |
boost | App\Twig\Components\BoostComponent | 14.0 MiB | 0.67 ms | |
---|---|---|---|---|
Input props | [ "subject" => App\Entity\EntryComment {#1407 +user: App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } +entry: App\Entity\Entry {#1609 +user: App\Entity\User {#260} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 +icon: Proxies\__CG__\App\Entity\Image {#3026 …} +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://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 [](https://ko-fi.com/dbzer0)[](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 {#3023 : 2024-10-22 09:16:09.0 +02:00 } +markedForDeletionAt: null +tags: null +moderators: Doctrine\ORM\PersistentCollection {#3027 …} +ownershipRequests: Doctrine\ORM\PersistentCollection {#3029 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#3031 …} +entries: Doctrine\ORM\PersistentCollection {#3033 …} +posts: Doctrine\ORM\PersistentCollection {#3035 …} +subscriptions: Doctrine\ORM\PersistentCollection {#3037 …} +bans: Doctrine\ORM\PersistentCollection {#3043 …} +reports: Doctrine\ORM\PersistentCollection {#3051 …} +badges: Doctrine\ORM\PersistentCollection {#3064 …} +logs: Doctrine\ORM\PersistentCollection {#3074 …} +awards: Doctrine\ORM\PersistentCollection {#3056 …} +categories: Doctrine\ORM\PersistentCollection {#3080 …} -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 {#3024 : 2024-02-24 05:17:09.0 +01:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197339 {#3025 : 2023-10-13 13:42:19.0 +02:00 } +__isInitialized__: true …2 } +image: Proxies\__CG__\App\Entity\Image {#1579 …} +domain: Proxies\__CG__\App\Entity\Domain {#1679 …} +slug: "I-made-a-thing-to-make-playing-YouTube-videos-locally" +title: "I made a thing to make playing YouTube videos locally from your browser easier" +url: "https://gitlab.com/danielquinn/video-bypass" +body: """ The other day someone was complaining about the new ad blocker-blocker on YouTube and I mentioned that it might be fun to write a Firefox extension that would just load up `yt-dlp` and play the video through `mpv`.\n \n It turns out, writing a Firefox extension is *easy* and tricking Firefox into launching `yt-dlp` isn’t much harder (though it does require some annoying configuration on the user’s end).\n \n Anyway, if you’re a Linux user, feel free to try it out. I don’t know how much I’m going to pour into this, but as an exercise of “can this be done”, it was pretty good for a few hours on a Friday night. """ +type: "link" +lang: "en" +isOc: false +hasEmbed: false +commentCount: 19 +favouriteCount: 200 +score: 0 +isAdult: false +sticky: false +lastActive: DateTime @1707557582 {#1421 : 2024-02-10 10:33:02.0 +01:00 } +ip: null +adaAmount: 0 +tags: null +mentions: null +comments: Doctrine\ORM\PersistentCollection {#1650 …} +votes: Doctrine\ORM\PersistentCollection {#1652 …} +reports: Doctrine\ORM\PersistentCollection {#1651 …} +favourites: Doctrine\ORM\PersistentCollection {#1527 …} +notifications: Doctrine\ORM\PersistentCollection {#1560 …} +badges: Doctrine\ORM\PersistentCollection {#1558 …} +children: [ 3 => App\Entity\EntryComment {#1611 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "Is there another way to do this? This hack was the only way I could figure out how to get Firefox to invoke an external binary, but if there’s a more conventional way to do it, I’d like to know 'cause I have another more complicated project in need of a pattern much like this one." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697268007 {#1596 : 2023-10-14 09:20:07.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2464 …} +nested: Doctrine\ORM\PersistentCollection {#1740 …} +votes: Doctrine\ORM\PersistentCollection {#1739 …} +reports: Doctrine\ORM\PersistentCollection {#1716 …} +favourites: Doctrine\ORM\PersistentCollection {#2461 …} +notifications: Doctrine\ORM\PersistentCollection {#2447 …} -id: 48003 -bodyTs: "'anoth':3,46 'binari':26 'caus':43 'complic':48 'convent':33 'could':15 'd':39 'extern':25 'figur':16 'firefox':21 'get':20 'hack':9 'invok':23 'know':42 'like':40,56 'much':55 'need':51 'one':58 'pattern':54 'project':49 'way':4,13,34" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993154" +editedAt: null +createdAt: DateTimeImmutable @1697268007 {#1555 : 2023-10-14 09:20:07.0 +02:00 } +"title": 48003 } 2 => App\Entity\EntryComment {#2467 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +body: """ I don’t think I have it in me to put together a video, but I can describe it if you like.\n \n Once you install the extension and follow the setup instructions, you just go to a YouTube page. The extension adds an ugly button to the top-left of the page that says “bypass”. When you click it, Firefox launches `yt-dlp [the URL you’re at] -o - | mpv -` which basically just downloads the video and streams the output through the `mpv` video player. So now you’re watching just the video, with no web page necessary. """ +lang: "en" +isAdult: false +favouriteCount: 3 +score: 0 +lastActive: DateTime @1697268377 {#1731 : 2023-10-14 09:26:17.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@zaknenou@lemmy.dbzer0.com" ] +children: Doctrine\ORM\PersistentCollection {#2455 …} +nested: Doctrine\ORM\PersistentCollection {#2471 …} +votes: Doctrine\ORM\PersistentCollection {#2363 …} +reports: Doctrine\ORM\PersistentCollection {#2377 …} +favourites: Doctrine\ORM\PersistentCollection {#2359 …} +notifications: Doctrine\ORM\PersistentCollection {#2364 …} -id: 48009 -bodyTs: "'add':42 'basic':74 'button':45 'bypass':56 'click':59 'describ':18 'dlp':65 'download':76 'extens':27,41 'firefox':61 'follow':29 'go':35 'instal':25 'instruct':32 'launch':62 'left':50 'like':22 'mpv':72,85 'necessari':100 'o':71 'output':82 'page':39,53,99 'player':87 'put':11 're':69,91 'say':55 'setup':31 'stream':80 'think':4 'togeth':12 'top':49 'top-left':48 'ugli':44 'url':67 'video':14,78,86,95 'watch':92 'web':98 'youtub':38 'yt':64 'yt-dlp':63" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993221" +editedAt: null +createdAt: DateTimeImmutable @1697268377 {#2469 : 2023-10-14 09:26:17.0 +02:00 } +"title": 48009 } 1 => App\Entity\EntryComment {#2382 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +body: """ Honestly, because I didn’t know (a) that ff2mpv even existed, or that (b) mpv could play YouTube URLs directly. So thanks! I learnt two things today :-)\n \n It was still a fun project though 'cause I learnt how to write a Firefox extension *and* get the browser to launch programs on-click, so not a waste of time! """ +lang: "en" +isAdult: false +favouriteCount: 13 +score: 0 +lastActive: DateTime @1697288649 {#2380 : 2023-10-14 15:04:09.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@khorovodoved@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2384 …} +nested: Doctrine\ORM\PersistentCollection {#2379 …} +votes: Doctrine\ORM\PersistentCollection {#2383 …} +reports: Doctrine\ORM\PersistentCollection {#1906 …} +favourites: Doctrine\ORM\PersistentCollection {#1708 …} +notifications: Doctrine\ORM\PersistentCollection {#1410 …} -id: 48431 -bodyTs: "'b':14 'browser':47 'caus':35 'click':53 'could':16 'didn':4 'direct':20 'even':10 'exist':11 'extens':43 'ff2mpv':9 'firefox':42 'fun':32 'get':45 'honest':1 'know':6 'launch':49 'learnt':24,37 'mpv':15 'on-click':51 'play':17 'program':50 'project':33 'still':30 'thank':22 'thing':26 'though':34 'time':59 'today':27 'two':25 'url':19 'wast':57 'write':40 'youtub':18" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3997262" +editedAt: null +createdAt: DateTimeImmutable @1697288649 {#2386 : 2023-10-14 15:04:09.0 +02:00 } +"title": 48431 } 0 => App\Entity\EntryComment {#1407} ] -id: 5166 -titleTs: "'browser':13 'easier':14 'local':10 'made':2 'make':6 'play':7 'thing':4 'video':9 'youtub':8" -bodyTs: "'ad':10 'annoy':69 'anyway':76 'blocker':12,13 'blocker-block':11 'complain':6 'configur':70 'day':3 'dlp':36,59 'done':110 'easi':51 'end':75 'exercis':105 'extens':28,49 'feel':83 'firefox':27,48,54 'free':84 'friday':121 'fun':23 'go':97 'good':114 'harder':63 'hour':118 'isn':60 'know':92 'launch':56 'linux':81 'load':32 'm':96 'mention':18 'might':21 'mpv':42 'much':62,94 'new':9 'night':122 'play':38 'pour':99 'pretti':113 're':79 'requir':67 'someon':4 'though':64 'tri':86 'trick':53 'turn':44 'user':73,82 'video':40 'would':30 'write':25,46 'youtub':15 'yt':35,58 'yt-dlp':34,57" +cross: false +upVotes: 0 +downVotes: 0 +ranking: 1697325241 +visibility: "visible " +apId: "https://lemmy.ca/post/7150213" +editedAt: null +createdAt: DateTimeImmutable @1697238841 {#1424 : 2023-10-14 01:14:01.0 +02:00 } } +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#1883 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "That’s actually very helpful, thanks. I’ve been working on another project to open certain URLs in specific browsers/profiles, and wanted to be sure that I wasn’t missing a more obvious design pattern. The project is [here](https://gitlab.com/danielquinn/opening) if you’re curious." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697303255 {#1907 : 2023-10-14 19:07:35.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2391 …} +nested: Doctrine\ORM\PersistentCollection {#2369 …} +votes: Doctrine\ORM\PersistentCollection {#2392 …} +reports: Doctrine\ORM\PersistentCollection {#2395 …} +favourites: Doctrine\ORM\PersistentCollection {#1384 …} +notifications: Doctrine\ORM\PersistentCollection {#1383 …} -id: 48905 -bodyTs: "'/danielquinn/opening)':42 'actual':3 'anoth':12 'browsers/profiles':20 'certain':16 'curious':46 'design':34 'gitlab.com':41 'gitlab.com/danielquinn/opening)':40 'help':5 'miss':30 'obvious':33 'open':15 'pattern':35 'project':13,37 're':45 'specif':19 'sure':25 'thank':6 'url':17 've':8 'want':22 'wasn':28 'work':10" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/4002090" +editedAt: null +createdAt: DateTimeImmutable @1697303255 {#1908 : 2023-10-14 19:07:35.0 +02:00 } +"title": 48905 } ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\BoostComponent {#5940 +formDest: "entry_comment" +subject: App\Entity\EntryComment {#1407 +user: App\Entity\User {#260 +avatar: Proxies\__CG__\App\Entity\Image {#240 …} +cover: null +email: "danielquinn@lemmy.ca" +username: "@danielquinn@lemmy.ca" +roles: [] +followersCount: 0 +homepage: "front" +about: "Canadian software engineer living in Europe." +lastActive: DateTime @1727577650 {#273 : 2024-09-29 04:40:50.0 +02:00 } +markedForDeletionAt: null +fields: null +oauthGithubId: null +oauthGoogleId: null +oauthFacebookId: null +oauthKeycloakId: null +hideAdult: true +showSubscribedUsers: true +showSubscribedMagazines: true +showSubscribedDomains: true +preferredLanguages: [] +featuredMagazines: null +showProfileSubscriptions: false +showProfileFollowings: true +markNewComments: false +notifyOnNewEntry: false +notifyOnNewEntryReply: true +notifyOnNewEntryCommentReply: true +notifyOnNewPost: false +notifyOnNewPostReply: true +notifyOnNewPostCommentReply: true +addMentionsEntries: false +addMentionsPosts: true +isBanned: false +isVerified: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#231 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#227 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#216 …} +entries: Doctrine\ORM\PersistentCollection {#174 …} +entryVotes: Doctrine\ORM\PersistentCollection {#146 …} +entryComments: Doctrine\ORM\PersistentCollection {#119 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#89 …} +posts: Doctrine\ORM\PersistentCollection {#62 …} +postVotes: Doctrine\ORM\PersistentCollection {#77 …} +postComments: Doctrine\ORM\PersistentCollection {#2405 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1607 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1768 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#2445 …} +follows: Doctrine\ORM\PersistentCollection {#1849 …} +followers: Doctrine\ORM\PersistentCollection {#1810 …} +blocks: Doctrine\ORM\PersistentCollection {#1794 …} +blockers: Doctrine\ORM\PersistentCollection {#2415 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#2421 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2418 …} +reports: Doctrine\ORM\PersistentCollection {#2398 …} +favourites: Doctrine\ORM\PersistentCollection {#1918 …} +violations: Doctrine\ORM\PersistentCollection {#1834 …} +notifications: Doctrine\ORM\PersistentCollection {#1878 …} +awards: Doctrine\ORM\PersistentCollection {#1886 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1899 …} +categories: Doctrine\ORM\PersistentCollection {#1954 …} -id: 57593 -password: "$2y$13$/L0PmovM1H9sjmzmYDFDJ./Rjx6mWwKcBTi6vz7ViURzIQuLk35WK" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1978 …} +apId: "danielquinn@lemmy.ca" +apProfileId: "https://lemmy.ca/u/danielquinn" +apPublicUrl: "https://lemmy.ca/u/danielquinn" +apFollowersUrl: null +apInboxUrl: "https://lemmy.ca/inbox" +apDomain: "lemmy.ca" +apPreferredUsername: "danielquinn" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729106992 {#276 : 2024-10-16 21:29:52.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } +entry: App\Entity\Entry {#1609 +user: App\Entity\User {#260} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 +icon: Proxies\__CG__\App\Entity\Image {#3026 …} +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://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 [](https://ko-fi.com/dbzer0)[](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 {#3023 : 2024-10-22 09:16:09.0 +02:00 } +markedForDeletionAt: null +tags: null +moderators: Doctrine\ORM\PersistentCollection {#3027 …} +ownershipRequests: Doctrine\ORM\PersistentCollection {#3029 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#3031 …} +entries: Doctrine\ORM\PersistentCollection {#3033 …} +posts: Doctrine\ORM\PersistentCollection {#3035 …} +subscriptions: Doctrine\ORM\PersistentCollection {#3037 …} +bans: Doctrine\ORM\PersistentCollection {#3043 …} +reports: Doctrine\ORM\PersistentCollection {#3051 …} +badges: Doctrine\ORM\PersistentCollection {#3064 …} +logs: Doctrine\ORM\PersistentCollection {#3074 …} +awards: Doctrine\ORM\PersistentCollection {#3056 …} +categories: Doctrine\ORM\PersistentCollection {#3080 …} -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 {#3024 : 2024-02-24 05:17:09.0 +01:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1697197339 {#3025 : 2023-10-13 13:42:19.0 +02:00 } +__isInitialized__: true …2 } +image: Proxies\__CG__\App\Entity\Image {#1579 …} +domain: Proxies\__CG__\App\Entity\Domain {#1679 …} +slug: "I-made-a-thing-to-make-playing-YouTube-videos-locally" +title: "I made a thing to make playing YouTube videos locally from your browser easier" +url: "https://gitlab.com/danielquinn/video-bypass" +body: """ The other day someone was complaining about the new ad blocker-blocker on YouTube and I mentioned that it might be fun to write a Firefox extension that would just load up `yt-dlp` and play the video through `mpv`.\n \n It turns out, writing a Firefox extension is *easy* and tricking Firefox into launching `yt-dlp` isn’t much harder (though it does require some annoying configuration on the user’s end).\n \n Anyway, if you’re a Linux user, feel free to try it out. I don’t know how much I’m going to pour into this, but as an exercise of “can this be done”, it was pretty good for a few hours on a Friday night. """ +type: "link" +lang: "en" +isOc: false +hasEmbed: false +commentCount: 19 +favouriteCount: 200 +score: 0 +isAdult: false +sticky: false +lastActive: DateTime @1707557582 {#1421 : 2024-02-10 10:33:02.0 +01:00 } +ip: null +adaAmount: 0 +tags: null +mentions: null +comments: Doctrine\ORM\PersistentCollection {#1650 …} +votes: Doctrine\ORM\PersistentCollection {#1652 …} +reports: Doctrine\ORM\PersistentCollection {#1651 …} +favourites: Doctrine\ORM\PersistentCollection {#1527 …} +notifications: Doctrine\ORM\PersistentCollection {#1560 …} +badges: Doctrine\ORM\PersistentCollection {#1558 …} +children: [ 3 => App\Entity\EntryComment {#1611 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "Is there another way to do this? This hack was the only way I could figure out how to get Firefox to invoke an external binary, but if there’s a more conventional way to do it, I’d like to know 'cause I have another more complicated project in need of a pattern much like this one." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697268007 {#1596 : 2023-10-14 09:20:07.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2464 …} +nested: Doctrine\ORM\PersistentCollection {#1740 …} +votes: Doctrine\ORM\PersistentCollection {#1739 …} +reports: Doctrine\ORM\PersistentCollection {#1716 …} +favourites: Doctrine\ORM\PersistentCollection {#2461 …} +notifications: Doctrine\ORM\PersistentCollection {#2447 …} -id: 48003 -bodyTs: "'anoth':3,46 'binari':26 'caus':43 'complic':48 'convent':33 'could':15 'd':39 'extern':25 'figur':16 'firefox':21 'get':20 'hack':9 'invok':23 'know':42 'like':40,56 'much':55 'need':51 'one':58 'pattern':54 'project':49 'way':4,13,34" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993154" +editedAt: null +createdAt: DateTimeImmutable @1697268007 {#1555 : 2023-10-14 09:20:07.0 +02:00 } +"title": 48003 } 2 => App\Entity\EntryComment {#2467 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2470 …} +body: """ I don’t think I have it in me to put together a video, but I can describe it if you like.\n \n Once you install the extension and follow the setup instructions, you just go to a YouTube page. The extension adds an ugly button to the top-left of the page that says “bypass”. When you click it, Firefox launches `yt-dlp [the URL you’re at] -o - | mpv -` which basically just downloads the video and streams the output through the `mpv` video player. So now you’re watching just the video, with no web page necessary. """ +lang: "en" +isAdult: false +favouriteCount: 3 +score: 0 +lastActive: DateTime @1697268377 {#1731 : 2023-10-14 09:26:17.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@zaknenou@lemmy.dbzer0.com" ] +children: Doctrine\ORM\PersistentCollection {#2455 …} +nested: Doctrine\ORM\PersistentCollection {#2471 …} +votes: Doctrine\ORM\PersistentCollection {#2363 …} +reports: Doctrine\ORM\PersistentCollection {#2377 …} +favourites: Doctrine\ORM\PersistentCollection {#2359 …} +notifications: Doctrine\ORM\PersistentCollection {#2364 …} -id: 48009 -bodyTs: "'add':42 'basic':74 'button':45 'bypass':56 'click':59 'describ':18 'dlp':65 'download':76 'extens':27,41 'firefox':61 'follow':29 'go':35 'instal':25 'instruct':32 'launch':62 'left':50 'like':22 'mpv':72,85 'necessari':100 'o':71 'output':82 'page':39,53,99 'player':87 'put':11 're':69,91 'say':55 'setup':31 'stream':80 'think':4 'togeth':12 'top':49 'top-left':48 'ugli':44 'url':67 'video':14,78,86,95 'watch':92 'web':98 'youtub':38 'yt':64 'yt-dlp':63" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3993221" +editedAt: null +createdAt: DateTimeImmutable @1697268377 {#2469 : 2023-10-14 09:26:17.0 +02:00 } +"title": 48009 } 1 => App\Entity\EntryComment {#2382 +user: App\Entity\User {#260} +entry: App\Entity\Entry {#1609} +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2385 …} +body: """ Honestly, because I didn’t know (a) that ff2mpv even existed, or that (b) mpv could play YouTube URLs directly. So thanks! I learnt two things today :-)\n \n It was still a fun project though 'cause I learnt how to write a Firefox extension *and* get the browser to launch programs on-click, so not a waste of time! """ +lang: "en" +isAdult: false +favouriteCount: 13 +score: 0 +lastActive: DateTime @1697288649 {#2380 : 2023-10-14 15:04:09.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@khorovodoved@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2384 …} +nested: Doctrine\ORM\PersistentCollection {#2379 …} +votes: Doctrine\ORM\PersistentCollection {#2383 …} +reports: Doctrine\ORM\PersistentCollection {#1906 …} +favourites: Doctrine\ORM\PersistentCollection {#1708 …} +notifications: Doctrine\ORM\PersistentCollection {#1410 …} -id: 48431 -bodyTs: "'b':14 'browser':47 'caus':35 'click':53 'could':16 'didn':4 'direct':20 'even':10 'exist':11 'extens':43 'ff2mpv':9 'firefox':42 'fun':32 'get':45 'honest':1 'know':6 'launch':49 'learnt':24,37 'mpv':15 'on-click':51 'play':17 'program':50 'project':33 'still':30 'thank':22 'thing':26 'though':34 'time':59 'today':27 'two':25 'url':19 'wast':57 'write':40 'youtub':18" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/3997262" +editedAt: null +createdAt: DateTimeImmutable @1697288649 {#2386 : 2023-10-14 15:04:09.0 +02:00 } +"title": 48431 } 0 => App\Entity\EntryComment {#1407} ] -id: 5166 -titleTs: "'browser':13 'easier':14 'local':10 'made':2 'make':6 'play':7 'thing':4 'video':9 'youtub':8" -bodyTs: "'ad':10 'annoy':69 'anyway':76 'blocker':12,13 'blocker-block':11 'complain':6 'configur':70 'day':3 'dlp':36,59 'done':110 'easi':51 'end':75 'exercis':105 'extens':28,49 'feel':83 'firefox':27,48,54 'free':84 'friday':121 'fun':23 'go':97 'good':114 'harder':63 'hour':118 'isn':60 'know':92 'launch':56 'linux':81 'load':32 'm':96 'mention':18 'might':21 'mpv':42 'much':62,94 'new':9 'night':122 'play':38 'pour':99 'pretti':113 're':79 'requir':67 'someon':4 'though':64 'tri':86 'trick':53 'turn':44 'user':73,82 'video':40 'would':30 'write':25,46 'youtub':15 'yt':35,58 'yt-dlp':34,57" +cross: false +upVotes: 0 +downVotes: 0 +ranking: 1697325241 +visibility: "visible " +apId: "https://lemmy.ca/post/7150213" +editedAt: null +createdAt: DateTimeImmutable @1697238841 {#1424 : 2023-10-14 01:14:01.0 +02:00 } } +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …2} +image: null +parent: Proxies\__CG__\App\Entity\EntryComment {#1883 …} +root: Proxies\__CG__\App\Entity\EntryComment {#2463 …} +body: "That’s actually very helpful, thanks. I’ve been working on another project to open certain URLs in specific browsers/profiles, and wanted to be sure that I wasn’t missing a more obvious design pattern. The project is [here](https://gitlab.com/danielquinn/opening) if you’re curious." +lang: "en" +isAdult: false +favouriteCount: 1 +score: 0 +lastActive: DateTime @1697303255 {#1907 : 2023-10-14 19:07:35.0 +02:00 } +ip: null +tags: null +mentions: [ "@danielquinn@lemmy.ca" "@Morgikan@lemm.ee" ] +children: Doctrine\ORM\PersistentCollection {#2391 …} +nested: Doctrine\ORM\PersistentCollection {#2369 …} +votes: Doctrine\ORM\PersistentCollection {#2392 …} +reports: Doctrine\ORM\PersistentCollection {#2395 …} +favourites: Doctrine\ORM\PersistentCollection {#1384 …} +notifications: Doctrine\ORM\PersistentCollection {#1383 …} -id: 48905 -bodyTs: "'/danielquinn/opening)':42 'actual':3 'anoth':12 'browsers/profiles':20 'certain':16 'curious':46 'design':34 'gitlab.com':41 'gitlab.com/danielquinn/opening)':40 'help':5 'miss':30 'obvious':33 'open':15 'pattern':35 'project':13,37 're':45 'specif':19 'sure':25 'thank':6 'url':17 've':8 'want':22 'wasn':28 'work':10" +ranking: 0 +commentCount: 0 +upVotes: 0 +downVotes: 0 +visibility: "visible " +apId: "https://lemmy.ca/comment/4002090" +editedAt: null +createdAt: DateTimeImmutable @1697303255 {#1908 : 2023-10-14 19:07:35.0 +02:00 } +"title": 48905 } -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …} } |
settings_row_enum | App\Twig\Components\SettingsRowEnumComponent | 14.0 MiB | 0.21 ms | |
---|---|---|---|---|
Input props | [ "label" => "Sidebar position" "settingsKey" => "KBIN_GENERAL_SIDEBAR_POSITION" "values" => [ [ "name" => "Left" "value" => "LEFT" ] [ "name" => "Right" "value" => "RIGHT" ] ] "defaultValue" => "RIGHT" ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\SettingsRowEnumComponent {#6318 +label: "Sidebar position" +help: "" +settingsKey: "KBIN_GENERAL_SIDEBAR_POSITION" +values: [ [ "name" => "Left" "value" => "LEFT" ] [ "name" => "Right" "value" => "RIGHT" ] ] +defaultValue: "RIGHT" +reloadRequired: true } |
settings_row_switch | App\Twig\Components\SettingsRowSwitchComponent | 14.0 MiB | 0.18 ms | |
---|---|---|---|---|
Input props | [ "label" => "Dynamic lists" "settingsKey" => "KBIN_GENERAL_DYNAMIC_LISTS" ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\SettingsRowSwitchComponent {#6390 +label: "Dynamic lists" +help: "" +settingsKey: "KBIN_GENERAL_DYNAMIC_LISTS" +defaultValue: false +reloadRequired: true } |
settings_row_switch | App\Twig\Components\SettingsRowSwitchComponent | 14.0 MiB | 0.12 ms | |
---|---|---|---|---|
Input props | [ "label" => "Rounded edges" "settingsKey" => "KBIN_GENERAL_ROUNDED_EDGES" ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\SettingsRowSwitchComponent {#6453 +label: "Rounded edges" +help: "" +settingsKey: "KBIN_GENERAL_ROUNDED_EDGES" +defaultValue: false +reloadRequired: true } |
settings_row_switch | App\Twig\Components\SettingsRowSwitchComponent | 14.0 MiB | 0.13 ms | |
---|---|---|---|---|
Input props | [ "label" => "Infinite scrolling" "help" => "Automatically load more content when you reach the bottom of the page." "settingsKey" => "KBIN_GENERAL_INFINITE_SCROLL" ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\SettingsRowSwitchComponent {#6509 +label: "Infinite scrolling" +help: "Automatically load more content when you reach the bottom of the page." +settingsKey: "KBIN_GENERAL_INFINITE_SCROLL" +defaultValue: false +reloadRequired: true } |
settings_row_switch | App\Twig\Components\SettingsRowSwitchComponent | 14.0 MiB | 0.13 ms | |
---|---|---|---|---|
Input props | [ "label" => "Sticky navbar" "help" => "The navbar will stick to the top of the page when you scroll down." "settingsKey" => "KBIN_GENERAL_FIXED_NAVBAR" ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\SettingsRowSwitchComponent {#6568 +label: "Sticky navbar" +help: "The navbar will stick to the top of the page when you scroll down." +settingsKey: "KBIN_GENERAL_FIXED_NAVBAR" +defaultValue: false +reloadRequired: true } |
settings_row_switch | App\Twig\Components\SettingsRowSwitchComponent | 14.0 MiB | 0.12 ms | |
---|---|---|---|---|
Input props | [ "label" => "Show top bar" "settingsKey" => "KBIN_GENERAL_TOPBAR" ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\SettingsRowSwitchComponent {#6624 +label: "Show top bar" +help: "" +settingsKey: "KBIN_GENERAL_TOPBAR" +defaultValue: false +reloadRequired: true } |
settings_row_switch | App\Twig\Components\SettingsRowSwitchComponent | 14.0 MiB | 0.13 ms | |
---|---|---|---|---|
Input props | [ "label" => "Turbo mode (experimental)" "settingsKey" => "KBIN_GENERAL_TURBO" ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\SettingsRowSwitchComponent {#6680 +label: "Turbo mode (experimental)" +help: "" +settingsKey: "KBIN_GENERAL_TURBO" +defaultValue: false +reloadRequired: true } |
user_settings_row_switch | App\Twig\Components\UserSettingsRowSwitchComponent | 14.0 MiB | 0.26 ms | |
---|---|---|---|---|
Input props | [ "label" => "Mark new comments" "settingsKey" => "KBIN_MARK_NEW_COMMENTS" ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\UserSettingsRowSwitchComponent {#6738 +label: "Mark new comments" +help: "" +settingsKey: "KBIN_MARK_NEW_COMMENTS" +defaultValue: false +reloadRequired: true } |
settings_row_switch | App\Twig\Components\SettingsRowSwitchComponent | 14.0 MiB | 5.38 ms | |
---|---|---|---|---|
Input props | [ "label" => "Show "Support Us" block" "settingsKey" => "KBIN_GENERAL_SUPPORT_US_BLOCK" "defaultValue" => true ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\SettingsRowSwitchComponent {#6801 +label: "Show "Support Us" block" +help: "" +settingsKey: "KBIN_GENERAL_SUPPORT_US_BLOCK" +defaultValue: true +reloadRequired: true } |
user_settings_row_switch | App\Twig\Components\UserSettingsRowSwitchComponent | 14.0 MiB | 0.25 ms | |
---|---|---|---|---|
Input props | [ "label" => "Show subscribed users" "settingsKey" => "KBIN_SUB_CHANNEL_USERS" ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\UserSettingsRowSwitchComponent {#6859 +label: "Show subscribed users" +help: "" +settingsKey: "KBIN_SUB_CHANNEL_USERS" +defaultValue: false +reloadRequired: true } |
user_settings_row_switch | App\Twig\Components\UserSettingsRowSwitchComponent | 14.0 MiB | 0.14 ms | |
---|---|---|---|---|
Input props | [ "label" => "Show subscribed magazines" "settingsKey" => "KBIN_SUB_CHANNEL_MAGAZINES" ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\UserSettingsRowSwitchComponent {#6915 +label: "Show subscribed magazines" +help: "" +settingsKey: "KBIN_SUB_CHANNEL_MAGAZINES" +defaultValue: false +reloadRequired: true } |
user_settings_row_switch | App\Twig\Components\UserSettingsRowSwitchComponent | 14.0 MiB | 0.14 ms | |
---|---|---|---|---|
Input props | [ "label" => "Show subscribed domains" "settingsKey" => "KBIN_SUB_CHANNEL_DOMAINS" ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\UserSettingsRowSwitchComponent {#6971 +label: "Show subscribed domains" +help: "" +settingsKey: "KBIN_SUB_CHANNEL_DOMAINS" +defaultValue: false +reloadRequired: true } |
settings_row_switch | App\Twig\Components\SettingsRowSwitchComponent | 14.0 MiB | 0.13 ms | |
---|---|---|---|---|
Input props | [ "label" => "Auto media preview" "help" => "Automatically expand media previews." "settingsKey" => "KBIN_ENTRIES_SHOW_PREVIEW" ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\SettingsRowSwitchComponent {#7027 +label: "Auto media preview" +help: "Automatically expand media previews." +settingsKey: "KBIN_ENTRIES_SHOW_PREVIEW" +defaultValue: false +reloadRequired: true } |
settings_row_switch | App\Twig\Components\SettingsRowSwitchComponent | 14.0 MiB | 0.15 ms | |
---|---|---|---|---|
Input props | [ "label" => "Compact view" "settingsKey" => "KBIN_ENTRIES_COMPACT" ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\SettingsRowSwitchComponent {#7083 +label: "Compact view" +help: "" +settingsKey: "KBIN_ENTRIES_COMPACT" +defaultValue: false +reloadRequired: true } |
settings_row_switch | App\Twig\Components\SettingsRowSwitchComponent | 14.0 MiB | 0.14 ms | |
---|---|---|---|---|
Input props | [ "label" => "Show users’ avatars" "settingsKey" => "KBIN_ENTRIES_SHOW_USERS_AVATARS" ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\SettingsRowSwitchComponent {#7139 +label: "Show users’ avatars" +help: "" +settingsKey: "KBIN_ENTRIES_SHOW_USERS_AVATARS" +defaultValue: false +reloadRequired: true } |
settings_row_switch | App\Twig\Components\SettingsRowSwitchComponent | 14.0 MiB | 0.12 ms | |
---|---|---|---|---|
Input props | [ "label" => "Show magazines’ icons" "settingsKey" => "KBIN_ENTRIES_SHOW_MAGAZINES_ICONS" ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\SettingsRowSwitchComponent {#7195 +label: "Show magazines’ icons" +help: "" +settingsKey: "KBIN_ENTRIES_SHOW_MAGAZINES_ICONS" +defaultValue: false +reloadRequired: true } |
settings_row_switch | App\Twig\Components\SettingsRowSwitchComponent | 14.0 MiB | 0.13 ms | |
---|---|---|---|---|
Input props | [ "label" => "Show thumbnails" "settingsKey" => "KBIN_ENTRIES_SHOW_THUMBNAILS" "defaultValue" => true ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\SettingsRowSwitchComponent {#7251 +label: "Show thumbnails" +help: "" +settingsKey: "KBIN_ENTRIES_SHOW_THUMBNAILS" +defaultValue: true +reloadRequired: true } |
settings_row_switch | App\Twig\Components\SettingsRowSwitchComponent | 14.0 MiB | 0.97 ms | |
---|---|---|---|---|
Input props | [ "label" => "Auto media preview" "help" => "Automatically expand media previews." "settingsKey" => "KBIN_POSTS_SHOW_PREVIEW" ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\SettingsRowSwitchComponent {#7307 +label: "Auto media preview" +help: "Automatically expand media previews." +settingsKey: "KBIN_POSTS_SHOW_PREVIEW" +defaultValue: false +reloadRequired: true } |
settings_row_switch | App\Twig\Components\SettingsRowSwitchComponent | 14.0 MiB | 0.14 ms | |
---|---|---|---|---|
Input props | [ "label" => "Show users’ avatars" "settingsKey" => "KBIN_POSTS_SHOW_USERS_AVATARS" "defaultValue" => true ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\SettingsRowSwitchComponent {#7363 +label: "Show users’ avatars" +help: "" +settingsKey: "KBIN_POSTS_SHOW_USERS_AVATARS" +defaultValue: true +reloadRequired: true } |
settings_row_enum | App\Twig\Components\SettingsRowEnumComponent | 14.0 MiB | 0.21 ms | |
---|---|---|---|---|
Input props | [ "label" => "Comment reply position" "help" => "Display the comment reply form either at the top or bottom of the page. When 'infinite scroll' is enabled the position will always appear at the top." "settingsKey" => "KBIN_COMMENTS_REPLY_POSITION" "values" => [ [ "name" => "top" "value" => "TOP" ] [ "name" => "bottom" "value" => "BOTTOM" ] ] "defaultValue" => "TOP" ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\SettingsRowEnumComponent {#7419 +label: "Comment reply position" +help: "Display the comment reply form either at the top or bottom of the page. When 'infinite scroll' is enabled the position will always appear at the top." +settingsKey: "KBIN_COMMENTS_REPLY_POSITION" +values: [ [ "name" => "top" "value" => "TOP" ] [ "name" => "bottom" "value" => "BOTTOM" ] ] +defaultValue: "TOP" +reloadRequired: true } |
settings_row_switch | App\Twig\Components\SettingsRowSwitchComponent | 14.0 MiB | 0.13 ms | |
---|---|---|---|---|
Input props | [ "label" => "Show Comment Avatars" "help" => "Display/hide user avatars when viewing comments on a single thread or post." "settingsKey" => "KBIN_COMMENTS_SHOW_USER_AVATAR" "defaultValue" => true ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\SettingsRowSwitchComponent {#7477 +label: "Show Comment Avatars" +help: "Display/hide user avatars when viewing comments on a single thread or post." +settingsKey: "KBIN_COMMENTS_SHOW_USER_AVATAR" +defaultValue: true +reloadRequired: true } |
date | App\Twig\Components\DateComponent | 14.0 MiB | 0.13 ms | |
---|---|---|---|---|
Input props | [ "date" => DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\DateComponent {#7550 +date: DateTimeImmutable @1697197941 {#272 : 2023-10-13 13:52:21.0 +02:00 } } |
related_magazines | App\Twig\Components\RelatedMagazinesComponent | 14.0 MiB | 2.09 ms | |
---|---|---|---|---|
Input props | [ "magazine" => null "tag" => null ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\RelatedMagazinesComponent {#7637 +limit: 4 +tag: null +magazine: null +type: "random" +title: "random_magazines" +refreshedRandom: false -repository: App\Repository\MagazineRepository {#2439 …} -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …} -twig: Twig\Environment {#1252 …} -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …} } |
active_users | App\Twig\Components\ActiveUsersComponent | 14.0 MiB | 0.23 ms | |
---|---|---|---|---|
Input props | [ "magazine" => null ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\ActiveUsersComponent {#7702 +magazine: null -userRepository: App\Repository\UserRepository {#603 …} -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …} -twig: Twig\Environment {#1252 …} -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …} } |
related_categories | App\Twig\Components\RelatedCategoriesComponent | 14.0 MiB | 1.57 ms | |
---|---|---|---|---|
Input props | [ "magazine" => null "tag" => null ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\RelatedCategoriesComponent {#7761 +limit: 4 +tag: null +magazine: null +type: "random" +title: "random_categories" +refreshedRandom: false -repository: App\Repository\CategoryRepository {#7762 …} -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …} -twig: Twig\Environment {#1252 …} -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …} } |
related_posts | App\Twig\Components\RelatedPostsComponent | 14.0 MiB | 4.32 ms | |
---|---|---|---|---|
Input props | [ "magazine" => null "tag" => null ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\RelatedPostsComponent {#7831 +limit: 4 +tag: null +magazine: null +type: "random" +post: null +title: "random_posts" +refreshedRandom: false -repository: App\Repository\PostRepository {#1449 …} -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …} -twig: Twig\Environment {#1252 …} -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …} -mentionManager: App\Service\MentionManager {#1631 …} } |
related_entries | App\Twig\Components\RelatedEntriesComponent | 14.0 MiB | 2.50 ms | |
---|---|---|---|---|
Input props | [ "magazine" => null "tag" => null ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\RelatedEntriesComponent {#7900 +limit: 4 +tag: null +magazine: null +type: "random" +entry: null +title: "random_entries" +refreshedRandom: false -repository: App\Repository\EntryRepository {#1766 …} -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …} -twig: Twig\Environment {#1252 …} -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …} -mentionManager: App\Service\MentionManager {#1631 …} } |
support_us_block | App\Twig\Components\SupportUsBlock | 14.0 MiB | 0.50 ms | |
---|---|---|---|---|
Input props | [] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\SupportUsBlock {#7969 +subject: ? App\Entity\Contracts\VotableInterface +url: ? string -twig: Twig\Environment {#1252 …} -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …} -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …} -partnerBlockRepository: App\Repository\PartnerBlockRepository {#7970 …} } |
featured_magazines | App\Twig\Components\FeaturedMagazinesComponent | 14.0 MiB | 0.85 ms | |
---|---|---|---|---|
Input props | [ "magazine" => null ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\FeaturedMagazinesComponent {#8062 +magazine: null -twig: Twig\Environment {#1252 …} -repository: App\Repository\MagazineRepository {#2439 …} } |