{"id":20268834,"url":"https://github.com/patrikx3/tools","last_synced_at":"2026-02-14T06:31:09.747Z","repository":{"id":57317520,"uuid":"89967788","full_name":"patrikx3/tools","owner":"patrikx3","description":"💣 Tools","archived":false,"fork":false,"pushed_at":"2025-02-01T18:12:07.000Z","size":812,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-14T21:42:57.655Z","etag":null,"topics":["cli","corifeus","npm","p3x","serial","tool","unpublish"],"latest_commit_sha":null,"homepage":"https://www.corifeus.com/tools/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/patrikx3.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-05-01T22:17:38.000Z","updated_at":"2025-02-01T18:12:10.000Z","dependencies_parsed_at":"2025-04-11T03:42:06.487Z","dependency_job_id":"d74b0cfc-e677-43fb-bf52-6bbd9cedb197","html_url":"https://github.com/patrikx3/tools","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/patrikx3/tools","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrikx3%2Ftools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrikx3%2Ftools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrikx3%2Ftools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrikx3%2Ftools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/patrikx3","download_url":"https://codeload.github.com/patrikx3/tools/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrikx3%2Ftools/sbom","scorecard":{"id":722573,"data":{"date":"2025-08-11","repo":{"name":"github.com/patrikx3/tools","commit":"d9077e60966e867c2961d845fd8a4a42d6617e4b"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.8,"checks":[{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/patrikx3/tools/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/patrikx3/tools/build.yml/master?enable=pin","Warn: npmCommand not pinned by hash: .github/workflows/build.yml:31","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Vulnerabilities","score":3,"reason":"7 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-wf5p-g6vw-rhxx","Warn: Project is vulnerable to: GHSA-jr5f-v2jv-69x6","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-pfrx-2q88-qq97","Warn: Project is vulnerable to: GHSA-pfq8-rq6v-vf5m","Warn: Project is vulnerable to: GHSA-rc47-6667-2j5j","Warn: Project is vulnerable to: GHSA-52f5-9888-hmc6"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-22T11:48:58.148Z","repository_id":57317520,"created_at":"2025-08-22T11:48:58.148Z","updated_at":"2025-08-22T11:48:58.148Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29438758,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T05:24:35.651Z","status":"ssl_error","status_checked_at":"2026-02-14T05:24:34.830Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","corifeus","npm","p3x","serial","tool","unpublish"],"created_at":"2024-11-14T12:20:24.088Z","updated_at":"2026-02-14T06:31:09.732Z","avatar_url":"https://github.com/patrikx3.png","language":"JavaScript","funding_links":["https://paypal.me/patrikx3","https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=QZVM4V6HVZJW6"],"categories":[],"sub_categories":[],"readme":"[//]: #@corifeus-header\n\n  [![NPM](https://img.shields.io/npm/v/p3x-tools.svg)](https://www.npmjs.com/package/p3x-tools)  [![Donate for PatrikX3 / P3X](https://img.shields.io/badge/Donate-PatrikX3-003087.svg)](https://paypal.me/patrikx3) [![Contact Corifeus / P3X](https://img.shields.io/badge/Contact-P3X-ff9900.svg)](https://www.patrikx3.com/en/front/contact) [![Corifeus @ Facebook](https://img.shields.io/badge/Facebook-Corifeus-3b5998.svg)](https://www.facebook.com/corifeus.software)  [![Uptime ratio (90 days)](https://network.corifeus.com/public/api/uptime-shield/31ad7a5c194347c33e5445dbaf8.svg)](https://network.corifeus.com/status/31ad7a5c194347c33e5445dbaf8)\n\n\n\n\n\n# 💣 Tools v2025.4.122\n\n\n  \n🌌 **Bugs are evident™ - MATRIX️**  \n🚧 **This project is under active development!**  \n📢 **We welcome your feedback and contributions.**  \n    \n\n\n\n### NodeJS LTS is supported\n\n### 🛠️ Built on NodeJs version\n\n```txt\nv22.13.1\n```\n\n\n\n\n\n# 📝 Description\n\n                        \n[//]: #@corifeus-header:end\n\n\nThis is an internal tool program (```p3x```) to manage a recursive async and serial command for NPM packages.  \n\n\n\n# Install\n\n```bash\nsudo npm install -g p3x-tools --unsafe-perm=true --allow-root\n```\n\n\n# Examples\n\nAll folders exclude ```node_modules``` and ```bower_components``` except it is included.\n\n```bash\np3x docker clean # delete images the have exited\np3x docker clear # delete all images in docker\np3x docker free # delete exited containers\np3x pkg yarn install | \u003ccommand\u003e # installs recursive every project that has a package.json\np3x build yarn install  | \u003ccommand\u003e  # install recursive every package that has a corifeus-builder\np3x npm unpublish # unpublish every package from NPM except the last Minor version (Major.Minor.Build-Commit)\np3x link # links every recursive given package together\np3x git \u003ccommand\u003e # you can execute a command on every git dir, recursive\np3x rm \u003cfolder\u003e # remove recursive the given folder\np3x ncu -u # updates recursive all packages\np3x git pull # recursive pull every folder\np3x git push # recursive push every folder\np3x git renew|truncate # remote all commits, from #1231 commit to #1\np3x git init repo-name # .git is not required, is auto added, post-update is generated so it is my own, specific for the patrikx3.com server git repo (it adds in the webhook), the names are only lower cased forcefully a-z, digit and dash.\n```\n\nand more ...\n\nIf you want the commands is serials, add the ```-s``` or ```--serial``` flag, otherwise all ```async```.\n\netc ...\n\n# Dependencies Fix\n[dependencies-fix.json](dependencies-fix.json)\n\n\n# Webpack repos\n* gitlist\n* redis-ui-material\n* fortune-cookie\n* corifeus-builder-angular\n* sygnus ngivr builder webpack\n\n\n# Default excludes from GitHub:\n[github.json](github.json)\n\n# Github fork upstream\n\n1 . Clone your fork:\n\n```bash\ngit clone git@github.com:YOUR-USERNAME/YOUR-FORKED-REPO.git\n```\n\n2 . Add remote from original repository in your forked repository: \n\n```bash\ncd into/cloned/fork-repo  \ngit remote add upstream https://github.com/ORIGINAL-DEV-USERNAME/REPO-YOU-FORKED-FROM.git  \ngit fetch upstream  \n```\n\n3 . Updating your fork from original repo to keep up with their changes:\n\n```bash\ngit pull upstream master\ngit merge upstream/master\ngit push\n\n# or\ngit checkout dev\ngit pull upstream dev\ngit merge upstream/dev\ngit push\n```\n    \n# Warning / deprecate\n```js\nnpm deprecate \u003cpkg\u003e[@\u003cversion\u003e] \u003cmessage\u003e\n// or better\nnpm deprecate my-thing@\"\u003c 0.2.3\" \"critical bug fixed in v0.2.3\"\n```    \n    \n# Really make a bare repo to smaller\n\nhttps://stackoverflow.com/questions/2116778/reduce-git-repository-size  \nhttps://stackoverflow.com/questions/3797907/how-to-remove-unused-objects-from-a-git-repository/14729486#14729486  \n```bash\ngit gc --prune=now --aggressive\n```    \n\n# Show available versions on NPM\n\n```bash\n# for example\nnpm show p3x-angular-compile versions --json\n```\n\n    \n# Verdaccio NPM fix\n\nhttps://github.com/verdaccio/verdaccio/issues/577\n\n```text\ndocker run --rm -it node:9.2.0-alpine sh\n/ # npm login --registry https://npm.company.com\nUsername: admin\nPassword:\nEmail: (this IS public) admin@company.com\nLogged in as admin on https://npm.company.com/.\n/ # cat ~/.npmrc\n//npm.company.com/:_authToken=Rwl9t+GHjlgP+brFJ6WycIe1y6r3Z+ShUEqsLusmFC11w3n6ex8JdmkMoKv/0U/D\n/ #\n```\n    \nAnother solution is like this:\n\n```text\n# project .npmrc\nregistry = \"https://registry.acmeco.com\"\nca = null\nalways-auth = true\n```    \n\n# Swap for Docker\n\nhttps://askubuntu.com/questions/417215/how-does-kernel-support-swap-limit\n\nEdit:\n\n```bash\nsudo nano /etc/default/grub\n```\n\nLike:\n\n```text\nGRUB_CMDLINE_LINUX=\"cgroup_enable=memory swapaccount=1\" \n```\n\nUpdate:\n\n```bash\nsudo update-grub\n```\n\nEdit:  \n```bash\ntouch /etc/sysctl.d/90-swappiness.conf\nnano /etc/sysctl.d/90-swappiness.conf\n```\n\n```text\nvm.swappiness=1\n```\n\n**sudo reboot**\n\n# How To Configure a Mail Server Using Postfix, Dovecot, MySQL, and SpamAssassin and Sieve to move to Spam / Junk folder\n\nhttps://superuser.com/questions/1248257/how-to-configure-a-mail-server-using-postfix-dovecot-mysql-and-spamassassin-a/1248470#1248470\n\n\nThis is how is solved it (it took 7 months):\n\n```bash\napt install dovecot-sieve dovecot-managesieved\nnano /etc/dovecot/conf.d/90-plugin.conf\n```\n\n## Add or set in:\n\n```text\nprotocol lmtp {\n        mail_plugins = $mail_plugins sieve\n        auth_socket_path = /var/run/dovecot/auth-master\n    }  \n```\n\n\t\n```text\nnano /etc/dovecot/sieve.conf\n```\n\n## Add in\n\n```text\nrequire [\"fileinto\", \"mailbox\"];\n    if header :contains \"X-Spam-Flag\" \"YES\" {\n        # move mail into Folder Spam, create folder if not exists\n        fileinto :create \"Spam\";\n        stop;\n    }\n```\n\n## Execute\n\n```bash\nsievec /etc/dovecot/sieve.conf\nnano /etc/spamassassin/local.cf\n```\n\n\nAdd in or set it, it's like this ( I think you don't need everythign else):\n\n```text\nreport_safe             0\nrequired_score          2.0\nuse_bayes               1\nuse_bayes_rules         1\nbayes_auto_learn        1\nskip_rbl_checks         0\nuse_razor2              1\nuse_pyzor               0\n\nadd_header all Status _YESNO_, score=_SCORE_ required=_REQD_ version=_VERSION_\nbayes_ignore_header X-Bogosity\nbayes_ignore_header X-Spam-Flag\nbayes_ignore_header X-Spam-Status\n```\n\t\n## Edit a new file again\n\n```bash\nnano /etc/dovecot/conf.d/90-sieve.conf\n```\n\nSet this config, you don't need anything else:\n\n```text\nplugin {\n    sieve = /etc/dovecot/sieve.conf\n}\n```\n \t\t\nEdit the mail boxes, so jo have Junk, I think jo just need add or uncomment the Junk setting:\n\n```bash\nnano /etc/dovecot/conf.d/15-mailboxes.conf \n```\n\n## Add in this config\n\n```text\nnamespace inbox {\n  mailbox Drafts {\n    auto = subscribe\n    special_use = \\Drafts\n  }\n  mailbox Junk {\n    auto = subscribe\n    special_use = \\Junk\n  }\n  mailbox Trash {\n    auto = subscribe\n    special_use = \\Trash\n  }\n  mailbox Sent {\n    auto = subscribe\n    special_use = \\Sent\n  }\n}\n```\n\nMy user for the e-mail server is ```vmail```, so do like this:\n\n```bash\nchmod ug+w /etc/dovecot\nchmod ug+w /etc/dovecot/sieve.conf.svbin\n```\n\n```chown -R vmail:vmail /etc/dovecot```\n\nRestart your mail server:\n\n```bash\nservice postfix reload \u0026\u0026 service spamassassin restart \u0026\u0026 service dovecot restart\n```\n\n# GRUB for another menu once\nMake sure `/etc/default/grub` has this:\n```text\nGRUB_DEFAULT=saved\n```\n\nYou can choose you menu like:\n```bash\ngrep -i \"menuentry '\" /boot/grub/grub.cfg\n```\n\nThe boot with your menu:\n```bash\nsudo -i\n# my workstation boot from win\ngrub-reboot 2 \nreboot\n```\n\n# Git synchronize\n```bash\ngit submodule sync\n```\n\n\n    \n[//]: #@corifeus-footer\n\n---\n\n## 🚀 Quick and Affordable Web Development Services\n\nIf you want to quickly and affordably develop your next digital project, visit [corifeus.eu](https://corifeus.eu) for expert solutions tailored to your needs.\n\n---\n\n## 🌐 Powerful Online Networking Tool  \n\nDiscover the powerful and free online networking tool at [network.corifeus.com](https://network.corifeus.com).  \n\n**🆓 Free**  \nDesigned for professionals and enthusiasts, this tool provides essential features for network analysis, troubleshooting, and management.  \nAdditionally, it offers tools for:  \n- 📡 Monitoring TCP, HTTP, and Ping to ensure optimal network performance and reliability.  \n- 📊 Status page management to track uptime, performance, and incidents in real time with customizable dashboards.  \n\nAll these features are completely free to use.  \n\n---\n\n## ❤️ Support Our Open-Source Project  \nIf you appreciate our work, consider ⭐ starring this repository or 💰 making a donation to support server maintenance and ongoing development. Your support means the world to us—thank you!  \n\n---\n\n### 🌍 About My Domains  \nAll my domains, including [patrikx3.com](https://patrikx3.com), [corifeus.eu](https://corifeus.eu), and [corifeus.com](https://corifeus.com), are developed in my spare time. While you may encounter minor errors, the sites are generally stable and fully functional.  \n\n---\n\n### 📈 Versioning Policy  \n**Version Structure:** We follow a **Major.Minor.Patch** versioning scheme:  \n- **Major:** 📅 Corresponds to the current year.  \n- **Minor:** 🌓 Set as 4 for releases from January to June, and 10 for July to December.  \n- **Patch:** 🔧 Incremental, updated with each build.  \n\n**🚨 Important Changes:** Any breaking changes are prominently noted in the readme to keep you informed.\n\n---\n\n\n[**P3X-TOOLS**](https://corifeus.com/tools) Build v2025.4.122\n\n [![NPM](https://img.shields.io/npm/v/p3x-tools.svg)](https://www.npmjs.com/package/p3x-tools)  [![Donate for PatrikX3 / P3X](https://img.shields.io/badge/Donate-PatrikX3-003087.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=QZVM4V6HVZJW6)  [![Contact Corifeus / P3X](https://img.shields.io/badge/Contact-P3X-ff9900.svg)](https://www.patrikx3.com/en/front/contact) [![Like Corifeus @ Facebook](https://img.shields.io/badge/LIKE-Corifeus-3b5998.svg)](https://www.facebook.com/corifeus.software)\n\n\n\n\n\n[//]: #@corifeus-footer:end\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpatrikx3%2Ftools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpatrikx3%2Ftools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpatrikx3%2Ftools/lists"}