2023.10.125 • Public • Published


Donate for Corifeus / P3X Contact Corifeus / P3X Corifeus @ Facebook Build Status Uptime Robot ratio (30 days)

💣 Tools v2023.10.125

Bugs are evident™ - MATRIX️

NodeJS LTS is supported

Built on NodeJs version



This is an internal tool program (p3x) to manage a recursive async and serial command for NPM packages.


sudo npm install -g p3x-tools --unsafe-perm=true --allow-root


All folders exclude node_modules and bower_components except it is included.

p3x docker clean # delete images the have exited
p3x docker clear # delete all images in docker
p3x docker free # delete exited containers
p3x pkg yarn install | <command> # installs recursive every project that has a package.json
p3x build yarn install  | <command>  # install recursive every package that has a corifeus-builder
p3x npm unpublish # unpublish every package from NPM except the last Minor version (Major.Minor.Build-Commit)
p3x link # links every recursive given package together
p3x git <command> # you can execute a command on every git dir, recursive
p3x rm <folder> # remove recursive the given folder
p3x ncu -u # updates recursive all packages
p3x git pull # recursive pull every folder
p3x git push # recursive push every folder
p3x git renew|truncate # remote all commits, from #1231 commit to #1
p3x 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.

and more ...

If you want the commands is serials, add the -s or --serial flag, otherwise all async.

etc ...

Dependencies Fix


Webpack repos

  • gitlist
  • redis-ui-material
  • fortune-cookie
  • corifeus-builder-angular
  • sygnus ngivr builder webpack

Default excludes from GitHub:


Github fork upstream

1 . Clone your fork:

git clone git@github.com:YOUR-USERNAME/YOUR-FORKED-REPO.git

2 . Add remote from original repository in your forked repository:

cd into/cloned/fork-repo  
git remote add upstream https://github.com/ORIGINAL-DEV-USERNAME/REPO-YOU-FORKED-FROM.git  
git fetch upstream  

3 . Updating your fork from original repo to keep up with their changes:

git pull upstream master
git merge upstream/master
git push

# or
git checkout dev
git pull upstream dev
git merge upstream/dev
git push

Warning / deprecate

npm deprecate <pkg>[@<version>] <message>
// or better
npm deprecate my-thing@"< 0.2.3" "critical bug fixed in v0.2.3"

Really make a bare repo to smaller


git gc --prune=now --aggressive

Show available versions on NPM

# for example
npm show p3x-angular-compile versions --json

Verdaccio NPM fix


docker run --rm -it node:9.2.0-alpine sh
/ # npm login --registry https://npm.company.com
Username: admin
Email: (this IS public) admin@company.com
Logged in as admin on https://npm.company.com/.
/ # cat ~/.npmrc
/ #

Another solution is like this:

# project .npmrc
registry = "https://registry.acmeco.com"
ca = null
always-auth = true

Swap for Docker



sudo nano /etc/default/grub


GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1" 


sudo update-grub


touch /etc/sysctl.d/90-swappiness.conf
nano /etc/sysctl.d/90-swappiness.conf

sudo reboot

How To Configure a Mail Server Using Postfix, Dovecot, MySQL, and SpamAssassin and Sieve to move to Spam / Junk folder


This is how is solved it (it took 7 months):

apt install dovecot-sieve dovecot-managesieved
nano /etc/dovecot/conf.d/90-plugin.conf

Add or set in:

protocol lmtp {
        mail_plugins = $mail_plugins sieve
        auth_socket_path = /var/run/dovecot/auth-master
nano /etc/dovecot/sieve.conf

Add in

require ["fileinto", "mailbox"];
    if header :contains "X-Spam-Flag" "YES" {
        # move mail into Folder Spam, create folder if not exists
        fileinto :create "Spam";


sievec /etc/dovecot/sieve.conf
nano /etc/spamassassin/local.cf

Add in or set it, it's like this ( I think you don't need everythign else):

report_safe             0
required_score          2.0
use_bayes               1
use_bayes_rules         1
bayes_auto_learn        1
skip_rbl_checks         0
use_razor2              1
use_pyzor               0

add_header all Status _YESNO_, score=_SCORE_ required=_REQD_ version=_VERSION_
bayes_ignore_header X-Bogosity
bayes_ignore_header X-Spam-Flag
bayes_ignore_header X-Spam-Status

Edit a new file again

nano /etc/dovecot/conf.d/90-sieve.conf

Set this config, you don't need anything else:

plugin {
    sieve = /etc/dovecot/sieve.conf

Edit the mail boxes, so jo have Junk, I think jo just need add or uncomment the Junk setting:

nano /etc/dovecot/conf.d/15-mailboxes.conf 

Add in this config

namespace inbox {
  mailbox Drafts {
    auto = subscribe
    special_use = \Drafts
  mailbox Junk {
    auto = subscribe
    special_use = \Junk
  mailbox Trash {
    auto = subscribe
    special_use = \Trash
  mailbox Sent {
    auto = subscribe
    special_use = \Sent

My user for the e-mail server is vmail, so do like this:

chmod ug+w /etc/dovecot
chmod ug+w /etc/dovecot/sieve.conf.svbin

chown -R vmail:vmail /etc/dovecot

Restart your mail server:

service postfix reload && service spamassassin restart && service dovecot restart

GRUB for another menu once

Make sure /etc/default/grub has this:


You can choose you menu like:

grep -i "menuentry '" /boot/grub/grub.cfg

The boot with your menu:

sudo -i
# my workstation boot from win
grub-reboot 2 

Git synchronize

git submodule sync


IIS Windows 10 Enterprise

For IIS, I have to use the current user Domain user both the web site and the application pools eg. domain\user.

We have to install the urlrewrite2 module, I think it is here: https://www.iis.net/downloads/microsoft/url-rewrite

ALT GR for IntelliJ Idea


The working solution is to add actionSystem.force.alt.gr=true to custom properties.


extension_dir = "C:\php\php-7.2\ext"
fastcgi.impersonate = 1
cgi.fix_pathinfo = 0
cgi.force_redirect = 0


🙏 This is an open-source project. Star this repository, if you like it, or even donate to maintain the servers and the development. Thank you so much!

Possible, this server, rarely, is down, please, hang on for 15-30 minutes and the server will be back up.

All my domains (patrikx3.com and corifeus.com) could have minor errors, since I am developing in my free time. However, it is usually stable.

Note about versioning: Versions are cut in Major.Minor.Patch schema. Major is always the current year. Minor is either 4 (January - June) or 10 (July - December). Patch is incremental by every build. If there is a breaking change, it should be noted in the readme.

P3X-TOOLS Build v2023.10.125

Donate for Corifeus / P3X Contact Corifeus / P3X Like Corifeus @ Facebook


DownloadsWeekly Downloads






Unpacked Size

77 kB

Total Files


Last publish


  • patrikx3