Redirect 302 redirect from GET @entry_comment_create (253bbe)

Security

Token

There is no security token.

Firewall

main Name
Security enabled
Stateless

Configuration

Key Value
provider security.user.provider.concrete.app_user_provider
context main
entry_point App\Security\KbinAuthenticator
user_checker App\Security\UserChecker
access_denied_handler (none)
access_denied_url (none)
authenticators
[
  "two_factor"
  "remember_me"
  "App\Security\KbinAuthenticator"
  "App\Security\FacebookAuthenticator"
  "App\Security\GoogleAuthenticator"
  "App\Security\GithubAuthenticator"
  "App\Security\KeycloakAuthenticator"
]

Listeners

Listener Duration Response
Symfony\Component\Security\Http\Firewall\ChannelListener {#723
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
  -logger: Monolog\Logger {#783 …}
  -httpPort: 80
  -httpsPort: 443
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\ContextListener {#706
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorage {#1017 …}
  -sessionKey: "_security_main"
  -logger: Monolog\Logger {#783 …}
  -userProviders: Symfony\Component\DependencyInjection\Argument\RewindableGenerator {#705 …}
  -dispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
  -registered: false
  -trustResolver: Scheb\TwoFactorBundle\Security\Authentication\AuthenticationTrustResolver {#780 …}
  -sessionTrackerEnabler: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage::enableUsageTracking(): void {#703 …}
}
0.84 ms (none)
Symfony\Component\Security\Http\Firewall\AuthenticatorManagerListener {#584
  -authenticatorManager: Symfony\Component\Security\Http\Authentication\AuthenticatorManager {#595 …}
}
0.00 ms (none)
Scheb\TwoFactorBundle\Security\Http\Firewall\TwoFactorAccessListener {#582
  -twoFactorFirewallConfig: Scheb\TwoFactorBundle\Security\TwoFactor\TwoFactorFirewallConfig {#842 …}
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -twoFactorAccessDecider: Scheb\TwoFactorBundle\Security\Authorization\TwoFactorAccessDecider {#581 …}
}
0.04 ms (none)
Symfony\Component\Security\Http\Firewall\AccessListener {#579
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -accessDecisionManager: Symfony\Component\Security\Core\Authorization\TraceableAccessDecisionManager {#937 …}
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\LogoutListener {#786
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -options: [
    "csrf_parameter" => "_csrf_token"
    "csrf_token_id" => "logout"
    "logout_path" => "app_logout"
  ]
  -httpUtils: Symfony\Component\Security\Http\HttpUtils {#841 …}
  -csrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#1015 …}
  -eventDispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
}
0.00 ms (none)

Authenticators

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

Access Decision

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

Access decision log

# Result Attributes Object
1 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
2 DENIED moderate
App\Entity\Entry {#2412
  +user: Proxies\__CG__\App\Entity\User {#1978 …}
  +magazine: App\Entity\Magazine {#264
    +icon: Proxies\__CG__\App\Entity\Image {#245 …}
    +name: "linux@lemmy.ml"
    +title: "linux"
    +description: """
      From Wikipedia, the free encyclopedia\n
      \n
      Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
      \n
      Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
      \n
      ### Rules\n
      \n
      - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
      - No misinformation\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      ### Related Communities\n
      \n
      - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      \n
      Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1406
    +entryCommentCount: 28632
    +postCount: 6
    +postCommentCount: 214
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583542 {#274
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#236 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
    +entries: Doctrine\ORM\PersistentCollection {#179 …}
    +posts: Doctrine\ORM\PersistentCollection {#137 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
    +bans: Doctrine\ORM\PersistentCollection {#116 …}
    +reports: Doctrine\ORM\PersistentCollection {#102 …}
    +badges: Doctrine\ORM\PersistentCollection {#80 …}
    +logs: Doctrine\ORM\PersistentCollection {#70 …}
    +awards: Doctrine\ORM\PersistentCollection {#1360 …}
    +categories: Doctrine\ORM\PersistentCollection {#1792 …}
    -id: 73
    +apId: "linux@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/linux"
    +apPublicUrl: "https://lemmy.ml/c/linux"
    +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "linux"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583596 {#268
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#270
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
  +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
  +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
  +url: "https://installies.org/"
  +body: """
    Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
    \n
    You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
    \n
    - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
    - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
    - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
    - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
    \n
    As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
    \n
    There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
    \n
    ##### Future Plans\n
    \n
    - Utility Scripts: General purpose shell scripts.\n
    - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
    - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
    - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
    \n
    As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
    \n
    Happy Scripting!\n
    \n
    ##### Links\n
    \n
    - Site: [installies.org](https://installies.org)\n
    - Docs: [docs.installies.org](https://docs.installies.org)\n
    - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
    """
  +type: "link"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 16
  +favouriteCount: 60
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1702495878 {#2418
    date: 2023-12-13 20:31:18.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1688 …}
  +votes: Doctrine\ORM\PersistentCollection {#1966 …}
  +reports: Doctrine\ORM\PersistentCollection {#1965 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
  +badges: Doctrine\ORM\PersistentCollection {#2439 …}
  +children: []
  -id: 21947
  -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
  -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1702501214
  +visibility: "visible             "
  +apId: "https://lemmy.ml/post/9234896"
  +editedAt: null
  +createdAt: DateTimeImmutable @1702414814 {#1858
    date: 2023-12-12 22:00:14.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
3 DENIED edit
App\Entity\Entry {#2412
  +user: Proxies\__CG__\App\Entity\User {#1978 …}
  +magazine: App\Entity\Magazine {#264
    +icon: Proxies\__CG__\App\Entity\Image {#245 …}
    +name: "linux@lemmy.ml"
    +title: "linux"
    +description: """
      From Wikipedia, the free encyclopedia\n
      \n
      Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
      \n
      Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
      \n
      ### Rules\n
      \n
      - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
      - No misinformation\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      ### Related Communities\n
      \n
      - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      \n
      Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1406
    +entryCommentCount: 28632
    +postCount: 6
    +postCommentCount: 214
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583542 {#274
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#236 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
    +entries: Doctrine\ORM\PersistentCollection {#179 …}
    +posts: Doctrine\ORM\PersistentCollection {#137 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
    +bans: Doctrine\ORM\PersistentCollection {#116 …}
    +reports: Doctrine\ORM\PersistentCollection {#102 …}
    +badges: Doctrine\ORM\PersistentCollection {#80 …}
    +logs: Doctrine\ORM\PersistentCollection {#70 …}
    +awards: Doctrine\ORM\PersistentCollection {#1360 …}
    +categories: Doctrine\ORM\PersistentCollection {#1792 …}
    -id: 73
    +apId: "linux@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/linux"
    +apPublicUrl: "https://lemmy.ml/c/linux"
    +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "linux"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583596 {#268
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#270
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
  +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
  +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
  +url: "https://installies.org/"
  +body: """
    Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
    \n
    You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
    \n
    - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
    - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
    - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
    - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
    \n
    As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
    \n
    There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
    \n
    ##### Future Plans\n
    \n
    - Utility Scripts: General purpose shell scripts.\n
    - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
    - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
    - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
    \n
    As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
    \n
    Happy Scripting!\n
    \n
    ##### Links\n
    \n
    - Site: [installies.org](https://installies.org)\n
    - Docs: [docs.installies.org](https://docs.installies.org)\n
    - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
    """
  +type: "link"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 16
  +favouriteCount: 60
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1702495878 {#2418
    date: 2023-12-13 20:31:18.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1688 …}
  +votes: Doctrine\ORM\PersistentCollection {#1966 …}
  +reports: Doctrine\ORM\PersistentCollection {#1965 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
  +badges: Doctrine\ORM\PersistentCollection {#2439 …}
  +children: []
  -id: 21947
  -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
  -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1702501214
  +visibility: "visible             "
  +apId: "https://lemmy.ml/post/9234896"
  +editedAt: null
  +createdAt: DateTimeImmutable @1702414814 {#1858
    date: 2023-12-12 22:00:14.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
4 DENIED moderate
App\Entity\Entry {#2412
  +user: Proxies\__CG__\App\Entity\User {#1978 …}
  +magazine: App\Entity\Magazine {#264
    +icon: Proxies\__CG__\App\Entity\Image {#245 …}
    +name: "linux@lemmy.ml"
    +title: "linux"
    +description: """
      From Wikipedia, the free encyclopedia\n
      \n
      Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
      \n
      Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
      \n
      ### Rules\n
      \n
      - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
      - No misinformation\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      ### Related Communities\n
      \n
      - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      \n
      Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1406
    +entryCommentCount: 28632
    +postCount: 6
    +postCommentCount: 214
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583542 {#274
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#236 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
    +entries: Doctrine\ORM\PersistentCollection {#179 …}
    +posts: Doctrine\ORM\PersistentCollection {#137 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
    +bans: Doctrine\ORM\PersistentCollection {#116 …}
    +reports: Doctrine\ORM\PersistentCollection {#102 …}
    +badges: Doctrine\ORM\PersistentCollection {#80 …}
    +logs: Doctrine\ORM\PersistentCollection {#70 …}
    +awards: Doctrine\ORM\PersistentCollection {#1360 …}
    +categories: Doctrine\ORM\PersistentCollection {#1792 …}
    -id: 73
    +apId: "linux@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/linux"
    +apPublicUrl: "https://lemmy.ml/c/linux"
    +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "linux"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583596 {#268
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#270
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
  +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
  +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
  +url: "https://installies.org/"
  +body: """
    Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
    \n
    You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
    \n
    - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
    - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
    - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
    - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
    \n
    As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
    \n
    There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
    \n
    ##### Future Plans\n
    \n
    - Utility Scripts: General purpose shell scripts.\n
    - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
    - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
    - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
    \n
    As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
    \n
    Happy Scripting!\n
    \n
    ##### Links\n
    \n
    - Site: [installies.org](https://installies.org)\n
    - Docs: [docs.installies.org](https://docs.installies.org)\n
    - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
    """
  +type: "link"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 16
  +favouriteCount: 60
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1702495878 {#2418
    date: 2023-12-13 20:31:18.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1688 …}
  +votes: Doctrine\ORM\PersistentCollection {#1966 …}
  +reports: Doctrine\ORM\PersistentCollection {#1965 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
  +badges: Doctrine\ORM\PersistentCollection {#2439 …}
  +children: []
  -id: 21947
  -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
  -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1702501214
  +visibility: "visible             "
  +apId: "https://lemmy.ml/post/9234896"
  +editedAt: null
  +createdAt: DateTimeImmutable @1702414814 {#1858
    date: 2023-12-12 22:00:14.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
5 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
6 DENIED moderate
App\Entity\EntryComment {#4147
  +user: App\Entity\User {#4095 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: null
  +root: null
  +body: """
    > shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems\n
    \n
    ![](https://www.cnet.com/a/img/resize/f812da3969350cc0b0afd5bf35ca4ffbf08cb696/hub/2019/05/22/1b710a6b-5f4d-4987-a046-c23674b221a3/picard-meme-facepalm.jpg?auto=webp&width=1200)
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 4
  +score: 0
  +lastActive: DateTime @1702472034 {#4157
    date: 2023-12-13 13:53:54.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4145 …}
  +nested: Doctrine\ORM\PersistentCollection {#4143 …}
  +votes: Doctrine\ORM\PersistentCollection {#4141 …}
  +reports: Doctrine\ORM\PersistentCollection {#4139 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4107 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4111 …}
  -id: 220481
  -bodyTs: "'/a/img/resize/f812da3969350cc0b0afd5bf35ca4ffbf08cb696/hub/2019/05/22/1b710a6b-5f4d-4987-a046-c23674b221a3/picard-meme-facepalm.jpg?auto=webp&width=1200)':21 'app':11 'base':17 'compil':10 'instal':6 'linux':13 'remov':7 'script':2 'shell':1 'system':18 'unix':16 'unix-bas':15 'updat':8 'use':4 'www.cnet.com':20 'www.cnet.com/a/img/resize/f812da3969350cc0b0afd5bf35ca4ffbf08cb696/hub/2019/05/22/1b710a6b-5f4d-4987-a046-c23674b221a3/picard-meme-facepalm.jpg?auto=webp&width=1200)':19"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://feddit.uk/comment/5178215"
  +editedAt: DateTimeImmutable @1704307695 {#4093
    date: 2024-01-03 19:48:15.0 +01:00
  }
  +createdAt: DateTimeImmutable @1702472034 {#4156
    date: 2023-12-13 13:53:54.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
7 DENIED edit
App\Entity\EntryComment {#4147
  +user: App\Entity\User {#4095 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: null
  +root: null
  +body: """
    > shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems\n
    \n
    ![](https://www.cnet.com/a/img/resize/f812da3969350cc0b0afd5bf35ca4ffbf08cb696/hub/2019/05/22/1b710a6b-5f4d-4987-a046-c23674b221a3/picard-meme-facepalm.jpg?auto=webp&width=1200)
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 4
  +score: 0
  +lastActive: DateTime @1702472034 {#4157
    date: 2023-12-13 13:53:54.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4145 …}
  +nested: Doctrine\ORM\PersistentCollection {#4143 …}
  +votes: Doctrine\ORM\PersistentCollection {#4141 …}
  +reports: Doctrine\ORM\PersistentCollection {#4139 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4107 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4111 …}
  -id: 220481
  -bodyTs: "'/a/img/resize/f812da3969350cc0b0afd5bf35ca4ffbf08cb696/hub/2019/05/22/1b710a6b-5f4d-4987-a046-c23674b221a3/picard-meme-facepalm.jpg?auto=webp&width=1200)':21 'app':11 'base':17 'compil':10 'instal':6 'linux':13 'remov':7 'script':2 'shell':1 'system':18 'unix':16 'unix-bas':15 'updat':8 'use':4 'www.cnet.com':20 'www.cnet.com/a/img/resize/f812da3969350cc0b0afd5bf35ca4ffbf08cb696/hub/2019/05/22/1b710a6b-5f4d-4987-a046-c23674b221a3/picard-meme-facepalm.jpg?auto=webp&width=1200)':19"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://feddit.uk/comment/5178215"
  +editedAt: DateTimeImmutable @1704307695 {#4093
    date: 2024-01-03 19:48:15.0 +01:00
  }
  +createdAt: DateTimeImmutable @1702472034 {#4156
    date: 2023-12-13 13:53:54.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
8 DENIED moderate
App\Entity\EntryComment {#4147
  +user: App\Entity\User {#4095 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: null
  +root: null
  +body: """
    > shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems\n
    \n
    ![](https://www.cnet.com/a/img/resize/f812da3969350cc0b0afd5bf35ca4ffbf08cb696/hub/2019/05/22/1b710a6b-5f4d-4987-a046-c23674b221a3/picard-meme-facepalm.jpg?auto=webp&width=1200)
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 4
  +score: 0
  +lastActive: DateTime @1702472034 {#4157
    date: 2023-12-13 13:53:54.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4145 …}
  +nested: Doctrine\ORM\PersistentCollection {#4143 …}
  +votes: Doctrine\ORM\PersistentCollection {#4141 …}
  +reports: Doctrine\ORM\PersistentCollection {#4139 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4107 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4111 …}
  -id: 220481
  -bodyTs: "'/a/img/resize/f812da3969350cc0b0afd5bf35ca4ffbf08cb696/hub/2019/05/22/1b710a6b-5f4d-4987-a046-c23674b221a3/picard-meme-facepalm.jpg?auto=webp&width=1200)':21 'app':11 'base':17 'compil':10 'instal':6 'linux':13 'remov':7 'script':2 'shell':1 'system':18 'unix':16 'unix-bas':15 'updat':8 'use':4 'www.cnet.com':20 'www.cnet.com/a/img/resize/f812da3969350cc0b0afd5bf35ca4ffbf08cb696/hub/2019/05/22/1b710a6b-5f4d-4987-a046-c23674b221a3/picard-meme-facepalm.jpg?auto=webp&width=1200)':19"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://feddit.uk/comment/5178215"
  +editedAt: DateTimeImmutable @1704307695 {#4093
    date: 2024-01-03 19:48:15.0 +01:00
  }
  +createdAt: DateTimeImmutable @1702472034 {#4156
    date: 2023-12-13 13:53:54.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
9 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
10 DENIED moderate
App\Entity\EntryComment {#4185
  +user: App\Entity\User {#4168 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: null
  +root: null
  +body: "OMFG there are so many package managers but you made chocolatey instead…"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 3
  +score: 0
  +lastActive: DateTime @1702449640 {#4191
    date: 2023-12-13 07:40:40.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4183 …}
  +nested: Doctrine\ORM\PersistentCollection {#4181 …}
  +votes: Doctrine\ORM\PersistentCollection {#4179 …}
  +reports: Doctrine\ORM\PersistentCollection {#4176 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4172 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4170 …}
  -id: 220251
  -bodyTs: "'chocolatey':11 'instead':12 'made':10 'manag':7 'mani':5 'omfg':1 'packag':6"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ml/comment/6610671"
  +editedAt: null
  +createdAt: DateTimeImmutable @1702449640 {#4189
    date: 2023-12-13 07:40:40.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
11 DENIED edit
App\Entity\EntryComment {#4185
  +user: App\Entity\User {#4168 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: null
  +root: null
  +body: "OMFG there are so many package managers but you made chocolatey instead…"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 3
  +score: 0
  +lastActive: DateTime @1702449640 {#4191
    date: 2023-12-13 07:40:40.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4183 …}
  +nested: Doctrine\ORM\PersistentCollection {#4181 …}
  +votes: Doctrine\ORM\PersistentCollection {#4179 …}
  +reports: Doctrine\ORM\PersistentCollection {#4176 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4172 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4170 …}
  -id: 220251
  -bodyTs: "'chocolatey':11 'instead':12 'made':10 'manag':7 'mani':5 'omfg':1 'packag':6"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ml/comment/6610671"
  +editedAt: null
  +createdAt: DateTimeImmutable @1702449640 {#4189
    date: 2023-12-13 07:40:40.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
12 DENIED moderate
App\Entity\EntryComment {#4185
  +user: App\Entity\User {#4168 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: null
  +root: null
  +body: "OMFG there are so many package managers but you made chocolatey instead…"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 3
  +score: 0
  +lastActive: DateTime @1702449640 {#4191
    date: 2023-12-13 07:40:40.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4183 …}
  +nested: Doctrine\ORM\PersistentCollection {#4181 …}
  +votes: Doctrine\ORM\PersistentCollection {#4179 …}
  +reports: Doctrine\ORM\PersistentCollection {#4176 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4172 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4170 …}
  -id: 220251
  -bodyTs: "'chocolatey':11 'instead':12 'made':10 'manag':7 'mani':5 'omfg':1 'packag':6"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ml/comment/6610671"
  +editedAt: null
  +createdAt: DateTimeImmutable @1702449640 {#4189
    date: 2023-12-13 07:40:40.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
13 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
14 DENIED moderate
App\Entity\EntryComment {#4266
  +user: App\Entity\User {#4279 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: null
  +root: null
  +body: """
    If you're using a shell script to install software, you've already failed.\n
    \n
    Better alternatives include\n
    \n
    - Third-party package managers like [Homebrew](https://docs.brew.sh/Homebrew-on-Linux) and [Nix](https://nixos.wiki/wiki/Nix_package_manager).\n
    - Language-specific package managers like [pip](https://pip.pypa.io/en/stable/) and [npm](https://www.npmjs.com/).\n
    - Self-contained package formats like [Flatpak](https://www.flatpak.org/), [Snap](https://snapcraft.io/) and [AppImage](https://appimage.org/).\n
    - Using [checkinstall](https://checkinstall.izto.org/) to turn a package with an install script or a "make install" command into a package your distro recognizes.\n
    - Downloading a tarball and using [GNU Stow](https://www.gnu.org/software/stow) to install it into /usr/local.\n
    - Compiling from source and [installing in $HOME.](https://blog.sanctum.geek.nz/compiling-in-home/)
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 12
  +score: 0
  +lastActive: DateTime @1704349929 {#4261
    date: 2024-01-04 07:32:09.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4267 …}
  +nested: Doctrine\ORM\PersistentCollection {#4269 …}
  +votes: Doctrine\ORM\PersistentCollection {#4271 …}
  +reports: Doctrine\ORM\PersistentCollection {#4273 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4275 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4277 …}
  -id: 220050
  -bodyTs: "'/)':61,71 '/),':57 '/).':47,66 '/compiling-in-home/)':115 '/en/stable/)':42 '/homebrew-on-linux)':27 '/software/stow)':100 '/usr/local':105 '/wiki/nix_package_manager).':32 'alreadi':13 'altern':16 'appimag':63 'appimage.org':65 'appimage.org/).':64 'better':15 'blog.sanctum.geek.nz':114 'blog.sanctum.geek.nz/compiling-in-home/)':113 'checkinstal':68 'checkinstall.izto.org':70 'checkinstall.izto.org/)':69 'command':84 'compil':106 'contain':50 'distro':89 'docs.brew.sh':26 'docs.brew.sh/homebrew-on-linux)':25 'download':91 'fail':14 'flatpak':54 'format':52 'gnu':96 'home':112 'homebrew':24 'includ':17 'instal':9,78,83,102,110 'languag':34 'language-specif':33 'like':23,38,53 'make':82 'manag':22,37 'nix':29 'nixos.wiki':31 'nixos.wiki/wiki/nix_package_manager).':30 'npm':44 'packag':21,36,51,75,87 'parti':20 'pip':39 'pip.pypa.io':41 'pip.pypa.io/en/stable/)':40 're':3 'recogn':90 'script':7,79 'self':49 'self-contain':48 'shell':6 'snap':58 'snapcraft.io':60 'snapcraft.io/)':59 'softwar':10 'sourc':108 'specif':35 'stow':97 'tarbal':93 'third':19 'third-parti':18 'turn':73 'use':4,67,95 've':12 'www.flatpak.org':56 'www.flatpak.org/),':55 'www.gnu.org':99 'www.gnu.org/software/stow)':98 'www.npmjs.com':46 'www.npmjs.com/).':45"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://kbin.social/m/linux@lemmy.ml/t/699108/-/comment/4096099"
  +editedAt: null
  +createdAt: DateTimeImmutable @1702435091 {#4262
    date: 2023-12-13 03:38:11.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
15 DENIED edit
App\Entity\EntryComment {#4266
  +user: App\Entity\User {#4279 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: null
  +root: null
  +body: """
    If you're using a shell script to install software, you've already failed.\n
    \n
    Better alternatives include\n
    \n
    - Third-party package managers like [Homebrew](https://docs.brew.sh/Homebrew-on-Linux) and [Nix](https://nixos.wiki/wiki/Nix_package_manager).\n
    - Language-specific package managers like [pip](https://pip.pypa.io/en/stable/) and [npm](https://www.npmjs.com/).\n
    - Self-contained package formats like [Flatpak](https://www.flatpak.org/), [Snap](https://snapcraft.io/) and [AppImage](https://appimage.org/).\n
    - Using [checkinstall](https://checkinstall.izto.org/) to turn a package with an install script or a "make install" command into a package your distro recognizes.\n
    - Downloading a tarball and using [GNU Stow](https://www.gnu.org/software/stow) to install it into /usr/local.\n
    - Compiling from source and [installing in $HOME.](https://blog.sanctum.geek.nz/compiling-in-home/)
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 12
  +score: 0
  +lastActive: DateTime @1704349929 {#4261
    date: 2024-01-04 07:32:09.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4267 …}
  +nested: Doctrine\ORM\PersistentCollection {#4269 …}
  +votes: Doctrine\ORM\PersistentCollection {#4271 …}
  +reports: Doctrine\ORM\PersistentCollection {#4273 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4275 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4277 …}
  -id: 220050
  -bodyTs: "'/)':61,71 '/),':57 '/).':47,66 '/compiling-in-home/)':115 '/en/stable/)':42 '/homebrew-on-linux)':27 '/software/stow)':100 '/usr/local':105 '/wiki/nix_package_manager).':32 'alreadi':13 'altern':16 'appimag':63 'appimage.org':65 'appimage.org/).':64 'better':15 'blog.sanctum.geek.nz':114 'blog.sanctum.geek.nz/compiling-in-home/)':113 'checkinstal':68 'checkinstall.izto.org':70 'checkinstall.izto.org/)':69 'command':84 'compil':106 'contain':50 'distro':89 'docs.brew.sh':26 'docs.brew.sh/homebrew-on-linux)':25 'download':91 'fail':14 'flatpak':54 'format':52 'gnu':96 'home':112 'homebrew':24 'includ':17 'instal':9,78,83,102,110 'languag':34 'language-specif':33 'like':23,38,53 'make':82 'manag':22,37 'nix':29 'nixos.wiki':31 'nixos.wiki/wiki/nix_package_manager).':30 'npm':44 'packag':21,36,51,75,87 'parti':20 'pip':39 'pip.pypa.io':41 'pip.pypa.io/en/stable/)':40 're':3 'recogn':90 'script':7,79 'self':49 'self-contain':48 'shell':6 'snap':58 'snapcraft.io':60 'snapcraft.io/)':59 'softwar':10 'sourc':108 'specif':35 'stow':97 'tarbal':93 'third':19 'third-parti':18 'turn':73 'use':4,67,95 've':12 'www.flatpak.org':56 'www.flatpak.org/),':55 'www.gnu.org':99 'www.gnu.org/software/stow)':98 'www.npmjs.com':46 'www.npmjs.com/).':45"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://kbin.social/m/linux@lemmy.ml/t/699108/-/comment/4096099"
  +editedAt: null
  +createdAt: DateTimeImmutable @1702435091 {#4262
    date: 2023-12-13 03:38:11.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
16 DENIED moderate
App\Entity\EntryComment {#4266
  +user: App\Entity\User {#4279 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: null
  +root: null
  +body: """
    If you're using a shell script to install software, you've already failed.\n
    \n
    Better alternatives include\n
    \n
    - Third-party package managers like [Homebrew](https://docs.brew.sh/Homebrew-on-Linux) and [Nix](https://nixos.wiki/wiki/Nix_package_manager).\n
    - Language-specific package managers like [pip](https://pip.pypa.io/en/stable/) and [npm](https://www.npmjs.com/).\n
    - Self-contained package formats like [Flatpak](https://www.flatpak.org/), [Snap](https://snapcraft.io/) and [AppImage](https://appimage.org/).\n
    - Using [checkinstall](https://checkinstall.izto.org/) to turn a package with an install script or a "make install" command into a package your distro recognizes.\n
    - Downloading a tarball and using [GNU Stow](https://www.gnu.org/software/stow) to install it into /usr/local.\n
    - Compiling from source and [installing in $HOME.](https://blog.sanctum.geek.nz/compiling-in-home/)
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 12
  +score: 0
  +lastActive: DateTime @1704349929 {#4261
    date: 2024-01-04 07:32:09.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4267 …}
  +nested: Doctrine\ORM\PersistentCollection {#4269 …}
  +votes: Doctrine\ORM\PersistentCollection {#4271 …}
  +reports: Doctrine\ORM\PersistentCollection {#4273 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4275 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4277 …}
  -id: 220050
  -bodyTs: "'/)':61,71 '/),':57 '/).':47,66 '/compiling-in-home/)':115 '/en/stable/)':42 '/homebrew-on-linux)':27 '/software/stow)':100 '/usr/local':105 '/wiki/nix_package_manager).':32 'alreadi':13 'altern':16 'appimag':63 'appimage.org':65 'appimage.org/).':64 'better':15 'blog.sanctum.geek.nz':114 'blog.sanctum.geek.nz/compiling-in-home/)':113 'checkinstal':68 'checkinstall.izto.org':70 'checkinstall.izto.org/)':69 'command':84 'compil':106 'contain':50 'distro':89 'docs.brew.sh':26 'docs.brew.sh/homebrew-on-linux)':25 'download':91 'fail':14 'flatpak':54 'format':52 'gnu':96 'home':112 'homebrew':24 'includ':17 'instal':9,78,83,102,110 'languag':34 'language-specif':33 'like':23,38,53 'make':82 'manag':22,37 'nix':29 'nixos.wiki':31 'nixos.wiki/wiki/nix_package_manager).':30 'npm':44 'packag':21,36,51,75,87 'parti':20 'pip':39 'pip.pypa.io':41 'pip.pypa.io/en/stable/)':40 're':3 'recogn':90 'script':7,79 'self':49 'self-contain':48 'shell':6 'snap':58 'snapcraft.io':60 'snapcraft.io/)':59 'softwar':10 'sourc':108 'specif':35 'stow':97 'tarbal':93 'third':19 'third-parti':18 'turn':73 'use':4,67,95 've':12 'www.flatpak.org':56 'www.flatpak.org/),':55 'www.gnu.org':99 'www.gnu.org/software/stow)':98 'www.npmjs.com':46 'www.npmjs.com/).':45"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://kbin.social/m/linux@lemmy.ml/t/699108/-/comment/4096099"
  +editedAt: null
  +createdAt: DateTimeImmutable @1702435091 {#4262
    date: 2023-12-13 03:38:11.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
17 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
18 DENIED moderate
App\Entity\EntryComment {#4528
  +user: Proxies\__CG__\App\Entity\User {#1978 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4266
    +user: App\Entity\User {#4279 …}
    +entry: App\Entity\Entry {#2412}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: null
    +root: null
    +body: """
      If you're using a shell script to install software, you've already failed.\n
      \n
      Better alternatives include\n
      \n
      - Third-party package managers like [Homebrew](https://docs.brew.sh/Homebrew-on-Linux) and [Nix](https://nixos.wiki/wiki/Nix_package_manager).\n
      - Language-specific package managers like [pip](https://pip.pypa.io/en/stable/) and [npm](https://www.npmjs.com/).\n
      - Self-contained package formats like [Flatpak](https://www.flatpak.org/), [Snap](https://snapcraft.io/) and [AppImage](https://appimage.org/).\n
      - Using [checkinstall](https://checkinstall.izto.org/) to turn a package with an install script or a "make install" command into a package your distro recognizes.\n
      - Downloading a tarball and using [GNU Stow](https://www.gnu.org/software/stow) to install it into /usr/local.\n
      - Compiling from source and [installing in $HOME.](https://blog.sanctum.geek.nz/compiling-in-home/)
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 12
    +score: 0
    +lastActive: DateTime @1704349929 {#4261
      date: 2024-01-04 07:32:09.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Berserkware@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4267 …}
    +nested: Doctrine\ORM\PersistentCollection {#4269 …}
    +votes: Doctrine\ORM\PersistentCollection {#4271 …}
    +reports: Doctrine\ORM\PersistentCollection {#4273 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4275 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4277 …}
    -id: 220050
    -bodyTs: "'/)':61,71 '/),':57 '/).':47,66 '/compiling-in-home/)':115 '/en/stable/)':42 '/homebrew-on-linux)':27 '/software/stow)':100 '/usr/local':105 '/wiki/nix_package_manager).':32 'alreadi':13 'altern':16 'appimag':63 'appimage.org':65 'appimage.org/).':64 'better':15 'blog.sanctum.geek.nz':114 'blog.sanctum.geek.nz/compiling-in-home/)':113 'checkinstal':68 'checkinstall.izto.org':70 'checkinstall.izto.org/)':69 'command':84 'compil':106 'contain':50 'distro':89 'docs.brew.sh':26 'docs.brew.sh/homebrew-on-linux)':25 'download':91 'fail':14 'flatpak':54 'format':52 'gnu':96 'home':112 'homebrew':24 'includ':17 'instal':9,78,83,102,110 'languag':34 'language-specif':33 'like':23,38,53 'make':82 'manag':22,37 'nix':29 'nixos.wiki':31 'nixos.wiki/wiki/nix_package_manager).':30 'npm':44 'packag':21,36,51,75,87 'parti':20 'pip':39 'pip.pypa.io':41 'pip.pypa.io/en/stable/)':40 're':3 'recogn':90 'script':7,79 'self':49 'self-contain':48 'shell':6 'snap':58 'snapcraft.io':60 'snapcraft.io/)':59 'softwar':10 'sourc':108 'specif':35 'stow':97 'tarbal':93 'third':19 'third-parti':18 'turn':73 'use':4,67,95 've':12 'www.flatpak.org':56 'www.flatpak.org/),':55 'www.gnu.org':99 'www.gnu.org/software/stow)':98 'www.npmjs.com':46 'www.npmjs.com/).':45"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://kbin.social/m/linux@lemmy.ml/t/699108/-/comment/4096099"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702435091 {#4262
      date: 2023-12-13 03:38:11.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4266}
  +body: "The point is not to have the script directly install the program (e.g. getting the binary, putting it where it needs to be, and making a desktop file), but to have the script be used as a wrapper for any of the methods you mentioned above. This would allow for a more consistent installing experience, and in the future, a unified CLI. It would also be better for the reasons mentioned in my post."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 4
  +score: 0
  +lastActive: DateTime @1702453995 {#4526
    date: 2023-12-13 08:53:15.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
    "@Snarwin@kbin.social"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4529 …}
  +nested: Doctrine\ORM\PersistentCollection {#4531 …}
  +votes: Doctrine\ORM\PersistentCollection {#4533 …}
  +reports: Doctrine\ORM\PersistentCollection {#4535 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4537 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4539 …}
  -id: 220305
  -bodyTs: "'allow':49 'also':65 'better':67 'binari':16 'cli':62 'consist':53 'desktop':27 'direct':9 'e.g':13 'experi':55 'file':28 'futur':59 'get':14 'instal':10,54 'make':25 'mention':45,71 'method':43 'need':21 'point':2 'post':74 'program':12 'put':17 'reason':70 'script':8,33 'unifi':61 'use':35 'would':48,64 'wrapper':38"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ml/comment/6611614"
  +editedAt: null
  +createdAt: DateTimeImmutable @1702453995 {#4527
    date: 2023-12-13 08:53:15.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
19 DENIED edit
App\Entity\EntryComment {#4528
  +user: Proxies\__CG__\App\Entity\User {#1978 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4266
    +user: App\Entity\User {#4279 …}
    +entry: App\Entity\Entry {#2412}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: null
    +root: null
    +body: """
      If you're using a shell script to install software, you've already failed.\n
      \n
      Better alternatives include\n
      \n
      - Third-party package managers like [Homebrew](https://docs.brew.sh/Homebrew-on-Linux) and [Nix](https://nixos.wiki/wiki/Nix_package_manager).\n
      - Language-specific package managers like [pip](https://pip.pypa.io/en/stable/) and [npm](https://www.npmjs.com/).\n
      - Self-contained package formats like [Flatpak](https://www.flatpak.org/), [Snap](https://snapcraft.io/) and [AppImage](https://appimage.org/).\n
      - Using [checkinstall](https://checkinstall.izto.org/) to turn a package with an install script or a "make install" command into a package your distro recognizes.\n
      - Downloading a tarball and using [GNU Stow](https://www.gnu.org/software/stow) to install it into /usr/local.\n
      - Compiling from source and [installing in $HOME.](https://blog.sanctum.geek.nz/compiling-in-home/)
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 12
    +score: 0
    +lastActive: DateTime @1704349929 {#4261
      date: 2024-01-04 07:32:09.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Berserkware@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4267 …}
    +nested: Doctrine\ORM\PersistentCollection {#4269 …}
    +votes: Doctrine\ORM\PersistentCollection {#4271 …}
    +reports: Doctrine\ORM\PersistentCollection {#4273 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4275 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4277 …}
    -id: 220050
    -bodyTs: "'/)':61,71 '/),':57 '/).':47,66 '/compiling-in-home/)':115 '/en/stable/)':42 '/homebrew-on-linux)':27 '/software/stow)':100 '/usr/local':105 '/wiki/nix_package_manager).':32 'alreadi':13 'altern':16 'appimag':63 'appimage.org':65 'appimage.org/).':64 'better':15 'blog.sanctum.geek.nz':114 'blog.sanctum.geek.nz/compiling-in-home/)':113 'checkinstal':68 'checkinstall.izto.org':70 'checkinstall.izto.org/)':69 'command':84 'compil':106 'contain':50 'distro':89 'docs.brew.sh':26 'docs.brew.sh/homebrew-on-linux)':25 'download':91 'fail':14 'flatpak':54 'format':52 'gnu':96 'home':112 'homebrew':24 'includ':17 'instal':9,78,83,102,110 'languag':34 'language-specif':33 'like':23,38,53 'make':82 'manag':22,37 'nix':29 'nixos.wiki':31 'nixos.wiki/wiki/nix_package_manager).':30 'npm':44 'packag':21,36,51,75,87 'parti':20 'pip':39 'pip.pypa.io':41 'pip.pypa.io/en/stable/)':40 're':3 'recogn':90 'script':7,79 'self':49 'self-contain':48 'shell':6 'snap':58 'snapcraft.io':60 'snapcraft.io/)':59 'softwar':10 'sourc':108 'specif':35 'stow':97 'tarbal':93 'third':19 'third-parti':18 'turn':73 'use':4,67,95 've':12 'www.flatpak.org':56 'www.flatpak.org/),':55 'www.gnu.org':99 'www.gnu.org/software/stow)':98 'www.npmjs.com':46 'www.npmjs.com/).':45"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://kbin.social/m/linux@lemmy.ml/t/699108/-/comment/4096099"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702435091 {#4262
      date: 2023-12-13 03:38:11.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4266}
  +body: "The point is not to have the script directly install the program (e.g. getting the binary, putting it where it needs to be, and making a desktop file), but to have the script be used as a wrapper for any of the methods you mentioned above. This would allow for a more consistent installing experience, and in the future, a unified CLI. It would also be better for the reasons mentioned in my post."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 4
  +score: 0
  +lastActive: DateTime @1702453995 {#4526
    date: 2023-12-13 08:53:15.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
    "@Snarwin@kbin.social"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4529 …}
  +nested: Doctrine\ORM\PersistentCollection {#4531 …}
  +votes: Doctrine\ORM\PersistentCollection {#4533 …}
  +reports: Doctrine\ORM\PersistentCollection {#4535 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4537 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4539 …}
  -id: 220305
  -bodyTs: "'allow':49 'also':65 'better':67 'binari':16 'cli':62 'consist':53 'desktop':27 'direct':9 'e.g':13 'experi':55 'file':28 'futur':59 'get':14 'instal':10,54 'make':25 'mention':45,71 'method':43 'need':21 'point':2 'post':74 'program':12 'put':17 'reason':70 'script':8,33 'unifi':61 'use':35 'would':48,64 'wrapper':38"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ml/comment/6611614"
  +editedAt: null
  +createdAt: DateTimeImmutable @1702453995 {#4527
    date: 2023-12-13 08:53:15.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
20 DENIED moderate
App\Entity\EntryComment {#4528
  +user: Proxies\__CG__\App\Entity\User {#1978 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4266
    +user: App\Entity\User {#4279 …}
    +entry: App\Entity\Entry {#2412}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: null
    +root: null
    +body: """
      If you're using a shell script to install software, you've already failed.\n
      \n
      Better alternatives include\n
      \n
      - Third-party package managers like [Homebrew](https://docs.brew.sh/Homebrew-on-Linux) and [Nix](https://nixos.wiki/wiki/Nix_package_manager).\n
      - Language-specific package managers like [pip](https://pip.pypa.io/en/stable/) and [npm](https://www.npmjs.com/).\n
      - Self-contained package formats like [Flatpak](https://www.flatpak.org/), [Snap](https://snapcraft.io/) and [AppImage](https://appimage.org/).\n
      - Using [checkinstall](https://checkinstall.izto.org/) to turn a package with an install script or a "make install" command into a package your distro recognizes.\n
      - Downloading a tarball and using [GNU Stow](https://www.gnu.org/software/stow) to install it into /usr/local.\n
      - Compiling from source and [installing in $HOME.](https://blog.sanctum.geek.nz/compiling-in-home/)
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 12
    +score: 0
    +lastActive: DateTime @1704349929 {#4261
      date: 2024-01-04 07:32:09.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Berserkware@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4267 …}
    +nested: Doctrine\ORM\PersistentCollection {#4269 …}
    +votes: Doctrine\ORM\PersistentCollection {#4271 …}
    +reports: Doctrine\ORM\PersistentCollection {#4273 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4275 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4277 …}
    -id: 220050
    -bodyTs: "'/)':61,71 '/),':57 '/).':47,66 '/compiling-in-home/)':115 '/en/stable/)':42 '/homebrew-on-linux)':27 '/software/stow)':100 '/usr/local':105 '/wiki/nix_package_manager).':32 'alreadi':13 'altern':16 'appimag':63 'appimage.org':65 'appimage.org/).':64 'better':15 'blog.sanctum.geek.nz':114 'blog.sanctum.geek.nz/compiling-in-home/)':113 'checkinstal':68 'checkinstall.izto.org':70 'checkinstall.izto.org/)':69 'command':84 'compil':106 'contain':50 'distro':89 'docs.brew.sh':26 'docs.brew.sh/homebrew-on-linux)':25 'download':91 'fail':14 'flatpak':54 'format':52 'gnu':96 'home':112 'homebrew':24 'includ':17 'instal':9,78,83,102,110 'languag':34 'language-specif':33 'like':23,38,53 'make':82 'manag':22,37 'nix':29 'nixos.wiki':31 'nixos.wiki/wiki/nix_package_manager).':30 'npm':44 'packag':21,36,51,75,87 'parti':20 'pip':39 'pip.pypa.io':41 'pip.pypa.io/en/stable/)':40 're':3 'recogn':90 'script':7,79 'self':49 'self-contain':48 'shell':6 'snap':58 'snapcraft.io':60 'snapcraft.io/)':59 'softwar':10 'sourc':108 'specif':35 'stow':97 'tarbal':93 'third':19 'third-parti':18 'turn':73 'use':4,67,95 've':12 'www.flatpak.org':56 'www.flatpak.org/),':55 'www.gnu.org':99 'www.gnu.org/software/stow)':98 'www.npmjs.com':46 'www.npmjs.com/).':45"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://kbin.social/m/linux@lemmy.ml/t/699108/-/comment/4096099"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702435091 {#4262
      date: 2023-12-13 03:38:11.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4266}
  +body: "The point is not to have the script directly install the program (e.g. getting the binary, putting it where it needs to be, and making a desktop file), but to have the script be used as a wrapper for any of the methods you mentioned above. This would allow for a more consistent installing experience, and in the future, a unified CLI. It would also be better for the reasons mentioned in my post."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 4
  +score: 0
  +lastActive: DateTime @1702453995 {#4526
    date: 2023-12-13 08:53:15.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
    "@Snarwin@kbin.social"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4529 …}
  +nested: Doctrine\ORM\PersistentCollection {#4531 …}
  +votes: Doctrine\ORM\PersistentCollection {#4533 …}
  +reports: Doctrine\ORM\PersistentCollection {#4535 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4537 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4539 …}
  -id: 220305
  -bodyTs: "'allow':49 'also':65 'better':67 'binari':16 'cli':62 'consist':53 'desktop':27 'direct':9 'e.g':13 'experi':55 'file':28 'futur':59 'get':14 'instal':10,54 'make':25 'mention':45,71 'method':43 'need':21 'point':2 'post':74 'program':12 'put':17 'reason':70 'script':8,33 'unifi':61 'use':35 'would':48,64 'wrapper':38"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ml/comment/6611614"
  +editedAt: null
  +createdAt: DateTimeImmutable @1702453995 {#4527
    date: 2023-12-13 08:53:15.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
21 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
22 DENIED moderate
App\Entity\EntryComment {#4596
  +user: App\Entity\User {#4168 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4528
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +entry: App\Entity\Entry {#2412}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4266
      +user: App\Entity\User {#4279 …}
      +entry: App\Entity\Entry {#2412}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: null
      +root: null
      +body: """
        If you're using a shell script to install software, you've already failed.\n
        \n
        Better alternatives include\n
        \n
        - Third-party package managers like [Homebrew](https://docs.brew.sh/Homebrew-on-Linux) and [Nix](https://nixos.wiki/wiki/Nix_package_manager).\n
        - Language-specific package managers like [pip](https://pip.pypa.io/en/stable/) and [npm](https://www.npmjs.com/).\n
        - Self-contained package formats like [Flatpak](https://www.flatpak.org/), [Snap](https://snapcraft.io/) and [AppImage](https://appimage.org/).\n
        - Using [checkinstall](https://checkinstall.izto.org/) to turn a package with an install script or a "make install" command into a package your distro recognizes.\n
        - Downloading a tarball and using [GNU Stow](https://www.gnu.org/software/stow) to install it into /usr/local.\n
        - Compiling from source and [installing in $HOME.](https://blog.sanctum.geek.nz/compiling-in-home/)
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 12
      +score: 0
      +lastActive: DateTime @1704349929 {#4261
        date: 2024-01-04 07:32:09.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Berserkware@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4267 …}
      +nested: Doctrine\ORM\PersistentCollection {#4269 …}
      +votes: Doctrine\ORM\PersistentCollection {#4271 …}
      +reports: Doctrine\ORM\PersistentCollection {#4273 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4275 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4277 …}
      -id: 220050
      -bodyTs: "'/)':61,71 '/),':57 '/).':47,66 '/compiling-in-home/)':115 '/en/stable/)':42 '/homebrew-on-linux)':27 '/software/stow)':100 '/usr/local':105 '/wiki/nix_package_manager).':32 'alreadi':13 'altern':16 'appimag':63 'appimage.org':65 'appimage.org/).':64 'better':15 'blog.sanctum.geek.nz':114 'blog.sanctum.geek.nz/compiling-in-home/)':113 'checkinstal':68 'checkinstall.izto.org':70 'checkinstall.izto.org/)':69 'command':84 'compil':106 'contain':50 'distro':89 'docs.brew.sh':26 'docs.brew.sh/homebrew-on-linux)':25 'download':91 'fail':14 'flatpak':54 'format':52 'gnu':96 'home':112 'homebrew':24 'includ':17 'instal':9,78,83,102,110 'languag':34 'language-specif':33 'like':23,38,53 'make':82 'manag':22,37 'nix':29 'nixos.wiki':31 'nixos.wiki/wiki/nix_package_manager).':30 'npm':44 'packag':21,36,51,75,87 'parti':20 'pip':39 'pip.pypa.io':41 'pip.pypa.io/en/stable/)':40 're':3 'recogn':90 'script':7,79 'self':49 'self-contain':48 'shell':6 'snap':58 'snapcraft.io':60 'snapcraft.io/)':59 'softwar':10 'sourc':108 'specif':35 'stow':97 'tarbal':93 'third':19 'third-parti':18 'turn':73 'use':4,67,95 've':12 'www.flatpak.org':56 'www.flatpak.org/),':55 'www.gnu.org':99 'www.gnu.org/software/stow)':98 'www.npmjs.com':46 'www.npmjs.com/).':45"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://kbin.social/m/linux@lemmy.ml/t/699108/-/comment/4096099"
      +editedAt: null
      +createdAt: DateTimeImmutable @1702435091 {#4262
        date: 2023-12-13 03:38:11.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4266}
    +body: "The point is not to have the script directly install the program (e.g. getting the binary, putting it where it needs to be, and making a desktop file), but to have the script be used as a wrapper for any of the methods you mentioned above. This would allow for a more consistent installing experience, and in the future, a unified CLI. It would also be better for the reasons mentioned in my post."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 4
    +score: 0
    +lastActive: DateTime @1702453995 {#4526
      date: 2023-12-13 08:53:15.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Berserkware@lemmy.ml"
      "@Snarwin@kbin.social"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4529 …}
    +nested: Doctrine\ORM\PersistentCollection {#4531 …}
    +votes: Doctrine\ORM\PersistentCollection {#4533 …}
    +reports: Doctrine\ORM\PersistentCollection {#4535 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4537 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4539 …}
    -id: 220305
    -bodyTs: "'allow':49 'also':65 'better':67 'binari':16 'cli':62 'consist':53 'desktop':27 'direct':9 'e.g':13 'experi':55 'file':28 'futur':59 'get':14 'instal':10,54 'make':25 'mention':45,71 'method':43 'need':21 'point':2 'post':74 'program':12 'put':17 'reason':70 'script':8,33 'unifi':61 'use':35 'would':48,64 'wrapper':38"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/6611614"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702453995 {#4527
      date: 2023-12-13 08:53:15.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4266}
  +body: "[xkcd.com/927/](https://xkcd.com/927/)"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1702483372 {#4594
    date: 2023-12-13 17:02:52.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
    "@Snarwin@kbin.social"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4597 …}
  +nested: Doctrine\ORM\PersistentCollection {#4599 …}
  +votes: Doctrine\ORM\PersistentCollection {#4601 …}
  +reports: Doctrine\ORM\PersistentCollection {#4603 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4605 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4607 …}
  -id: 220604
  -bodyTs: "'/927/](https://xkcd.com/927/)':3 'xkcd.com':2 'xkcd.com/927/](https://xkcd.com/927/)':1"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ml/comment/6619594"
  +editedAt: null
  +createdAt: DateTimeImmutable @1702483372 {#4595
    date: 2023-12-13 17:02:52.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
23 DENIED edit
App\Entity\EntryComment {#4596
  +user: App\Entity\User {#4168 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4528
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +entry: App\Entity\Entry {#2412}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4266
      +user: App\Entity\User {#4279 …}
      +entry: App\Entity\Entry {#2412}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: null
      +root: null
      +body: """
        If you're using a shell script to install software, you've already failed.\n
        \n
        Better alternatives include\n
        \n
        - Third-party package managers like [Homebrew](https://docs.brew.sh/Homebrew-on-Linux) and [Nix](https://nixos.wiki/wiki/Nix_package_manager).\n
        - Language-specific package managers like [pip](https://pip.pypa.io/en/stable/) and [npm](https://www.npmjs.com/).\n
        - Self-contained package formats like [Flatpak](https://www.flatpak.org/), [Snap](https://snapcraft.io/) and [AppImage](https://appimage.org/).\n
        - Using [checkinstall](https://checkinstall.izto.org/) to turn a package with an install script or a "make install" command into a package your distro recognizes.\n
        - Downloading a tarball and using [GNU Stow](https://www.gnu.org/software/stow) to install it into /usr/local.\n
        - Compiling from source and [installing in $HOME.](https://blog.sanctum.geek.nz/compiling-in-home/)
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 12
      +score: 0
      +lastActive: DateTime @1704349929 {#4261
        date: 2024-01-04 07:32:09.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Berserkware@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4267 …}
      +nested: Doctrine\ORM\PersistentCollection {#4269 …}
      +votes: Doctrine\ORM\PersistentCollection {#4271 …}
      +reports: Doctrine\ORM\PersistentCollection {#4273 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4275 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4277 …}
      -id: 220050
      -bodyTs: "'/)':61,71 '/),':57 '/).':47,66 '/compiling-in-home/)':115 '/en/stable/)':42 '/homebrew-on-linux)':27 '/software/stow)':100 '/usr/local':105 '/wiki/nix_package_manager).':32 'alreadi':13 'altern':16 'appimag':63 'appimage.org':65 'appimage.org/).':64 'better':15 'blog.sanctum.geek.nz':114 'blog.sanctum.geek.nz/compiling-in-home/)':113 'checkinstal':68 'checkinstall.izto.org':70 'checkinstall.izto.org/)':69 'command':84 'compil':106 'contain':50 'distro':89 'docs.brew.sh':26 'docs.brew.sh/homebrew-on-linux)':25 'download':91 'fail':14 'flatpak':54 'format':52 'gnu':96 'home':112 'homebrew':24 'includ':17 'instal':9,78,83,102,110 'languag':34 'language-specif':33 'like':23,38,53 'make':82 'manag':22,37 'nix':29 'nixos.wiki':31 'nixos.wiki/wiki/nix_package_manager).':30 'npm':44 'packag':21,36,51,75,87 'parti':20 'pip':39 'pip.pypa.io':41 'pip.pypa.io/en/stable/)':40 're':3 'recogn':90 'script':7,79 'self':49 'self-contain':48 'shell':6 'snap':58 'snapcraft.io':60 'snapcraft.io/)':59 'softwar':10 'sourc':108 'specif':35 'stow':97 'tarbal':93 'third':19 'third-parti':18 'turn':73 'use':4,67,95 've':12 'www.flatpak.org':56 'www.flatpak.org/),':55 'www.gnu.org':99 'www.gnu.org/software/stow)':98 'www.npmjs.com':46 'www.npmjs.com/).':45"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://kbin.social/m/linux@lemmy.ml/t/699108/-/comment/4096099"
      +editedAt: null
      +createdAt: DateTimeImmutable @1702435091 {#4262
        date: 2023-12-13 03:38:11.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4266}
    +body: "The point is not to have the script directly install the program (e.g. getting the binary, putting it where it needs to be, and making a desktop file), but to have the script be used as a wrapper for any of the methods you mentioned above. This would allow for a more consistent installing experience, and in the future, a unified CLI. It would also be better for the reasons mentioned in my post."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 4
    +score: 0
    +lastActive: DateTime @1702453995 {#4526
      date: 2023-12-13 08:53:15.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Berserkware@lemmy.ml"
      "@Snarwin@kbin.social"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4529 …}
    +nested: Doctrine\ORM\PersistentCollection {#4531 …}
    +votes: Doctrine\ORM\PersistentCollection {#4533 …}
    +reports: Doctrine\ORM\PersistentCollection {#4535 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4537 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4539 …}
    -id: 220305
    -bodyTs: "'allow':49 'also':65 'better':67 'binari':16 'cli':62 'consist':53 'desktop':27 'direct':9 'e.g':13 'experi':55 'file':28 'futur':59 'get':14 'instal':10,54 'make':25 'mention':45,71 'method':43 'need':21 'point':2 'post':74 'program':12 'put':17 'reason':70 'script':8,33 'unifi':61 'use':35 'would':48,64 'wrapper':38"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/6611614"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702453995 {#4527
      date: 2023-12-13 08:53:15.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4266}
  +body: "[xkcd.com/927/](https://xkcd.com/927/)"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1702483372 {#4594
    date: 2023-12-13 17:02:52.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
    "@Snarwin@kbin.social"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4597 …}
  +nested: Doctrine\ORM\PersistentCollection {#4599 …}
  +votes: Doctrine\ORM\PersistentCollection {#4601 …}
  +reports: Doctrine\ORM\PersistentCollection {#4603 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4605 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4607 …}
  -id: 220604
  -bodyTs: "'/927/](https://xkcd.com/927/)':3 'xkcd.com':2 'xkcd.com/927/](https://xkcd.com/927/)':1"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ml/comment/6619594"
  +editedAt: null
  +createdAt: DateTimeImmutable @1702483372 {#4595
    date: 2023-12-13 17:02:52.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
24 DENIED moderate
App\Entity\EntryComment {#4596
  +user: App\Entity\User {#4168 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4528
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +entry: App\Entity\Entry {#2412}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4266
      +user: App\Entity\User {#4279 …}
      +entry: App\Entity\Entry {#2412}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: null
      +root: null
      +body: """
        If you're using a shell script to install software, you've already failed.\n
        \n
        Better alternatives include\n
        \n
        - Third-party package managers like [Homebrew](https://docs.brew.sh/Homebrew-on-Linux) and [Nix](https://nixos.wiki/wiki/Nix_package_manager).\n
        - Language-specific package managers like [pip](https://pip.pypa.io/en/stable/) and [npm](https://www.npmjs.com/).\n
        - Self-contained package formats like [Flatpak](https://www.flatpak.org/), [Snap](https://snapcraft.io/) and [AppImage](https://appimage.org/).\n
        - Using [checkinstall](https://checkinstall.izto.org/) to turn a package with an install script or a "make install" command into a package your distro recognizes.\n
        - Downloading a tarball and using [GNU Stow](https://www.gnu.org/software/stow) to install it into /usr/local.\n
        - Compiling from source and [installing in $HOME.](https://blog.sanctum.geek.nz/compiling-in-home/)
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 12
      +score: 0
      +lastActive: DateTime @1704349929 {#4261
        date: 2024-01-04 07:32:09.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Berserkware@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4267 …}
      +nested: Doctrine\ORM\PersistentCollection {#4269 …}
      +votes: Doctrine\ORM\PersistentCollection {#4271 …}
      +reports: Doctrine\ORM\PersistentCollection {#4273 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4275 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4277 …}
      -id: 220050
      -bodyTs: "'/)':61,71 '/),':57 '/).':47,66 '/compiling-in-home/)':115 '/en/stable/)':42 '/homebrew-on-linux)':27 '/software/stow)':100 '/usr/local':105 '/wiki/nix_package_manager).':32 'alreadi':13 'altern':16 'appimag':63 'appimage.org':65 'appimage.org/).':64 'better':15 'blog.sanctum.geek.nz':114 'blog.sanctum.geek.nz/compiling-in-home/)':113 'checkinstal':68 'checkinstall.izto.org':70 'checkinstall.izto.org/)':69 'command':84 'compil':106 'contain':50 'distro':89 'docs.brew.sh':26 'docs.brew.sh/homebrew-on-linux)':25 'download':91 'fail':14 'flatpak':54 'format':52 'gnu':96 'home':112 'homebrew':24 'includ':17 'instal':9,78,83,102,110 'languag':34 'language-specif':33 'like':23,38,53 'make':82 'manag':22,37 'nix':29 'nixos.wiki':31 'nixos.wiki/wiki/nix_package_manager).':30 'npm':44 'packag':21,36,51,75,87 'parti':20 'pip':39 'pip.pypa.io':41 'pip.pypa.io/en/stable/)':40 're':3 'recogn':90 'script':7,79 'self':49 'self-contain':48 'shell':6 'snap':58 'snapcraft.io':60 'snapcraft.io/)':59 'softwar':10 'sourc':108 'specif':35 'stow':97 'tarbal':93 'third':19 'third-parti':18 'turn':73 'use':4,67,95 've':12 'www.flatpak.org':56 'www.flatpak.org/),':55 'www.gnu.org':99 'www.gnu.org/software/stow)':98 'www.npmjs.com':46 'www.npmjs.com/).':45"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://kbin.social/m/linux@lemmy.ml/t/699108/-/comment/4096099"
      +editedAt: null
      +createdAt: DateTimeImmutable @1702435091 {#4262
        date: 2023-12-13 03:38:11.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4266}
    +body: "The point is not to have the script directly install the program (e.g. getting the binary, putting it where it needs to be, and making a desktop file), but to have the script be used as a wrapper for any of the methods you mentioned above. This would allow for a more consistent installing experience, and in the future, a unified CLI. It would also be better for the reasons mentioned in my post."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 4
    +score: 0
    +lastActive: DateTime @1702453995 {#4526
      date: 2023-12-13 08:53:15.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Berserkware@lemmy.ml"
      "@Snarwin@kbin.social"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4529 …}
    +nested: Doctrine\ORM\PersistentCollection {#4531 …}
    +votes: Doctrine\ORM\PersistentCollection {#4533 …}
    +reports: Doctrine\ORM\PersistentCollection {#4535 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4537 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4539 …}
    -id: 220305
    -bodyTs: "'allow':49 'also':65 'better':67 'binari':16 'cli':62 'consist':53 'desktop':27 'direct':9 'e.g':13 'experi':55 'file':28 'futur':59 'get':14 'instal':10,54 'make':25 'mention':45,71 'method':43 'need':21 'point':2 'post':74 'program':12 'put':17 'reason':70 'script':8,33 'unifi':61 'use':35 'would':48,64 'wrapper':38"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/6611614"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702453995 {#4527
      date: 2023-12-13 08:53:15.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4266}
  +body: "[xkcd.com/927/](https://xkcd.com/927/)"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1702483372 {#4594
    date: 2023-12-13 17:02:52.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
    "@Snarwin@kbin.social"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4597 …}
  +nested: Doctrine\ORM\PersistentCollection {#4599 …}
  +votes: Doctrine\ORM\PersistentCollection {#4601 …}
  +reports: Doctrine\ORM\PersistentCollection {#4603 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4605 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4607 …}
  -id: 220604
  -bodyTs: "'/927/](https://xkcd.com/927/)':3 'xkcd.com':2 'xkcd.com/927/](https://xkcd.com/927/)':1"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ml/comment/6619594"
  +editedAt: null
  +createdAt: DateTimeImmutable @1702483372 {#4595
    date: 2023-12-13 17:02:52.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
25 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
26 DENIED moderate
App\Entity\EntryComment {#4339
  +user: App\Entity\User {#4352 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: null
  +root: null
  +body: """
    You have probably invested a lot of time and effort into this, so please take this as constructive criticism.\n
    \n
    Your security systems are probably not going to be sufficient, for a whole number of reasons.\n
    \n
    ### Script Voting\n
    \n
    The general public is not able to appropriately audit shell scripts. This extends even to sysadmins and more technical people. The people who can properly audit scripts are a minority, and they may not even be amongst your user base. Anyone who gets a script that “does its job” is going to upvote it as fine, because they may not even be aware of its malicious side effects.\n
    \n
    Scripts will naturally need to evolve over time, so script updates will be a normal part of your system. Will the votes reset for new versions? Is there anything stopping someone uploading farming votes with valid scripts, and then backdoor the script once it gets sufficiently popular?\n
    \n
    Is there any form of vote manipulation prevention planned? If not, bad actors can create an army of accounts and upvote their malicious content. Can you remove a users votes if they are found to be acting maliciously? Will it even be possible for you to tell the difference between a naive user who doesn’t understand the maliciousness of the script, versus an account actively increasing the rating of a bad package?\n
    \n
    ### User Reputation\n
    \n
    This seems easy to game as well. Upload a host of valid scripts, gain reputation, and then when ready, upload malicious scripts.\n
    \n
    ### Collaboration\n
    \n
    Allowing non-maintainers to edit and upload scripts seems like a wildly bad idea. There must be some level of maintainer approval for that right? Still will have the same issues, easy for someone to build trust on a script repo and then exploit it when it suits them.\n
    \n
    None of these issues are unique to your site, pypi, dockerhub etc have all hit these issues in the past.\n
    \n
    I think the only real answer is to have very strong human moderation, but I fear that if your site takes off, the workload will rapidly spiral out of control. Otherwise, interesting idea, Good Luck!
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 20
  +score: 0
  +lastActive: DateTime @1704410802 {#4334
    date: 2024-01-05 00:26:42.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4340 …}
  +nested: Doctrine\ORM\PersistentCollection {#4342 …}
  +votes: Doctrine\ORM\PersistentCollection {#4344 …}
  +reports: Doctrine\ORM\PersistentCollection {#4346 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4348 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4350 …}
  -id: 219668
  -bodyTs: "'abl':43 'account':171,217 'act':189 'activ':218 'actor':165 'allow':251 'amongst':74 'answer':326 'anyon':78 'anyth':134 'appropri':45 'approv':273 'armi':169 'audit':46,63 'awar':100 'backdoor':145 'bad':164,224,264 'base':77 'build':287 'collabor':250 'construct':18 'content':176 'control':350 'creat':167 'critic':19 'differ':201 'dockerhub':311 'doesn':207 'easi':230,283 'edit':256 'effect':105 'effort':10 'etc':312 'even':51,72,98,193 'evolv':111 'exploit':295 'extend':50 'farm':138 'fear':336 'fine':93 'form':156 'found':186 'gain':241 'game':232 'general':39 'get':80,150 'go':26,88 'good':354 'hit':315 'host':237 'human':332 'idea':265,353 'increas':219 'interest':352 'invest':4 'issu':282,304,317 'job':86 'level':270 'like':261 'lot':6 'luck':355 'maintain':254,272 'malici':103,175,190,211,248 'manipul':159 'may':70,96 'minor':67 'moder':333 'must':267 'naiv':204 'natur':108 'need':109 'new':130 'non':253 'non-maintain':252 'none':301 'normal':120 'number':33 'otherwis':351 'packag':225 'part':121 'past':320 'peopl':57,59 'plan':161 'pleas':14 'popular':152 'possibl':195 'prevent':160 'probabl':3,24 'proper':62 'public':40 'pypi':310 'rapid':346 'rate':221 'readi':246 'real':325 'reason':35 'remov':179 'repo':292 'reput':227,242 'reset':128 'right':276 'script':36,48,64,82,106,115,142,147,214,240,249,259,291 'secur':21 'seem':229,260 'shell':47 'side':104 'site':309,340 'someon':136,285 'spiral':347 'still':277 'stop':135 'strong':331 'suffici':29,151 'suit':299 'sysadmin':53 'system':22,124 'take':15,341 'technic':56 'tell':199 'think':322 'time':8,113 'trust':288 'understand':209 'uniqu':306 'updat':116 'upload':137,235,247,258 'upvot':90,173 'user':76,181,205,226 'valid':141,239 'version':131 'versus':215 'vote':37,127,139,158,182 'well':234 'whole':32 'wild':263 'workload':344"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/5667970"
  +editedAt: null
  +createdAt: DateTimeImmutable @1702423895 {#4335
    date: 2023-12-13 00:31:35.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
27 DENIED edit
App\Entity\EntryComment {#4339
  +user: App\Entity\User {#4352 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: null
  +root: null
  +body: """
    You have probably invested a lot of time and effort into this, so please take this as constructive criticism.\n
    \n
    Your security systems are probably not going to be sufficient, for a whole number of reasons.\n
    \n
    ### Script Voting\n
    \n
    The general public is not able to appropriately audit shell scripts. This extends even to sysadmins and more technical people. The people who can properly audit scripts are a minority, and they may not even be amongst your user base. Anyone who gets a script that “does its job” is going to upvote it as fine, because they may not even be aware of its malicious side effects.\n
    \n
    Scripts will naturally need to evolve over time, so script updates will be a normal part of your system. Will the votes reset for new versions? Is there anything stopping someone uploading farming votes with valid scripts, and then backdoor the script once it gets sufficiently popular?\n
    \n
    Is there any form of vote manipulation prevention planned? If not, bad actors can create an army of accounts and upvote their malicious content. Can you remove a users votes if they are found to be acting maliciously? Will it even be possible for you to tell the difference between a naive user who doesn’t understand the maliciousness of the script, versus an account actively increasing the rating of a bad package?\n
    \n
    ### User Reputation\n
    \n
    This seems easy to game as well. Upload a host of valid scripts, gain reputation, and then when ready, upload malicious scripts.\n
    \n
    ### Collaboration\n
    \n
    Allowing non-maintainers to edit and upload scripts seems like a wildly bad idea. There must be some level of maintainer approval for that right? Still will have the same issues, easy for someone to build trust on a script repo and then exploit it when it suits them.\n
    \n
    None of these issues are unique to your site, pypi, dockerhub etc have all hit these issues in the past.\n
    \n
    I think the only real answer is to have very strong human moderation, but I fear that if your site takes off, the workload will rapidly spiral out of control. Otherwise, interesting idea, Good Luck!
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 20
  +score: 0
  +lastActive: DateTime @1704410802 {#4334
    date: 2024-01-05 00:26:42.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4340 …}
  +nested: Doctrine\ORM\PersistentCollection {#4342 …}
  +votes: Doctrine\ORM\PersistentCollection {#4344 …}
  +reports: Doctrine\ORM\PersistentCollection {#4346 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4348 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4350 …}
  -id: 219668
  -bodyTs: "'abl':43 'account':171,217 'act':189 'activ':218 'actor':165 'allow':251 'amongst':74 'answer':326 'anyon':78 'anyth':134 'appropri':45 'approv':273 'armi':169 'audit':46,63 'awar':100 'backdoor':145 'bad':164,224,264 'base':77 'build':287 'collabor':250 'construct':18 'content':176 'control':350 'creat':167 'critic':19 'differ':201 'dockerhub':311 'doesn':207 'easi':230,283 'edit':256 'effect':105 'effort':10 'etc':312 'even':51,72,98,193 'evolv':111 'exploit':295 'extend':50 'farm':138 'fear':336 'fine':93 'form':156 'found':186 'gain':241 'game':232 'general':39 'get':80,150 'go':26,88 'good':354 'hit':315 'host':237 'human':332 'idea':265,353 'increas':219 'interest':352 'invest':4 'issu':282,304,317 'job':86 'level':270 'like':261 'lot':6 'luck':355 'maintain':254,272 'malici':103,175,190,211,248 'manipul':159 'may':70,96 'minor':67 'moder':333 'must':267 'naiv':204 'natur':108 'need':109 'new':130 'non':253 'non-maintain':252 'none':301 'normal':120 'number':33 'otherwis':351 'packag':225 'part':121 'past':320 'peopl':57,59 'plan':161 'pleas':14 'popular':152 'possibl':195 'prevent':160 'probabl':3,24 'proper':62 'public':40 'pypi':310 'rapid':346 'rate':221 'readi':246 'real':325 'reason':35 'remov':179 'repo':292 'reput':227,242 'reset':128 'right':276 'script':36,48,64,82,106,115,142,147,214,240,249,259,291 'secur':21 'seem':229,260 'shell':47 'side':104 'site':309,340 'someon':136,285 'spiral':347 'still':277 'stop':135 'strong':331 'suffici':29,151 'suit':299 'sysadmin':53 'system':22,124 'take':15,341 'technic':56 'tell':199 'think':322 'time':8,113 'trust':288 'understand':209 'uniqu':306 'updat':116 'upload':137,235,247,258 'upvot':90,173 'user':76,181,205,226 'valid':141,239 'version':131 'versus':215 'vote':37,127,139,158,182 'well':234 'whole':32 'wild':263 'workload':344"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/5667970"
  +editedAt: null
  +createdAt: DateTimeImmutable @1702423895 {#4335
    date: 2023-12-13 00:31:35.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
28 DENIED moderate
App\Entity\EntryComment {#4339
  +user: App\Entity\User {#4352 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: null
  +root: null
  +body: """
    You have probably invested a lot of time and effort into this, so please take this as constructive criticism.\n
    \n
    Your security systems are probably not going to be sufficient, for a whole number of reasons.\n
    \n
    ### Script Voting\n
    \n
    The general public is not able to appropriately audit shell scripts. This extends even to sysadmins and more technical people. The people who can properly audit scripts are a minority, and they may not even be amongst your user base. Anyone who gets a script that “does its job” is going to upvote it as fine, because they may not even be aware of its malicious side effects.\n
    \n
    Scripts will naturally need to evolve over time, so script updates will be a normal part of your system. Will the votes reset for new versions? Is there anything stopping someone uploading farming votes with valid scripts, and then backdoor the script once it gets sufficiently popular?\n
    \n
    Is there any form of vote manipulation prevention planned? If not, bad actors can create an army of accounts and upvote their malicious content. Can you remove a users votes if they are found to be acting maliciously? Will it even be possible for you to tell the difference between a naive user who doesn’t understand the maliciousness of the script, versus an account actively increasing the rating of a bad package?\n
    \n
    ### User Reputation\n
    \n
    This seems easy to game as well. Upload a host of valid scripts, gain reputation, and then when ready, upload malicious scripts.\n
    \n
    ### Collaboration\n
    \n
    Allowing non-maintainers to edit and upload scripts seems like a wildly bad idea. There must be some level of maintainer approval for that right? Still will have the same issues, easy for someone to build trust on a script repo and then exploit it when it suits them.\n
    \n
    None of these issues are unique to your site, pypi, dockerhub etc have all hit these issues in the past.\n
    \n
    I think the only real answer is to have very strong human moderation, but I fear that if your site takes off, the workload will rapidly spiral out of control. Otherwise, interesting idea, Good Luck!
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 20
  +score: 0
  +lastActive: DateTime @1704410802 {#4334
    date: 2024-01-05 00:26:42.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4340 …}
  +nested: Doctrine\ORM\PersistentCollection {#4342 …}
  +votes: Doctrine\ORM\PersistentCollection {#4344 …}
  +reports: Doctrine\ORM\PersistentCollection {#4346 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4348 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4350 …}
  -id: 219668
  -bodyTs: "'abl':43 'account':171,217 'act':189 'activ':218 'actor':165 'allow':251 'amongst':74 'answer':326 'anyon':78 'anyth':134 'appropri':45 'approv':273 'armi':169 'audit':46,63 'awar':100 'backdoor':145 'bad':164,224,264 'base':77 'build':287 'collabor':250 'construct':18 'content':176 'control':350 'creat':167 'critic':19 'differ':201 'dockerhub':311 'doesn':207 'easi':230,283 'edit':256 'effect':105 'effort':10 'etc':312 'even':51,72,98,193 'evolv':111 'exploit':295 'extend':50 'farm':138 'fear':336 'fine':93 'form':156 'found':186 'gain':241 'game':232 'general':39 'get':80,150 'go':26,88 'good':354 'hit':315 'host':237 'human':332 'idea':265,353 'increas':219 'interest':352 'invest':4 'issu':282,304,317 'job':86 'level':270 'like':261 'lot':6 'luck':355 'maintain':254,272 'malici':103,175,190,211,248 'manipul':159 'may':70,96 'minor':67 'moder':333 'must':267 'naiv':204 'natur':108 'need':109 'new':130 'non':253 'non-maintain':252 'none':301 'normal':120 'number':33 'otherwis':351 'packag':225 'part':121 'past':320 'peopl':57,59 'plan':161 'pleas':14 'popular':152 'possibl':195 'prevent':160 'probabl':3,24 'proper':62 'public':40 'pypi':310 'rapid':346 'rate':221 'readi':246 'real':325 'reason':35 'remov':179 'repo':292 'reput':227,242 'reset':128 'right':276 'script':36,48,64,82,106,115,142,147,214,240,249,259,291 'secur':21 'seem':229,260 'shell':47 'side':104 'site':309,340 'someon':136,285 'spiral':347 'still':277 'stop':135 'strong':331 'suffici':29,151 'suit':299 'sysadmin':53 'system':22,124 'take':15,341 'technic':56 'tell':199 'think':322 'time':8,113 'trust':288 'understand':209 'uniqu':306 'updat':116 'upload':137,235,247,258 'upvot':90,173 'user':76,181,205,226 'valid':141,239 'version':131 'versus':215 'vote':37,127,139,158,182 'well':234 'whole':32 'wild':263 'workload':344"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/5667970"
  +editedAt: null
  +createdAt: DateTimeImmutable @1702423895 {#4335
    date: 2023-12-13 00:31:35.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
29 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
30 DENIED moderate
App\Entity\EntryComment {#4499
  +user: Proxies\__CG__\App\Entity\User {#1978 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4339
    +user: App\Entity\User {#4352 …}
    +entry: App\Entity\Entry {#2412}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: null
    +root: null
    +body: """
      You have probably invested a lot of time and effort into this, so please take this as constructive criticism.\n
      \n
      Your security systems are probably not going to be sufficient, for a whole number of reasons.\n
      \n
      ### Script Voting\n
      \n
      The general public is not able to appropriately audit shell scripts. This extends even to sysadmins and more technical people. The people who can properly audit scripts are a minority, and they may not even be amongst your user base. Anyone who gets a script that “does its job” is going to upvote it as fine, because they may not even be aware of its malicious side effects.\n
      \n
      Scripts will naturally need to evolve over time, so script updates will be a normal part of your system. Will the votes reset for new versions? Is there anything stopping someone uploading farming votes with valid scripts, and then backdoor the script once it gets sufficiently popular?\n
      \n
      Is there any form of vote manipulation prevention planned? If not, bad actors can create an army of accounts and upvote their malicious content. Can you remove a users votes if they are found to be acting maliciously? Will it even be possible for you to tell the difference between a naive user who doesn’t understand the maliciousness of the script, versus an account actively increasing the rating of a bad package?\n
      \n
      ### User Reputation\n
      \n
      This seems easy to game as well. Upload a host of valid scripts, gain reputation, and then when ready, upload malicious scripts.\n
      \n
      ### Collaboration\n
      \n
      Allowing non-maintainers to edit and upload scripts seems like a wildly bad idea. There must be some level of maintainer approval for that right? Still will have the same issues, easy for someone to build trust on a script repo and then exploit it when it suits them.\n
      \n
      None of these issues are unique to your site, pypi, dockerhub etc have all hit these issues in the past.\n
      \n
      I think the only real answer is to have very strong human moderation, but I fear that if your site takes off, the workload will rapidly spiral out of control. Otherwise, interesting idea, Good Luck!
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 20
    +score: 0
    +lastActive: DateTime @1704410802 {#4334
      date: 2024-01-05 00:26:42.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Berserkware@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4340 …}
    +nested: Doctrine\ORM\PersistentCollection {#4342 …}
    +votes: Doctrine\ORM\PersistentCollection {#4344 …}
    +reports: Doctrine\ORM\PersistentCollection {#4346 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4348 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4350 …}
    -id: 219668
    -bodyTs: "'abl':43 'account':171,217 'act':189 'activ':218 'actor':165 'allow':251 'amongst':74 'answer':326 'anyon':78 'anyth':134 'appropri':45 'approv':273 'armi':169 'audit':46,63 'awar':100 'backdoor':145 'bad':164,224,264 'base':77 'build':287 'collabor':250 'construct':18 'content':176 'control':350 'creat':167 'critic':19 'differ':201 'dockerhub':311 'doesn':207 'easi':230,283 'edit':256 'effect':105 'effort':10 'etc':312 'even':51,72,98,193 'evolv':111 'exploit':295 'extend':50 'farm':138 'fear':336 'fine':93 'form':156 'found':186 'gain':241 'game':232 'general':39 'get':80,150 'go':26,88 'good':354 'hit':315 'host':237 'human':332 'idea':265,353 'increas':219 'interest':352 'invest':4 'issu':282,304,317 'job':86 'level':270 'like':261 'lot':6 'luck':355 'maintain':254,272 'malici':103,175,190,211,248 'manipul':159 'may':70,96 'minor':67 'moder':333 'must':267 'naiv':204 'natur':108 'need':109 'new':130 'non':253 'non-maintain':252 'none':301 'normal':120 'number':33 'otherwis':351 'packag':225 'part':121 'past':320 'peopl':57,59 'plan':161 'pleas':14 'popular':152 'possibl':195 'prevent':160 'probabl':3,24 'proper':62 'public':40 'pypi':310 'rapid':346 'rate':221 'readi':246 'real':325 'reason':35 'remov':179 'repo':292 'reput':227,242 'reset':128 'right':276 'script':36,48,64,82,106,115,142,147,214,240,249,259,291 'secur':21 'seem':229,260 'shell':47 'side':104 'site':309,340 'someon':136,285 'spiral':347 'still':277 'stop':135 'strong':331 'suffici':29,151 'suit':299 'sysadmin':53 'system':22,124 'take':15,341 'technic':56 'tell':199 'think':322 'time':8,113 'trust':288 'understand':209 'uniqu':306 'updat':116 'upload':137,235,247,258 'upvot':90,173 'user':76,181,205,226 'valid':141,239 'version':131 'versus':215 'vote':37,127,139,158,182 'well':234 'whole':32 'wild':263 'workload':344"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/5667970"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702423895 {#4335
      date: 2023-12-13 00:31:35.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4339}
  +body: "Thank you for the feedback. I think I will remove the voting system for now while I figure out of solution. I will probably not be adding the user reputation system, unless I figure out a way to do it without facing the problems you have mentioned. As for collaboration, I will add a feature allowing app maintainers to set whether or not non-maintainers can add scripts without maintainer permission. Thank you again for the feedback, it was very useful!"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1702425518 {#4500
    date: 2023-12-13 00:58:38.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
    "@CameronDev@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4495 …}
  +nested: Doctrine\ORM\PersistentCollection {#4490 …}
  +votes: Doctrine\ORM\PersistentCollection {#4494 …}
  +reports: Doctrine\ORM\PersistentCollection {#4504 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4506 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4508 …}
  -id: 219724
  -bodyTs: "'ad':27 'add':53,68 'allow':56 'app':57 'collabor':50 'face':42 'featur':55 'feedback':5,78 'figur':18,34 'maintain':58,66,71 'mention':47 'non':65 'non-maintain':64 'permiss':72 'probabl':24 'problem':44 'remov':10 'reput':30 'script':69 'set':60 'solut':21 'system':13,31 'thank':1,73 'think':7 'unless':32 'use':82 'user':29 'vote':12 'way':37 'whether':61 'without':41,70"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ml/comment/6603925"
  +editedAt: null
  +createdAt: DateTimeImmutable @1702425518 {#4503
    date: 2023-12-13 00:58:38.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
31 DENIED edit
App\Entity\EntryComment {#4499
  +user: Proxies\__CG__\App\Entity\User {#1978 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4339
    +user: App\Entity\User {#4352 …}
    +entry: App\Entity\Entry {#2412}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: null
    +root: null
    +body: """
      You have probably invested a lot of time and effort into this, so please take this as constructive criticism.\n
      \n
      Your security systems are probably not going to be sufficient, for a whole number of reasons.\n
      \n
      ### Script Voting\n
      \n
      The general public is not able to appropriately audit shell scripts. This extends even to sysadmins and more technical people. The people who can properly audit scripts are a minority, and they may not even be amongst your user base. Anyone who gets a script that “does its job” is going to upvote it as fine, because they may not even be aware of its malicious side effects.\n
      \n
      Scripts will naturally need to evolve over time, so script updates will be a normal part of your system. Will the votes reset for new versions? Is there anything stopping someone uploading farming votes with valid scripts, and then backdoor the script once it gets sufficiently popular?\n
      \n
      Is there any form of vote manipulation prevention planned? If not, bad actors can create an army of accounts and upvote their malicious content. Can you remove a users votes if they are found to be acting maliciously? Will it even be possible for you to tell the difference between a naive user who doesn’t understand the maliciousness of the script, versus an account actively increasing the rating of a bad package?\n
      \n
      ### User Reputation\n
      \n
      This seems easy to game as well. Upload a host of valid scripts, gain reputation, and then when ready, upload malicious scripts.\n
      \n
      ### Collaboration\n
      \n
      Allowing non-maintainers to edit and upload scripts seems like a wildly bad idea. There must be some level of maintainer approval for that right? Still will have the same issues, easy for someone to build trust on a script repo and then exploit it when it suits them.\n
      \n
      None of these issues are unique to your site, pypi, dockerhub etc have all hit these issues in the past.\n
      \n
      I think the only real answer is to have very strong human moderation, but I fear that if your site takes off, the workload will rapidly spiral out of control. Otherwise, interesting idea, Good Luck!
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 20
    +score: 0
    +lastActive: DateTime @1704410802 {#4334
      date: 2024-01-05 00:26:42.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Berserkware@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4340 …}
    +nested: Doctrine\ORM\PersistentCollection {#4342 …}
    +votes: Doctrine\ORM\PersistentCollection {#4344 …}
    +reports: Doctrine\ORM\PersistentCollection {#4346 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4348 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4350 …}
    -id: 219668
    -bodyTs: "'abl':43 'account':171,217 'act':189 'activ':218 'actor':165 'allow':251 'amongst':74 'answer':326 'anyon':78 'anyth':134 'appropri':45 'approv':273 'armi':169 'audit':46,63 'awar':100 'backdoor':145 'bad':164,224,264 'base':77 'build':287 'collabor':250 'construct':18 'content':176 'control':350 'creat':167 'critic':19 'differ':201 'dockerhub':311 'doesn':207 'easi':230,283 'edit':256 'effect':105 'effort':10 'etc':312 'even':51,72,98,193 'evolv':111 'exploit':295 'extend':50 'farm':138 'fear':336 'fine':93 'form':156 'found':186 'gain':241 'game':232 'general':39 'get':80,150 'go':26,88 'good':354 'hit':315 'host':237 'human':332 'idea':265,353 'increas':219 'interest':352 'invest':4 'issu':282,304,317 'job':86 'level':270 'like':261 'lot':6 'luck':355 'maintain':254,272 'malici':103,175,190,211,248 'manipul':159 'may':70,96 'minor':67 'moder':333 'must':267 'naiv':204 'natur':108 'need':109 'new':130 'non':253 'non-maintain':252 'none':301 'normal':120 'number':33 'otherwis':351 'packag':225 'part':121 'past':320 'peopl':57,59 'plan':161 'pleas':14 'popular':152 'possibl':195 'prevent':160 'probabl':3,24 'proper':62 'public':40 'pypi':310 'rapid':346 'rate':221 'readi':246 'real':325 'reason':35 'remov':179 'repo':292 'reput':227,242 'reset':128 'right':276 'script':36,48,64,82,106,115,142,147,214,240,249,259,291 'secur':21 'seem':229,260 'shell':47 'side':104 'site':309,340 'someon':136,285 'spiral':347 'still':277 'stop':135 'strong':331 'suffici':29,151 'suit':299 'sysadmin':53 'system':22,124 'take':15,341 'technic':56 'tell':199 'think':322 'time':8,113 'trust':288 'understand':209 'uniqu':306 'updat':116 'upload':137,235,247,258 'upvot':90,173 'user':76,181,205,226 'valid':141,239 'version':131 'versus':215 'vote':37,127,139,158,182 'well':234 'whole':32 'wild':263 'workload':344"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/5667970"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702423895 {#4335
      date: 2023-12-13 00:31:35.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4339}
  +body: "Thank you for the feedback. I think I will remove the voting system for now while I figure out of solution. I will probably not be adding the user reputation system, unless I figure out a way to do it without facing the problems you have mentioned. As for collaboration, I will add a feature allowing app maintainers to set whether or not non-maintainers can add scripts without maintainer permission. Thank you again for the feedback, it was very useful!"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1702425518 {#4500
    date: 2023-12-13 00:58:38.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
    "@CameronDev@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4495 …}
  +nested: Doctrine\ORM\PersistentCollection {#4490 …}
  +votes: Doctrine\ORM\PersistentCollection {#4494 …}
  +reports: Doctrine\ORM\PersistentCollection {#4504 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4506 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4508 …}
  -id: 219724
  -bodyTs: "'ad':27 'add':53,68 'allow':56 'app':57 'collabor':50 'face':42 'featur':55 'feedback':5,78 'figur':18,34 'maintain':58,66,71 'mention':47 'non':65 'non-maintain':64 'permiss':72 'probabl':24 'problem':44 'remov':10 'reput':30 'script':69 'set':60 'solut':21 'system':13,31 'thank':1,73 'think':7 'unless':32 'use':82 'user':29 'vote':12 'way':37 'whether':61 'without':41,70"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ml/comment/6603925"
  +editedAt: null
  +createdAt: DateTimeImmutable @1702425518 {#4503
    date: 2023-12-13 00:58:38.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
32 DENIED moderate
App\Entity\EntryComment {#4499
  +user: Proxies\__CG__\App\Entity\User {#1978 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4339
    +user: App\Entity\User {#4352 …}
    +entry: App\Entity\Entry {#2412}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: null
    +root: null
    +body: """
      You have probably invested a lot of time and effort into this, so please take this as constructive criticism.\n
      \n
      Your security systems are probably not going to be sufficient, for a whole number of reasons.\n
      \n
      ### Script Voting\n
      \n
      The general public is not able to appropriately audit shell scripts. This extends even to sysadmins and more technical people. The people who can properly audit scripts are a minority, and they may not even be amongst your user base. Anyone who gets a script that “does its job” is going to upvote it as fine, because they may not even be aware of its malicious side effects.\n
      \n
      Scripts will naturally need to evolve over time, so script updates will be a normal part of your system. Will the votes reset for new versions? Is there anything stopping someone uploading farming votes with valid scripts, and then backdoor the script once it gets sufficiently popular?\n
      \n
      Is there any form of vote manipulation prevention planned? If not, bad actors can create an army of accounts and upvote their malicious content. Can you remove a users votes if they are found to be acting maliciously? Will it even be possible for you to tell the difference between a naive user who doesn’t understand the maliciousness of the script, versus an account actively increasing the rating of a bad package?\n
      \n
      ### User Reputation\n
      \n
      This seems easy to game as well. Upload a host of valid scripts, gain reputation, and then when ready, upload malicious scripts.\n
      \n
      ### Collaboration\n
      \n
      Allowing non-maintainers to edit and upload scripts seems like a wildly bad idea. There must be some level of maintainer approval for that right? Still will have the same issues, easy for someone to build trust on a script repo and then exploit it when it suits them.\n
      \n
      None of these issues are unique to your site, pypi, dockerhub etc have all hit these issues in the past.\n
      \n
      I think the only real answer is to have very strong human moderation, but I fear that if your site takes off, the workload will rapidly spiral out of control. Otherwise, interesting idea, Good Luck!
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 20
    +score: 0
    +lastActive: DateTime @1704410802 {#4334
      date: 2024-01-05 00:26:42.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Berserkware@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4340 …}
    +nested: Doctrine\ORM\PersistentCollection {#4342 …}
    +votes: Doctrine\ORM\PersistentCollection {#4344 …}
    +reports: Doctrine\ORM\PersistentCollection {#4346 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4348 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4350 …}
    -id: 219668
    -bodyTs: "'abl':43 'account':171,217 'act':189 'activ':218 'actor':165 'allow':251 'amongst':74 'answer':326 'anyon':78 'anyth':134 'appropri':45 'approv':273 'armi':169 'audit':46,63 'awar':100 'backdoor':145 'bad':164,224,264 'base':77 'build':287 'collabor':250 'construct':18 'content':176 'control':350 'creat':167 'critic':19 'differ':201 'dockerhub':311 'doesn':207 'easi':230,283 'edit':256 'effect':105 'effort':10 'etc':312 'even':51,72,98,193 'evolv':111 'exploit':295 'extend':50 'farm':138 'fear':336 'fine':93 'form':156 'found':186 'gain':241 'game':232 'general':39 'get':80,150 'go':26,88 'good':354 'hit':315 'host':237 'human':332 'idea':265,353 'increas':219 'interest':352 'invest':4 'issu':282,304,317 'job':86 'level':270 'like':261 'lot':6 'luck':355 'maintain':254,272 'malici':103,175,190,211,248 'manipul':159 'may':70,96 'minor':67 'moder':333 'must':267 'naiv':204 'natur':108 'need':109 'new':130 'non':253 'non-maintain':252 'none':301 'normal':120 'number':33 'otherwis':351 'packag':225 'part':121 'past':320 'peopl':57,59 'plan':161 'pleas':14 'popular':152 'possibl':195 'prevent':160 'probabl':3,24 'proper':62 'public':40 'pypi':310 'rapid':346 'rate':221 'readi':246 'real':325 'reason':35 'remov':179 'repo':292 'reput':227,242 'reset':128 'right':276 'script':36,48,64,82,106,115,142,147,214,240,249,259,291 'secur':21 'seem':229,260 'shell':47 'side':104 'site':309,340 'someon':136,285 'spiral':347 'still':277 'stop':135 'strong':331 'suffici':29,151 'suit':299 'sysadmin':53 'system':22,124 'take':15,341 'technic':56 'tell':199 'think':322 'time':8,113 'trust':288 'understand':209 'uniqu':306 'updat':116 'upload':137,235,247,258 'upvot':90,173 'user':76,181,205,226 'valid':141,239 'version':131 'versus':215 'vote':37,127,139,158,182 'well':234 'whole':32 'wild':263 'workload':344"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/5667970"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702423895 {#4335
      date: 2023-12-13 00:31:35.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4339}
  +body: "Thank you for the feedback. I think I will remove the voting system for now while I figure out of solution. I will probably not be adding the user reputation system, unless I figure out a way to do it without facing the problems you have mentioned. As for collaboration, I will add a feature allowing app maintainers to set whether or not non-maintainers can add scripts without maintainer permission. Thank you again for the feedback, it was very useful!"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1702425518 {#4500
    date: 2023-12-13 00:58:38.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
    "@CameronDev@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4495 …}
  +nested: Doctrine\ORM\PersistentCollection {#4490 …}
  +votes: Doctrine\ORM\PersistentCollection {#4494 …}
  +reports: Doctrine\ORM\PersistentCollection {#4504 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4506 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4508 …}
  -id: 219724
  -bodyTs: "'ad':27 'add':53,68 'allow':56 'app':57 'collabor':50 'face':42 'featur':55 'feedback':5,78 'figur':18,34 'maintain':58,66,71 'mention':47 'non':65 'non-maintain':64 'permiss':72 'probabl':24 'problem':44 'remov':10 'reput':30 'script':69 'set':60 'solut':21 'system':13,31 'thank':1,73 'think':7 'unless':32 'use':82 'user':29 'vote':12 'way':37 'whether':61 'without':41,70"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ml/comment/6603925"
  +editedAt: null
  +createdAt: DateTimeImmutable @1702425518 {#4503
    date: 2023-12-13 00:58:38.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
33 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
34 DENIED moderate
App\Entity\EntryComment {#4551
  +user: Proxies\__CG__\App\Entity\User {#4548 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4499
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +entry: App\Entity\Entry {#2412}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4339
      +user: App\Entity\User {#4352 …}
      +entry: App\Entity\Entry {#2412}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: null
      +root: null
      +body: """
        You have probably invested a lot of time and effort into this, so please take this as constructive criticism.\n
        \n
        Your security systems are probably not going to be sufficient, for a whole number of reasons.\n
        \n
        ### Script Voting\n
        \n
        The general public is not able to appropriately audit shell scripts. This extends even to sysadmins and more technical people. The people who can properly audit scripts are a minority, and they may not even be amongst your user base. Anyone who gets a script that “does its job” is going to upvote it as fine, because they may not even be aware of its malicious side effects.\n
        \n
        Scripts will naturally need to evolve over time, so script updates will be a normal part of your system. Will the votes reset for new versions? Is there anything stopping someone uploading farming votes with valid scripts, and then backdoor the script once it gets sufficiently popular?\n
        \n
        Is there any form of vote manipulation prevention planned? If not, bad actors can create an army of accounts and upvote their malicious content. Can you remove a users votes if they are found to be acting maliciously? Will it even be possible for you to tell the difference between a naive user who doesn’t understand the maliciousness of the script, versus an account actively increasing the rating of a bad package?\n
        \n
        ### User Reputation\n
        \n
        This seems easy to game as well. Upload a host of valid scripts, gain reputation, and then when ready, upload malicious scripts.\n
        \n
        ### Collaboration\n
        \n
        Allowing non-maintainers to edit and upload scripts seems like a wildly bad idea. There must be some level of maintainer approval for that right? Still will have the same issues, easy for someone to build trust on a script repo and then exploit it when it suits them.\n
        \n
        None of these issues are unique to your site, pypi, dockerhub etc have all hit these issues in the past.\n
        \n
        I think the only real answer is to have very strong human moderation, but I fear that if your site takes off, the workload will rapidly spiral out of control. Otherwise, interesting idea, Good Luck!
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 20
      +score: 0
      +lastActive: DateTime @1704410802 {#4334
        date: 2024-01-05 00:26:42.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Berserkware@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4340 …}
      +nested: Doctrine\ORM\PersistentCollection {#4342 …}
      +votes: Doctrine\ORM\PersistentCollection {#4344 …}
      +reports: Doctrine\ORM\PersistentCollection {#4346 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4348 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4350 …}
      -id: 219668
      -bodyTs: "'abl':43 'account':171,217 'act':189 'activ':218 'actor':165 'allow':251 'amongst':74 'answer':326 'anyon':78 'anyth':134 'appropri':45 'approv':273 'armi':169 'audit':46,63 'awar':100 'backdoor':145 'bad':164,224,264 'base':77 'build':287 'collabor':250 'construct':18 'content':176 'control':350 'creat':167 'critic':19 'differ':201 'dockerhub':311 'doesn':207 'easi':230,283 'edit':256 'effect':105 'effort':10 'etc':312 'even':51,72,98,193 'evolv':111 'exploit':295 'extend':50 'farm':138 'fear':336 'fine':93 'form':156 'found':186 'gain':241 'game':232 'general':39 'get':80,150 'go':26,88 'good':354 'hit':315 'host':237 'human':332 'idea':265,353 'increas':219 'interest':352 'invest':4 'issu':282,304,317 'job':86 'level':270 'like':261 'lot':6 'luck':355 'maintain':254,272 'malici':103,175,190,211,248 'manipul':159 'may':70,96 'minor':67 'moder':333 'must':267 'naiv':204 'natur':108 'need':109 'new':130 'non':253 'non-maintain':252 'none':301 'normal':120 'number':33 'otherwis':351 'packag':225 'part':121 'past':320 'peopl':57,59 'plan':161 'pleas':14 'popular':152 'possibl':195 'prevent':160 'probabl':3,24 'proper':62 'public':40 'pypi':310 'rapid':346 'rate':221 'readi':246 'real':325 'reason':35 'remov':179 'repo':292 'reput':227,242 'reset':128 'right':276 'script':36,48,64,82,106,115,142,147,214,240,249,259,291 'secur':21 'seem':229,260 'shell':47 'side':104 'site':309,340 'someon':136,285 'spiral':347 'still':277 'stop':135 'strong':331 'suffici':29,151 'suit':299 'sysadmin':53 'system':22,124 'take':15,341 'technic':56 'tell':199 'think':322 'time':8,113 'trust':288 'understand':209 'uniqu':306 'updat':116 'upload':137,235,247,258 'upvot':90,173 'user':76,181,205,226 'valid':141,239 'version':131 'versus':215 'vote':37,127,139,158,182 'well':234 'whole':32 'wild':263 'workload':344"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/5667970"
      +editedAt: null
      +createdAt: DateTimeImmutable @1702423895 {#4335
        date: 2023-12-13 00:31:35.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4339}
    +body: "Thank you for the feedback. I think I will remove the voting system for now while I figure out of solution. I will probably not be adding the user reputation system, unless I figure out a way to do it without facing the problems you have mentioned. As for collaboration, I will add a feature allowing app maintainers to set whether or not non-maintainers can add scripts without maintainer permission. Thank you again for the feedback, it was very useful!"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 2
    +score: 0
    +lastActive: DateTime @1702425518 {#4500
      date: 2023-12-13 00:58:38.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Berserkware@lemmy.ml"
      "@CameronDev@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4495 …}
    +nested: Doctrine\ORM\PersistentCollection {#4490 …}
    +votes: Doctrine\ORM\PersistentCollection {#4494 …}
    +reports: Doctrine\ORM\PersistentCollection {#4504 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4506 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4508 …}
    -id: 219724
    -bodyTs: "'ad':27 'add':53,68 'allow':56 'app':57 'collabor':50 'face':42 'featur':55 'feedback':5,78 'figur':18,34 'maintain':58,66,71 'mention':47 'non':65 'non-maintain':64 'permiss':72 'probabl':24 'problem':44 'remov':10 'reput':30 'script':69 'set':60 'solut':21 'system':13,31 'thank':1,73 'think':7 'unless':32 'use':82 'user':29 'vote':12 'way':37 'whether':61 'without':41,70"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/6603925"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702425518 {#4503
      date: 2023-12-13 00:58:38.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4339}
  +body: "Maybe add a comment/review system (if you haven’t already) in the meantime? Far from foolproof but better than nothing nonetheless."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1702431961 {#4552
    date: 2023-12-13 02:46:01.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
    "@CameronDev@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4545 …}
  +nested: Doctrine\ORM\PersistentCollection {#4543 …}
  +votes: Doctrine\ORM\PersistentCollection {#4547 …}
  +reports: Doctrine\ORM\PersistentCollection {#4558 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4560 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4562 …}
  -id: 219930
  -bodyTs: "'add':2 'alreadi':10 'better':18 'comment/review':4 'far':14 'foolproof':16 'haven':8 'mayb':1 'meantim':13 'nonetheless':21 'noth':20 'system':5"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/6005372"
  +editedAt: null
  +createdAt: DateTimeImmutable @1702431961 {#4555
    date: 2023-12-13 02:46:01.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
35 DENIED edit
App\Entity\EntryComment {#4551
  +user: Proxies\__CG__\App\Entity\User {#4548 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4499
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +entry: App\Entity\Entry {#2412}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4339
      +user: App\Entity\User {#4352 …}
      +entry: App\Entity\Entry {#2412}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: null
      +root: null
      +body: """
        You have probably invested a lot of time and effort into this, so please take this as constructive criticism.\n
        \n
        Your security systems are probably not going to be sufficient, for a whole number of reasons.\n
        \n
        ### Script Voting\n
        \n
        The general public is not able to appropriately audit shell scripts. This extends even to sysadmins and more technical people. The people who can properly audit scripts are a minority, and they may not even be amongst your user base. Anyone who gets a script that “does its job” is going to upvote it as fine, because they may not even be aware of its malicious side effects.\n
        \n
        Scripts will naturally need to evolve over time, so script updates will be a normal part of your system. Will the votes reset for new versions? Is there anything stopping someone uploading farming votes with valid scripts, and then backdoor the script once it gets sufficiently popular?\n
        \n
        Is there any form of vote manipulation prevention planned? If not, bad actors can create an army of accounts and upvote their malicious content. Can you remove a users votes if they are found to be acting maliciously? Will it even be possible for you to tell the difference between a naive user who doesn’t understand the maliciousness of the script, versus an account actively increasing the rating of a bad package?\n
        \n
        ### User Reputation\n
        \n
        This seems easy to game as well. Upload a host of valid scripts, gain reputation, and then when ready, upload malicious scripts.\n
        \n
        ### Collaboration\n
        \n
        Allowing non-maintainers to edit and upload scripts seems like a wildly bad idea. There must be some level of maintainer approval for that right? Still will have the same issues, easy for someone to build trust on a script repo and then exploit it when it suits them.\n
        \n
        None of these issues are unique to your site, pypi, dockerhub etc have all hit these issues in the past.\n
        \n
        I think the only real answer is to have very strong human moderation, but I fear that if your site takes off, the workload will rapidly spiral out of control. Otherwise, interesting idea, Good Luck!
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 20
      +score: 0
      +lastActive: DateTime @1704410802 {#4334
        date: 2024-01-05 00:26:42.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Berserkware@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4340 …}
      +nested: Doctrine\ORM\PersistentCollection {#4342 …}
      +votes: Doctrine\ORM\PersistentCollection {#4344 …}
      +reports: Doctrine\ORM\PersistentCollection {#4346 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4348 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4350 …}
      -id: 219668
      -bodyTs: "'abl':43 'account':171,217 'act':189 'activ':218 'actor':165 'allow':251 'amongst':74 'answer':326 'anyon':78 'anyth':134 'appropri':45 'approv':273 'armi':169 'audit':46,63 'awar':100 'backdoor':145 'bad':164,224,264 'base':77 'build':287 'collabor':250 'construct':18 'content':176 'control':350 'creat':167 'critic':19 'differ':201 'dockerhub':311 'doesn':207 'easi':230,283 'edit':256 'effect':105 'effort':10 'etc':312 'even':51,72,98,193 'evolv':111 'exploit':295 'extend':50 'farm':138 'fear':336 'fine':93 'form':156 'found':186 'gain':241 'game':232 'general':39 'get':80,150 'go':26,88 'good':354 'hit':315 'host':237 'human':332 'idea':265,353 'increas':219 'interest':352 'invest':4 'issu':282,304,317 'job':86 'level':270 'like':261 'lot':6 'luck':355 'maintain':254,272 'malici':103,175,190,211,248 'manipul':159 'may':70,96 'minor':67 'moder':333 'must':267 'naiv':204 'natur':108 'need':109 'new':130 'non':253 'non-maintain':252 'none':301 'normal':120 'number':33 'otherwis':351 'packag':225 'part':121 'past':320 'peopl':57,59 'plan':161 'pleas':14 'popular':152 'possibl':195 'prevent':160 'probabl':3,24 'proper':62 'public':40 'pypi':310 'rapid':346 'rate':221 'readi':246 'real':325 'reason':35 'remov':179 'repo':292 'reput':227,242 'reset':128 'right':276 'script':36,48,64,82,106,115,142,147,214,240,249,259,291 'secur':21 'seem':229,260 'shell':47 'side':104 'site':309,340 'someon':136,285 'spiral':347 'still':277 'stop':135 'strong':331 'suffici':29,151 'suit':299 'sysadmin':53 'system':22,124 'take':15,341 'technic':56 'tell':199 'think':322 'time':8,113 'trust':288 'understand':209 'uniqu':306 'updat':116 'upload':137,235,247,258 'upvot':90,173 'user':76,181,205,226 'valid':141,239 'version':131 'versus':215 'vote':37,127,139,158,182 'well':234 'whole':32 'wild':263 'workload':344"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/5667970"
      +editedAt: null
      +createdAt: DateTimeImmutable @1702423895 {#4335
        date: 2023-12-13 00:31:35.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4339}
    +body: "Thank you for the feedback. I think I will remove the voting system for now while I figure out of solution. I will probably not be adding the user reputation system, unless I figure out a way to do it without facing the problems you have mentioned. As for collaboration, I will add a feature allowing app maintainers to set whether or not non-maintainers can add scripts without maintainer permission. Thank you again for the feedback, it was very useful!"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 2
    +score: 0
    +lastActive: DateTime @1702425518 {#4500
      date: 2023-12-13 00:58:38.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Berserkware@lemmy.ml"
      "@CameronDev@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4495 …}
    +nested: Doctrine\ORM\PersistentCollection {#4490 …}
    +votes: Doctrine\ORM\PersistentCollection {#4494 …}
    +reports: Doctrine\ORM\PersistentCollection {#4504 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4506 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4508 …}
    -id: 219724
    -bodyTs: "'ad':27 'add':53,68 'allow':56 'app':57 'collabor':50 'face':42 'featur':55 'feedback':5,78 'figur':18,34 'maintain':58,66,71 'mention':47 'non':65 'non-maintain':64 'permiss':72 'probabl':24 'problem':44 'remov':10 'reput':30 'script':69 'set':60 'solut':21 'system':13,31 'thank':1,73 'think':7 'unless':32 'use':82 'user':29 'vote':12 'way':37 'whether':61 'without':41,70"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/6603925"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702425518 {#4503
      date: 2023-12-13 00:58:38.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4339}
  +body: "Maybe add a comment/review system (if you haven’t already) in the meantime? Far from foolproof but better than nothing nonetheless."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1702431961 {#4552
    date: 2023-12-13 02:46:01.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
    "@CameronDev@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4545 …}
  +nested: Doctrine\ORM\PersistentCollection {#4543 …}
  +votes: Doctrine\ORM\PersistentCollection {#4547 …}
  +reports: Doctrine\ORM\PersistentCollection {#4558 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4560 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4562 …}
  -id: 219930
  -bodyTs: "'add':2 'alreadi':10 'better':18 'comment/review':4 'far':14 'foolproof':16 'haven':8 'mayb':1 'meantim':13 'nonetheless':21 'noth':20 'system':5"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/6005372"
  +editedAt: null
  +createdAt: DateTimeImmutable @1702431961 {#4555
    date: 2023-12-13 02:46:01.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
36 DENIED moderate
App\Entity\EntryComment {#4551
  +user: Proxies\__CG__\App\Entity\User {#4548 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4499
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +entry: App\Entity\Entry {#2412}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4339
      +user: App\Entity\User {#4352 …}
      +entry: App\Entity\Entry {#2412}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: null
      +root: null
      +body: """
        You have probably invested a lot of time and effort into this, so please take this as constructive criticism.\n
        \n
        Your security systems are probably not going to be sufficient, for a whole number of reasons.\n
        \n
        ### Script Voting\n
        \n
        The general public is not able to appropriately audit shell scripts. This extends even to sysadmins and more technical people. The people who can properly audit scripts are a minority, and they may not even be amongst your user base. Anyone who gets a script that “does its job” is going to upvote it as fine, because they may not even be aware of its malicious side effects.\n
        \n
        Scripts will naturally need to evolve over time, so script updates will be a normal part of your system. Will the votes reset for new versions? Is there anything stopping someone uploading farming votes with valid scripts, and then backdoor the script once it gets sufficiently popular?\n
        \n
        Is there any form of vote manipulation prevention planned? If not, bad actors can create an army of accounts and upvote their malicious content. Can you remove a users votes if they are found to be acting maliciously? Will it even be possible for you to tell the difference between a naive user who doesn’t understand the maliciousness of the script, versus an account actively increasing the rating of a bad package?\n
        \n
        ### User Reputation\n
        \n
        This seems easy to game as well. Upload a host of valid scripts, gain reputation, and then when ready, upload malicious scripts.\n
        \n
        ### Collaboration\n
        \n
        Allowing non-maintainers to edit and upload scripts seems like a wildly bad idea. There must be some level of maintainer approval for that right? Still will have the same issues, easy for someone to build trust on a script repo and then exploit it when it suits them.\n
        \n
        None of these issues are unique to your site, pypi, dockerhub etc have all hit these issues in the past.\n
        \n
        I think the only real answer is to have very strong human moderation, but I fear that if your site takes off, the workload will rapidly spiral out of control. Otherwise, interesting idea, Good Luck!
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 20
      +score: 0
      +lastActive: DateTime @1704410802 {#4334
        date: 2024-01-05 00:26:42.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Berserkware@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4340 …}
      +nested: Doctrine\ORM\PersistentCollection {#4342 …}
      +votes: Doctrine\ORM\PersistentCollection {#4344 …}
      +reports: Doctrine\ORM\PersistentCollection {#4346 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4348 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4350 …}
      -id: 219668
      -bodyTs: "'abl':43 'account':171,217 'act':189 'activ':218 'actor':165 'allow':251 'amongst':74 'answer':326 'anyon':78 'anyth':134 'appropri':45 'approv':273 'armi':169 'audit':46,63 'awar':100 'backdoor':145 'bad':164,224,264 'base':77 'build':287 'collabor':250 'construct':18 'content':176 'control':350 'creat':167 'critic':19 'differ':201 'dockerhub':311 'doesn':207 'easi':230,283 'edit':256 'effect':105 'effort':10 'etc':312 'even':51,72,98,193 'evolv':111 'exploit':295 'extend':50 'farm':138 'fear':336 'fine':93 'form':156 'found':186 'gain':241 'game':232 'general':39 'get':80,150 'go':26,88 'good':354 'hit':315 'host':237 'human':332 'idea':265,353 'increas':219 'interest':352 'invest':4 'issu':282,304,317 'job':86 'level':270 'like':261 'lot':6 'luck':355 'maintain':254,272 'malici':103,175,190,211,248 'manipul':159 'may':70,96 'minor':67 'moder':333 'must':267 'naiv':204 'natur':108 'need':109 'new':130 'non':253 'non-maintain':252 'none':301 'normal':120 'number':33 'otherwis':351 'packag':225 'part':121 'past':320 'peopl':57,59 'plan':161 'pleas':14 'popular':152 'possibl':195 'prevent':160 'probabl':3,24 'proper':62 'public':40 'pypi':310 'rapid':346 'rate':221 'readi':246 'real':325 'reason':35 'remov':179 'repo':292 'reput':227,242 'reset':128 'right':276 'script':36,48,64,82,106,115,142,147,214,240,249,259,291 'secur':21 'seem':229,260 'shell':47 'side':104 'site':309,340 'someon':136,285 'spiral':347 'still':277 'stop':135 'strong':331 'suffici':29,151 'suit':299 'sysadmin':53 'system':22,124 'take':15,341 'technic':56 'tell':199 'think':322 'time':8,113 'trust':288 'understand':209 'uniqu':306 'updat':116 'upload':137,235,247,258 'upvot':90,173 'user':76,181,205,226 'valid':141,239 'version':131 'versus':215 'vote':37,127,139,158,182 'well':234 'whole':32 'wild':263 'workload':344"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/5667970"
      +editedAt: null
      +createdAt: DateTimeImmutable @1702423895 {#4335
        date: 2023-12-13 00:31:35.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4339}
    +body: "Thank you for the feedback. I think I will remove the voting system for now while I figure out of solution. I will probably not be adding the user reputation system, unless I figure out a way to do it without facing the problems you have mentioned. As for collaboration, I will add a feature allowing app maintainers to set whether or not non-maintainers can add scripts without maintainer permission. Thank you again for the feedback, it was very useful!"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 2
    +score: 0
    +lastActive: DateTime @1702425518 {#4500
      date: 2023-12-13 00:58:38.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Berserkware@lemmy.ml"
      "@CameronDev@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4495 …}
    +nested: Doctrine\ORM\PersistentCollection {#4490 …}
    +votes: Doctrine\ORM\PersistentCollection {#4494 …}
    +reports: Doctrine\ORM\PersistentCollection {#4504 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4506 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4508 …}
    -id: 219724
    -bodyTs: "'ad':27 'add':53,68 'allow':56 'app':57 'collabor':50 'face':42 'featur':55 'feedback':5,78 'figur':18,34 'maintain':58,66,71 'mention':47 'non':65 'non-maintain':64 'permiss':72 'probabl':24 'problem':44 'remov':10 'reput':30 'script':69 'set':60 'solut':21 'system':13,31 'thank':1,73 'think':7 'unless':32 'use':82 'user':29 'vote':12 'way':37 'whether':61 'without':41,70"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/6603925"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702425518 {#4503
      date: 2023-12-13 00:58:38.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4339}
  +body: "Maybe add a comment/review system (if you haven’t already) in the meantime? Far from foolproof but better than nothing nonetheless."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1702431961 {#4552
    date: 2023-12-13 02:46:01.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
    "@CameronDev@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4545 …}
  +nested: Doctrine\ORM\PersistentCollection {#4543 …}
  +votes: Doctrine\ORM\PersistentCollection {#4547 …}
  +reports: Doctrine\ORM\PersistentCollection {#4558 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4560 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4562 …}
  -id: 219930
  -bodyTs: "'add':2 'alreadi':10 'better':18 'comment/review':4 'far':14 'foolproof':16 'haven':8 'mayb':1 'meantim':13 'nonetheless':21 'noth':20 'system':5"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/6005372"
  +editedAt: null
  +createdAt: DateTimeImmutable @1702431961 {#4555
    date: 2023-12-13 02:46:01.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
37 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
38 DENIED moderate
App\Entity\EntryComment {#4633
  +user: Proxies\__CG__\App\Entity\User {#1978 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4551
    +user: Proxies\__CG__\App\Entity\User {#4548 …}
    +entry: App\Entity\Entry {#2412}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4499
      +user: Proxies\__CG__\App\Entity\User {#1978 …}
      +entry: App\Entity\Entry {#2412}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: App\Entity\EntryComment {#4339
        +user: App\Entity\User {#4352 …}
        +entry: App\Entity\Entry {#2412}
        +magazine: App\Entity\Magazine {#264}
        +image: null
        +parent: null
        +root: null
        +body: """
          You have probably invested a lot of time and effort into this, so please take this as constructive criticism.\n
          \n
          Your security systems are probably not going to be sufficient, for a whole number of reasons.\n
          \n
          ### Script Voting\n
          \n
          The general public is not able to appropriately audit shell scripts. This extends even to sysadmins and more technical people. The people who can properly audit scripts are a minority, and they may not even be amongst your user base. Anyone who gets a script that “does its job” is going to upvote it as fine, because they may not even be aware of its malicious side effects.\n
          \n
          Scripts will naturally need to evolve over time, so script updates will be a normal part of your system. Will the votes reset for new versions? Is there anything stopping someone uploading farming votes with valid scripts, and then backdoor the script once it gets sufficiently popular?\n
          \n
          Is there any form of vote manipulation prevention planned? If not, bad actors can create an army of accounts and upvote their malicious content. Can you remove a users votes if they are found to be acting maliciously? Will it even be possible for you to tell the difference between a naive user who doesn’t understand the maliciousness of the script, versus an account actively increasing the rating of a bad package?\n
          \n
          ### User Reputation\n
          \n
          This seems easy to game as well. Upload a host of valid scripts, gain reputation, and then when ready, upload malicious scripts.\n
          \n
          ### Collaboration\n
          \n
          Allowing non-maintainers to edit and upload scripts seems like a wildly bad idea. There must be some level of maintainer approval for that right? Still will have the same issues, easy for someone to build trust on a script repo and then exploit it when it suits them.\n
          \n
          None of these issues are unique to your site, pypi, dockerhub etc have all hit these issues in the past.\n
          \n
          I think the only real answer is to have very strong human moderation, but I fear that if your site takes off, the workload will rapidly spiral out of control. Otherwise, interesting idea, Good Luck!
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 20
        +score: 0
        +lastActive: DateTime @1704410802 {#4334
          date: 2024-01-05 00:26:42.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Berserkware@lemmy.ml"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4340 …}
        +nested: Doctrine\ORM\PersistentCollection {#4342 …}
        +votes: Doctrine\ORM\PersistentCollection {#4344 …}
        +reports: Doctrine\ORM\PersistentCollection {#4346 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4348 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4350 …}
        -id: 219668
        -bodyTs: "'abl':43 'account':171,217 'act':189 'activ':218 'actor':165 'allow':251 'amongst':74 'answer':326 'anyon':78 'anyth':134 'appropri':45 'approv':273 'armi':169 'audit':46,63 'awar':100 'backdoor':145 'bad':164,224,264 'base':77 'build':287 'collabor':250 'construct':18 'content':176 'control':350 'creat':167 'critic':19 'differ':201 'dockerhub':311 'doesn':207 'easi':230,283 'edit':256 'effect':105 'effort':10 'etc':312 'even':51,72,98,193 'evolv':111 'exploit':295 'extend':50 'farm':138 'fear':336 'fine':93 'form':156 'found':186 'gain':241 'game':232 'general':39 'get':80,150 'go':26,88 'good':354 'hit':315 'host':237 'human':332 'idea':265,353 'increas':219 'interest':352 'invest':4 'issu':282,304,317 'job':86 'level':270 'like':261 'lot':6 'luck':355 'maintain':254,272 'malici':103,175,190,211,248 'manipul':159 'may':70,96 'minor':67 'moder':333 'must':267 'naiv':204 'natur':108 'need':109 'new':130 'non':253 'non-maintain':252 'none':301 'normal':120 'number':33 'otherwis':351 'packag':225 'part':121 'past':320 'peopl':57,59 'plan':161 'pleas':14 'popular':152 'possibl':195 'prevent':160 'probabl':3,24 'proper':62 'public':40 'pypi':310 'rapid':346 'rate':221 'readi':246 'real':325 'reason':35 'remov':179 'repo':292 'reput':227,242 'reset':128 'right':276 'script':36,48,64,82,106,115,142,147,214,240,249,259,291 'secur':21 'seem':229,260 'shell':47 'side':104 'site':309,340 'someon':136,285 'spiral':347 'still':277 'stop':135 'strong':331 'suffici':29,151 'suit':299 'sysadmin':53 'system':22,124 'take':15,341 'technic':56 'tell':199 'think':322 'time':8,113 'trust':288 'understand':209 'uniqu':306 'updat':116 'upload':137,235,247,258 'upvot':90,173 'user':76,181,205,226 'valid':141,239 'version':131 'versus':215 'vote':37,127,139,158,182 'well':234 'whole':32 'wild':263 'workload':344"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://programming.dev/comment/5667970"
        +editedAt: null
        +createdAt: DateTimeImmutable @1702423895 {#4335
          date: 2023-12-13 00:31:35.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4339}
      +body: "Thank you for the feedback. I think I will remove the voting system for now while I figure out of solution. I will probably not be adding the user reputation system, unless I figure out a way to do it without facing the problems you have mentioned. As for collaboration, I will add a feature allowing app maintainers to set whether or not non-maintainers can add scripts without maintainer permission. Thank you again for the feedback, it was very useful!"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 2
      +score: 0
      +lastActive: DateTime @1702425518 {#4500
        date: 2023-12-13 00:58:38.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Berserkware@lemmy.ml"
        "@CameronDev@programming.dev"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4495 …}
      +nested: Doctrine\ORM\PersistentCollection {#4490 …}
      +votes: Doctrine\ORM\PersistentCollection {#4494 …}
      +reports: Doctrine\ORM\PersistentCollection {#4504 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4506 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4508 …}
      -id: 219724
      -bodyTs: "'ad':27 'add':53,68 'allow':56 'app':57 'collabor':50 'face':42 'featur':55 'feedback':5,78 'figur':18,34 'maintain':58,66,71 'mention':47 'non':65 'non-maintain':64 'permiss':72 'probabl':24 'problem':44 'remov':10 'reput':30 'script':69 'set':60 'solut':21 'system':13,31 'thank':1,73 'think':7 'unless':32 'use':82 'user':29 'vote':12 'way':37 'whether':61 'without':41,70"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ml/comment/6603925"
      +editedAt: null
      +createdAt: DateTimeImmutable @1702425518 {#4503
        date: 2023-12-13 00:58:38.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4339}
    +body: "Maybe add a comment/review system (if you haven’t already) in the meantime? Far from foolproof but better than nothing nonetheless."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1702431961 {#4552
      date: 2023-12-13 02:46:01.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Berserkware@lemmy.ml"
      "@CameronDev@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4545 …}
    +nested: Doctrine\ORM\PersistentCollection {#4543 …}
    +votes: Doctrine\ORM\PersistentCollection {#4547 …}
    +reports: Doctrine\ORM\PersistentCollection {#4558 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4560 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4562 …}
    -id: 219930
    -bodyTs: "'add':2 'alreadi':10 'better':18 'comment/review':4 'far':14 'foolproof':16 'haven':8 'mayb':1 'meantim':13 'nonetheless':21 'noth':20 'system':5"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/6005372"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702431961 {#4555
      date: 2023-12-13 02:46:01.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4339}
  +body: "It does have a discussion system at the moment where you can comment on a script, but there is no system to rate the script and have the total of all the ratings combined."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1702432538 {#4631
    date: 2023-12-13 02:55:38.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
    "@CameronDev@programming.dev"
    "@EuroNutellaMan@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4634 …}
  +nested: Doctrine\ORM\PersistentCollection {#4636 …}
  +votes: Doctrine\ORM\PersistentCollection {#4638 …}
  +reports: Doctrine\ORM\PersistentCollection {#4640 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4642 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4644 …}
  -id: 219949
  -bodyTs: "'combin':34 'comment':13 'discuss':5 'moment':9 'rate':23,33 'script':16,25 'system':6,21 'total':29"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ml/comment/6606192"
  +editedAt: null
  +createdAt: DateTimeImmutable @1702432538 {#4632
    date: 2023-12-13 02:55:38.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
39 DENIED edit
App\Entity\EntryComment {#4633
  +user: Proxies\__CG__\App\Entity\User {#1978 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4551
    +user: Proxies\__CG__\App\Entity\User {#4548 …}
    +entry: App\Entity\Entry {#2412}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4499
      +user: Proxies\__CG__\App\Entity\User {#1978 …}
      +entry: App\Entity\Entry {#2412}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: App\Entity\EntryComment {#4339
        +user: App\Entity\User {#4352 …}
        +entry: App\Entity\Entry {#2412}
        +magazine: App\Entity\Magazine {#264}
        +image: null
        +parent: null
        +root: null
        +body: """
          You have probably invested a lot of time and effort into this, so please take this as constructive criticism.\n
          \n
          Your security systems are probably not going to be sufficient, for a whole number of reasons.\n
          \n
          ### Script Voting\n
          \n
          The general public is not able to appropriately audit shell scripts. This extends even to sysadmins and more technical people. The people who can properly audit scripts are a minority, and they may not even be amongst your user base. Anyone who gets a script that “does its job” is going to upvote it as fine, because they may not even be aware of its malicious side effects.\n
          \n
          Scripts will naturally need to evolve over time, so script updates will be a normal part of your system. Will the votes reset for new versions? Is there anything stopping someone uploading farming votes with valid scripts, and then backdoor the script once it gets sufficiently popular?\n
          \n
          Is there any form of vote manipulation prevention planned? If not, bad actors can create an army of accounts and upvote their malicious content. Can you remove a users votes if they are found to be acting maliciously? Will it even be possible for you to tell the difference between a naive user who doesn’t understand the maliciousness of the script, versus an account actively increasing the rating of a bad package?\n
          \n
          ### User Reputation\n
          \n
          This seems easy to game as well. Upload a host of valid scripts, gain reputation, and then when ready, upload malicious scripts.\n
          \n
          ### Collaboration\n
          \n
          Allowing non-maintainers to edit and upload scripts seems like a wildly bad idea. There must be some level of maintainer approval for that right? Still will have the same issues, easy for someone to build trust on a script repo and then exploit it when it suits them.\n
          \n
          None of these issues are unique to your site, pypi, dockerhub etc have all hit these issues in the past.\n
          \n
          I think the only real answer is to have very strong human moderation, but I fear that if your site takes off, the workload will rapidly spiral out of control. Otherwise, interesting idea, Good Luck!
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 20
        +score: 0
        +lastActive: DateTime @1704410802 {#4334
          date: 2024-01-05 00:26:42.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Berserkware@lemmy.ml"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4340 …}
        +nested: Doctrine\ORM\PersistentCollection {#4342 …}
        +votes: Doctrine\ORM\PersistentCollection {#4344 …}
        +reports: Doctrine\ORM\PersistentCollection {#4346 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4348 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4350 …}
        -id: 219668
        -bodyTs: "'abl':43 'account':171,217 'act':189 'activ':218 'actor':165 'allow':251 'amongst':74 'answer':326 'anyon':78 'anyth':134 'appropri':45 'approv':273 'armi':169 'audit':46,63 'awar':100 'backdoor':145 'bad':164,224,264 'base':77 'build':287 'collabor':250 'construct':18 'content':176 'control':350 'creat':167 'critic':19 'differ':201 'dockerhub':311 'doesn':207 'easi':230,283 'edit':256 'effect':105 'effort':10 'etc':312 'even':51,72,98,193 'evolv':111 'exploit':295 'extend':50 'farm':138 'fear':336 'fine':93 'form':156 'found':186 'gain':241 'game':232 'general':39 'get':80,150 'go':26,88 'good':354 'hit':315 'host':237 'human':332 'idea':265,353 'increas':219 'interest':352 'invest':4 'issu':282,304,317 'job':86 'level':270 'like':261 'lot':6 'luck':355 'maintain':254,272 'malici':103,175,190,211,248 'manipul':159 'may':70,96 'minor':67 'moder':333 'must':267 'naiv':204 'natur':108 'need':109 'new':130 'non':253 'non-maintain':252 'none':301 'normal':120 'number':33 'otherwis':351 'packag':225 'part':121 'past':320 'peopl':57,59 'plan':161 'pleas':14 'popular':152 'possibl':195 'prevent':160 'probabl':3,24 'proper':62 'public':40 'pypi':310 'rapid':346 'rate':221 'readi':246 'real':325 'reason':35 'remov':179 'repo':292 'reput':227,242 'reset':128 'right':276 'script':36,48,64,82,106,115,142,147,214,240,249,259,291 'secur':21 'seem':229,260 'shell':47 'side':104 'site':309,340 'someon':136,285 'spiral':347 'still':277 'stop':135 'strong':331 'suffici':29,151 'suit':299 'sysadmin':53 'system':22,124 'take':15,341 'technic':56 'tell':199 'think':322 'time':8,113 'trust':288 'understand':209 'uniqu':306 'updat':116 'upload':137,235,247,258 'upvot':90,173 'user':76,181,205,226 'valid':141,239 'version':131 'versus':215 'vote':37,127,139,158,182 'well':234 'whole':32 'wild':263 'workload':344"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://programming.dev/comment/5667970"
        +editedAt: null
        +createdAt: DateTimeImmutable @1702423895 {#4335
          date: 2023-12-13 00:31:35.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4339}
      +body: "Thank you for the feedback. I think I will remove the voting system for now while I figure out of solution. I will probably not be adding the user reputation system, unless I figure out a way to do it without facing the problems you have mentioned. As for collaboration, I will add a feature allowing app maintainers to set whether or not non-maintainers can add scripts without maintainer permission. Thank you again for the feedback, it was very useful!"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 2
      +score: 0
      +lastActive: DateTime @1702425518 {#4500
        date: 2023-12-13 00:58:38.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Berserkware@lemmy.ml"
        "@CameronDev@programming.dev"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4495 …}
      +nested: Doctrine\ORM\PersistentCollection {#4490 …}
      +votes: Doctrine\ORM\PersistentCollection {#4494 …}
      +reports: Doctrine\ORM\PersistentCollection {#4504 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4506 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4508 …}
      -id: 219724
      -bodyTs: "'ad':27 'add':53,68 'allow':56 'app':57 'collabor':50 'face':42 'featur':55 'feedback':5,78 'figur':18,34 'maintain':58,66,71 'mention':47 'non':65 'non-maintain':64 'permiss':72 'probabl':24 'problem':44 'remov':10 'reput':30 'script':69 'set':60 'solut':21 'system':13,31 'thank':1,73 'think':7 'unless':32 'use':82 'user':29 'vote':12 'way':37 'whether':61 'without':41,70"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ml/comment/6603925"
      +editedAt: null
      +createdAt: DateTimeImmutable @1702425518 {#4503
        date: 2023-12-13 00:58:38.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4339}
    +body: "Maybe add a comment/review system (if you haven’t already) in the meantime? Far from foolproof but better than nothing nonetheless."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1702431961 {#4552
      date: 2023-12-13 02:46:01.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Berserkware@lemmy.ml"
      "@CameronDev@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4545 …}
    +nested: Doctrine\ORM\PersistentCollection {#4543 …}
    +votes: Doctrine\ORM\PersistentCollection {#4547 …}
    +reports: Doctrine\ORM\PersistentCollection {#4558 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4560 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4562 …}
    -id: 219930
    -bodyTs: "'add':2 'alreadi':10 'better':18 'comment/review':4 'far':14 'foolproof':16 'haven':8 'mayb':1 'meantim':13 'nonetheless':21 'noth':20 'system':5"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/6005372"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702431961 {#4555
      date: 2023-12-13 02:46:01.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4339}
  +body: "It does have a discussion system at the moment where you can comment on a script, but there is no system to rate the script and have the total of all the ratings combined."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1702432538 {#4631
    date: 2023-12-13 02:55:38.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
    "@CameronDev@programming.dev"
    "@EuroNutellaMan@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4634 …}
  +nested: Doctrine\ORM\PersistentCollection {#4636 …}
  +votes: Doctrine\ORM\PersistentCollection {#4638 …}
  +reports: Doctrine\ORM\PersistentCollection {#4640 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4642 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4644 …}
  -id: 219949
  -bodyTs: "'combin':34 'comment':13 'discuss':5 'moment':9 'rate':23,33 'script':16,25 'system':6,21 'total':29"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ml/comment/6606192"
  +editedAt: null
  +createdAt: DateTimeImmutable @1702432538 {#4632
    date: 2023-12-13 02:55:38.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
40 DENIED moderate
App\Entity\EntryComment {#4633
  +user: Proxies\__CG__\App\Entity\User {#1978 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4551
    +user: Proxies\__CG__\App\Entity\User {#4548 …}
    +entry: App\Entity\Entry {#2412}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4499
      +user: Proxies\__CG__\App\Entity\User {#1978 …}
      +entry: App\Entity\Entry {#2412}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: App\Entity\EntryComment {#4339
        +user: App\Entity\User {#4352 …}
        +entry: App\Entity\Entry {#2412}
        +magazine: App\Entity\Magazine {#264}
        +image: null
        +parent: null
        +root: null
        +body: """
          You have probably invested a lot of time and effort into this, so please take this as constructive criticism.\n
          \n
          Your security systems are probably not going to be sufficient, for a whole number of reasons.\n
          \n
          ### Script Voting\n
          \n
          The general public is not able to appropriately audit shell scripts. This extends even to sysadmins and more technical people. The people who can properly audit scripts are a minority, and they may not even be amongst your user base. Anyone who gets a script that “does its job” is going to upvote it as fine, because they may not even be aware of its malicious side effects.\n
          \n
          Scripts will naturally need to evolve over time, so script updates will be a normal part of your system. Will the votes reset for new versions? Is there anything stopping someone uploading farming votes with valid scripts, and then backdoor the script once it gets sufficiently popular?\n
          \n
          Is there any form of vote manipulation prevention planned? If not, bad actors can create an army of accounts and upvote their malicious content. Can you remove a users votes if they are found to be acting maliciously? Will it even be possible for you to tell the difference between a naive user who doesn’t understand the maliciousness of the script, versus an account actively increasing the rating of a bad package?\n
          \n
          ### User Reputation\n
          \n
          This seems easy to game as well. Upload a host of valid scripts, gain reputation, and then when ready, upload malicious scripts.\n
          \n
          ### Collaboration\n
          \n
          Allowing non-maintainers to edit and upload scripts seems like a wildly bad idea. There must be some level of maintainer approval for that right? Still will have the same issues, easy for someone to build trust on a script repo and then exploit it when it suits them.\n
          \n
          None of these issues are unique to your site, pypi, dockerhub etc have all hit these issues in the past.\n
          \n
          I think the only real answer is to have very strong human moderation, but I fear that if your site takes off, the workload will rapidly spiral out of control. Otherwise, interesting idea, Good Luck!
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 20
        +score: 0
        +lastActive: DateTime @1704410802 {#4334
          date: 2024-01-05 00:26:42.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Berserkware@lemmy.ml"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4340 …}
        +nested: Doctrine\ORM\PersistentCollection {#4342 …}
        +votes: Doctrine\ORM\PersistentCollection {#4344 …}
        +reports: Doctrine\ORM\PersistentCollection {#4346 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4348 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4350 …}
        -id: 219668
        -bodyTs: "'abl':43 'account':171,217 'act':189 'activ':218 'actor':165 'allow':251 'amongst':74 'answer':326 'anyon':78 'anyth':134 'appropri':45 'approv':273 'armi':169 'audit':46,63 'awar':100 'backdoor':145 'bad':164,224,264 'base':77 'build':287 'collabor':250 'construct':18 'content':176 'control':350 'creat':167 'critic':19 'differ':201 'dockerhub':311 'doesn':207 'easi':230,283 'edit':256 'effect':105 'effort':10 'etc':312 'even':51,72,98,193 'evolv':111 'exploit':295 'extend':50 'farm':138 'fear':336 'fine':93 'form':156 'found':186 'gain':241 'game':232 'general':39 'get':80,150 'go':26,88 'good':354 'hit':315 'host':237 'human':332 'idea':265,353 'increas':219 'interest':352 'invest':4 'issu':282,304,317 'job':86 'level':270 'like':261 'lot':6 'luck':355 'maintain':254,272 'malici':103,175,190,211,248 'manipul':159 'may':70,96 'minor':67 'moder':333 'must':267 'naiv':204 'natur':108 'need':109 'new':130 'non':253 'non-maintain':252 'none':301 'normal':120 'number':33 'otherwis':351 'packag':225 'part':121 'past':320 'peopl':57,59 'plan':161 'pleas':14 'popular':152 'possibl':195 'prevent':160 'probabl':3,24 'proper':62 'public':40 'pypi':310 'rapid':346 'rate':221 'readi':246 'real':325 'reason':35 'remov':179 'repo':292 'reput':227,242 'reset':128 'right':276 'script':36,48,64,82,106,115,142,147,214,240,249,259,291 'secur':21 'seem':229,260 'shell':47 'side':104 'site':309,340 'someon':136,285 'spiral':347 'still':277 'stop':135 'strong':331 'suffici':29,151 'suit':299 'sysadmin':53 'system':22,124 'take':15,341 'technic':56 'tell':199 'think':322 'time':8,113 'trust':288 'understand':209 'uniqu':306 'updat':116 'upload':137,235,247,258 'upvot':90,173 'user':76,181,205,226 'valid':141,239 'version':131 'versus':215 'vote':37,127,139,158,182 'well':234 'whole':32 'wild':263 'workload':344"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://programming.dev/comment/5667970"
        +editedAt: null
        +createdAt: DateTimeImmutable @1702423895 {#4335
          date: 2023-12-13 00:31:35.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4339}
      +body: "Thank you for the feedback. I think I will remove the voting system for now while I figure out of solution. I will probably not be adding the user reputation system, unless I figure out a way to do it without facing the problems you have mentioned. As for collaboration, I will add a feature allowing app maintainers to set whether or not non-maintainers can add scripts without maintainer permission. Thank you again for the feedback, it was very useful!"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 2
      +score: 0
      +lastActive: DateTime @1702425518 {#4500
        date: 2023-12-13 00:58:38.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Berserkware@lemmy.ml"
        "@CameronDev@programming.dev"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4495 …}
      +nested: Doctrine\ORM\PersistentCollection {#4490 …}
      +votes: Doctrine\ORM\PersistentCollection {#4494 …}
      +reports: Doctrine\ORM\PersistentCollection {#4504 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4506 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4508 …}
      -id: 219724
      -bodyTs: "'ad':27 'add':53,68 'allow':56 'app':57 'collabor':50 'face':42 'featur':55 'feedback':5,78 'figur':18,34 'maintain':58,66,71 'mention':47 'non':65 'non-maintain':64 'permiss':72 'probabl':24 'problem':44 'remov':10 'reput':30 'script':69 'set':60 'solut':21 'system':13,31 'thank':1,73 'think':7 'unless':32 'use':82 'user':29 'vote':12 'way':37 'whether':61 'without':41,70"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ml/comment/6603925"
      +editedAt: null
      +createdAt: DateTimeImmutable @1702425518 {#4503
        date: 2023-12-13 00:58:38.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4339}
    +body: "Maybe add a comment/review system (if you haven’t already) in the meantime? Far from foolproof but better than nothing nonetheless."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1702431961 {#4552
      date: 2023-12-13 02:46:01.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Berserkware@lemmy.ml"
      "@CameronDev@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4545 …}
    +nested: Doctrine\ORM\PersistentCollection {#4543 …}
    +votes: Doctrine\ORM\PersistentCollection {#4547 …}
    +reports: Doctrine\ORM\PersistentCollection {#4558 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4560 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4562 …}
    -id: 219930
    -bodyTs: "'add':2 'alreadi':10 'better':18 'comment/review':4 'far':14 'foolproof':16 'haven':8 'mayb':1 'meantim':13 'nonetheless':21 'noth':20 'system':5"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/6005372"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702431961 {#4555
      date: 2023-12-13 02:46:01.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4339}
  +body: "It does have a discussion system at the moment where you can comment on a script, but there is no system to rate the script and have the total of all the ratings combined."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1702432538 {#4631
    date: 2023-12-13 02:55:38.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
    "@CameronDev@programming.dev"
    "@EuroNutellaMan@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4634 …}
  +nested: Doctrine\ORM\PersistentCollection {#4636 …}
  +votes: Doctrine\ORM\PersistentCollection {#4638 …}
  +reports: Doctrine\ORM\PersistentCollection {#4640 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4642 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4644 …}
  -id: 219949
  -bodyTs: "'combin':34 'comment':13 'discuss':5 'moment':9 'rate':23,33 'script':16,25 'system':6,21 'total':29"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ml/comment/6606192"
  +editedAt: null
  +createdAt: DateTimeImmutable @1702432538 {#4632
    date: 2023-12-13 02:55:38.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
41 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
42 DENIED moderate
App\Entity\EntryComment {#4566
  +user: App\Entity\User {#4352 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4499
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +entry: App\Entity\Entry {#2412}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4339
      +user: App\Entity\User {#4352 …}
      +entry: App\Entity\Entry {#2412}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: null
      +root: null
      +body: """
        You have probably invested a lot of time and effort into this, so please take this as constructive criticism.\n
        \n
        Your security systems are probably not going to be sufficient, for a whole number of reasons.\n
        \n
        ### Script Voting\n
        \n
        The general public is not able to appropriately audit shell scripts. This extends even to sysadmins and more technical people. The people who can properly audit scripts are a minority, and they may not even be amongst your user base. Anyone who gets a script that “does its job” is going to upvote it as fine, because they may not even be aware of its malicious side effects.\n
        \n
        Scripts will naturally need to evolve over time, so script updates will be a normal part of your system. Will the votes reset for new versions? Is there anything stopping someone uploading farming votes with valid scripts, and then backdoor the script once it gets sufficiently popular?\n
        \n
        Is there any form of vote manipulation prevention planned? If not, bad actors can create an army of accounts and upvote their malicious content. Can you remove a users votes if they are found to be acting maliciously? Will it even be possible for you to tell the difference between a naive user who doesn’t understand the maliciousness of the script, versus an account actively increasing the rating of a bad package?\n
        \n
        ### User Reputation\n
        \n
        This seems easy to game as well. Upload a host of valid scripts, gain reputation, and then when ready, upload malicious scripts.\n
        \n
        ### Collaboration\n
        \n
        Allowing non-maintainers to edit and upload scripts seems like a wildly bad idea. There must be some level of maintainer approval for that right? Still will have the same issues, easy for someone to build trust on a script repo and then exploit it when it suits them.\n
        \n
        None of these issues are unique to your site, pypi, dockerhub etc have all hit these issues in the past.\n
        \n
        I think the only real answer is to have very strong human moderation, but I fear that if your site takes off, the workload will rapidly spiral out of control. Otherwise, interesting idea, Good Luck!
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 20
      +score: 0
      +lastActive: DateTime @1704410802 {#4334
        date: 2024-01-05 00:26:42.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Berserkware@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4340 …}
      +nested: Doctrine\ORM\PersistentCollection {#4342 …}
      +votes: Doctrine\ORM\PersistentCollection {#4344 …}
      +reports: Doctrine\ORM\PersistentCollection {#4346 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4348 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4350 …}
      -id: 219668
      -bodyTs: "'abl':43 'account':171,217 'act':189 'activ':218 'actor':165 'allow':251 'amongst':74 'answer':326 'anyon':78 'anyth':134 'appropri':45 'approv':273 'armi':169 'audit':46,63 'awar':100 'backdoor':145 'bad':164,224,264 'base':77 'build':287 'collabor':250 'construct':18 'content':176 'control':350 'creat':167 'critic':19 'differ':201 'dockerhub':311 'doesn':207 'easi':230,283 'edit':256 'effect':105 'effort':10 'etc':312 'even':51,72,98,193 'evolv':111 'exploit':295 'extend':50 'farm':138 'fear':336 'fine':93 'form':156 'found':186 'gain':241 'game':232 'general':39 'get':80,150 'go':26,88 'good':354 'hit':315 'host':237 'human':332 'idea':265,353 'increas':219 'interest':352 'invest':4 'issu':282,304,317 'job':86 'level':270 'like':261 'lot':6 'luck':355 'maintain':254,272 'malici':103,175,190,211,248 'manipul':159 'may':70,96 'minor':67 'moder':333 'must':267 'naiv':204 'natur':108 'need':109 'new':130 'non':253 'non-maintain':252 'none':301 'normal':120 'number':33 'otherwis':351 'packag':225 'part':121 'past':320 'peopl':57,59 'plan':161 'pleas':14 'popular':152 'possibl':195 'prevent':160 'probabl':3,24 'proper':62 'public':40 'pypi':310 'rapid':346 'rate':221 'readi':246 'real':325 'reason':35 'remov':179 'repo':292 'reput':227,242 'reset':128 'right':276 'script':36,48,64,82,106,115,142,147,214,240,249,259,291 'secur':21 'seem':229,260 'shell':47 'side':104 'site':309,340 'someon':136,285 'spiral':347 'still':277 'stop':135 'strong':331 'suffici':29,151 'suit':299 'sysadmin':53 'system':22,124 'take':15,341 'technic':56 'tell':199 'think':322 'time':8,113 'trust':288 'understand':209 'uniqu':306 'updat':116 'upload':137,235,247,258 'upvot':90,173 'user':76,181,205,226 'valid':141,239 'version':131 'versus':215 'vote':37,127,139,158,182 'well':234 'whole':32 'wild':263 'workload':344"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/5667970"
      +editedAt: null
      +createdAt: DateTimeImmutable @1702423895 {#4335
        date: 2023-12-13 00:31:35.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4339}
    +body: "Thank you for the feedback. I think I will remove the voting system for now while I figure out of solution. I will probably not be adding the user reputation system, unless I figure out a way to do it without facing the problems you have mentioned. As for collaboration, I will add a feature allowing app maintainers to set whether or not non-maintainers can add scripts without maintainer permission. Thank you again for the feedback, it was very useful!"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 2
    +score: 0
    +lastActive: DateTime @1702425518 {#4500
      date: 2023-12-13 00:58:38.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Berserkware@lemmy.ml"
      "@CameronDev@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4495 …}
    +nested: Doctrine\ORM\PersistentCollection {#4490 …}
    +votes: Doctrine\ORM\PersistentCollection {#4494 …}
    +reports: Doctrine\ORM\PersistentCollection {#4504 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4506 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4508 …}
    -id: 219724
    -bodyTs: "'ad':27 'add':53,68 'allow':56 'app':57 'collabor':50 'face':42 'featur':55 'feedback':5,78 'figur':18,34 'maintain':58,66,71 'mention':47 'non':65 'non-maintain':64 'permiss':72 'probabl':24 'problem':44 'remov':10 'reput':30 'script':69 'set':60 'solut':21 'system':13,31 'thank':1,73 'think':7 'unless':32 'use':82 'user':29 'vote':12 'way':37 'whether':61 'without':41,70"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/6603925"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702425518 {#4503
      date: 2023-12-13 00:58:38.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4339}
  +body: "Have you considered some form of CI? I.e: Spin up a VM, run the script, reboot, report what changed? Might be a little expensive, but could help auditing?"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 5
  +score: 0
  +lastActive: DateTime @1702429100 {#4564
    date: 2023-12-13 01:58:20.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
    "@CameronDev@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4567 …}
  +nested: Doctrine\ORM\PersistentCollection {#4569 …}
  +votes: Doctrine\ORM\PersistentCollection {#4571 …}
  +reports: Doctrine\ORM\PersistentCollection {#4573 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4575 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4577 …}
  -id: 219846
  -bodyTs: "'audit':28 'chang':19 'ci':7 'consid':3 'could':26 'expens':24 'form':5 'help':27 'i.e':8 'littl':23 'might':20 'reboot':16 'report':17 'run':13 'script':15 'spin':9 'vm':12"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/5669643"
  +editedAt: null
  +createdAt: DateTimeImmutable @1702429100 {#4565
    date: 2023-12-13 01:58:20.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
43 DENIED edit
App\Entity\EntryComment {#4566
  +user: App\Entity\User {#4352 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4499
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +entry: App\Entity\Entry {#2412}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4339
      +user: App\Entity\User {#4352 …}
      +entry: App\Entity\Entry {#2412}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: null
      +root: null
      +body: """
        You have probably invested a lot of time and effort into this, so please take this as constructive criticism.\n
        \n
        Your security systems are probably not going to be sufficient, for a whole number of reasons.\n
        \n
        ### Script Voting\n
        \n
        The general public is not able to appropriately audit shell scripts. This extends even to sysadmins and more technical people. The people who can properly audit scripts are a minority, and they may not even be amongst your user base. Anyone who gets a script that “does its job” is going to upvote it as fine, because they may not even be aware of its malicious side effects.\n
        \n
        Scripts will naturally need to evolve over time, so script updates will be a normal part of your system. Will the votes reset for new versions? Is there anything stopping someone uploading farming votes with valid scripts, and then backdoor the script once it gets sufficiently popular?\n
        \n
        Is there any form of vote manipulation prevention planned? If not, bad actors can create an army of accounts and upvote their malicious content. Can you remove a users votes if they are found to be acting maliciously? Will it even be possible for you to tell the difference between a naive user who doesn’t understand the maliciousness of the script, versus an account actively increasing the rating of a bad package?\n
        \n
        ### User Reputation\n
        \n
        This seems easy to game as well. Upload a host of valid scripts, gain reputation, and then when ready, upload malicious scripts.\n
        \n
        ### Collaboration\n
        \n
        Allowing non-maintainers to edit and upload scripts seems like a wildly bad idea. There must be some level of maintainer approval for that right? Still will have the same issues, easy for someone to build trust on a script repo and then exploit it when it suits them.\n
        \n
        None of these issues are unique to your site, pypi, dockerhub etc have all hit these issues in the past.\n
        \n
        I think the only real answer is to have very strong human moderation, but I fear that if your site takes off, the workload will rapidly spiral out of control. Otherwise, interesting idea, Good Luck!
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 20
      +score: 0
      +lastActive: DateTime @1704410802 {#4334
        date: 2024-01-05 00:26:42.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Berserkware@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4340 …}
      +nested: Doctrine\ORM\PersistentCollection {#4342 …}
      +votes: Doctrine\ORM\PersistentCollection {#4344 …}
      +reports: Doctrine\ORM\PersistentCollection {#4346 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4348 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4350 …}
      -id: 219668
      -bodyTs: "'abl':43 'account':171,217 'act':189 'activ':218 'actor':165 'allow':251 'amongst':74 'answer':326 'anyon':78 'anyth':134 'appropri':45 'approv':273 'armi':169 'audit':46,63 'awar':100 'backdoor':145 'bad':164,224,264 'base':77 'build':287 'collabor':250 'construct':18 'content':176 'control':350 'creat':167 'critic':19 'differ':201 'dockerhub':311 'doesn':207 'easi':230,283 'edit':256 'effect':105 'effort':10 'etc':312 'even':51,72,98,193 'evolv':111 'exploit':295 'extend':50 'farm':138 'fear':336 'fine':93 'form':156 'found':186 'gain':241 'game':232 'general':39 'get':80,150 'go':26,88 'good':354 'hit':315 'host':237 'human':332 'idea':265,353 'increas':219 'interest':352 'invest':4 'issu':282,304,317 'job':86 'level':270 'like':261 'lot':6 'luck':355 'maintain':254,272 'malici':103,175,190,211,248 'manipul':159 'may':70,96 'minor':67 'moder':333 'must':267 'naiv':204 'natur':108 'need':109 'new':130 'non':253 'non-maintain':252 'none':301 'normal':120 'number':33 'otherwis':351 'packag':225 'part':121 'past':320 'peopl':57,59 'plan':161 'pleas':14 'popular':152 'possibl':195 'prevent':160 'probabl':3,24 'proper':62 'public':40 'pypi':310 'rapid':346 'rate':221 'readi':246 'real':325 'reason':35 'remov':179 'repo':292 'reput':227,242 'reset':128 'right':276 'script':36,48,64,82,106,115,142,147,214,240,249,259,291 'secur':21 'seem':229,260 'shell':47 'side':104 'site':309,340 'someon':136,285 'spiral':347 'still':277 'stop':135 'strong':331 'suffici':29,151 'suit':299 'sysadmin':53 'system':22,124 'take':15,341 'technic':56 'tell':199 'think':322 'time':8,113 'trust':288 'understand':209 'uniqu':306 'updat':116 'upload':137,235,247,258 'upvot':90,173 'user':76,181,205,226 'valid':141,239 'version':131 'versus':215 'vote':37,127,139,158,182 'well':234 'whole':32 'wild':263 'workload':344"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/5667970"
      +editedAt: null
      +createdAt: DateTimeImmutable @1702423895 {#4335
        date: 2023-12-13 00:31:35.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4339}
    +body: "Thank you for the feedback. I think I will remove the voting system for now while I figure out of solution. I will probably not be adding the user reputation system, unless I figure out a way to do it without facing the problems you have mentioned. As for collaboration, I will add a feature allowing app maintainers to set whether or not non-maintainers can add scripts without maintainer permission. Thank you again for the feedback, it was very useful!"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 2
    +score: 0
    +lastActive: DateTime @1702425518 {#4500
      date: 2023-12-13 00:58:38.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Berserkware@lemmy.ml"
      "@CameronDev@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4495 …}
    +nested: Doctrine\ORM\PersistentCollection {#4490 …}
    +votes: Doctrine\ORM\PersistentCollection {#4494 …}
    +reports: Doctrine\ORM\PersistentCollection {#4504 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4506 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4508 …}
    -id: 219724
    -bodyTs: "'ad':27 'add':53,68 'allow':56 'app':57 'collabor':50 'face':42 'featur':55 'feedback':5,78 'figur':18,34 'maintain':58,66,71 'mention':47 'non':65 'non-maintain':64 'permiss':72 'probabl':24 'problem':44 'remov':10 'reput':30 'script':69 'set':60 'solut':21 'system':13,31 'thank':1,73 'think':7 'unless':32 'use':82 'user':29 'vote':12 'way':37 'whether':61 'without':41,70"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/6603925"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702425518 {#4503
      date: 2023-12-13 00:58:38.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4339}
  +body: "Have you considered some form of CI? I.e: Spin up a VM, run the script, reboot, report what changed? Might be a little expensive, but could help auditing?"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 5
  +score: 0
  +lastActive: DateTime @1702429100 {#4564
    date: 2023-12-13 01:58:20.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
    "@CameronDev@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4567 …}
  +nested: Doctrine\ORM\PersistentCollection {#4569 …}
  +votes: Doctrine\ORM\PersistentCollection {#4571 …}
  +reports: Doctrine\ORM\PersistentCollection {#4573 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4575 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4577 …}
  -id: 219846
  -bodyTs: "'audit':28 'chang':19 'ci':7 'consid':3 'could':26 'expens':24 'form':5 'help':27 'i.e':8 'littl':23 'might':20 'reboot':16 'report':17 'run':13 'script':15 'spin':9 'vm':12"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/5669643"
  +editedAt: null
  +createdAt: DateTimeImmutable @1702429100 {#4565
    date: 2023-12-13 01:58:20.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
44 DENIED moderate
App\Entity\EntryComment {#4566
  +user: App\Entity\User {#4352 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4499
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +entry: App\Entity\Entry {#2412}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4339
      +user: App\Entity\User {#4352 …}
      +entry: App\Entity\Entry {#2412}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: null
      +root: null
      +body: """
        You have probably invested a lot of time and effort into this, so please take this as constructive criticism.\n
        \n
        Your security systems are probably not going to be sufficient, for a whole number of reasons.\n
        \n
        ### Script Voting\n
        \n
        The general public is not able to appropriately audit shell scripts. This extends even to sysadmins and more technical people. The people who can properly audit scripts are a minority, and they may not even be amongst your user base. Anyone who gets a script that “does its job” is going to upvote it as fine, because they may not even be aware of its malicious side effects.\n
        \n
        Scripts will naturally need to evolve over time, so script updates will be a normal part of your system. Will the votes reset for new versions? Is there anything stopping someone uploading farming votes with valid scripts, and then backdoor the script once it gets sufficiently popular?\n
        \n
        Is there any form of vote manipulation prevention planned? If not, bad actors can create an army of accounts and upvote their malicious content. Can you remove a users votes if they are found to be acting maliciously? Will it even be possible for you to tell the difference between a naive user who doesn’t understand the maliciousness of the script, versus an account actively increasing the rating of a bad package?\n
        \n
        ### User Reputation\n
        \n
        This seems easy to game as well. Upload a host of valid scripts, gain reputation, and then when ready, upload malicious scripts.\n
        \n
        ### Collaboration\n
        \n
        Allowing non-maintainers to edit and upload scripts seems like a wildly bad idea. There must be some level of maintainer approval for that right? Still will have the same issues, easy for someone to build trust on a script repo and then exploit it when it suits them.\n
        \n
        None of these issues are unique to your site, pypi, dockerhub etc have all hit these issues in the past.\n
        \n
        I think the only real answer is to have very strong human moderation, but I fear that if your site takes off, the workload will rapidly spiral out of control. Otherwise, interesting idea, Good Luck!
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 20
      +score: 0
      +lastActive: DateTime @1704410802 {#4334
        date: 2024-01-05 00:26:42.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Berserkware@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4340 …}
      +nested: Doctrine\ORM\PersistentCollection {#4342 …}
      +votes: Doctrine\ORM\PersistentCollection {#4344 …}
      +reports: Doctrine\ORM\PersistentCollection {#4346 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4348 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4350 …}
      -id: 219668
      -bodyTs: "'abl':43 'account':171,217 'act':189 'activ':218 'actor':165 'allow':251 'amongst':74 'answer':326 'anyon':78 'anyth':134 'appropri':45 'approv':273 'armi':169 'audit':46,63 'awar':100 'backdoor':145 'bad':164,224,264 'base':77 'build':287 'collabor':250 'construct':18 'content':176 'control':350 'creat':167 'critic':19 'differ':201 'dockerhub':311 'doesn':207 'easi':230,283 'edit':256 'effect':105 'effort':10 'etc':312 'even':51,72,98,193 'evolv':111 'exploit':295 'extend':50 'farm':138 'fear':336 'fine':93 'form':156 'found':186 'gain':241 'game':232 'general':39 'get':80,150 'go':26,88 'good':354 'hit':315 'host':237 'human':332 'idea':265,353 'increas':219 'interest':352 'invest':4 'issu':282,304,317 'job':86 'level':270 'like':261 'lot':6 'luck':355 'maintain':254,272 'malici':103,175,190,211,248 'manipul':159 'may':70,96 'minor':67 'moder':333 'must':267 'naiv':204 'natur':108 'need':109 'new':130 'non':253 'non-maintain':252 'none':301 'normal':120 'number':33 'otherwis':351 'packag':225 'part':121 'past':320 'peopl':57,59 'plan':161 'pleas':14 'popular':152 'possibl':195 'prevent':160 'probabl':3,24 'proper':62 'public':40 'pypi':310 'rapid':346 'rate':221 'readi':246 'real':325 'reason':35 'remov':179 'repo':292 'reput':227,242 'reset':128 'right':276 'script':36,48,64,82,106,115,142,147,214,240,249,259,291 'secur':21 'seem':229,260 'shell':47 'side':104 'site':309,340 'someon':136,285 'spiral':347 'still':277 'stop':135 'strong':331 'suffici':29,151 'suit':299 'sysadmin':53 'system':22,124 'take':15,341 'technic':56 'tell':199 'think':322 'time':8,113 'trust':288 'understand':209 'uniqu':306 'updat':116 'upload':137,235,247,258 'upvot':90,173 'user':76,181,205,226 'valid':141,239 'version':131 'versus':215 'vote':37,127,139,158,182 'well':234 'whole':32 'wild':263 'workload':344"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/5667970"
      +editedAt: null
      +createdAt: DateTimeImmutable @1702423895 {#4335
        date: 2023-12-13 00:31:35.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4339}
    +body: "Thank you for the feedback. I think I will remove the voting system for now while I figure out of solution. I will probably not be adding the user reputation system, unless I figure out a way to do it without facing the problems you have mentioned. As for collaboration, I will add a feature allowing app maintainers to set whether or not non-maintainers can add scripts without maintainer permission. Thank you again for the feedback, it was very useful!"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 2
    +score: 0
    +lastActive: DateTime @1702425518 {#4500
      date: 2023-12-13 00:58:38.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Berserkware@lemmy.ml"
      "@CameronDev@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4495 …}
    +nested: Doctrine\ORM\PersistentCollection {#4490 …}
    +votes: Doctrine\ORM\PersistentCollection {#4494 …}
    +reports: Doctrine\ORM\PersistentCollection {#4504 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4506 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4508 …}
    -id: 219724
    -bodyTs: "'ad':27 'add':53,68 'allow':56 'app':57 'collabor':50 'face':42 'featur':55 'feedback':5,78 'figur':18,34 'maintain':58,66,71 'mention':47 'non':65 'non-maintain':64 'permiss':72 'probabl':24 'problem':44 'remov':10 'reput':30 'script':69 'set':60 'solut':21 'system':13,31 'thank':1,73 'think':7 'unless':32 'use':82 'user':29 'vote':12 'way':37 'whether':61 'without':41,70"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/6603925"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702425518 {#4503
      date: 2023-12-13 00:58:38.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4339}
  +body: "Have you considered some form of CI? I.e: Spin up a VM, run the script, reboot, report what changed? Might be a little expensive, but could help auditing?"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 5
  +score: 0
  +lastActive: DateTime @1702429100 {#4564
    date: 2023-12-13 01:58:20.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
    "@CameronDev@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4567 …}
  +nested: Doctrine\ORM\PersistentCollection {#4569 …}
  +votes: Doctrine\ORM\PersistentCollection {#4571 …}
  +reports: Doctrine\ORM\PersistentCollection {#4573 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4575 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4577 …}
  -id: 219846
  -bodyTs: "'audit':28 'chang':19 'ci':7 'consid':3 'could':26 'expens':24 'form':5 'help':27 'i.e':8 'littl':23 'might':20 'reboot':16 'report':17 'run':13 'script':15 'spin':9 'vm':12"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/5669643"
  +editedAt: null
  +createdAt: DateTimeImmutable @1702429100 {#4565
    date: 2023-12-13 01:58:20.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
45 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
46 DENIED moderate
App\Entity\EntryComment {#4615
  +user: Proxies\__CG__\App\Entity\User {#1978 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4566
    +user: App\Entity\User {#4352 …}
    +entry: App\Entity\Entry {#2412}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4499
      +user: Proxies\__CG__\App\Entity\User {#1978 …}
      +entry: App\Entity\Entry {#2412}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: App\Entity\EntryComment {#4339
        +user: App\Entity\User {#4352 …}
        +entry: App\Entity\Entry {#2412}
        +magazine: App\Entity\Magazine {#264}
        +image: null
        +parent: null
        +root: null
        +body: """
          You have probably invested a lot of time and effort into this, so please take this as constructive criticism.\n
          \n
          Your security systems are probably not going to be sufficient, for a whole number of reasons.\n
          \n
          ### Script Voting\n
          \n
          The general public is not able to appropriately audit shell scripts. This extends even to sysadmins and more technical people. The people who can properly audit scripts are a minority, and they may not even be amongst your user base. Anyone who gets a script that “does its job” is going to upvote it as fine, because they may not even be aware of its malicious side effects.\n
          \n
          Scripts will naturally need to evolve over time, so script updates will be a normal part of your system. Will the votes reset for new versions? Is there anything stopping someone uploading farming votes with valid scripts, and then backdoor the script once it gets sufficiently popular?\n
          \n
          Is there any form of vote manipulation prevention planned? If not, bad actors can create an army of accounts and upvote their malicious content. Can you remove a users votes if they are found to be acting maliciously? Will it even be possible for you to tell the difference between a naive user who doesn’t understand the maliciousness of the script, versus an account actively increasing the rating of a bad package?\n
          \n
          ### User Reputation\n
          \n
          This seems easy to game as well. Upload a host of valid scripts, gain reputation, and then when ready, upload malicious scripts.\n
          \n
          ### Collaboration\n
          \n
          Allowing non-maintainers to edit and upload scripts seems like a wildly bad idea. There must be some level of maintainer approval for that right? Still will have the same issues, easy for someone to build trust on a script repo and then exploit it when it suits them.\n
          \n
          None of these issues are unique to your site, pypi, dockerhub etc have all hit these issues in the past.\n
          \n
          I think the only real answer is to have very strong human moderation, but I fear that if your site takes off, the workload will rapidly spiral out of control. Otherwise, interesting idea, Good Luck!
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 20
        +score: 0
        +lastActive: DateTime @1704410802 {#4334
          date: 2024-01-05 00:26:42.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Berserkware@lemmy.ml"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4340 …}
        +nested: Doctrine\ORM\PersistentCollection {#4342 …}
        +votes: Doctrine\ORM\PersistentCollection {#4344 …}
        +reports: Doctrine\ORM\PersistentCollection {#4346 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4348 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4350 …}
        -id: 219668
        -bodyTs: "'abl':43 'account':171,217 'act':189 'activ':218 'actor':165 'allow':251 'amongst':74 'answer':326 'anyon':78 'anyth':134 'appropri':45 'approv':273 'armi':169 'audit':46,63 'awar':100 'backdoor':145 'bad':164,224,264 'base':77 'build':287 'collabor':250 'construct':18 'content':176 'control':350 'creat':167 'critic':19 'differ':201 'dockerhub':311 'doesn':207 'easi':230,283 'edit':256 'effect':105 'effort':10 'etc':312 'even':51,72,98,193 'evolv':111 'exploit':295 'extend':50 'farm':138 'fear':336 'fine':93 'form':156 'found':186 'gain':241 'game':232 'general':39 'get':80,150 'go':26,88 'good':354 'hit':315 'host':237 'human':332 'idea':265,353 'increas':219 'interest':352 'invest':4 'issu':282,304,317 'job':86 'level':270 'like':261 'lot':6 'luck':355 'maintain':254,272 'malici':103,175,190,211,248 'manipul':159 'may':70,96 'minor':67 'moder':333 'must':267 'naiv':204 'natur':108 'need':109 'new':130 'non':253 'non-maintain':252 'none':301 'normal':120 'number':33 'otherwis':351 'packag':225 'part':121 'past':320 'peopl':57,59 'plan':161 'pleas':14 'popular':152 'possibl':195 'prevent':160 'probabl':3,24 'proper':62 'public':40 'pypi':310 'rapid':346 'rate':221 'readi':246 'real':325 'reason':35 'remov':179 'repo':292 'reput':227,242 'reset':128 'right':276 'script':36,48,64,82,106,115,142,147,214,240,249,259,291 'secur':21 'seem':229,260 'shell':47 'side':104 'site':309,340 'someon':136,285 'spiral':347 'still':277 'stop':135 'strong':331 'suffici':29,151 'suit':299 'sysadmin':53 'system':22,124 'take':15,341 'technic':56 'tell':199 'think':322 'time':8,113 'trust':288 'understand':209 'uniqu':306 'updat':116 'upload':137,235,247,258 'upvot':90,173 'user':76,181,205,226 'valid':141,239 'version':131 'versus':215 'vote':37,127,139,158,182 'well':234 'whole':32 'wild':263 'workload':344"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://programming.dev/comment/5667970"
        +editedAt: null
        +createdAt: DateTimeImmutable @1702423895 {#4335
          date: 2023-12-13 00:31:35.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4339}
      +body: "Thank you for the feedback. I think I will remove the voting system for now while I figure out of solution. I will probably not be adding the user reputation system, unless I figure out a way to do it without facing the problems you have mentioned. As for collaboration, I will add a feature allowing app maintainers to set whether or not non-maintainers can add scripts without maintainer permission. Thank you again for the feedback, it was very useful!"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 2
      +score: 0
      +lastActive: DateTime @1702425518 {#4500
        date: 2023-12-13 00:58:38.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Berserkware@lemmy.ml"
        "@CameronDev@programming.dev"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4495 …}
      +nested: Doctrine\ORM\PersistentCollection {#4490 …}
      +votes: Doctrine\ORM\PersistentCollection {#4494 …}
      +reports: Doctrine\ORM\PersistentCollection {#4504 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4506 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4508 …}
      -id: 219724
      -bodyTs: "'ad':27 'add':53,68 'allow':56 'app':57 'collabor':50 'face':42 'featur':55 'feedback':5,78 'figur':18,34 'maintain':58,66,71 'mention':47 'non':65 'non-maintain':64 'permiss':72 'probabl':24 'problem':44 'remov':10 'reput':30 'script':69 'set':60 'solut':21 'system':13,31 'thank':1,73 'think':7 'unless':32 'use':82 'user':29 'vote':12 'way':37 'whether':61 'without':41,70"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ml/comment/6603925"
      +editedAt: null
      +createdAt: DateTimeImmutable @1702425518 {#4503
        date: 2023-12-13 00:58:38.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4339}
    +body: "Have you considered some form of CI? I.e: Spin up a VM, run the script, reboot, report what changed? Might be a little expensive, but could help auditing?"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 5
    +score: 0
    +lastActive: DateTime @1702429100 {#4564
      date: 2023-12-13 01:58:20.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Berserkware@lemmy.ml"
      "@CameronDev@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4567 …}
    +nested: Doctrine\ORM\PersistentCollection {#4569 …}
    +votes: Doctrine\ORM\PersistentCollection {#4571 …}
    +reports: Doctrine\ORM\PersistentCollection {#4573 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4575 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4577 …}
    -id: 219846
    -bodyTs: "'audit':28 'chang':19 'ci':7 'consid':3 'could':26 'expens':24 'form':5 'help':27 'i.e':8 'littl':23 'might':20 'reboot':16 'report':17 'run':13 'script':15 'spin':9 'vm':12"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/5669643"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702429100 {#4565
      date: 2023-12-13 01:58:20.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4339}
  +body: "I have, but I think it would be a bit too expensive on my VPS, but might use it if my site ever catches on. I have also considered using something like [Try](https://github.com/binpash/try), but it isn’t a full sandbox."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1702429803 {#4614
    date: 2023-12-13 02:10:03.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
    "@CameronDev@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4618 …}
  +nested: Doctrine\ORM\PersistentCollection {#4623 …}
  +votes: Doctrine\ORM\PersistentCollection {#4619 …}
  +reports: Doctrine\ORM\PersistentCollection {#4625 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4627 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4629 …}
  -id: 219865
  -bodyTs: "'/binpash/try),':36 'also':28 'bit':10 'catch':24 'consid':29 'ever':23 'expens':12 'full':42 'github.com':35 'github.com/binpash/try),':34 'isn':39 'like':32 'might':17 'sandbox':43 'site':22 'someth':31 'think':5 'tri':33 'use':18,30 'vps':15 'would':7"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ml/comment/6605281"
  +editedAt: null
  +createdAt: DateTimeImmutable @1702429803 {#4611
    date: 2023-12-13 02:10:03.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
47 DENIED edit
App\Entity\EntryComment {#4615
  +user: Proxies\__CG__\App\Entity\User {#1978 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4566
    +user: App\Entity\User {#4352 …}
    +entry: App\Entity\Entry {#2412}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4499
      +user: Proxies\__CG__\App\Entity\User {#1978 …}
      +entry: App\Entity\Entry {#2412}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: App\Entity\EntryComment {#4339
        +user: App\Entity\User {#4352 …}
        +entry: App\Entity\Entry {#2412}
        +magazine: App\Entity\Magazine {#264}
        +image: null
        +parent: null
        +root: null
        +body: """
          You have probably invested a lot of time and effort into this, so please take this as constructive criticism.\n
          \n
          Your security systems are probably not going to be sufficient, for a whole number of reasons.\n
          \n
          ### Script Voting\n
          \n
          The general public is not able to appropriately audit shell scripts. This extends even to sysadmins and more technical people. The people who can properly audit scripts are a minority, and they may not even be amongst your user base. Anyone who gets a script that “does its job” is going to upvote it as fine, because they may not even be aware of its malicious side effects.\n
          \n
          Scripts will naturally need to evolve over time, so script updates will be a normal part of your system. Will the votes reset for new versions? Is there anything stopping someone uploading farming votes with valid scripts, and then backdoor the script once it gets sufficiently popular?\n
          \n
          Is there any form of vote manipulation prevention planned? If not, bad actors can create an army of accounts and upvote their malicious content. Can you remove a users votes if they are found to be acting maliciously? Will it even be possible for you to tell the difference between a naive user who doesn’t understand the maliciousness of the script, versus an account actively increasing the rating of a bad package?\n
          \n
          ### User Reputation\n
          \n
          This seems easy to game as well. Upload a host of valid scripts, gain reputation, and then when ready, upload malicious scripts.\n
          \n
          ### Collaboration\n
          \n
          Allowing non-maintainers to edit and upload scripts seems like a wildly bad idea. There must be some level of maintainer approval for that right? Still will have the same issues, easy for someone to build trust on a script repo and then exploit it when it suits them.\n
          \n
          None of these issues are unique to your site, pypi, dockerhub etc have all hit these issues in the past.\n
          \n
          I think the only real answer is to have very strong human moderation, but I fear that if your site takes off, the workload will rapidly spiral out of control. Otherwise, interesting idea, Good Luck!
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 20
        +score: 0
        +lastActive: DateTime @1704410802 {#4334
          date: 2024-01-05 00:26:42.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Berserkware@lemmy.ml"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4340 …}
        +nested: Doctrine\ORM\PersistentCollection {#4342 …}
        +votes: Doctrine\ORM\PersistentCollection {#4344 …}
        +reports: Doctrine\ORM\PersistentCollection {#4346 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4348 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4350 …}
        -id: 219668
        -bodyTs: "'abl':43 'account':171,217 'act':189 'activ':218 'actor':165 'allow':251 'amongst':74 'answer':326 'anyon':78 'anyth':134 'appropri':45 'approv':273 'armi':169 'audit':46,63 'awar':100 'backdoor':145 'bad':164,224,264 'base':77 'build':287 'collabor':250 'construct':18 'content':176 'control':350 'creat':167 'critic':19 'differ':201 'dockerhub':311 'doesn':207 'easi':230,283 'edit':256 'effect':105 'effort':10 'etc':312 'even':51,72,98,193 'evolv':111 'exploit':295 'extend':50 'farm':138 'fear':336 'fine':93 'form':156 'found':186 'gain':241 'game':232 'general':39 'get':80,150 'go':26,88 'good':354 'hit':315 'host':237 'human':332 'idea':265,353 'increas':219 'interest':352 'invest':4 'issu':282,304,317 'job':86 'level':270 'like':261 'lot':6 'luck':355 'maintain':254,272 'malici':103,175,190,211,248 'manipul':159 'may':70,96 'minor':67 'moder':333 'must':267 'naiv':204 'natur':108 'need':109 'new':130 'non':253 'non-maintain':252 'none':301 'normal':120 'number':33 'otherwis':351 'packag':225 'part':121 'past':320 'peopl':57,59 'plan':161 'pleas':14 'popular':152 'possibl':195 'prevent':160 'probabl':3,24 'proper':62 'public':40 'pypi':310 'rapid':346 'rate':221 'readi':246 'real':325 'reason':35 'remov':179 'repo':292 'reput':227,242 'reset':128 'right':276 'script':36,48,64,82,106,115,142,147,214,240,249,259,291 'secur':21 'seem':229,260 'shell':47 'side':104 'site':309,340 'someon':136,285 'spiral':347 'still':277 'stop':135 'strong':331 'suffici':29,151 'suit':299 'sysadmin':53 'system':22,124 'take':15,341 'technic':56 'tell':199 'think':322 'time':8,113 'trust':288 'understand':209 'uniqu':306 'updat':116 'upload':137,235,247,258 'upvot':90,173 'user':76,181,205,226 'valid':141,239 'version':131 'versus':215 'vote':37,127,139,158,182 'well':234 'whole':32 'wild':263 'workload':344"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://programming.dev/comment/5667970"
        +editedAt: null
        +createdAt: DateTimeImmutable @1702423895 {#4335
          date: 2023-12-13 00:31:35.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4339}
      +body: "Thank you for the feedback. I think I will remove the voting system for now while I figure out of solution. I will probably not be adding the user reputation system, unless I figure out a way to do it without facing the problems you have mentioned. As for collaboration, I will add a feature allowing app maintainers to set whether or not non-maintainers can add scripts without maintainer permission. Thank you again for the feedback, it was very useful!"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 2
      +score: 0
      +lastActive: DateTime @1702425518 {#4500
        date: 2023-12-13 00:58:38.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Berserkware@lemmy.ml"
        "@CameronDev@programming.dev"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4495 …}
      +nested: Doctrine\ORM\PersistentCollection {#4490 …}
      +votes: Doctrine\ORM\PersistentCollection {#4494 …}
      +reports: Doctrine\ORM\PersistentCollection {#4504 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4506 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4508 …}
      -id: 219724
      -bodyTs: "'ad':27 'add':53,68 'allow':56 'app':57 'collabor':50 'face':42 'featur':55 'feedback':5,78 'figur':18,34 'maintain':58,66,71 'mention':47 'non':65 'non-maintain':64 'permiss':72 'probabl':24 'problem':44 'remov':10 'reput':30 'script':69 'set':60 'solut':21 'system':13,31 'thank':1,73 'think':7 'unless':32 'use':82 'user':29 'vote':12 'way':37 'whether':61 'without':41,70"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ml/comment/6603925"
      +editedAt: null
      +createdAt: DateTimeImmutable @1702425518 {#4503
        date: 2023-12-13 00:58:38.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4339}
    +body: "Have you considered some form of CI? I.e: Spin up a VM, run the script, reboot, report what changed? Might be a little expensive, but could help auditing?"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 5
    +score: 0
    +lastActive: DateTime @1702429100 {#4564
      date: 2023-12-13 01:58:20.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Berserkware@lemmy.ml"
      "@CameronDev@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4567 …}
    +nested: Doctrine\ORM\PersistentCollection {#4569 …}
    +votes: Doctrine\ORM\PersistentCollection {#4571 …}
    +reports: Doctrine\ORM\PersistentCollection {#4573 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4575 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4577 …}
    -id: 219846
    -bodyTs: "'audit':28 'chang':19 'ci':7 'consid':3 'could':26 'expens':24 'form':5 'help':27 'i.e':8 'littl':23 'might':20 'reboot':16 'report':17 'run':13 'script':15 'spin':9 'vm':12"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/5669643"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702429100 {#4565
      date: 2023-12-13 01:58:20.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4339}
  +body: "I have, but I think it would be a bit too expensive on my VPS, but might use it if my site ever catches on. I have also considered using something like [Try](https://github.com/binpash/try), but it isn’t a full sandbox."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1702429803 {#4614
    date: 2023-12-13 02:10:03.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
    "@CameronDev@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4618 …}
  +nested: Doctrine\ORM\PersistentCollection {#4623 …}
  +votes: Doctrine\ORM\PersistentCollection {#4619 …}
  +reports: Doctrine\ORM\PersistentCollection {#4625 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4627 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4629 …}
  -id: 219865
  -bodyTs: "'/binpash/try),':36 'also':28 'bit':10 'catch':24 'consid':29 'ever':23 'expens':12 'full':42 'github.com':35 'github.com/binpash/try),':34 'isn':39 'like':32 'might':17 'sandbox':43 'site':22 'someth':31 'think':5 'tri':33 'use':18,30 'vps':15 'would':7"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ml/comment/6605281"
  +editedAt: null
  +createdAt: DateTimeImmutable @1702429803 {#4611
    date: 2023-12-13 02:10:03.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
48 DENIED moderate
App\Entity\EntryComment {#4615
  +user: Proxies\__CG__\App\Entity\User {#1978 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4566
    +user: App\Entity\User {#4352 …}
    +entry: App\Entity\Entry {#2412}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4499
      +user: Proxies\__CG__\App\Entity\User {#1978 …}
      +entry: App\Entity\Entry {#2412}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: App\Entity\EntryComment {#4339
        +user: App\Entity\User {#4352 …}
        +entry: App\Entity\Entry {#2412}
        +magazine: App\Entity\Magazine {#264}
        +image: null
        +parent: null
        +root: null
        +body: """
          You have probably invested a lot of time and effort into this, so please take this as constructive criticism.\n
          \n
          Your security systems are probably not going to be sufficient, for a whole number of reasons.\n
          \n
          ### Script Voting\n
          \n
          The general public is not able to appropriately audit shell scripts. This extends even to sysadmins and more technical people. The people who can properly audit scripts are a minority, and they may not even be amongst your user base. Anyone who gets a script that “does its job” is going to upvote it as fine, because they may not even be aware of its malicious side effects.\n
          \n
          Scripts will naturally need to evolve over time, so script updates will be a normal part of your system. Will the votes reset for new versions? Is there anything stopping someone uploading farming votes with valid scripts, and then backdoor the script once it gets sufficiently popular?\n
          \n
          Is there any form of vote manipulation prevention planned? If not, bad actors can create an army of accounts and upvote their malicious content. Can you remove a users votes if they are found to be acting maliciously? Will it even be possible for you to tell the difference between a naive user who doesn’t understand the maliciousness of the script, versus an account actively increasing the rating of a bad package?\n
          \n
          ### User Reputation\n
          \n
          This seems easy to game as well. Upload a host of valid scripts, gain reputation, and then when ready, upload malicious scripts.\n
          \n
          ### Collaboration\n
          \n
          Allowing non-maintainers to edit and upload scripts seems like a wildly bad idea. There must be some level of maintainer approval for that right? Still will have the same issues, easy for someone to build trust on a script repo and then exploit it when it suits them.\n
          \n
          None of these issues are unique to your site, pypi, dockerhub etc have all hit these issues in the past.\n
          \n
          I think the only real answer is to have very strong human moderation, but I fear that if your site takes off, the workload will rapidly spiral out of control. Otherwise, interesting idea, Good Luck!
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 20
        +score: 0
        +lastActive: DateTime @1704410802 {#4334
          date: 2024-01-05 00:26:42.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Berserkware@lemmy.ml"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4340 …}
        +nested: Doctrine\ORM\PersistentCollection {#4342 …}
        +votes: Doctrine\ORM\PersistentCollection {#4344 …}
        +reports: Doctrine\ORM\PersistentCollection {#4346 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4348 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4350 …}
        -id: 219668
        -bodyTs: "'abl':43 'account':171,217 'act':189 'activ':218 'actor':165 'allow':251 'amongst':74 'answer':326 'anyon':78 'anyth':134 'appropri':45 'approv':273 'armi':169 'audit':46,63 'awar':100 'backdoor':145 'bad':164,224,264 'base':77 'build':287 'collabor':250 'construct':18 'content':176 'control':350 'creat':167 'critic':19 'differ':201 'dockerhub':311 'doesn':207 'easi':230,283 'edit':256 'effect':105 'effort':10 'etc':312 'even':51,72,98,193 'evolv':111 'exploit':295 'extend':50 'farm':138 'fear':336 'fine':93 'form':156 'found':186 'gain':241 'game':232 'general':39 'get':80,150 'go':26,88 'good':354 'hit':315 'host':237 'human':332 'idea':265,353 'increas':219 'interest':352 'invest':4 'issu':282,304,317 'job':86 'level':270 'like':261 'lot':6 'luck':355 'maintain':254,272 'malici':103,175,190,211,248 'manipul':159 'may':70,96 'minor':67 'moder':333 'must':267 'naiv':204 'natur':108 'need':109 'new':130 'non':253 'non-maintain':252 'none':301 'normal':120 'number':33 'otherwis':351 'packag':225 'part':121 'past':320 'peopl':57,59 'plan':161 'pleas':14 'popular':152 'possibl':195 'prevent':160 'probabl':3,24 'proper':62 'public':40 'pypi':310 'rapid':346 'rate':221 'readi':246 'real':325 'reason':35 'remov':179 'repo':292 'reput':227,242 'reset':128 'right':276 'script':36,48,64,82,106,115,142,147,214,240,249,259,291 'secur':21 'seem':229,260 'shell':47 'side':104 'site':309,340 'someon':136,285 'spiral':347 'still':277 'stop':135 'strong':331 'suffici':29,151 'suit':299 'sysadmin':53 'system':22,124 'take':15,341 'technic':56 'tell':199 'think':322 'time':8,113 'trust':288 'understand':209 'uniqu':306 'updat':116 'upload':137,235,247,258 'upvot':90,173 'user':76,181,205,226 'valid':141,239 'version':131 'versus':215 'vote':37,127,139,158,182 'well':234 'whole':32 'wild':263 'workload':344"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://programming.dev/comment/5667970"
        +editedAt: null
        +createdAt: DateTimeImmutable @1702423895 {#4335
          date: 2023-12-13 00:31:35.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4339}
      +body: "Thank you for the feedback. I think I will remove the voting system for now while I figure out of solution. I will probably not be adding the user reputation system, unless I figure out a way to do it without facing the problems you have mentioned. As for collaboration, I will add a feature allowing app maintainers to set whether or not non-maintainers can add scripts without maintainer permission. Thank you again for the feedback, it was very useful!"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 2
      +score: 0
      +lastActive: DateTime @1702425518 {#4500
        date: 2023-12-13 00:58:38.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Berserkware@lemmy.ml"
        "@CameronDev@programming.dev"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4495 …}
      +nested: Doctrine\ORM\PersistentCollection {#4490 …}
      +votes: Doctrine\ORM\PersistentCollection {#4494 …}
      +reports: Doctrine\ORM\PersistentCollection {#4504 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4506 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4508 …}
      -id: 219724
      -bodyTs: "'ad':27 'add':53,68 'allow':56 'app':57 'collabor':50 'face':42 'featur':55 'feedback':5,78 'figur':18,34 'maintain':58,66,71 'mention':47 'non':65 'non-maintain':64 'permiss':72 'probabl':24 'problem':44 'remov':10 'reput':30 'script':69 'set':60 'solut':21 'system':13,31 'thank':1,73 'think':7 'unless':32 'use':82 'user':29 'vote':12 'way':37 'whether':61 'without':41,70"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ml/comment/6603925"
      +editedAt: null
      +createdAt: DateTimeImmutable @1702425518 {#4503
        date: 2023-12-13 00:58:38.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4339}
    +body: "Have you considered some form of CI? I.e: Spin up a VM, run the script, reboot, report what changed? Might be a little expensive, but could help auditing?"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 5
    +score: 0
    +lastActive: DateTime @1702429100 {#4564
      date: 2023-12-13 01:58:20.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Berserkware@lemmy.ml"
      "@CameronDev@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4567 …}
    +nested: Doctrine\ORM\PersistentCollection {#4569 …}
    +votes: Doctrine\ORM\PersistentCollection {#4571 …}
    +reports: Doctrine\ORM\PersistentCollection {#4573 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4575 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4577 …}
    -id: 219846
    -bodyTs: "'audit':28 'chang':19 'ci':7 'consid':3 'could':26 'expens':24 'form':5 'help':27 'i.e':8 'littl':23 'might':20 'reboot':16 'report':17 'run':13 'script':15 'spin':9 'vm':12"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/5669643"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702429100 {#4565
      date: 2023-12-13 01:58:20.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4339}
  +body: "I have, but I think it would be a bit too expensive on my VPS, but might use it if my site ever catches on. I have also considered using something like [Try](https://github.com/binpash/try), but it isn’t a full sandbox."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1702429803 {#4614
    date: 2023-12-13 02:10:03.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
    "@CameronDev@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4618 …}
  +nested: Doctrine\ORM\PersistentCollection {#4623 …}
  +votes: Doctrine\ORM\PersistentCollection {#4619 …}
  +reports: Doctrine\ORM\PersistentCollection {#4625 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4627 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4629 …}
  -id: 219865
  -bodyTs: "'/binpash/try),':36 'also':28 'bit':10 'catch':24 'consid':29 'ever':23 'expens':12 'full':42 'github.com':35 'github.com/binpash/try),':34 'isn':39 'like':32 'might':17 'sandbox':43 'site':22 'someth':31 'think':5 'tri':33 'use':18,30 'vps':15 'would':7"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ml/comment/6605281"
  +editedAt: null
  +createdAt: DateTimeImmutable @1702429803 {#4611
    date: 2023-12-13 02:10:03.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
49 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
50 DENIED moderate
App\Entity\EntryComment {#4672
  +user: App\Entity\User {#4352 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4615
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +entry: App\Entity\Entry {#2412}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4566
      +user: App\Entity\User {#4352 …}
      +entry: App\Entity\Entry {#2412}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: App\Entity\EntryComment {#4499
        +user: Proxies\__CG__\App\Entity\User {#1978 …}
        +entry: App\Entity\Entry {#2412}
        +magazine: App\Entity\Magazine {#264}
        +image: null
        +parent: App\Entity\EntryComment {#4339
          +user: App\Entity\User {#4352 …}
          +entry: App\Entity\Entry {#2412}
          +magazine: App\Entity\Magazine {#264}
          +image: null
          +parent: null
          +root: null
          +body: """
            You have probably invested a lot of time and effort into this, so please take this as constructive criticism.\n
            \n
            Your security systems are probably not going to be sufficient, for a whole number of reasons.\n
            \n
            ### Script Voting\n
            \n
            The general public is not able to appropriately audit shell scripts. This extends even to sysadmins and more technical people. The people who can properly audit scripts are a minority, and they may not even be amongst your user base. Anyone who gets a script that “does its job” is going to upvote it as fine, because they may not even be aware of its malicious side effects.\n
            \n
            Scripts will naturally need to evolve over time, so script updates will be a normal part of your system. Will the votes reset for new versions? Is there anything stopping someone uploading farming votes with valid scripts, and then backdoor the script once it gets sufficiently popular?\n
            \n
            Is there any form of vote manipulation prevention planned? If not, bad actors can create an army of accounts and upvote their malicious content. Can you remove a users votes if they are found to be acting maliciously? Will it even be possible for you to tell the difference between a naive user who doesn’t understand the maliciousness of the script, versus an account actively increasing the rating of a bad package?\n
            \n
            ### User Reputation\n
            \n
            This seems easy to game as well. Upload a host of valid scripts, gain reputation, and then when ready, upload malicious scripts.\n
            \n
            ### Collaboration\n
            \n
            Allowing non-maintainers to edit and upload scripts seems like a wildly bad idea. There must be some level of maintainer approval for that right? Still will have the same issues, easy for someone to build trust on a script repo and then exploit it when it suits them.\n
            \n
            None of these issues are unique to your site, pypi, dockerhub etc have all hit these issues in the past.\n
            \n
            I think the only real answer is to have very strong human moderation, but I fear that if your site takes off, the workload will rapidly spiral out of control. Otherwise, interesting idea, Good Luck!
            """
          +lang: "en"
          +isAdult: false
          +favouriteCount: 20
          +score: 0
          +lastActive: DateTime @1704410802 {#4334
            date: 2024-01-05 00:26:42.0 +01:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@Berserkware@lemmy.ml"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4340 …}
          +nested: Doctrine\ORM\PersistentCollection {#4342 …}
          +votes: Doctrine\ORM\PersistentCollection {#4344 …}
          +reports: Doctrine\ORM\PersistentCollection {#4346 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4348 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4350 …}
          -id: 219668
          -bodyTs: "'abl':43 'account':171,217 'act':189 'activ':218 'actor':165 'allow':251 'amongst':74 'answer':326 'anyon':78 'anyth':134 'appropri':45 'approv':273 'armi':169 'audit':46,63 'awar':100 'backdoor':145 'bad':164,224,264 'base':77 'build':287 'collabor':250 'construct':18 'content':176 'control':350 'creat':167 'critic':19 'differ':201 'dockerhub':311 'doesn':207 'easi':230,283 'edit':256 'effect':105 'effort':10 'etc':312 'even':51,72,98,193 'evolv':111 'exploit':295 'extend':50 'farm':138 'fear':336 'fine':93 'form':156 'found':186 'gain':241 'game':232 'general':39 'get':80,150 'go':26,88 'good':354 'hit':315 'host':237 'human':332 'idea':265,353 'increas':219 'interest':352 'invest':4 'issu':282,304,317 'job':86 'level':270 'like':261 'lot':6 'luck':355 'maintain':254,272 'malici':103,175,190,211,248 'manipul':159 'may':70,96 'minor':67 'moder':333 'must':267 'naiv':204 'natur':108 'need':109 'new':130 'non':253 'non-maintain':252 'none':301 'normal':120 'number':33 'otherwis':351 'packag':225 'part':121 'past':320 'peopl':57,59 'plan':161 'pleas':14 'popular':152 'possibl':195 'prevent':160 'probabl':3,24 'proper':62 'public':40 'pypi':310 'rapid':346 'rate':221 'readi':246 'real':325 'reason':35 'remov':179 'repo':292 'reput':227,242 'reset':128 'right':276 'script':36,48,64,82,106,115,142,147,214,240,249,259,291 'secur':21 'seem':229,260 'shell':47 'side':104 'site':309,340 'someon':136,285 'spiral':347 'still':277 'stop':135 'strong':331 'suffici':29,151 'suit':299 'sysadmin':53 'system':22,124 'take':15,341 'technic':56 'tell':199 'think':322 'time':8,113 'trust':288 'understand':209 'uniqu':306 'updat':116 'upload':137,235,247,258 'upvot':90,173 'user':76,181,205,226 'valid':141,239 'version':131 'versus':215 'vote':37,127,139,158,182 'well':234 'whole':32 'wild':263 'workload':344"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://programming.dev/comment/5667970"
          +editedAt: null
          +createdAt: DateTimeImmutable @1702423895 {#4335
            date: 2023-12-13 00:31:35.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4339}
        +body: "Thank you for the feedback. I think I will remove the voting system for now while I figure out of solution. I will probably not be adding the user reputation system, unless I figure out a way to do it without facing the problems you have mentioned. As for collaboration, I will add a feature allowing app maintainers to set whether or not non-maintainers can add scripts without maintainer permission. Thank you again for the feedback, it was very useful!"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 2
        +score: 0
        +lastActive: DateTime @1702425518 {#4500
          date: 2023-12-13 00:58:38.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Berserkware@lemmy.ml"
          "@CameronDev@programming.dev"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4495 …}
        +nested: Doctrine\ORM\PersistentCollection {#4490 …}
        +votes: Doctrine\ORM\PersistentCollection {#4494 …}
        +reports: Doctrine\ORM\PersistentCollection {#4504 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4506 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4508 …}
        -id: 219724
        -bodyTs: "'ad':27 'add':53,68 'allow':56 'app':57 'collabor':50 'face':42 'featur':55 'feedback':5,78 'figur':18,34 'maintain':58,66,71 'mention':47 'non':65 'non-maintain':64 'permiss':72 'probabl':24 'problem':44 'remov':10 'reput':30 'script':69 'set':60 'solut':21 'system':13,31 'thank':1,73 'think':7 'unless':32 'use':82 'user':29 'vote':12 'way':37 'whether':61 'without':41,70"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.ml/comment/6603925"
        +editedAt: null
        +createdAt: DateTimeImmutable @1702425518 {#4503
          date: 2023-12-13 00:58:38.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4339}
      +body: "Have you considered some form of CI? I.e: Spin up a VM, run the script, reboot, report what changed? Might be a little expensive, but could help auditing?"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 5
      +score: 0
      +lastActive: DateTime @1702429100 {#4564
        date: 2023-12-13 01:58:20.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Berserkware@lemmy.ml"
        "@CameronDev@programming.dev"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4567 …}
      +nested: Doctrine\ORM\PersistentCollection {#4569 …}
      +votes: Doctrine\ORM\PersistentCollection {#4571 …}
      +reports: Doctrine\ORM\PersistentCollection {#4573 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4575 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4577 …}
      -id: 219846
      -bodyTs: "'audit':28 'chang':19 'ci':7 'consid':3 'could':26 'expens':24 'form':5 'help':27 'i.e':8 'littl':23 'might':20 'reboot':16 'report':17 'run':13 'script':15 'spin':9 'vm':12"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/5669643"
      +editedAt: null
      +createdAt: DateTimeImmutable @1702429100 {#4565
        date: 2023-12-13 01:58:20.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4339}
    +body: "I have, but I think it would be a bit too expensive on my VPS, but might use it if my site ever catches on. I have also considered using something like [Try](https://github.com/binpash/try), but it isn’t a full sandbox."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1702429803 {#4614
      date: 2023-12-13 02:10:03.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Berserkware@lemmy.ml"
      "@CameronDev@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4618 …}
    +nested: Doctrine\ORM\PersistentCollection {#4623 …}
    +votes: Doctrine\ORM\PersistentCollection {#4619 …}
    +reports: Doctrine\ORM\PersistentCollection {#4625 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4627 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4629 …}
    -id: 219865
    -bodyTs: "'/binpash/try),':36 'also':28 'bit':10 'catch':24 'consid':29 'ever':23 'expens':12 'full':42 'github.com':35 'github.com/binpash/try),':34 'isn':39 'like':32 'might':17 'sandbox':43 'site':22 'someth':31 'think':5 'tri':33 'use':18,30 'vps':15 'would':7"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/6605281"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702429803 {#4611
      date: 2023-12-13 02:10:03.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4339}
  +body: "Very understandable. And from a security standpoint not necessarily indicitive of anything. A good malicious script would just check its environment first."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1702438142 {#4673
    date: 2023-12-13 04:29:02.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
    "@CameronDev@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4669 …}
  +nested: Doctrine\ORM\PersistentCollection {#4665 …}
  +votes: Doctrine\ORM\PersistentCollection {#4663 …}
  +reports: Doctrine\ORM\PersistentCollection {#4678 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4680 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4682 …}
  -id: 220148
  -bodyTs: "'anyth':12 'check':19 'environ':21 'first':22 'good':14 'indicit':10 'malici':15 'necessarili':9 'script':16 'secur':6 'standpoint':7 'understand':2 'would':17"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/5672508"
  +editedAt: null
  +createdAt: DateTimeImmutable @1702438142 {#4676
    date: 2023-12-13 04:29:02.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
51 DENIED edit
App\Entity\EntryComment {#4672
  +user: App\Entity\User {#4352 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4615
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +entry: App\Entity\Entry {#2412}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4566
      +user: App\Entity\User {#4352 …}
      +entry: App\Entity\Entry {#2412}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: App\Entity\EntryComment {#4499
        +user: Proxies\__CG__\App\Entity\User {#1978 …}
        +entry: App\Entity\Entry {#2412}
        +magazine: App\Entity\Magazine {#264}
        +image: null
        +parent: App\Entity\EntryComment {#4339
          +user: App\Entity\User {#4352 …}
          +entry: App\Entity\Entry {#2412}
          +magazine: App\Entity\Magazine {#264}
          +image: null
          +parent: null
          +root: null
          +body: """
            You have probably invested a lot of time and effort into this, so please take this as constructive criticism.\n
            \n
            Your security systems are probably not going to be sufficient, for a whole number of reasons.\n
            \n
            ### Script Voting\n
            \n
            The general public is not able to appropriately audit shell scripts. This extends even to sysadmins and more technical people. The people who can properly audit scripts are a minority, and they may not even be amongst your user base. Anyone who gets a script that “does its job” is going to upvote it as fine, because they may not even be aware of its malicious side effects.\n
            \n
            Scripts will naturally need to evolve over time, so script updates will be a normal part of your system. Will the votes reset for new versions? Is there anything stopping someone uploading farming votes with valid scripts, and then backdoor the script once it gets sufficiently popular?\n
            \n
            Is there any form of vote manipulation prevention planned? If not, bad actors can create an army of accounts and upvote their malicious content. Can you remove a users votes if they are found to be acting maliciously? Will it even be possible for you to tell the difference between a naive user who doesn’t understand the maliciousness of the script, versus an account actively increasing the rating of a bad package?\n
            \n
            ### User Reputation\n
            \n
            This seems easy to game as well. Upload a host of valid scripts, gain reputation, and then when ready, upload malicious scripts.\n
            \n
            ### Collaboration\n
            \n
            Allowing non-maintainers to edit and upload scripts seems like a wildly bad idea. There must be some level of maintainer approval for that right? Still will have the same issues, easy for someone to build trust on a script repo and then exploit it when it suits them.\n
            \n
            None of these issues are unique to your site, pypi, dockerhub etc have all hit these issues in the past.\n
            \n
            I think the only real answer is to have very strong human moderation, but I fear that if your site takes off, the workload will rapidly spiral out of control. Otherwise, interesting idea, Good Luck!
            """
          +lang: "en"
          +isAdult: false
          +favouriteCount: 20
          +score: 0
          +lastActive: DateTime @1704410802 {#4334
            date: 2024-01-05 00:26:42.0 +01:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@Berserkware@lemmy.ml"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4340 …}
          +nested: Doctrine\ORM\PersistentCollection {#4342 …}
          +votes: Doctrine\ORM\PersistentCollection {#4344 …}
          +reports: Doctrine\ORM\PersistentCollection {#4346 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4348 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4350 …}
          -id: 219668
          -bodyTs: "'abl':43 'account':171,217 'act':189 'activ':218 'actor':165 'allow':251 'amongst':74 'answer':326 'anyon':78 'anyth':134 'appropri':45 'approv':273 'armi':169 'audit':46,63 'awar':100 'backdoor':145 'bad':164,224,264 'base':77 'build':287 'collabor':250 'construct':18 'content':176 'control':350 'creat':167 'critic':19 'differ':201 'dockerhub':311 'doesn':207 'easi':230,283 'edit':256 'effect':105 'effort':10 'etc':312 'even':51,72,98,193 'evolv':111 'exploit':295 'extend':50 'farm':138 'fear':336 'fine':93 'form':156 'found':186 'gain':241 'game':232 'general':39 'get':80,150 'go':26,88 'good':354 'hit':315 'host':237 'human':332 'idea':265,353 'increas':219 'interest':352 'invest':4 'issu':282,304,317 'job':86 'level':270 'like':261 'lot':6 'luck':355 'maintain':254,272 'malici':103,175,190,211,248 'manipul':159 'may':70,96 'minor':67 'moder':333 'must':267 'naiv':204 'natur':108 'need':109 'new':130 'non':253 'non-maintain':252 'none':301 'normal':120 'number':33 'otherwis':351 'packag':225 'part':121 'past':320 'peopl':57,59 'plan':161 'pleas':14 'popular':152 'possibl':195 'prevent':160 'probabl':3,24 'proper':62 'public':40 'pypi':310 'rapid':346 'rate':221 'readi':246 'real':325 'reason':35 'remov':179 'repo':292 'reput':227,242 'reset':128 'right':276 'script':36,48,64,82,106,115,142,147,214,240,249,259,291 'secur':21 'seem':229,260 'shell':47 'side':104 'site':309,340 'someon':136,285 'spiral':347 'still':277 'stop':135 'strong':331 'suffici':29,151 'suit':299 'sysadmin':53 'system':22,124 'take':15,341 'technic':56 'tell':199 'think':322 'time':8,113 'trust':288 'understand':209 'uniqu':306 'updat':116 'upload':137,235,247,258 'upvot':90,173 'user':76,181,205,226 'valid':141,239 'version':131 'versus':215 'vote':37,127,139,158,182 'well':234 'whole':32 'wild':263 'workload':344"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://programming.dev/comment/5667970"
          +editedAt: null
          +createdAt: DateTimeImmutable @1702423895 {#4335
            date: 2023-12-13 00:31:35.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4339}
        +body: "Thank you for the feedback. I think I will remove the voting system for now while I figure out of solution. I will probably not be adding the user reputation system, unless I figure out a way to do it without facing the problems you have mentioned. As for collaboration, I will add a feature allowing app maintainers to set whether or not non-maintainers can add scripts without maintainer permission. Thank you again for the feedback, it was very useful!"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 2
        +score: 0
        +lastActive: DateTime @1702425518 {#4500
          date: 2023-12-13 00:58:38.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Berserkware@lemmy.ml"
          "@CameronDev@programming.dev"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4495 …}
        +nested: Doctrine\ORM\PersistentCollection {#4490 …}
        +votes: Doctrine\ORM\PersistentCollection {#4494 …}
        +reports: Doctrine\ORM\PersistentCollection {#4504 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4506 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4508 …}
        -id: 219724
        -bodyTs: "'ad':27 'add':53,68 'allow':56 'app':57 'collabor':50 'face':42 'featur':55 'feedback':5,78 'figur':18,34 'maintain':58,66,71 'mention':47 'non':65 'non-maintain':64 'permiss':72 'probabl':24 'problem':44 'remov':10 'reput':30 'script':69 'set':60 'solut':21 'system':13,31 'thank':1,73 'think':7 'unless':32 'use':82 'user':29 'vote':12 'way':37 'whether':61 'without':41,70"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.ml/comment/6603925"
        +editedAt: null
        +createdAt: DateTimeImmutable @1702425518 {#4503
          date: 2023-12-13 00:58:38.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4339}
      +body: "Have you considered some form of CI? I.e: Spin up a VM, run the script, reboot, report what changed? Might be a little expensive, but could help auditing?"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 5
      +score: 0
      +lastActive: DateTime @1702429100 {#4564
        date: 2023-12-13 01:58:20.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Berserkware@lemmy.ml"
        "@CameronDev@programming.dev"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4567 …}
      +nested: Doctrine\ORM\PersistentCollection {#4569 …}
      +votes: Doctrine\ORM\PersistentCollection {#4571 …}
      +reports: Doctrine\ORM\PersistentCollection {#4573 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4575 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4577 …}
      -id: 219846
      -bodyTs: "'audit':28 'chang':19 'ci':7 'consid':3 'could':26 'expens':24 'form':5 'help':27 'i.e':8 'littl':23 'might':20 'reboot':16 'report':17 'run':13 'script':15 'spin':9 'vm':12"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/5669643"
      +editedAt: null
      +createdAt: DateTimeImmutable @1702429100 {#4565
        date: 2023-12-13 01:58:20.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4339}
    +body: "I have, but I think it would be a bit too expensive on my VPS, but might use it if my site ever catches on. I have also considered using something like [Try](https://github.com/binpash/try), but it isn’t a full sandbox."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1702429803 {#4614
      date: 2023-12-13 02:10:03.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Berserkware@lemmy.ml"
      "@CameronDev@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4618 …}
    +nested: Doctrine\ORM\PersistentCollection {#4623 …}
    +votes: Doctrine\ORM\PersistentCollection {#4619 …}
    +reports: Doctrine\ORM\PersistentCollection {#4625 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4627 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4629 …}
    -id: 219865
    -bodyTs: "'/binpash/try),':36 'also':28 'bit':10 'catch':24 'consid':29 'ever':23 'expens':12 'full':42 'github.com':35 'github.com/binpash/try),':34 'isn':39 'like':32 'might':17 'sandbox':43 'site':22 'someth':31 'think':5 'tri':33 'use':18,30 'vps':15 'would':7"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/6605281"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702429803 {#4611
      date: 2023-12-13 02:10:03.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4339}
  +body: "Very understandable. And from a security standpoint not necessarily indicitive of anything. A good malicious script would just check its environment first."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1702438142 {#4673
    date: 2023-12-13 04:29:02.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
    "@CameronDev@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4669 …}
  +nested: Doctrine\ORM\PersistentCollection {#4665 …}
  +votes: Doctrine\ORM\PersistentCollection {#4663 …}
  +reports: Doctrine\ORM\PersistentCollection {#4678 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4680 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4682 …}
  -id: 220148
  -bodyTs: "'anyth':12 'check':19 'environ':21 'first':22 'good':14 'indicit':10 'malici':15 'necessarili':9 'script':16 'secur':6 'standpoint':7 'understand':2 'would':17"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/5672508"
  +editedAt: null
  +createdAt: DateTimeImmutable @1702438142 {#4676
    date: 2023-12-13 04:29:02.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
52 DENIED moderate
App\Entity\EntryComment {#4672
  +user: App\Entity\User {#4352 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4615
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +entry: App\Entity\Entry {#2412}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4566
      +user: App\Entity\User {#4352 …}
      +entry: App\Entity\Entry {#2412}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: App\Entity\EntryComment {#4499
        +user: Proxies\__CG__\App\Entity\User {#1978 …}
        +entry: App\Entity\Entry {#2412}
        +magazine: App\Entity\Magazine {#264}
        +image: null
        +parent: App\Entity\EntryComment {#4339
          +user: App\Entity\User {#4352 …}
          +entry: App\Entity\Entry {#2412}
          +magazine: App\Entity\Magazine {#264}
          +image: null
          +parent: null
          +root: null
          +body: """
            You have probably invested a lot of time and effort into this, so please take this as constructive criticism.\n
            \n
            Your security systems are probably not going to be sufficient, for a whole number of reasons.\n
            \n
            ### Script Voting\n
            \n
            The general public is not able to appropriately audit shell scripts. This extends even to sysadmins and more technical people. The people who can properly audit scripts are a minority, and they may not even be amongst your user base. Anyone who gets a script that “does its job” is going to upvote it as fine, because they may not even be aware of its malicious side effects.\n
            \n
            Scripts will naturally need to evolve over time, so script updates will be a normal part of your system. Will the votes reset for new versions? Is there anything stopping someone uploading farming votes with valid scripts, and then backdoor the script once it gets sufficiently popular?\n
            \n
            Is there any form of vote manipulation prevention planned? If not, bad actors can create an army of accounts and upvote their malicious content. Can you remove a users votes if they are found to be acting maliciously? Will it even be possible for you to tell the difference between a naive user who doesn’t understand the maliciousness of the script, versus an account actively increasing the rating of a bad package?\n
            \n
            ### User Reputation\n
            \n
            This seems easy to game as well. Upload a host of valid scripts, gain reputation, and then when ready, upload malicious scripts.\n
            \n
            ### Collaboration\n
            \n
            Allowing non-maintainers to edit and upload scripts seems like a wildly bad idea. There must be some level of maintainer approval for that right? Still will have the same issues, easy for someone to build trust on a script repo and then exploit it when it suits them.\n
            \n
            None of these issues are unique to your site, pypi, dockerhub etc have all hit these issues in the past.\n
            \n
            I think the only real answer is to have very strong human moderation, but I fear that if your site takes off, the workload will rapidly spiral out of control. Otherwise, interesting idea, Good Luck!
            """
          +lang: "en"
          +isAdult: false
          +favouriteCount: 20
          +score: 0
          +lastActive: DateTime @1704410802 {#4334
            date: 2024-01-05 00:26:42.0 +01:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@Berserkware@lemmy.ml"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4340 …}
          +nested: Doctrine\ORM\PersistentCollection {#4342 …}
          +votes: Doctrine\ORM\PersistentCollection {#4344 …}
          +reports: Doctrine\ORM\PersistentCollection {#4346 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4348 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4350 …}
          -id: 219668
          -bodyTs: "'abl':43 'account':171,217 'act':189 'activ':218 'actor':165 'allow':251 'amongst':74 'answer':326 'anyon':78 'anyth':134 'appropri':45 'approv':273 'armi':169 'audit':46,63 'awar':100 'backdoor':145 'bad':164,224,264 'base':77 'build':287 'collabor':250 'construct':18 'content':176 'control':350 'creat':167 'critic':19 'differ':201 'dockerhub':311 'doesn':207 'easi':230,283 'edit':256 'effect':105 'effort':10 'etc':312 'even':51,72,98,193 'evolv':111 'exploit':295 'extend':50 'farm':138 'fear':336 'fine':93 'form':156 'found':186 'gain':241 'game':232 'general':39 'get':80,150 'go':26,88 'good':354 'hit':315 'host':237 'human':332 'idea':265,353 'increas':219 'interest':352 'invest':4 'issu':282,304,317 'job':86 'level':270 'like':261 'lot':6 'luck':355 'maintain':254,272 'malici':103,175,190,211,248 'manipul':159 'may':70,96 'minor':67 'moder':333 'must':267 'naiv':204 'natur':108 'need':109 'new':130 'non':253 'non-maintain':252 'none':301 'normal':120 'number':33 'otherwis':351 'packag':225 'part':121 'past':320 'peopl':57,59 'plan':161 'pleas':14 'popular':152 'possibl':195 'prevent':160 'probabl':3,24 'proper':62 'public':40 'pypi':310 'rapid':346 'rate':221 'readi':246 'real':325 'reason':35 'remov':179 'repo':292 'reput':227,242 'reset':128 'right':276 'script':36,48,64,82,106,115,142,147,214,240,249,259,291 'secur':21 'seem':229,260 'shell':47 'side':104 'site':309,340 'someon':136,285 'spiral':347 'still':277 'stop':135 'strong':331 'suffici':29,151 'suit':299 'sysadmin':53 'system':22,124 'take':15,341 'technic':56 'tell':199 'think':322 'time':8,113 'trust':288 'understand':209 'uniqu':306 'updat':116 'upload':137,235,247,258 'upvot':90,173 'user':76,181,205,226 'valid':141,239 'version':131 'versus':215 'vote':37,127,139,158,182 'well':234 'whole':32 'wild':263 'workload':344"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://programming.dev/comment/5667970"
          +editedAt: null
          +createdAt: DateTimeImmutable @1702423895 {#4335
            date: 2023-12-13 00:31:35.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4339}
        +body: "Thank you for the feedback. I think I will remove the voting system for now while I figure out of solution. I will probably not be adding the user reputation system, unless I figure out a way to do it without facing the problems you have mentioned. As for collaboration, I will add a feature allowing app maintainers to set whether or not non-maintainers can add scripts without maintainer permission. Thank you again for the feedback, it was very useful!"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 2
        +score: 0
        +lastActive: DateTime @1702425518 {#4500
          date: 2023-12-13 00:58:38.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Berserkware@lemmy.ml"
          "@CameronDev@programming.dev"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4495 …}
        +nested: Doctrine\ORM\PersistentCollection {#4490 …}
        +votes: Doctrine\ORM\PersistentCollection {#4494 …}
        +reports: Doctrine\ORM\PersistentCollection {#4504 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4506 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4508 …}
        -id: 219724
        -bodyTs: "'ad':27 'add':53,68 'allow':56 'app':57 'collabor':50 'face':42 'featur':55 'feedback':5,78 'figur':18,34 'maintain':58,66,71 'mention':47 'non':65 'non-maintain':64 'permiss':72 'probabl':24 'problem':44 'remov':10 'reput':30 'script':69 'set':60 'solut':21 'system':13,31 'thank':1,73 'think':7 'unless':32 'use':82 'user':29 'vote':12 'way':37 'whether':61 'without':41,70"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.ml/comment/6603925"
        +editedAt: null
        +createdAt: DateTimeImmutable @1702425518 {#4503
          date: 2023-12-13 00:58:38.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4339}
      +body: "Have you considered some form of CI? I.e: Spin up a VM, run the script, reboot, report what changed? Might be a little expensive, but could help auditing?"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 5
      +score: 0
      +lastActive: DateTime @1702429100 {#4564
        date: 2023-12-13 01:58:20.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Berserkware@lemmy.ml"
        "@CameronDev@programming.dev"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4567 …}
      +nested: Doctrine\ORM\PersistentCollection {#4569 …}
      +votes: Doctrine\ORM\PersistentCollection {#4571 …}
      +reports: Doctrine\ORM\PersistentCollection {#4573 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4575 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4577 …}
      -id: 219846
      -bodyTs: "'audit':28 'chang':19 'ci':7 'consid':3 'could':26 'expens':24 'form':5 'help':27 'i.e':8 'littl':23 'might':20 'reboot':16 'report':17 'run':13 'script':15 'spin':9 'vm':12"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/5669643"
      +editedAt: null
      +createdAt: DateTimeImmutable @1702429100 {#4565
        date: 2023-12-13 01:58:20.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4339}
    +body: "I have, but I think it would be a bit too expensive on my VPS, but might use it if my site ever catches on. I have also considered using something like [Try](https://github.com/binpash/try), but it isn’t a full sandbox."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1702429803 {#4614
      date: 2023-12-13 02:10:03.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Berserkware@lemmy.ml"
      "@CameronDev@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4618 …}
    +nested: Doctrine\ORM\PersistentCollection {#4623 …}
    +votes: Doctrine\ORM\PersistentCollection {#4619 …}
    +reports: Doctrine\ORM\PersistentCollection {#4625 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4627 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4629 …}
    -id: 219865
    -bodyTs: "'/binpash/try),':36 'also':28 'bit':10 'catch':24 'consid':29 'ever':23 'expens':12 'full':42 'github.com':35 'github.com/binpash/try),':34 'isn':39 'like':32 'might':17 'sandbox':43 'site':22 'someth':31 'think':5 'tri':33 'use':18,30 'vps':15 'would':7"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/6605281"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702429803 {#4611
      date: 2023-12-13 02:10:03.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4339}
  +body: "Very understandable. And from a security standpoint not necessarily indicitive of anything. A good malicious script would just check its environment first."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1702438142 {#4673
    date: 2023-12-13 04:29:02.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
    "@CameronDev@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4669 …}
  +nested: Doctrine\ORM\PersistentCollection {#4665 …}
  +votes: Doctrine\ORM\PersistentCollection {#4663 …}
  +reports: Doctrine\ORM\PersistentCollection {#4678 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4680 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4682 …}
  -id: 220148
  -bodyTs: "'anyth':12 'check':19 'environ':21 'first':22 'good':14 'indicit':10 'malici':15 'necessarili':9 'script':16 'secur':6 'standpoint':7 'understand':2 'would':17"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/5672508"
  +editedAt: null
  +createdAt: DateTimeImmutable @1702438142 {#4676
    date: 2023-12-13 04:29:02.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
53 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
54 DENIED moderate
App\Entity\EntryComment {#4512
  +user: Proxies\__CG__\App\Entity\User {#4513 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4339
    +user: App\Entity\User {#4352 …}
    +entry: App\Entity\Entry {#2412}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: null
    +root: null
    +body: """
      You have probably invested a lot of time and effort into this, so please take this as constructive criticism.\n
      \n
      Your security systems are probably not going to be sufficient, for a whole number of reasons.\n
      \n
      ### Script Voting\n
      \n
      The general public is not able to appropriately audit shell scripts. This extends even to sysadmins and more technical people. The people who can properly audit scripts are a minority, and they may not even be amongst your user base. Anyone who gets a script that “does its job” is going to upvote it as fine, because they may not even be aware of its malicious side effects.\n
      \n
      Scripts will naturally need to evolve over time, so script updates will be a normal part of your system. Will the votes reset for new versions? Is there anything stopping someone uploading farming votes with valid scripts, and then backdoor the script once it gets sufficiently popular?\n
      \n
      Is there any form of vote manipulation prevention planned? If not, bad actors can create an army of accounts and upvote their malicious content. Can you remove a users votes if they are found to be acting maliciously? Will it even be possible for you to tell the difference between a naive user who doesn’t understand the maliciousness of the script, versus an account actively increasing the rating of a bad package?\n
      \n
      ### User Reputation\n
      \n
      This seems easy to game as well. Upload a host of valid scripts, gain reputation, and then when ready, upload malicious scripts.\n
      \n
      ### Collaboration\n
      \n
      Allowing non-maintainers to edit and upload scripts seems like a wildly bad idea. There must be some level of maintainer approval for that right? Still will have the same issues, easy for someone to build trust on a script repo and then exploit it when it suits them.\n
      \n
      None of these issues are unique to your site, pypi, dockerhub etc have all hit these issues in the past.\n
      \n
      I think the only real answer is to have very strong human moderation, but I fear that if your site takes off, the workload will rapidly spiral out of control. Otherwise, interesting idea, Good Luck!
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 20
    +score: 0
    +lastActive: DateTime @1704410802 {#4334
      date: 2024-01-05 00:26:42.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Berserkware@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4340 …}
    +nested: Doctrine\ORM\PersistentCollection {#4342 …}
    +votes: Doctrine\ORM\PersistentCollection {#4344 …}
    +reports: Doctrine\ORM\PersistentCollection {#4346 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4348 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4350 …}
    -id: 219668
    -bodyTs: "'abl':43 'account':171,217 'act':189 'activ':218 'actor':165 'allow':251 'amongst':74 'answer':326 'anyon':78 'anyth':134 'appropri':45 'approv':273 'armi':169 'audit':46,63 'awar':100 'backdoor':145 'bad':164,224,264 'base':77 'build':287 'collabor':250 'construct':18 'content':176 'control':350 'creat':167 'critic':19 'differ':201 'dockerhub':311 'doesn':207 'easi':230,283 'edit':256 'effect':105 'effort':10 'etc':312 'even':51,72,98,193 'evolv':111 'exploit':295 'extend':50 'farm':138 'fear':336 'fine':93 'form':156 'found':186 'gain':241 'game':232 'general':39 'get':80,150 'go':26,88 'good':354 'hit':315 'host':237 'human':332 'idea':265,353 'increas':219 'interest':352 'invest':4 'issu':282,304,317 'job':86 'level':270 'like':261 'lot':6 'luck':355 'maintain':254,272 'malici':103,175,190,211,248 'manipul':159 'may':70,96 'minor':67 'moder':333 'must':267 'naiv':204 'natur':108 'need':109 'new':130 'non':253 'non-maintain':252 'none':301 'normal':120 'number':33 'otherwis':351 'packag':225 'part':121 'past':320 'peopl':57,59 'plan':161 'pleas':14 'popular':152 'possibl':195 'prevent':160 'probabl':3,24 'proper':62 'public':40 'pypi':310 'rapid':346 'rate':221 'readi':246 'real':325 'reason':35 'remov':179 'repo':292 'reput':227,242 'reset':128 'right':276 'script':36,48,64,82,106,115,142,147,214,240,249,259,291 'secur':21 'seem':229,260 'shell':47 'side':104 'site':309,340 'someon':136,285 'spiral':347 'still':277 'stop':135 'strong':331 'suffici':29,151 'suit':299 'sysadmin':53 'system':22,124 'take':15,341 'technic':56 'tell':199 'think':322 'time':8,113 'trust':288 'understand':209 'uniqu':306 'updat':116 'upload':137,235,247,258 'upvot':90,173 'user':76,181,205,226 'valid':141,239 'version':131 'versus':215 'vote':37,127,139,158,182 'well':234 'whole':32 'wild':263 'workload':344"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/5667970"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702423895 {#4335
      date: 2023-12-13 00:31:35.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4339}
  +body: """
    I wholeheartedly agree, yet this is the same for stuff like the AUR, every PPA, or even just blindly copy & pasting inductions from some blog - all of which are very popular. (Just to name some examples that are closer to what op wants to do).\n
    \n
    I still wouldn’t use scripts from a random dump site because they are just likely to mess up the os with junk and cruft that will be there forever. But fundamentally from a security point of few its not necessarily worse than what many are doing - simply because it doesn’t get worse than blindly executing stuff from sources missing the reputation to justify trusting them.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 4
  +score: 0
  +lastActive: DateTime @1702451999 {#4510
    date: 2023-12-13 08:19:59.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
    "@CameronDev@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4514 …}
  +nested: Doctrine\ORM\PersistentCollection {#4516 …}
  +votes: Doctrine\ORM\PersistentCollection {#4518 …}
  +reports: Doctrine\ORM\PersistentCollection {#4520 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4522 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4524 …}
  -id: 220279
  -bodyTs: "'agre':3 'aur':13 'blind':19,101 'blog':25 'closer':39 'copi':20 'cruft':70 'doesn':96 'dump':55 'even':17 'everi':14 'exampl':36 'execut':102 'forev':75 'fundament':77 'get':98 'induct':22 'junk':68 'justifi':110 'like':11,61 'mani':90 'mess':63 'miss':106 'name':34 'necessarili':86 'op':42 'os':66 'past':21 'point':81 'popular':31 'ppa':15 'random':54 'reput':108 'script':51 'secur':80 'simpli':93 'site':56 'sourc':105 'still':47 'stuff':10,103 'trust':111 'use':50 'want':43 'wholeheart':2 'wors':87,99 'wouldn':48 'yet':4"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://feddit.de/comment/5629672"
  +editedAt: null
  +createdAt: DateTimeImmutable @1702451999 {#4511
    date: 2023-12-13 08:19:59.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
55 DENIED edit
App\Entity\EntryComment {#4512
  +user: Proxies\__CG__\App\Entity\User {#4513 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4339
    +user: App\Entity\User {#4352 …}
    +entry: App\Entity\Entry {#2412}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: null
    +root: null
    +body: """
      You have probably invested a lot of time and effort into this, so please take this as constructive criticism.\n
      \n
      Your security systems are probably not going to be sufficient, for a whole number of reasons.\n
      \n
      ### Script Voting\n
      \n
      The general public is not able to appropriately audit shell scripts. This extends even to sysadmins and more technical people. The people who can properly audit scripts are a minority, and they may not even be amongst your user base. Anyone who gets a script that “does its job” is going to upvote it as fine, because they may not even be aware of its malicious side effects.\n
      \n
      Scripts will naturally need to evolve over time, so script updates will be a normal part of your system. Will the votes reset for new versions? Is there anything stopping someone uploading farming votes with valid scripts, and then backdoor the script once it gets sufficiently popular?\n
      \n
      Is there any form of vote manipulation prevention planned? If not, bad actors can create an army of accounts and upvote their malicious content. Can you remove a users votes if they are found to be acting maliciously? Will it even be possible for you to tell the difference between a naive user who doesn’t understand the maliciousness of the script, versus an account actively increasing the rating of a bad package?\n
      \n
      ### User Reputation\n
      \n
      This seems easy to game as well. Upload a host of valid scripts, gain reputation, and then when ready, upload malicious scripts.\n
      \n
      ### Collaboration\n
      \n
      Allowing non-maintainers to edit and upload scripts seems like a wildly bad idea. There must be some level of maintainer approval for that right? Still will have the same issues, easy for someone to build trust on a script repo and then exploit it when it suits them.\n
      \n
      None of these issues are unique to your site, pypi, dockerhub etc have all hit these issues in the past.\n
      \n
      I think the only real answer is to have very strong human moderation, but I fear that if your site takes off, the workload will rapidly spiral out of control. Otherwise, interesting idea, Good Luck!
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 20
    +score: 0
    +lastActive: DateTime @1704410802 {#4334
      date: 2024-01-05 00:26:42.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Berserkware@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4340 …}
    +nested: Doctrine\ORM\PersistentCollection {#4342 …}
    +votes: Doctrine\ORM\PersistentCollection {#4344 …}
    +reports: Doctrine\ORM\PersistentCollection {#4346 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4348 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4350 …}
    -id: 219668
    -bodyTs: "'abl':43 'account':171,217 'act':189 'activ':218 'actor':165 'allow':251 'amongst':74 'answer':326 'anyon':78 'anyth':134 'appropri':45 'approv':273 'armi':169 'audit':46,63 'awar':100 'backdoor':145 'bad':164,224,264 'base':77 'build':287 'collabor':250 'construct':18 'content':176 'control':350 'creat':167 'critic':19 'differ':201 'dockerhub':311 'doesn':207 'easi':230,283 'edit':256 'effect':105 'effort':10 'etc':312 'even':51,72,98,193 'evolv':111 'exploit':295 'extend':50 'farm':138 'fear':336 'fine':93 'form':156 'found':186 'gain':241 'game':232 'general':39 'get':80,150 'go':26,88 'good':354 'hit':315 'host':237 'human':332 'idea':265,353 'increas':219 'interest':352 'invest':4 'issu':282,304,317 'job':86 'level':270 'like':261 'lot':6 'luck':355 'maintain':254,272 'malici':103,175,190,211,248 'manipul':159 'may':70,96 'minor':67 'moder':333 'must':267 'naiv':204 'natur':108 'need':109 'new':130 'non':253 'non-maintain':252 'none':301 'normal':120 'number':33 'otherwis':351 'packag':225 'part':121 'past':320 'peopl':57,59 'plan':161 'pleas':14 'popular':152 'possibl':195 'prevent':160 'probabl':3,24 'proper':62 'public':40 'pypi':310 'rapid':346 'rate':221 'readi':246 'real':325 'reason':35 'remov':179 'repo':292 'reput':227,242 'reset':128 'right':276 'script':36,48,64,82,106,115,142,147,214,240,249,259,291 'secur':21 'seem':229,260 'shell':47 'side':104 'site':309,340 'someon':136,285 'spiral':347 'still':277 'stop':135 'strong':331 'suffici':29,151 'suit':299 'sysadmin':53 'system':22,124 'take':15,341 'technic':56 'tell':199 'think':322 'time':8,113 'trust':288 'understand':209 'uniqu':306 'updat':116 'upload':137,235,247,258 'upvot':90,173 'user':76,181,205,226 'valid':141,239 'version':131 'versus':215 'vote':37,127,139,158,182 'well':234 'whole':32 'wild':263 'workload':344"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/5667970"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702423895 {#4335
      date: 2023-12-13 00:31:35.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4339}
  +body: """
    I wholeheartedly agree, yet this is the same for stuff like the AUR, every PPA, or even just blindly copy & pasting inductions from some blog - all of which are very popular. (Just to name some examples that are closer to what op wants to do).\n
    \n
    I still wouldn’t use scripts from a random dump site because they are just likely to mess up the os with junk and cruft that will be there forever. But fundamentally from a security point of few its not necessarily worse than what many are doing - simply because it doesn’t get worse than blindly executing stuff from sources missing the reputation to justify trusting them.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 4
  +score: 0
  +lastActive: DateTime @1702451999 {#4510
    date: 2023-12-13 08:19:59.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
    "@CameronDev@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4514 …}
  +nested: Doctrine\ORM\PersistentCollection {#4516 …}
  +votes: Doctrine\ORM\PersistentCollection {#4518 …}
  +reports: Doctrine\ORM\PersistentCollection {#4520 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4522 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4524 …}
  -id: 220279
  -bodyTs: "'agre':3 'aur':13 'blind':19,101 'blog':25 'closer':39 'copi':20 'cruft':70 'doesn':96 'dump':55 'even':17 'everi':14 'exampl':36 'execut':102 'forev':75 'fundament':77 'get':98 'induct':22 'junk':68 'justifi':110 'like':11,61 'mani':90 'mess':63 'miss':106 'name':34 'necessarili':86 'op':42 'os':66 'past':21 'point':81 'popular':31 'ppa':15 'random':54 'reput':108 'script':51 'secur':80 'simpli':93 'site':56 'sourc':105 'still':47 'stuff':10,103 'trust':111 'use':50 'want':43 'wholeheart':2 'wors':87,99 'wouldn':48 'yet':4"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://feddit.de/comment/5629672"
  +editedAt: null
  +createdAt: DateTimeImmutable @1702451999 {#4511
    date: 2023-12-13 08:19:59.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
56 DENIED moderate
App\Entity\EntryComment {#4512
  +user: Proxies\__CG__\App\Entity\User {#4513 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4339
    +user: App\Entity\User {#4352 …}
    +entry: App\Entity\Entry {#2412}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: null
    +root: null
    +body: """
      You have probably invested a lot of time and effort into this, so please take this as constructive criticism.\n
      \n
      Your security systems are probably not going to be sufficient, for a whole number of reasons.\n
      \n
      ### Script Voting\n
      \n
      The general public is not able to appropriately audit shell scripts. This extends even to sysadmins and more technical people. The people who can properly audit scripts are a minority, and they may not even be amongst your user base. Anyone who gets a script that “does its job” is going to upvote it as fine, because they may not even be aware of its malicious side effects.\n
      \n
      Scripts will naturally need to evolve over time, so script updates will be a normal part of your system. Will the votes reset for new versions? Is there anything stopping someone uploading farming votes with valid scripts, and then backdoor the script once it gets sufficiently popular?\n
      \n
      Is there any form of vote manipulation prevention planned? If not, bad actors can create an army of accounts and upvote their malicious content. Can you remove a users votes if they are found to be acting maliciously? Will it even be possible for you to tell the difference between a naive user who doesn’t understand the maliciousness of the script, versus an account actively increasing the rating of a bad package?\n
      \n
      ### User Reputation\n
      \n
      This seems easy to game as well. Upload a host of valid scripts, gain reputation, and then when ready, upload malicious scripts.\n
      \n
      ### Collaboration\n
      \n
      Allowing non-maintainers to edit and upload scripts seems like a wildly bad idea. There must be some level of maintainer approval for that right? Still will have the same issues, easy for someone to build trust on a script repo and then exploit it when it suits them.\n
      \n
      None of these issues are unique to your site, pypi, dockerhub etc have all hit these issues in the past.\n
      \n
      I think the only real answer is to have very strong human moderation, but I fear that if your site takes off, the workload will rapidly spiral out of control. Otherwise, interesting idea, Good Luck!
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 20
    +score: 0
    +lastActive: DateTime @1704410802 {#4334
      date: 2024-01-05 00:26:42.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Berserkware@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4340 …}
    +nested: Doctrine\ORM\PersistentCollection {#4342 …}
    +votes: Doctrine\ORM\PersistentCollection {#4344 …}
    +reports: Doctrine\ORM\PersistentCollection {#4346 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4348 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4350 …}
    -id: 219668
    -bodyTs: "'abl':43 'account':171,217 'act':189 'activ':218 'actor':165 'allow':251 'amongst':74 'answer':326 'anyon':78 'anyth':134 'appropri':45 'approv':273 'armi':169 'audit':46,63 'awar':100 'backdoor':145 'bad':164,224,264 'base':77 'build':287 'collabor':250 'construct':18 'content':176 'control':350 'creat':167 'critic':19 'differ':201 'dockerhub':311 'doesn':207 'easi':230,283 'edit':256 'effect':105 'effort':10 'etc':312 'even':51,72,98,193 'evolv':111 'exploit':295 'extend':50 'farm':138 'fear':336 'fine':93 'form':156 'found':186 'gain':241 'game':232 'general':39 'get':80,150 'go':26,88 'good':354 'hit':315 'host':237 'human':332 'idea':265,353 'increas':219 'interest':352 'invest':4 'issu':282,304,317 'job':86 'level':270 'like':261 'lot':6 'luck':355 'maintain':254,272 'malici':103,175,190,211,248 'manipul':159 'may':70,96 'minor':67 'moder':333 'must':267 'naiv':204 'natur':108 'need':109 'new':130 'non':253 'non-maintain':252 'none':301 'normal':120 'number':33 'otherwis':351 'packag':225 'part':121 'past':320 'peopl':57,59 'plan':161 'pleas':14 'popular':152 'possibl':195 'prevent':160 'probabl':3,24 'proper':62 'public':40 'pypi':310 'rapid':346 'rate':221 'readi':246 'real':325 'reason':35 'remov':179 'repo':292 'reput':227,242 'reset':128 'right':276 'script':36,48,64,82,106,115,142,147,214,240,249,259,291 'secur':21 'seem':229,260 'shell':47 'side':104 'site':309,340 'someon':136,285 'spiral':347 'still':277 'stop':135 'strong':331 'suffici':29,151 'suit':299 'sysadmin':53 'system':22,124 'take':15,341 'technic':56 'tell':199 'think':322 'time':8,113 'trust':288 'understand':209 'uniqu':306 'updat':116 'upload':137,235,247,258 'upvot':90,173 'user':76,181,205,226 'valid':141,239 'version':131 'versus':215 'vote':37,127,139,158,182 'well':234 'whole':32 'wild':263 'workload':344"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/5667970"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702423895 {#4335
      date: 2023-12-13 00:31:35.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4339}
  +body: """
    I wholeheartedly agree, yet this is the same for stuff like the AUR, every PPA, or even just blindly copy & pasting inductions from some blog - all of which are very popular. (Just to name some examples that are closer to what op wants to do).\n
    \n
    I still wouldn’t use scripts from a random dump site because they are just likely to mess up the os with junk and cruft that will be there forever. But fundamentally from a security point of few its not necessarily worse than what many are doing - simply because it doesn’t get worse than blindly executing stuff from sources missing the reputation to justify trusting them.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 4
  +score: 0
  +lastActive: DateTime @1702451999 {#4510
    date: 2023-12-13 08:19:59.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
    "@CameronDev@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4514 …}
  +nested: Doctrine\ORM\PersistentCollection {#4516 …}
  +votes: Doctrine\ORM\PersistentCollection {#4518 …}
  +reports: Doctrine\ORM\PersistentCollection {#4520 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4522 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4524 …}
  -id: 220279
  -bodyTs: "'agre':3 'aur':13 'blind':19,101 'blog':25 'closer':39 'copi':20 'cruft':70 'doesn':96 'dump':55 'even':17 'everi':14 'exampl':36 'execut':102 'forev':75 'fundament':77 'get':98 'induct':22 'junk':68 'justifi':110 'like':11,61 'mani':90 'mess':63 'miss':106 'name':34 'necessarili':86 'op':42 'os':66 'past':21 'point':81 'popular':31 'ppa':15 'random':54 'reput':108 'script':51 'secur':80 'simpli':93 'site':56 'sourc':105 'still':47 'stuff':10,103 'trust':111 'use':50 'want':43 'wholeheart':2 'wors':87,99 'wouldn':48 'yet':4"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://feddit.de/comment/5629672"
  +editedAt: null
  +createdAt: DateTimeImmutable @1702451999 {#4511
    date: 2023-12-13 08:19:59.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
57 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
58 DENIED moderate
App\Entity\EntryComment {#4581
  +user: App\Entity\User {#4352 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4512
    +user: Proxies\__CG__\App\Entity\User {#4513 …}
    +entry: App\Entity\Entry {#2412}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4339
      +user: App\Entity\User {#4352 …}
      +entry: App\Entity\Entry {#2412}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: null
      +root: null
      +body: """
        You have probably invested a lot of time and effort into this, so please take this as constructive criticism.\n
        \n
        Your security systems are probably not going to be sufficient, for a whole number of reasons.\n
        \n
        ### Script Voting\n
        \n
        The general public is not able to appropriately audit shell scripts. This extends even to sysadmins and more technical people. The people who can properly audit scripts are a minority, and they may not even be amongst your user base. Anyone who gets a script that “does its job” is going to upvote it as fine, because they may not even be aware of its malicious side effects.\n
        \n
        Scripts will naturally need to evolve over time, so script updates will be a normal part of your system. Will the votes reset for new versions? Is there anything stopping someone uploading farming votes with valid scripts, and then backdoor the script once it gets sufficiently popular?\n
        \n
        Is there any form of vote manipulation prevention planned? If not, bad actors can create an army of accounts and upvote their malicious content. Can you remove a users votes if they are found to be acting maliciously? Will it even be possible for you to tell the difference between a naive user who doesn’t understand the maliciousness of the script, versus an account actively increasing the rating of a bad package?\n
        \n
        ### User Reputation\n
        \n
        This seems easy to game as well. Upload a host of valid scripts, gain reputation, and then when ready, upload malicious scripts.\n
        \n
        ### Collaboration\n
        \n
        Allowing non-maintainers to edit and upload scripts seems like a wildly bad idea. There must be some level of maintainer approval for that right? Still will have the same issues, easy for someone to build trust on a script repo and then exploit it when it suits them.\n
        \n
        None of these issues are unique to your site, pypi, dockerhub etc have all hit these issues in the past.\n
        \n
        I think the only real answer is to have very strong human moderation, but I fear that if your site takes off, the workload will rapidly spiral out of control. Otherwise, interesting idea, Good Luck!
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 20
      +score: 0
      +lastActive: DateTime @1704410802 {#4334
        date: 2024-01-05 00:26:42.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Berserkware@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4340 …}
      +nested: Doctrine\ORM\PersistentCollection {#4342 …}
      +votes: Doctrine\ORM\PersistentCollection {#4344 …}
      +reports: Doctrine\ORM\PersistentCollection {#4346 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4348 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4350 …}
      -id: 219668
      -bodyTs: "'abl':43 'account':171,217 'act':189 'activ':218 'actor':165 'allow':251 'amongst':74 'answer':326 'anyon':78 'anyth':134 'appropri':45 'approv':273 'armi':169 'audit':46,63 'awar':100 'backdoor':145 'bad':164,224,264 'base':77 'build':287 'collabor':250 'construct':18 'content':176 'control':350 'creat':167 'critic':19 'differ':201 'dockerhub':311 'doesn':207 'easi':230,283 'edit':256 'effect':105 'effort':10 'etc':312 'even':51,72,98,193 'evolv':111 'exploit':295 'extend':50 'farm':138 'fear':336 'fine':93 'form':156 'found':186 'gain':241 'game':232 'general':39 'get':80,150 'go':26,88 'good':354 'hit':315 'host':237 'human':332 'idea':265,353 'increas':219 'interest':352 'invest':4 'issu':282,304,317 'job':86 'level':270 'like':261 'lot':6 'luck':355 'maintain':254,272 'malici':103,175,190,211,248 'manipul':159 'may':70,96 'minor':67 'moder':333 'must':267 'naiv':204 'natur':108 'need':109 'new':130 'non':253 'non-maintain':252 'none':301 'normal':120 'number':33 'otherwis':351 'packag':225 'part':121 'past':320 'peopl':57,59 'plan':161 'pleas':14 'popular':152 'possibl':195 'prevent':160 'probabl':3,24 'proper':62 'public':40 'pypi':310 'rapid':346 'rate':221 'readi':246 'real':325 'reason':35 'remov':179 'repo':292 'reput':227,242 'reset':128 'right':276 'script':36,48,64,82,106,115,142,147,214,240,249,259,291 'secur':21 'seem':229,260 'shell':47 'side':104 'site':309,340 'someon':136,285 'spiral':347 'still':277 'stop':135 'strong':331 'suffici':29,151 'suit':299 'sysadmin':53 'system':22,124 'take':15,341 'technic':56 'tell':199 'think':322 'time':8,113 'trust':288 'understand':209 'uniqu':306 'updat':116 'upload':137,235,247,258 'upvot':90,173 'user':76,181,205,226 'valid':141,239 'version':131 'versus':215 'vote':37,127,139,158,182 'well':234 'whole':32 'wild':263 'workload':344"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/5667970"
      +editedAt: null
      +createdAt: DateTimeImmutable @1702423895 {#4335
        date: 2023-12-13 00:31:35.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4339}
    +body: """
      I wholeheartedly agree, yet this is the same for stuff like the AUR, every PPA, or even just blindly copy & pasting inductions from some blog - all of which are very popular. (Just to name some examples that are closer to what op wants to do).\n
      \n
      I still wouldn’t use scripts from a random dump site because they are just likely to mess up the os with junk and cruft that will be there forever. But fundamentally from a security point of few its not necessarily worse than what many are doing - simply because it doesn’t get worse than blindly executing stuff from sources missing the reputation to justify trusting them.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 4
    +score: 0
    +lastActive: DateTime @1702451999 {#4510
      date: 2023-12-13 08:19:59.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Berserkware@lemmy.ml"
      "@CameronDev@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4514 …}
    +nested: Doctrine\ORM\PersistentCollection {#4516 …}
    +votes: Doctrine\ORM\PersistentCollection {#4518 …}
    +reports: Doctrine\ORM\PersistentCollection {#4520 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4522 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4524 …}
    -id: 220279
    -bodyTs: "'agre':3 'aur':13 'blind':19,101 'blog':25 'closer':39 'copi':20 'cruft':70 'doesn':96 'dump':55 'even':17 'everi':14 'exampl':36 'execut':102 'forev':75 'fundament':77 'get':98 'induct':22 'junk':68 'justifi':110 'like':11,61 'mani':90 'mess':63 'miss':106 'name':34 'necessarili':86 'op':42 'os':66 'past':21 'point':81 'popular':31 'ppa':15 'random':54 'reput':108 'script':51 'secur':80 'simpli':93 'site':56 'sourc':105 'still':47 'stuff':10,103 'trust':111 'use':50 'want':43 'wholeheart':2 'wors':87,99 'wouldn':48 'yet':4"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://feddit.de/comment/5629672"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702451999 {#4511
      date: 2023-12-13 08:19:59.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4339}
  +body: """
    Yup, there is a lot of prior art on how to get this wrong :(, and I dont know of any good solutions either. Curation and moderation are probably the best case, but arent bulletproof either.\n
    \n
    I raised this not to kill OPs project, but to make sure they go into it eyes open. I personally would be very uncomfortable if my website was being abused to distribute malware, so they deserve to at least be aware of the risks.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1702456687 {#4579
    date: 2023-12-13 09:38:07.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
    "@CameronDev@programming.dev"
    "@skilltheamps@feddit.de"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4582 …}
  +nested: Doctrine\ORM\PersistentCollection {#4584 …}
  +votes: Doctrine\ORM\PersistentCollection {#4586 …}
  +reports: Doctrine\ORM\PersistentCollection {#4588 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4590 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4592 …}
  -id: 220339
  -bodyTs: "'abus':65 'arent':33 'art':8 'awar':76 'best':30 'bulletproof':34 'case':31 'curat':24 'deserv':71 'distribut':67 'dont':17 'either':23,35 'eye':52 'get':12 'go':49 'good':21 'kill':41 'know':18 'least':74 'lot':5 'make':46 'malwar':68 'moder':26 'op':42 'open':53 'person':55 'prior':7 'probabl':28 'project':43 'rais':37 'risk':79 'solut':22 'sure':47 'uncomfort':59 'websit':62 'would':56 'wrong':14 'yup':1"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/5676484"
  +editedAt: null
  +createdAt: DateTimeImmutable @1702456687 {#4580
    date: 2023-12-13 09:38:07.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
59 DENIED edit
App\Entity\EntryComment {#4581
  +user: App\Entity\User {#4352 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4512
    +user: Proxies\__CG__\App\Entity\User {#4513 …}
    +entry: App\Entity\Entry {#2412}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4339
      +user: App\Entity\User {#4352 …}
      +entry: App\Entity\Entry {#2412}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: null
      +root: null
      +body: """
        You have probably invested a lot of time and effort into this, so please take this as constructive criticism.\n
        \n
        Your security systems are probably not going to be sufficient, for a whole number of reasons.\n
        \n
        ### Script Voting\n
        \n
        The general public is not able to appropriately audit shell scripts. This extends even to sysadmins and more technical people. The people who can properly audit scripts are a minority, and they may not even be amongst your user base. Anyone who gets a script that “does its job” is going to upvote it as fine, because they may not even be aware of its malicious side effects.\n
        \n
        Scripts will naturally need to evolve over time, so script updates will be a normal part of your system. Will the votes reset for new versions? Is there anything stopping someone uploading farming votes with valid scripts, and then backdoor the script once it gets sufficiently popular?\n
        \n
        Is there any form of vote manipulation prevention planned? If not, bad actors can create an army of accounts and upvote their malicious content. Can you remove a users votes if they are found to be acting maliciously? Will it even be possible for you to tell the difference between a naive user who doesn’t understand the maliciousness of the script, versus an account actively increasing the rating of a bad package?\n
        \n
        ### User Reputation\n
        \n
        This seems easy to game as well. Upload a host of valid scripts, gain reputation, and then when ready, upload malicious scripts.\n
        \n
        ### Collaboration\n
        \n
        Allowing non-maintainers to edit and upload scripts seems like a wildly bad idea. There must be some level of maintainer approval for that right? Still will have the same issues, easy for someone to build trust on a script repo and then exploit it when it suits them.\n
        \n
        None of these issues are unique to your site, pypi, dockerhub etc have all hit these issues in the past.\n
        \n
        I think the only real answer is to have very strong human moderation, but I fear that if your site takes off, the workload will rapidly spiral out of control. Otherwise, interesting idea, Good Luck!
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 20
      +score: 0
      +lastActive: DateTime @1704410802 {#4334
        date: 2024-01-05 00:26:42.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Berserkware@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4340 …}
      +nested: Doctrine\ORM\PersistentCollection {#4342 …}
      +votes: Doctrine\ORM\PersistentCollection {#4344 …}
      +reports: Doctrine\ORM\PersistentCollection {#4346 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4348 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4350 …}
      -id: 219668
      -bodyTs: "'abl':43 'account':171,217 'act':189 'activ':218 'actor':165 'allow':251 'amongst':74 'answer':326 'anyon':78 'anyth':134 'appropri':45 'approv':273 'armi':169 'audit':46,63 'awar':100 'backdoor':145 'bad':164,224,264 'base':77 'build':287 'collabor':250 'construct':18 'content':176 'control':350 'creat':167 'critic':19 'differ':201 'dockerhub':311 'doesn':207 'easi':230,283 'edit':256 'effect':105 'effort':10 'etc':312 'even':51,72,98,193 'evolv':111 'exploit':295 'extend':50 'farm':138 'fear':336 'fine':93 'form':156 'found':186 'gain':241 'game':232 'general':39 'get':80,150 'go':26,88 'good':354 'hit':315 'host':237 'human':332 'idea':265,353 'increas':219 'interest':352 'invest':4 'issu':282,304,317 'job':86 'level':270 'like':261 'lot':6 'luck':355 'maintain':254,272 'malici':103,175,190,211,248 'manipul':159 'may':70,96 'minor':67 'moder':333 'must':267 'naiv':204 'natur':108 'need':109 'new':130 'non':253 'non-maintain':252 'none':301 'normal':120 'number':33 'otherwis':351 'packag':225 'part':121 'past':320 'peopl':57,59 'plan':161 'pleas':14 'popular':152 'possibl':195 'prevent':160 'probabl':3,24 'proper':62 'public':40 'pypi':310 'rapid':346 'rate':221 'readi':246 'real':325 'reason':35 'remov':179 'repo':292 'reput':227,242 'reset':128 'right':276 'script':36,48,64,82,106,115,142,147,214,240,249,259,291 'secur':21 'seem':229,260 'shell':47 'side':104 'site':309,340 'someon':136,285 'spiral':347 'still':277 'stop':135 'strong':331 'suffici':29,151 'suit':299 'sysadmin':53 'system':22,124 'take':15,341 'technic':56 'tell':199 'think':322 'time':8,113 'trust':288 'understand':209 'uniqu':306 'updat':116 'upload':137,235,247,258 'upvot':90,173 'user':76,181,205,226 'valid':141,239 'version':131 'versus':215 'vote':37,127,139,158,182 'well':234 'whole':32 'wild':263 'workload':344"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/5667970"
      +editedAt: null
      +createdAt: DateTimeImmutable @1702423895 {#4335
        date: 2023-12-13 00:31:35.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4339}
    +body: """
      I wholeheartedly agree, yet this is the same for stuff like the AUR, every PPA, or even just blindly copy & pasting inductions from some blog - all of which are very popular. (Just to name some examples that are closer to what op wants to do).\n
      \n
      I still wouldn’t use scripts from a random dump site because they are just likely to mess up the os with junk and cruft that will be there forever. But fundamentally from a security point of few its not necessarily worse than what many are doing - simply because it doesn’t get worse than blindly executing stuff from sources missing the reputation to justify trusting them.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 4
    +score: 0
    +lastActive: DateTime @1702451999 {#4510
      date: 2023-12-13 08:19:59.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Berserkware@lemmy.ml"
      "@CameronDev@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4514 …}
    +nested: Doctrine\ORM\PersistentCollection {#4516 …}
    +votes: Doctrine\ORM\PersistentCollection {#4518 …}
    +reports: Doctrine\ORM\PersistentCollection {#4520 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4522 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4524 …}
    -id: 220279
    -bodyTs: "'agre':3 'aur':13 'blind':19,101 'blog':25 'closer':39 'copi':20 'cruft':70 'doesn':96 'dump':55 'even':17 'everi':14 'exampl':36 'execut':102 'forev':75 'fundament':77 'get':98 'induct':22 'junk':68 'justifi':110 'like':11,61 'mani':90 'mess':63 'miss':106 'name':34 'necessarili':86 'op':42 'os':66 'past':21 'point':81 'popular':31 'ppa':15 'random':54 'reput':108 'script':51 'secur':80 'simpli':93 'site':56 'sourc':105 'still':47 'stuff':10,103 'trust':111 'use':50 'want':43 'wholeheart':2 'wors':87,99 'wouldn':48 'yet':4"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://feddit.de/comment/5629672"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702451999 {#4511
      date: 2023-12-13 08:19:59.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4339}
  +body: """
    Yup, there is a lot of prior art on how to get this wrong :(, and I dont know of any good solutions either. Curation and moderation are probably the best case, but arent bulletproof either.\n
    \n
    I raised this not to kill OPs project, but to make sure they go into it eyes open. I personally would be very uncomfortable if my website was being abused to distribute malware, so they deserve to at least be aware of the risks.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1702456687 {#4579
    date: 2023-12-13 09:38:07.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
    "@CameronDev@programming.dev"
    "@skilltheamps@feddit.de"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4582 …}
  +nested: Doctrine\ORM\PersistentCollection {#4584 …}
  +votes: Doctrine\ORM\PersistentCollection {#4586 …}
  +reports: Doctrine\ORM\PersistentCollection {#4588 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4590 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4592 …}
  -id: 220339
  -bodyTs: "'abus':65 'arent':33 'art':8 'awar':76 'best':30 'bulletproof':34 'case':31 'curat':24 'deserv':71 'distribut':67 'dont':17 'either':23,35 'eye':52 'get':12 'go':49 'good':21 'kill':41 'know':18 'least':74 'lot':5 'make':46 'malwar':68 'moder':26 'op':42 'open':53 'person':55 'prior':7 'probabl':28 'project':43 'rais':37 'risk':79 'solut':22 'sure':47 'uncomfort':59 'websit':62 'would':56 'wrong':14 'yup':1"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/5676484"
  +editedAt: null
  +createdAt: DateTimeImmutable @1702456687 {#4580
    date: 2023-12-13 09:38:07.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
60 DENIED moderate
App\Entity\EntryComment {#4581
  +user: App\Entity\User {#4352 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4512
    +user: Proxies\__CG__\App\Entity\User {#4513 …}
    +entry: App\Entity\Entry {#2412}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4339
      +user: App\Entity\User {#4352 …}
      +entry: App\Entity\Entry {#2412}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: null
      +root: null
      +body: """
        You have probably invested a lot of time and effort into this, so please take this as constructive criticism.\n
        \n
        Your security systems are probably not going to be sufficient, for a whole number of reasons.\n
        \n
        ### Script Voting\n
        \n
        The general public is not able to appropriately audit shell scripts. This extends even to sysadmins and more technical people. The people who can properly audit scripts are a minority, and they may not even be amongst your user base. Anyone who gets a script that “does its job” is going to upvote it as fine, because they may not even be aware of its malicious side effects.\n
        \n
        Scripts will naturally need to evolve over time, so script updates will be a normal part of your system. Will the votes reset for new versions? Is there anything stopping someone uploading farming votes with valid scripts, and then backdoor the script once it gets sufficiently popular?\n
        \n
        Is there any form of vote manipulation prevention planned? If not, bad actors can create an army of accounts and upvote their malicious content. Can you remove a users votes if they are found to be acting maliciously? Will it even be possible for you to tell the difference between a naive user who doesn’t understand the maliciousness of the script, versus an account actively increasing the rating of a bad package?\n
        \n
        ### User Reputation\n
        \n
        This seems easy to game as well. Upload a host of valid scripts, gain reputation, and then when ready, upload malicious scripts.\n
        \n
        ### Collaboration\n
        \n
        Allowing non-maintainers to edit and upload scripts seems like a wildly bad idea. There must be some level of maintainer approval for that right? Still will have the same issues, easy for someone to build trust on a script repo and then exploit it when it suits them.\n
        \n
        None of these issues are unique to your site, pypi, dockerhub etc have all hit these issues in the past.\n
        \n
        I think the only real answer is to have very strong human moderation, but I fear that if your site takes off, the workload will rapidly spiral out of control. Otherwise, interesting idea, Good Luck!
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 20
      +score: 0
      +lastActive: DateTime @1704410802 {#4334
        date: 2024-01-05 00:26:42.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Berserkware@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4340 …}
      +nested: Doctrine\ORM\PersistentCollection {#4342 …}
      +votes: Doctrine\ORM\PersistentCollection {#4344 …}
      +reports: Doctrine\ORM\PersistentCollection {#4346 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4348 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4350 …}
      -id: 219668
      -bodyTs: "'abl':43 'account':171,217 'act':189 'activ':218 'actor':165 'allow':251 'amongst':74 'answer':326 'anyon':78 'anyth':134 'appropri':45 'approv':273 'armi':169 'audit':46,63 'awar':100 'backdoor':145 'bad':164,224,264 'base':77 'build':287 'collabor':250 'construct':18 'content':176 'control':350 'creat':167 'critic':19 'differ':201 'dockerhub':311 'doesn':207 'easi':230,283 'edit':256 'effect':105 'effort':10 'etc':312 'even':51,72,98,193 'evolv':111 'exploit':295 'extend':50 'farm':138 'fear':336 'fine':93 'form':156 'found':186 'gain':241 'game':232 'general':39 'get':80,150 'go':26,88 'good':354 'hit':315 'host':237 'human':332 'idea':265,353 'increas':219 'interest':352 'invest':4 'issu':282,304,317 'job':86 'level':270 'like':261 'lot':6 'luck':355 'maintain':254,272 'malici':103,175,190,211,248 'manipul':159 'may':70,96 'minor':67 'moder':333 'must':267 'naiv':204 'natur':108 'need':109 'new':130 'non':253 'non-maintain':252 'none':301 'normal':120 'number':33 'otherwis':351 'packag':225 'part':121 'past':320 'peopl':57,59 'plan':161 'pleas':14 'popular':152 'possibl':195 'prevent':160 'probabl':3,24 'proper':62 'public':40 'pypi':310 'rapid':346 'rate':221 'readi':246 'real':325 'reason':35 'remov':179 'repo':292 'reput':227,242 'reset':128 'right':276 'script':36,48,64,82,106,115,142,147,214,240,249,259,291 'secur':21 'seem':229,260 'shell':47 'side':104 'site':309,340 'someon':136,285 'spiral':347 'still':277 'stop':135 'strong':331 'suffici':29,151 'suit':299 'sysadmin':53 'system':22,124 'take':15,341 'technic':56 'tell':199 'think':322 'time':8,113 'trust':288 'understand':209 'uniqu':306 'updat':116 'upload':137,235,247,258 'upvot':90,173 'user':76,181,205,226 'valid':141,239 'version':131 'versus':215 'vote':37,127,139,158,182 'well':234 'whole':32 'wild':263 'workload':344"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/5667970"
      +editedAt: null
      +createdAt: DateTimeImmutable @1702423895 {#4335
        date: 2023-12-13 00:31:35.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4339}
    +body: """
      I wholeheartedly agree, yet this is the same for stuff like the AUR, every PPA, or even just blindly copy & pasting inductions from some blog - all of which are very popular. (Just to name some examples that are closer to what op wants to do).\n
      \n
      I still wouldn’t use scripts from a random dump site because they are just likely to mess up the os with junk and cruft that will be there forever. But fundamentally from a security point of few its not necessarily worse than what many are doing - simply because it doesn’t get worse than blindly executing stuff from sources missing the reputation to justify trusting them.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 4
    +score: 0
    +lastActive: DateTime @1702451999 {#4510
      date: 2023-12-13 08:19:59.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Berserkware@lemmy.ml"
      "@CameronDev@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4514 …}
    +nested: Doctrine\ORM\PersistentCollection {#4516 …}
    +votes: Doctrine\ORM\PersistentCollection {#4518 …}
    +reports: Doctrine\ORM\PersistentCollection {#4520 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4522 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4524 …}
    -id: 220279
    -bodyTs: "'agre':3 'aur':13 'blind':19,101 'blog':25 'closer':39 'copi':20 'cruft':70 'doesn':96 'dump':55 'even':17 'everi':14 'exampl':36 'execut':102 'forev':75 'fundament':77 'get':98 'induct':22 'junk':68 'justifi':110 'like':11,61 'mani':90 'mess':63 'miss':106 'name':34 'necessarili':86 'op':42 'os':66 'past':21 'point':81 'popular':31 'ppa':15 'random':54 'reput':108 'script':51 'secur':80 'simpli':93 'site':56 'sourc':105 'still':47 'stuff':10,103 'trust':111 'use':50 'want':43 'wholeheart':2 'wors':87,99 'wouldn':48 'yet':4"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://feddit.de/comment/5629672"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702451999 {#4511
      date: 2023-12-13 08:19:59.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4339}
  +body: """
    Yup, there is a lot of prior art on how to get this wrong :(, and I dont know of any good solutions either. Curation and moderation are probably the best case, but arent bulletproof either.\n
    \n
    I raised this not to kill OPs project, but to make sure they go into it eyes open. I personally would be very uncomfortable if my website was being abused to distribute malware, so they deserve to at least be aware of the risks.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1702456687 {#4579
    date: 2023-12-13 09:38:07.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
    "@CameronDev@programming.dev"
    "@skilltheamps@feddit.de"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4582 …}
  +nested: Doctrine\ORM\PersistentCollection {#4584 …}
  +votes: Doctrine\ORM\PersistentCollection {#4586 …}
  +reports: Doctrine\ORM\PersistentCollection {#4588 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4590 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4592 …}
  -id: 220339
  -bodyTs: "'abus':65 'arent':33 'art':8 'awar':76 'best':30 'bulletproof':34 'case':31 'curat':24 'deserv':71 'distribut':67 'dont':17 'either':23,35 'eye':52 'get':12 'go':49 'good':21 'kill':41 'know':18 'least':74 'lot':5 'make':46 'malwar':68 'moder':26 'op':42 'open':53 'person':55 'prior':7 'probabl':28 'project':43 'rais':37 'risk':79 'solut':22 'sure':47 'uncomfort':59 'websit':62 'would':56 'wrong':14 'yup':1"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/5676484"
  +editedAt: null
  +createdAt: DateTimeImmutable @1702456687 {#4580
    date: 2023-12-13 09:38:07.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
61 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
62 DENIED moderate
App\Entity\EntryComment {#4649
  +user: Proxies\__CG__\App\Entity\User {#4513 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4581
    +user: App\Entity\User {#4352 …}
    +entry: App\Entity\Entry {#2412}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4512
      +user: Proxies\__CG__\App\Entity\User {#4513 …}
      +entry: App\Entity\Entry {#2412}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: App\Entity\EntryComment {#4339
        +user: App\Entity\User {#4352 …}
        +entry: App\Entity\Entry {#2412}
        +magazine: App\Entity\Magazine {#264}
        +image: null
        +parent: null
        +root: null
        +body: """
          You have probably invested a lot of time and effort into this, so please take this as constructive criticism.\n
          \n
          Your security systems are probably not going to be sufficient, for a whole number of reasons.\n
          \n
          ### Script Voting\n
          \n
          The general public is not able to appropriately audit shell scripts. This extends even to sysadmins and more technical people. The people who can properly audit scripts are a minority, and they may not even be amongst your user base. Anyone who gets a script that “does its job” is going to upvote it as fine, because they may not even be aware of its malicious side effects.\n
          \n
          Scripts will naturally need to evolve over time, so script updates will be a normal part of your system. Will the votes reset for new versions? Is there anything stopping someone uploading farming votes with valid scripts, and then backdoor the script once it gets sufficiently popular?\n
          \n
          Is there any form of vote manipulation prevention planned? If not, bad actors can create an army of accounts and upvote their malicious content. Can you remove a users votes if they are found to be acting maliciously? Will it even be possible for you to tell the difference between a naive user who doesn’t understand the maliciousness of the script, versus an account actively increasing the rating of a bad package?\n
          \n
          ### User Reputation\n
          \n
          This seems easy to game as well. Upload a host of valid scripts, gain reputation, and then when ready, upload malicious scripts.\n
          \n
          ### Collaboration\n
          \n
          Allowing non-maintainers to edit and upload scripts seems like a wildly bad idea. There must be some level of maintainer approval for that right? Still will have the same issues, easy for someone to build trust on a script repo and then exploit it when it suits them.\n
          \n
          None of these issues are unique to your site, pypi, dockerhub etc have all hit these issues in the past.\n
          \n
          I think the only real answer is to have very strong human moderation, but I fear that if your site takes off, the workload will rapidly spiral out of control. Otherwise, interesting idea, Good Luck!
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 20
        +score: 0
        +lastActive: DateTime @1704410802 {#4334
          date: 2024-01-05 00:26:42.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Berserkware@lemmy.ml"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4340 …}
        +nested: Doctrine\ORM\PersistentCollection {#4342 …}
        +votes: Doctrine\ORM\PersistentCollection {#4344 …}
        +reports: Doctrine\ORM\PersistentCollection {#4346 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4348 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4350 …}
        -id: 219668
        -bodyTs: "'abl':43 'account':171,217 'act':189 'activ':218 'actor':165 'allow':251 'amongst':74 'answer':326 'anyon':78 'anyth':134 'appropri':45 'approv':273 'armi':169 'audit':46,63 'awar':100 'backdoor':145 'bad':164,224,264 'base':77 'build':287 'collabor':250 'construct':18 'content':176 'control':350 'creat':167 'critic':19 'differ':201 'dockerhub':311 'doesn':207 'easi':230,283 'edit':256 'effect':105 'effort':10 'etc':312 'even':51,72,98,193 'evolv':111 'exploit':295 'extend':50 'farm':138 'fear':336 'fine':93 'form':156 'found':186 'gain':241 'game':232 'general':39 'get':80,150 'go':26,88 'good':354 'hit':315 'host':237 'human':332 'idea':265,353 'increas':219 'interest':352 'invest':4 'issu':282,304,317 'job':86 'level':270 'like':261 'lot':6 'luck':355 'maintain':254,272 'malici':103,175,190,211,248 'manipul':159 'may':70,96 'minor':67 'moder':333 'must':267 'naiv':204 'natur':108 'need':109 'new':130 'non':253 'non-maintain':252 'none':301 'normal':120 'number':33 'otherwis':351 'packag':225 'part':121 'past':320 'peopl':57,59 'plan':161 'pleas':14 'popular':152 'possibl':195 'prevent':160 'probabl':3,24 'proper':62 'public':40 'pypi':310 'rapid':346 'rate':221 'readi':246 'real':325 'reason':35 'remov':179 'repo':292 'reput':227,242 'reset':128 'right':276 'script':36,48,64,82,106,115,142,147,214,240,249,259,291 'secur':21 'seem':229,260 'shell':47 'side':104 'site':309,340 'someon':136,285 'spiral':347 'still':277 'stop':135 'strong':331 'suffici':29,151 'suit':299 'sysadmin':53 'system':22,124 'take':15,341 'technic':56 'tell':199 'think':322 'time':8,113 'trust':288 'understand':209 'uniqu':306 'updat':116 'upload':137,235,247,258 'upvot':90,173 'user':76,181,205,226 'valid':141,239 'version':131 'versus':215 'vote':37,127,139,158,182 'well':234 'whole':32 'wild':263 'workload':344"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://programming.dev/comment/5667970"
        +editedAt: null
        +createdAt: DateTimeImmutable @1702423895 {#4335
          date: 2023-12-13 00:31:35.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4339}
      +body: """
        I wholeheartedly agree, yet this is the same for stuff like the AUR, every PPA, or even just blindly copy & pasting inductions from some blog - all of which are very popular. (Just to name some examples that are closer to what op wants to do).\n
        \n
        I still wouldn’t use scripts from a random dump site because they are just likely to mess up the os with junk and cruft that will be there forever. But fundamentally from a security point of few its not necessarily worse than what many are doing - simply because it doesn’t get worse than blindly executing stuff from sources missing the reputation to justify trusting them.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 4
      +score: 0
      +lastActive: DateTime @1702451999 {#4510
        date: 2023-12-13 08:19:59.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Berserkware@lemmy.ml"
        "@CameronDev@programming.dev"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4514 …}
      +nested: Doctrine\ORM\PersistentCollection {#4516 …}
      +votes: Doctrine\ORM\PersistentCollection {#4518 …}
      +reports: Doctrine\ORM\PersistentCollection {#4520 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4522 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4524 …}
      -id: 220279
      -bodyTs: "'agre':3 'aur':13 'blind':19,101 'blog':25 'closer':39 'copi':20 'cruft':70 'doesn':96 'dump':55 'even':17 'everi':14 'exampl':36 'execut':102 'forev':75 'fundament':77 'get':98 'induct':22 'junk':68 'justifi':110 'like':11,61 'mani':90 'mess':63 'miss':106 'name':34 'necessarili':86 'op':42 'os':66 'past':21 'point':81 'popular':31 'ppa':15 'random':54 'reput':108 'script':51 'secur':80 'simpli':93 'site':56 'sourc':105 'still':47 'stuff':10,103 'trust':111 'use':50 'want':43 'wholeheart':2 'wors':87,99 'wouldn':48 'yet':4"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://feddit.de/comment/5629672"
      +editedAt: null
      +createdAt: DateTimeImmutable @1702451999 {#4511
        date: 2023-12-13 08:19:59.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4339}
    +body: """
      Yup, there is a lot of prior art on how to get this wrong :(, and I dont know of any good solutions either. Curation and moderation are probably the best case, but arent bulletproof either.\n
      \n
      I raised this not to kill OPs project, but to make sure they go into it eyes open. I personally would be very uncomfortable if my website was being abused to distribute malware, so they deserve to at least be aware of the risks.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 2
    +score: 0
    +lastActive: DateTime @1702456687 {#4579
      date: 2023-12-13 09:38:07.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Berserkware@lemmy.ml"
      "@CameronDev@programming.dev"
      "@skilltheamps@feddit.de"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4582 …}
    +nested: Doctrine\ORM\PersistentCollection {#4584 …}
    +votes: Doctrine\ORM\PersistentCollection {#4586 …}
    +reports: Doctrine\ORM\PersistentCollection {#4588 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4590 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4592 …}
    -id: 220339
    -bodyTs: "'abus':65 'arent':33 'art':8 'awar':76 'best':30 'bulletproof':34 'case':31 'curat':24 'deserv':71 'distribut':67 'dont':17 'either':23,35 'eye':52 'get':12 'go':49 'good':21 'kill':41 'know':18 'least':74 'lot':5 'make':46 'malwar':68 'moder':26 'op':42 'open':53 'person':55 'prior':7 'probabl':28 'project':43 'rais':37 'risk':79 'solut':22 'sure':47 'uncomfort':59 'websit':62 'would':56 'wrong':14 'yup':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/5676484"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702456687 {#4580
      date: 2023-12-13 09:38:07.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4339}
  +body: """
    I think one puzzle piece of improvement is flatpak:\n
    \n
    - It has a verification system, such that users can see which apps are packaged by their developers. For those apps, this eliminates the need to trust a separate maintainer entirely\n
    - It targets almost all linux distributions with a single package. This cuts down the packaging effort for covering the majority of the linux landscape so much, that the number of package maintainers required to be trusted collapses - in the ideal case to just the developers themselves as in the first bullet point\n
    - It makes use of sandboxing, so in case of a malicious app it (in theory) only has access to the stuff the user gave it permission to.\n
    \n
    In reality there’s a plethora of problems obviously:\n
    \n
    - verified apps are the minority\n
    - some people don’t like the additional storage needed for runtimes (although the more flatpaks you use the more runtimes can be shared and its overall impact gets smaller)\n
    - A lot of apps do not yet use all the portals, and require the classical full access to the system to work properly (in some cases the user can still remove some permission if certain features of the application are not needed by them though). This is just a question of ongoing development work, and hopefully we reach a point in the near future where a flatpak app without tied down permissions raises eyebrows
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1702495878 {#4646
    date: 2023-12-13 20:31:18.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
    "@CameronDev@programming.dev"
    "@skilltheamps@feddit.de"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4650 …}
  +nested: Doctrine\ORM\PersistentCollection {#4652 …}
  +votes: Doctrine\ORM\PersistentCollection {#4654 …}
  +reports: Doctrine\ORM\PersistentCollection {#4656 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4658 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4660 …}
  -id: 220754
  -bodyTs: "'access':109,178 'addit':139 'almost':42 'although':144 'app':21,29,103,129,165,229 'applic':200 'bullet':90 'case':80,99,187 'certain':196 'classic':176 'collaps':76 'cover':57 'cut':51 'develop':26,84,214 'distribut':45 'effort':55 'elimin':31 'entir':39 'eyebrow':235 'featur':197 'first':89 'flatpak':9,147,228 'full':177 'futur':225 'gave':115 'get':160 'hope':217 'ideal':79 'impact':159 'improv':7 'landscap':63 'like':137 'linux':44,62 'lot':163 'maintain':38,71 'major':59 'make':93 'malici':102 'minor':132 'much':65 'near':224 'need':33,141,203 'number':68 'obvious':127 'one':3 'ongo':213 'overal':158 'packag':23,49,54,70 'peopl':134 'permiss':117,194,233 'piec':5 'plethora':124 'point':91,221 'portal':172 'problem':126 'proper':184 'puzzl':4 'question':211 'rais':234 'reach':219 'realiti':120 'remov':192 'requir':72,174 'runtim':143,152 'sandbox':96 'see':19 'separ':37 'share':155 'singl':48 'smaller':161 'still':191 'storag':140 'stuff':112 'system':14,181 'target':41 'theori':106 'think':2 'though':206 'tie':231 'trust':35,75 'use':94,149,169 'user':17,114,189 'verif':13 'verifi':128 'without':230 'work':183,215 'yet':168"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://feddit.de/comment/5641262"
  +editedAt: DateTimeImmutable @1704410964 {#4647
    date: 2024-01-05 00:29:24.0 +01:00
  }
  +createdAt: DateTimeImmutable @1702495878 {#4648
    date: 2023-12-13 20:31:18.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
63 DENIED edit
App\Entity\EntryComment {#4649
  +user: Proxies\__CG__\App\Entity\User {#4513 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4581
    +user: App\Entity\User {#4352 …}
    +entry: App\Entity\Entry {#2412}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4512
      +user: Proxies\__CG__\App\Entity\User {#4513 …}
      +entry: App\Entity\Entry {#2412}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: App\Entity\EntryComment {#4339
        +user: App\Entity\User {#4352 …}
        +entry: App\Entity\Entry {#2412}
        +magazine: App\Entity\Magazine {#264}
        +image: null
        +parent: null
        +root: null
        +body: """
          You have probably invested a lot of time and effort into this, so please take this as constructive criticism.\n
          \n
          Your security systems are probably not going to be sufficient, for a whole number of reasons.\n
          \n
          ### Script Voting\n
          \n
          The general public is not able to appropriately audit shell scripts. This extends even to sysadmins and more technical people. The people who can properly audit scripts are a minority, and they may not even be amongst your user base. Anyone who gets a script that “does its job” is going to upvote it as fine, because they may not even be aware of its malicious side effects.\n
          \n
          Scripts will naturally need to evolve over time, so script updates will be a normal part of your system. Will the votes reset for new versions? Is there anything stopping someone uploading farming votes with valid scripts, and then backdoor the script once it gets sufficiently popular?\n
          \n
          Is there any form of vote manipulation prevention planned? If not, bad actors can create an army of accounts and upvote their malicious content. Can you remove a users votes if they are found to be acting maliciously? Will it even be possible for you to tell the difference between a naive user who doesn’t understand the maliciousness of the script, versus an account actively increasing the rating of a bad package?\n
          \n
          ### User Reputation\n
          \n
          This seems easy to game as well. Upload a host of valid scripts, gain reputation, and then when ready, upload malicious scripts.\n
          \n
          ### Collaboration\n
          \n
          Allowing non-maintainers to edit and upload scripts seems like a wildly bad idea. There must be some level of maintainer approval for that right? Still will have the same issues, easy for someone to build trust on a script repo and then exploit it when it suits them.\n
          \n
          None of these issues are unique to your site, pypi, dockerhub etc have all hit these issues in the past.\n
          \n
          I think the only real answer is to have very strong human moderation, but I fear that if your site takes off, the workload will rapidly spiral out of control. Otherwise, interesting idea, Good Luck!
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 20
        +score: 0
        +lastActive: DateTime @1704410802 {#4334
          date: 2024-01-05 00:26:42.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Berserkware@lemmy.ml"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4340 …}
        +nested: Doctrine\ORM\PersistentCollection {#4342 …}
        +votes: Doctrine\ORM\PersistentCollection {#4344 …}
        +reports: Doctrine\ORM\PersistentCollection {#4346 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4348 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4350 …}
        -id: 219668
        -bodyTs: "'abl':43 'account':171,217 'act':189 'activ':218 'actor':165 'allow':251 'amongst':74 'answer':326 'anyon':78 'anyth':134 'appropri':45 'approv':273 'armi':169 'audit':46,63 'awar':100 'backdoor':145 'bad':164,224,264 'base':77 'build':287 'collabor':250 'construct':18 'content':176 'control':350 'creat':167 'critic':19 'differ':201 'dockerhub':311 'doesn':207 'easi':230,283 'edit':256 'effect':105 'effort':10 'etc':312 'even':51,72,98,193 'evolv':111 'exploit':295 'extend':50 'farm':138 'fear':336 'fine':93 'form':156 'found':186 'gain':241 'game':232 'general':39 'get':80,150 'go':26,88 'good':354 'hit':315 'host':237 'human':332 'idea':265,353 'increas':219 'interest':352 'invest':4 'issu':282,304,317 'job':86 'level':270 'like':261 'lot':6 'luck':355 'maintain':254,272 'malici':103,175,190,211,248 'manipul':159 'may':70,96 'minor':67 'moder':333 'must':267 'naiv':204 'natur':108 'need':109 'new':130 'non':253 'non-maintain':252 'none':301 'normal':120 'number':33 'otherwis':351 'packag':225 'part':121 'past':320 'peopl':57,59 'plan':161 'pleas':14 'popular':152 'possibl':195 'prevent':160 'probabl':3,24 'proper':62 'public':40 'pypi':310 'rapid':346 'rate':221 'readi':246 'real':325 'reason':35 'remov':179 'repo':292 'reput':227,242 'reset':128 'right':276 'script':36,48,64,82,106,115,142,147,214,240,249,259,291 'secur':21 'seem':229,260 'shell':47 'side':104 'site':309,340 'someon':136,285 'spiral':347 'still':277 'stop':135 'strong':331 'suffici':29,151 'suit':299 'sysadmin':53 'system':22,124 'take':15,341 'technic':56 'tell':199 'think':322 'time':8,113 'trust':288 'understand':209 'uniqu':306 'updat':116 'upload':137,235,247,258 'upvot':90,173 'user':76,181,205,226 'valid':141,239 'version':131 'versus':215 'vote':37,127,139,158,182 'well':234 'whole':32 'wild':263 'workload':344"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://programming.dev/comment/5667970"
        +editedAt: null
        +createdAt: DateTimeImmutable @1702423895 {#4335
          date: 2023-12-13 00:31:35.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4339}
      +body: """
        I wholeheartedly agree, yet this is the same for stuff like the AUR, every PPA, or even just blindly copy & pasting inductions from some blog - all of which are very popular. (Just to name some examples that are closer to what op wants to do).\n
        \n
        I still wouldn’t use scripts from a random dump site because they are just likely to mess up the os with junk and cruft that will be there forever. But fundamentally from a security point of few its not necessarily worse than what many are doing - simply because it doesn’t get worse than blindly executing stuff from sources missing the reputation to justify trusting them.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 4
      +score: 0
      +lastActive: DateTime @1702451999 {#4510
        date: 2023-12-13 08:19:59.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Berserkware@lemmy.ml"
        "@CameronDev@programming.dev"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4514 …}
      +nested: Doctrine\ORM\PersistentCollection {#4516 …}
      +votes: Doctrine\ORM\PersistentCollection {#4518 …}
      +reports: Doctrine\ORM\PersistentCollection {#4520 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4522 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4524 …}
      -id: 220279
      -bodyTs: "'agre':3 'aur':13 'blind':19,101 'blog':25 'closer':39 'copi':20 'cruft':70 'doesn':96 'dump':55 'even':17 'everi':14 'exampl':36 'execut':102 'forev':75 'fundament':77 'get':98 'induct':22 'junk':68 'justifi':110 'like':11,61 'mani':90 'mess':63 'miss':106 'name':34 'necessarili':86 'op':42 'os':66 'past':21 'point':81 'popular':31 'ppa':15 'random':54 'reput':108 'script':51 'secur':80 'simpli':93 'site':56 'sourc':105 'still':47 'stuff':10,103 'trust':111 'use':50 'want':43 'wholeheart':2 'wors':87,99 'wouldn':48 'yet':4"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://feddit.de/comment/5629672"
      +editedAt: null
      +createdAt: DateTimeImmutable @1702451999 {#4511
        date: 2023-12-13 08:19:59.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4339}
    +body: """
      Yup, there is a lot of prior art on how to get this wrong :(, and I dont know of any good solutions either. Curation and moderation are probably the best case, but arent bulletproof either.\n
      \n
      I raised this not to kill OPs project, but to make sure they go into it eyes open. I personally would be very uncomfortable if my website was being abused to distribute malware, so they deserve to at least be aware of the risks.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 2
    +score: 0
    +lastActive: DateTime @1702456687 {#4579
      date: 2023-12-13 09:38:07.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Berserkware@lemmy.ml"
      "@CameronDev@programming.dev"
      "@skilltheamps@feddit.de"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4582 …}
    +nested: Doctrine\ORM\PersistentCollection {#4584 …}
    +votes: Doctrine\ORM\PersistentCollection {#4586 …}
    +reports: Doctrine\ORM\PersistentCollection {#4588 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4590 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4592 …}
    -id: 220339
    -bodyTs: "'abus':65 'arent':33 'art':8 'awar':76 'best':30 'bulletproof':34 'case':31 'curat':24 'deserv':71 'distribut':67 'dont':17 'either':23,35 'eye':52 'get':12 'go':49 'good':21 'kill':41 'know':18 'least':74 'lot':5 'make':46 'malwar':68 'moder':26 'op':42 'open':53 'person':55 'prior':7 'probabl':28 'project':43 'rais':37 'risk':79 'solut':22 'sure':47 'uncomfort':59 'websit':62 'would':56 'wrong':14 'yup':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/5676484"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702456687 {#4580
      date: 2023-12-13 09:38:07.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4339}
  +body: """
    I think one puzzle piece of improvement is flatpak:\n
    \n
    - It has a verification system, such that users can see which apps are packaged by their developers. For those apps, this eliminates the need to trust a separate maintainer entirely\n
    - It targets almost all linux distributions with a single package. This cuts down the packaging effort for covering the majority of the linux landscape so much, that the number of package maintainers required to be trusted collapses - in the ideal case to just the developers themselves as in the first bullet point\n
    - It makes use of sandboxing, so in case of a malicious app it (in theory) only has access to the stuff the user gave it permission to.\n
    \n
    In reality there’s a plethora of problems obviously:\n
    \n
    - verified apps are the minority\n
    - some people don’t like the additional storage needed for runtimes (although the more flatpaks you use the more runtimes can be shared and its overall impact gets smaller)\n
    - A lot of apps do not yet use all the portals, and require the classical full access to the system to work properly (in some cases the user can still remove some permission if certain features of the application are not needed by them though). This is just a question of ongoing development work, and hopefully we reach a point in the near future where a flatpak app without tied down permissions raises eyebrows
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1702495878 {#4646
    date: 2023-12-13 20:31:18.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
    "@CameronDev@programming.dev"
    "@skilltheamps@feddit.de"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4650 …}
  +nested: Doctrine\ORM\PersistentCollection {#4652 …}
  +votes: Doctrine\ORM\PersistentCollection {#4654 …}
  +reports: Doctrine\ORM\PersistentCollection {#4656 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4658 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4660 …}
  -id: 220754
  -bodyTs: "'access':109,178 'addit':139 'almost':42 'although':144 'app':21,29,103,129,165,229 'applic':200 'bullet':90 'case':80,99,187 'certain':196 'classic':176 'collaps':76 'cover':57 'cut':51 'develop':26,84,214 'distribut':45 'effort':55 'elimin':31 'entir':39 'eyebrow':235 'featur':197 'first':89 'flatpak':9,147,228 'full':177 'futur':225 'gave':115 'get':160 'hope':217 'ideal':79 'impact':159 'improv':7 'landscap':63 'like':137 'linux':44,62 'lot':163 'maintain':38,71 'major':59 'make':93 'malici':102 'minor':132 'much':65 'near':224 'need':33,141,203 'number':68 'obvious':127 'one':3 'ongo':213 'overal':158 'packag':23,49,54,70 'peopl':134 'permiss':117,194,233 'piec':5 'plethora':124 'point':91,221 'portal':172 'problem':126 'proper':184 'puzzl':4 'question':211 'rais':234 'reach':219 'realiti':120 'remov':192 'requir':72,174 'runtim':143,152 'sandbox':96 'see':19 'separ':37 'share':155 'singl':48 'smaller':161 'still':191 'storag':140 'stuff':112 'system':14,181 'target':41 'theori':106 'think':2 'though':206 'tie':231 'trust':35,75 'use':94,149,169 'user':17,114,189 'verif':13 'verifi':128 'without':230 'work':183,215 'yet':168"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://feddit.de/comment/5641262"
  +editedAt: DateTimeImmutable @1704410964 {#4647
    date: 2024-01-05 00:29:24.0 +01:00
  }
  +createdAt: DateTimeImmutable @1702495878 {#4648
    date: 2023-12-13 20:31:18.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
64 DENIED moderate
App\Entity\EntryComment {#4649
  +user: Proxies\__CG__\App\Entity\User {#4513 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4581
    +user: App\Entity\User {#4352 …}
    +entry: App\Entity\Entry {#2412}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4512
      +user: Proxies\__CG__\App\Entity\User {#4513 …}
      +entry: App\Entity\Entry {#2412}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: App\Entity\EntryComment {#4339
        +user: App\Entity\User {#4352 …}
        +entry: App\Entity\Entry {#2412}
        +magazine: App\Entity\Magazine {#264}
        +image: null
        +parent: null
        +root: null
        +body: """
          You have probably invested a lot of time and effort into this, so please take this as constructive criticism.\n
          \n
          Your security systems are probably not going to be sufficient, for a whole number of reasons.\n
          \n
          ### Script Voting\n
          \n
          The general public is not able to appropriately audit shell scripts. This extends even to sysadmins and more technical people. The people who can properly audit scripts are a minority, and they may not even be amongst your user base. Anyone who gets a script that “does its job” is going to upvote it as fine, because they may not even be aware of its malicious side effects.\n
          \n
          Scripts will naturally need to evolve over time, so script updates will be a normal part of your system. Will the votes reset for new versions? Is there anything stopping someone uploading farming votes with valid scripts, and then backdoor the script once it gets sufficiently popular?\n
          \n
          Is there any form of vote manipulation prevention planned? If not, bad actors can create an army of accounts and upvote their malicious content. Can you remove a users votes if they are found to be acting maliciously? Will it even be possible for you to tell the difference between a naive user who doesn’t understand the maliciousness of the script, versus an account actively increasing the rating of a bad package?\n
          \n
          ### User Reputation\n
          \n
          This seems easy to game as well. Upload a host of valid scripts, gain reputation, and then when ready, upload malicious scripts.\n
          \n
          ### Collaboration\n
          \n
          Allowing non-maintainers to edit and upload scripts seems like a wildly bad idea. There must be some level of maintainer approval for that right? Still will have the same issues, easy for someone to build trust on a script repo and then exploit it when it suits them.\n
          \n
          None of these issues are unique to your site, pypi, dockerhub etc have all hit these issues in the past.\n
          \n
          I think the only real answer is to have very strong human moderation, but I fear that if your site takes off, the workload will rapidly spiral out of control. Otherwise, interesting idea, Good Luck!
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 20
        +score: 0
        +lastActive: DateTime @1704410802 {#4334
          date: 2024-01-05 00:26:42.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Berserkware@lemmy.ml"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4340 …}
        +nested: Doctrine\ORM\PersistentCollection {#4342 …}
        +votes: Doctrine\ORM\PersistentCollection {#4344 …}
        +reports: Doctrine\ORM\PersistentCollection {#4346 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4348 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4350 …}
        -id: 219668
        -bodyTs: "'abl':43 'account':171,217 'act':189 'activ':218 'actor':165 'allow':251 'amongst':74 'answer':326 'anyon':78 'anyth':134 'appropri':45 'approv':273 'armi':169 'audit':46,63 'awar':100 'backdoor':145 'bad':164,224,264 'base':77 'build':287 'collabor':250 'construct':18 'content':176 'control':350 'creat':167 'critic':19 'differ':201 'dockerhub':311 'doesn':207 'easi':230,283 'edit':256 'effect':105 'effort':10 'etc':312 'even':51,72,98,193 'evolv':111 'exploit':295 'extend':50 'farm':138 'fear':336 'fine':93 'form':156 'found':186 'gain':241 'game':232 'general':39 'get':80,150 'go':26,88 'good':354 'hit':315 'host':237 'human':332 'idea':265,353 'increas':219 'interest':352 'invest':4 'issu':282,304,317 'job':86 'level':270 'like':261 'lot':6 'luck':355 'maintain':254,272 'malici':103,175,190,211,248 'manipul':159 'may':70,96 'minor':67 'moder':333 'must':267 'naiv':204 'natur':108 'need':109 'new':130 'non':253 'non-maintain':252 'none':301 'normal':120 'number':33 'otherwis':351 'packag':225 'part':121 'past':320 'peopl':57,59 'plan':161 'pleas':14 'popular':152 'possibl':195 'prevent':160 'probabl':3,24 'proper':62 'public':40 'pypi':310 'rapid':346 'rate':221 'readi':246 'real':325 'reason':35 'remov':179 'repo':292 'reput':227,242 'reset':128 'right':276 'script':36,48,64,82,106,115,142,147,214,240,249,259,291 'secur':21 'seem':229,260 'shell':47 'side':104 'site':309,340 'someon':136,285 'spiral':347 'still':277 'stop':135 'strong':331 'suffici':29,151 'suit':299 'sysadmin':53 'system':22,124 'take':15,341 'technic':56 'tell':199 'think':322 'time':8,113 'trust':288 'understand':209 'uniqu':306 'updat':116 'upload':137,235,247,258 'upvot':90,173 'user':76,181,205,226 'valid':141,239 'version':131 'versus':215 'vote':37,127,139,158,182 'well':234 'whole':32 'wild':263 'workload':344"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://programming.dev/comment/5667970"
        +editedAt: null
        +createdAt: DateTimeImmutable @1702423895 {#4335
          date: 2023-12-13 00:31:35.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4339}
      +body: """
        I wholeheartedly agree, yet this is the same for stuff like the AUR, every PPA, or even just blindly copy & pasting inductions from some blog - all of which are very popular. (Just to name some examples that are closer to what op wants to do).\n
        \n
        I still wouldn’t use scripts from a random dump site because they are just likely to mess up the os with junk and cruft that will be there forever. But fundamentally from a security point of few its not necessarily worse than what many are doing - simply because it doesn’t get worse than blindly executing stuff from sources missing the reputation to justify trusting them.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 4
      +score: 0
      +lastActive: DateTime @1702451999 {#4510
        date: 2023-12-13 08:19:59.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Berserkware@lemmy.ml"
        "@CameronDev@programming.dev"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4514 …}
      +nested: Doctrine\ORM\PersistentCollection {#4516 …}
      +votes: Doctrine\ORM\PersistentCollection {#4518 …}
      +reports: Doctrine\ORM\PersistentCollection {#4520 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4522 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4524 …}
      -id: 220279
      -bodyTs: "'agre':3 'aur':13 'blind':19,101 'blog':25 'closer':39 'copi':20 'cruft':70 'doesn':96 'dump':55 'even':17 'everi':14 'exampl':36 'execut':102 'forev':75 'fundament':77 'get':98 'induct':22 'junk':68 'justifi':110 'like':11,61 'mani':90 'mess':63 'miss':106 'name':34 'necessarili':86 'op':42 'os':66 'past':21 'point':81 'popular':31 'ppa':15 'random':54 'reput':108 'script':51 'secur':80 'simpli':93 'site':56 'sourc':105 'still':47 'stuff':10,103 'trust':111 'use':50 'want':43 'wholeheart':2 'wors':87,99 'wouldn':48 'yet':4"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://feddit.de/comment/5629672"
      +editedAt: null
      +createdAt: DateTimeImmutable @1702451999 {#4511
        date: 2023-12-13 08:19:59.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4339}
    +body: """
      Yup, there is a lot of prior art on how to get this wrong :(, and I dont know of any good solutions either. Curation and moderation are probably the best case, but arent bulletproof either.\n
      \n
      I raised this not to kill OPs project, but to make sure they go into it eyes open. I personally would be very uncomfortable if my website was being abused to distribute malware, so they deserve to at least be aware of the risks.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 2
    +score: 0
    +lastActive: DateTime @1702456687 {#4579
      date: 2023-12-13 09:38:07.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Berserkware@lemmy.ml"
      "@CameronDev@programming.dev"
      "@skilltheamps@feddit.de"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4582 …}
    +nested: Doctrine\ORM\PersistentCollection {#4584 …}
    +votes: Doctrine\ORM\PersistentCollection {#4586 …}
    +reports: Doctrine\ORM\PersistentCollection {#4588 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4590 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4592 …}
    -id: 220339
    -bodyTs: "'abus':65 'arent':33 'art':8 'awar':76 'best':30 'bulletproof':34 'case':31 'curat':24 'deserv':71 'distribut':67 'dont':17 'either':23,35 'eye':52 'get':12 'go':49 'good':21 'kill':41 'know':18 'least':74 'lot':5 'make':46 'malwar':68 'moder':26 'op':42 'open':53 'person':55 'prior':7 'probabl':28 'project':43 'rais':37 'risk':79 'solut':22 'sure':47 'uncomfort':59 'websit':62 'would':56 'wrong':14 'yup':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/5676484"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702456687 {#4580
      date: 2023-12-13 09:38:07.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4339}
  +body: """
    I think one puzzle piece of improvement is flatpak:\n
    \n
    - It has a verification system, such that users can see which apps are packaged by their developers. For those apps, this eliminates the need to trust a separate maintainer entirely\n
    - It targets almost all linux distributions with a single package. This cuts down the packaging effort for covering the majority of the linux landscape so much, that the number of package maintainers required to be trusted collapses - in the ideal case to just the developers themselves as in the first bullet point\n
    - It makes use of sandboxing, so in case of a malicious app it (in theory) only has access to the stuff the user gave it permission to.\n
    \n
    In reality there’s a plethora of problems obviously:\n
    \n
    - verified apps are the minority\n
    - some people don’t like the additional storage needed for runtimes (although the more flatpaks you use the more runtimes can be shared and its overall impact gets smaller)\n
    - A lot of apps do not yet use all the portals, and require the classical full access to the system to work properly (in some cases the user can still remove some permission if certain features of the application are not needed by them though). This is just a question of ongoing development work, and hopefully we reach a point in the near future where a flatpak app without tied down permissions raises eyebrows
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1702495878 {#4646
    date: 2023-12-13 20:31:18.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
    "@CameronDev@programming.dev"
    "@skilltheamps@feddit.de"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4650 …}
  +nested: Doctrine\ORM\PersistentCollection {#4652 …}
  +votes: Doctrine\ORM\PersistentCollection {#4654 …}
  +reports: Doctrine\ORM\PersistentCollection {#4656 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4658 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4660 …}
  -id: 220754
  -bodyTs: "'access':109,178 'addit':139 'almost':42 'although':144 'app':21,29,103,129,165,229 'applic':200 'bullet':90 'case':80,99,187 'certain':196 'classic':176 'collaps':76 'cover':57 'cut':51 'develop':26,84,214 'distribut':45 'effort':55 'elimin':31 'entir':39 'eyebrow':235 'featur':197 'first':89 'flatpak':9,147,228 'full':177 'futur':225 'gave':115 'get':160 'hope':217 'ideal':79 'impact':159 'improv':7 'landscap':63 'like':137 'linux':44,62 'lot':163 'maintain':38,71 'major':59 'make':93 'malici':102 'minor':132 'much':65 'near':224 'need':33,141,203 'number':68 'obvious':127 'one':3 'ongo':213 'overal':158 'packag':23,49,54,70 'peopl':134 'permiss':117,194,233 'piec':5 'plethora':124 'point':91,221 'portal':172 'problem':126 'proper':184 'puzzl':4 'question':211 'rais':234 'reach':219 'realiti':120 'remov':192 'requir':72,174 'runtim':143,152 'sandbox':96 'see':19 'separ':37 'share':155 'singl':48 'smaller':161 'still':191 'storag':140 'stuff':112 'system':14,181 'target':41 'theori':106 'think':2 'though':206 'tie':231 'trust':35,75 'use':94,149,169 'user':17,114,189 'verif':13 'verifi':128 'without':230 'work':183,215 'yet':168"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://feddit.de/comment/5641262"
  +editedAt: DateTimeImmutable @1704410964 {#4647
    date: 2024-01-05 00:29:24.0 +01:00
  }
  +createdAt: DateTimeImmutable @1702495878 {#4648
    date: 2023-12-13 20:31:18.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
65 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
66 DENIED moderate
App\Entity\EntryComment {#4413
  +user: App\Entity\User {#4426 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: null
  +root: null
  +body: "This thing will simply fail on an alternative filesystem layout, something to be mindful about. For mainstream FHS distro, it’ll work fine."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 5
  +score: 0
  +lastActive: DateTime @1702417254 {#4407
    date: 2023-12-12 22:40:54.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4414 …}
  +nested: Doctrine\ORM\PersistentCollection {#4416 …}
  +votes: Doctrine\ORM\PersistentCollection {#4418 …}
  +reports: Doctrine\ORM\PersistentCollection {#4420 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4422 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4424 …}
  -id: 219408
  -bodyTs: "'altern':8 'distro':19 'fail':5 'fhs':18 'filesystem':9 'fine':23 'layout':10 'll':21 'mainstream':17 'mind':14 'simpli':4 'someth':11 'thing':2 'work':22"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ml/comment/6601144"
  +editedAt: DateTimeImmutable @1704145043 {#4408
    date: 2024-01-01 22:37:23.0 +01:00
  }
  +createdAt: DateTimeImmutable @1702417254 {#4409
    date: 2023-12-12 22:40:54.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
67 DENIED edit
App\Entity\EntryComment {#4413
  +user: App\Entity\User {#4426 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: null
  +root: null
  +body: "This thing will simply fail on an alternative filesystem layout, something to be mindful about. For mainstream FHS distro, it’ll work fine."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 5
  +score: 0
  +lastActive: DateTime @1702417254 {#4407
    date: 2023-12-12 22:40:54.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4414 …}
  +nested: Doctrine\ORM\PersistentCollection {#4416 …}
  +votes: Doctrine\ORM\PersistentCollection {#4418 …}
  +reports: Doctrine\ORM\PersistentCollection {#4420 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4422 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4424 …}
  -id: 219408
  -bodyTs: "'altern':8 'distro':19 'fail':5 'fhs':18 'filesystem':9 'fine':23 'layout':10 'll':21 'mainstream':17 'mind':14 'simpli':4 'someth':11 'thing':2 'work':22"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ml/comment/6601144"
  +editedAt: DateTimeImmutable @1704145043 {#4408
    date: 2024-01-01 22:37:23.0 +01:00
  }
  +createdAt: DateTimeImmutable @1702417254 {#4409
    date: 2023-12-12 22:40:54.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
68 DENIED moderate
App\Entity\EntryComment {#4413
  +user: App\Entity\User {#4426 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978 …}
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#274
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#268
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#270
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Installies-a-site-for-managing-organizing-and-retrieving-shell-scripts"
    +title: "Installies, a site for managing, organizing, and retrieving shell scripts for installing things on Linux and Unix-based operating systems."
    +url: "https://installies.org/"
    +body: """
      Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.\n
      \n
      You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:\n
      \n
      - Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.\n
      - Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.\n
      - There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.\n
      - Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.\n
      \n
      As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.\n
      \n
      There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).\n
      \n
      ##### Future Plans\n
      \n
      - Utility Scripts: General purpose shell scripts.\n
      - CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.\n
      - Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.\n
      - User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.\n
      \n
      As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.\n
      \n
      Happy Scripting!\n
      \n
      ##### Links\n
      \n
      - Site: [installies.org](https://installies.org)\n
      - Docs: [docs.installies.org](https://docs.installies.org)\n
      - Source: [github.com/Berserkware/installies](https://github.com/Berserkware/installies)
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 16
    +favouriteCount: 60
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1702495878 {#2418
      date: 2023-12-13 20:31:18.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 21947
    -titleTs: "'base':19 'instal':1,12 'linux':15 'manag':5 'oper':20 'organ':6 'retriev':8 'script':10 'shell':9 'site':3 'system':21 'thing':13 'unix':18 'unix-bas':17"
    -bodyTs: "'/berserkware/installies](https://github.com/berserkware/installies)':376 'abl':238 'allow':269,282,291 'also':121,254,281,362 'analyz':333 'app':34,66,75,96,105,143,158,167,234,248 'ask':45 'base':40 'beta':340 'bug':345,350 'built':56 'built-in':55 'choic':215 'choos':174 'cli':266 'collabor':290 'comment':250 'compil':33,94 'complic':129 'comput':151 'contribut':296 'creat':245 'decid':184 'design':214 'differ':160 'difficult':100 'direct':295 'doc':370 'docs.installies.org':371,372 'e.g':152 'easier':182,284,320 'extra':124 'featur':359 'feedback':257,357 'find':348 'futur':258 'general':112,262 'github':356 'github.com':375 'github.com/berserkware/installies](https://github.com/berserkware/installies)':374 'good':329 'guy':226 'happi':364 'help':204 'hi':1 'input':228 'instal':14,29,131,148,188,196,275,287 'installies.org':368,369 'interfac':273 'isn':139 'judg':324 'let':172 'librari':125 'like':224 'link':366 'linux':36,103,278 'maintain':235,243,302 'make':87,180,205,220,318 'manag':20,59,84,117 'mani':344 'might':43,68,76,91,98,122,127,133 'month':6 'multipl':292 'need':123 'newer':102 'non':242 'non-maintain':241 'one':186,229 'option':178 'organ':21 'other':73 'packag':58,83,116,161 'past':4 'peopl':293 'plan':259 'pleas':249,351 'popular':313 'problem':71 'purpos':263 'qemu':191 'rank':304,309 'realli':141 'remov':30 'report':201,352 'repositori':119 'request':360 'retriev':23 'run':109 'safe':210 'script':25,170,194,208,246,261,265,298,315,327,365 'secur':195 'server':289 'shell':24,264 'similar':163 'site':18,367 'softwar':137 'sourc':335,373 'stop':240 'sure':206 'system':41,53,81,202,305,307 'templeo':153 'thing':276 'think':253 'tradit':147 'univers':272 'unix':39 'unix-bas':38 'updat':31 'use':27,51,285 'user':104,303,310,322 'util':260 'version':164 'vm':156 'vote':199 'websit':13 'weirder':136 'welcom':363 'wine':111 'without':299,330 'work':10,63 'would':86,179,223 'yet':218"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1702501214
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/9234896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1702414814 {#1858
      date: 2023-12-12 22:00:14.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: null
  +root: null
  +body: "This thing will simply fail on an alternative filesystem layout, something to be mindful about. For mainstream FHS distro, it’ll work fine."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 5
  +score: 0
  +lastActive: DateTime @1702417254 {#4407
    date: 2023-12-12 22:40:54.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Berserkware@lemmy.ml"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4414 …}
  +nested: Doctrine\ORM\PersistentCollection {#4416 …}
  +votes: Doctrine\ORM\PersistentCollection {#4418 …}
  +reports: Doctrine\ORM\PersistentCollection {#4420 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4422 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4424 …}
  -id: 219408
  -bodyTs: "'altern':8 'distro':19 'fail':5 'fhs':18 'filesystem':9 'fine':23 'layout':10 'll':21 'mainstream':17 'mind':14 'simpli':4 'someth':11 'thing':2 'work':22"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ml/comment/6601144"
  +editedAt: DateTimeImmutable @1704145043 {#4408
    date: 2024-01-01 22:37:23.0 +01:00
  }
  +createdAt: DateTimeImmutable @1702417254 {#4409
    date: 2023-12-12 22:40:54.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
69 DENIED edit
App\Entity\Magazine {#264
  +icon: Proxies\__CG__\App\Entity\Image {#245 …}
  +name: "linux@lemmy.ml"
  +title: "linux"
  +description: """
    From Wikipedia, the free encyclopedia\n
    \n
    Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
    \n
    Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
    \n
    ### Rules\n
    \n
    - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
    - No misinformation\n
    - No NSFW content\n
    - No hate speech, bigotry, etc\n
    \n
    ### Related Communities\n
    \n
    - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
    - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
    - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
    - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
    \n
    Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
    """
  +rules: null
  +subscriptionsCount: 1
  +entryCount: 1406
  +entryCommentCount: 28632
  +postCount: 6
  +postCommentCount: 214
  +isAdult: false
  +customCss: null
  +lastActive: DateTime @1729583542 {#274
    date: 2024-10-22 09:52:22.0 +02:00
  }
  +markedForDeletionAt: null
  +tags: null
  +moderators: Doctrine\ORM\PersistentCollection {#236 …}
  +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
  +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
  +entries: Doctrine\ORM\PersistentCollection {#179 …}
  +posts: Doctrine\ORM\PersistentCollection {#137 …}
  +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
  +bans: Doctrine\ORM\PersistentCollection {#116 …}
  +reports: Doctrine\ORM\PersistentCollection {#102 …}
  +badges: Doctrine\ORM\PersistentCollection {#80 …}
  +logs: Doctrine\ORM\PersistentCollection {#70 …}
  +awards: Doctrine\ORM\PersistentCollection {#1360 …}
  +categories: Doctrine\ORM\PersistentCollection {#1792 …}
  -id: 73
  +apId: "linux@lemmy.ml"
  +apProfileId: "https://lemmy.ml/c/linux"
  +apPublicUrl: "https://lemmy.ml/c/linux"
  +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
  +apInboxUrl: "https://lemmy.ml/inbox"
  +apDomain: "lemmy.ml"
  +apPreferredUsername: "linux"
  +apDiscoverable: true
  +apManuallyApprovesFollowers: null
  +privateKey: null
  +publicKey: null
  +apFetchedAt: DateTime @1729583596 {#268
    date: 2024-10-22 09:53:16.0 +02:00
  }
  +apDeletedAt: null
  +apTimeoutAt: null
  +visibility: "visible             "
  +createdAt: DateTimeImmutable @1698929468 {#270
    date: 2023-11-02 13:51:08.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS DENIED
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details