If you haven't already, install fail2ban and ufw:
sudo apt-get install fail2ban ufw
Now make a copy of the fail2ban configuration, and name it jail.local
:
#find . -type f -name '*.png' -exec optipng -o5 -quiet -preserve {} \; | |
#find . -type f -name '*.jp*' -exec mogrify -compress jpeg -quality 70 {} \; | |
find . -type f -iname "*.jp*g" | xargs mogrify -resize '1280x1280>' | |
find . -type f -iname "*.jp*g" | xargs jpegoptim --strip-all --max=90 | |
# With parallel | |
find . -type f -iname "*.jp*g" -print0 | parallel --progress -0 -j +0 "mogrify -resize 1280x1280\> {}" | |
find . -type f -iname "*.jp*g" | parallel --progress "jpegoptim --strip-all --max=65 {}" |
FWIW: I (@rondy) am not the creator of the content shared here, which is an excerpt from Edmond Lau's book. I simply copied and pasted it from another location and saved it as a personal note, before it gained popularity on news.ycombinator.com. Unfortunately, I cannot recall the exact origin of the original source, nor was I able to find the author's name, so I am can't provide the appropriate credits.
#!/bin/bash | |
#title :magento2-setup.sh | |
#description :This script will install Magento from github | |
#author :Shine Software Italy | |
#date :20170202 | |
#version :0.1 | |
#usage :Set the execution permission for this file and then call it ./magento2-setup.sh | |
#notes :Install Composer and cURL to use this script. |
/* | |
* IMPORTANT: The queries below are written for Magento Enterprise. If you're going to run them on Magento Community, you need | |
* to replace all instances of ".row_id" with ".entity_id". See this for context: http://magento.stackexchange.com/questions/139740/magento-2-schema-changes-for-ee-catalog-staging | |
* | |
* When importing products in Magento 2, if you specify store view codes in the store_view_code column, product data will be set at | |
* both the global scope as well as the specific store view scope. This is not ideal because now you have duplicate | |
* data at two different scopes that shouldn't actually be duplicated. The scripts below clean up this data by finding | |
* data set at specific store view scopes and if it's an exact match to the data set at the global store view, then it | |
* deletes the data set at the specific store view scope. | |
* |
sudo su | |
apt-get install -y autoconf automake libtool nasm make pkg-config | |
cd /tmp | |
wget https://github.com/mozilla/mozjpeg/releases/download/v3.1/mozjpeg-3.1-release-source.tar.gz | |
tar -xvf mozjpeg-3.1-release-source.tar.gz | |
cd mozjpeg | |
autoreconf -fiv | |
mkdir build && cd build | |
sh ../configure | |
make install |
#!/bin/bash | |
## | |
## New IP login notification script | |
## 2009-11-20 00:28 Samuele ~redShadow~ Santi | |
## 2018-06-04 12:53 ElliotNB | |
## 2018-10-17 17:55 ElliotNB - bug fixes for non-interactive sessions and `sudo su` commands | |
## Licensed under GPL | |
## | |
## This script will email the contact specified below whenever | |
## a user logs into the system from a new IP address. The email will contain the |
<? | |
// this script receives a Stripe dispute / chargeback and: | |
// | |
// - immediately refunds the payment | |
// - closes the user's account (in my DB, add your own code there) | |
// | |
// this is to automate dispute handling (because you never win a dispute on Stripe anyway) | |
// and by refunding avoiding the chargeback fee | |
// |
In /etc/default/grub
, modify:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off tsx=on tsx_async_abort=off mitigations=off"
Then sudo update-grub
This is a collection of the tweaks and modification I've made to my Arch Linux installation over the months. These may be applicable to other distros, but please check first before doing anything. I also included Arch Wiki references for all the procedures I mentioned. My recommendation is not to blindly follow this gist but to always check with the Arch Linux wiki first. Things move fast and by the time you're reading this my gist may be out of date. Lastly, the golden rule: never execute a command you don't understand.
My current DE of choice is KDE's Plasma. I find it just about perfect.
There are various ways to install it on Arch. The most popular one is to install plasma
and plasma-applications
, but I don't like doing that because it comes with too many programs I'll never use. I, instead, install the base plasma
group, remove the few extra packages that come with it, then I finish off by installing a few KDE apps that don't come with th