/* */ Programme – Blog Gebert iT – Home

Squid Proxy SSL bump

Raspberry Pi 4 – Squid 4.6 mit SSL installieren

Um SSL in Squid 4.x nutzen zu können, müssen wir ein Debian Paket mit dem
Quelltext erstellen. Und das geht so:

Wir logen uns mit sudo -i als root ein und sparen dabei das Wort beim installieren.

Zuerst aktivieren wir die Source Quellen
von Debian 10 und machen ein Update.

sed -i 's/^#deb-src/deb-src/' /etc/apt/sources.list
apt update

Wir installieren die erforderlichen Pakete um ein deb Paket erstellen zu können.

apt install devscripts build-essential fakeroot libssl1.0-dev debhelper
apt install squid-cgi calamaris squid-langpack libdbi-perl ssl-cert \
 libecap3-dev cdbs libcppunit-dev libcap2-dev libdb-dev libkrb5-dev \
 comerr-dev libldap2-dev libnetfilter-conntrack-dev libpam0g-dev libsasl2-dev

Wir laden den Quellcode von squid herunter und erstellen eine deb Datei.

mkdir /tmp/squid
cd /tmp/squid
apt source squid

Die SSL Funktion von Squid schalten wir frei.

vi squid-4.6/debian/rules
nach DEB_CONFIGURE_EXTRA_FLAGS –mandir=/usr/share/man \ suchen und folgendes eintragen:

--mandir=/usr/share/man \
--with-openssl \
--enable-ssl \
--enable-ssl-crtd \

Das Debian Paket wird erstellt mit folgenden Befehl:

cd /tmp/squid/squid-4.6
dpkg-buildpackage -rfakeroot -b -uc -us

Die erstellten Packete installieren wir
und schützen sie vor einem ungewollten
Update mit apt-mark.

dpkg --install squid-common_4.6*.deb
dpkg --install squid_4.6*.deb
dpkg --install squidclient_4.6*.deb
apt-mark hold squid squid-common squidclient

Wir erstellen unser eigenes SSL Certificate.

cd /etc/squid
mkdir ssl_cert
chown proxy:proxy /etc/squid/ssl_cert
chmod 700 /etc/squid/ssl_cert
cd ssl_cert

openssl req -new -newkey rsa:2048 -sha256 -days 365 -nodes -x509 -extensions v3_ca -keyout myCA.pem -out myCA.pem
openssl x509 -in myCA.pem -outform DER -out myCA.der

myCA.pem in das System von Androiden unter
Sicherheit installieren. Unter Windows wird das Zertifikat in dem Browser installiert. Danach googeln wie das geht. ?

Wir editieren die squid.conf mit vi und suchen nach 3128 und ab da wird folgendes ergänzt:

vi /etc/squid/squid.conf

http_port 3128 ssl-bump \
  cert=/etc/squid/ssl_cert/myCA.pem \
  generate-host-certificates=on 

sslcrtd_program /usr/lib/squid/security_file_certgen -s /var/lib/ssl_db -M 4MB

acl step1 at_step SslBump1

ssl_bump peek step1
ssl_bump bump all

Die SSL Datenbank erstellen und Rechte setzen mit start von Squid.

/usr/lib/squid/security_file_certgen -c -s /var/lib/ssl_db -M 4MB
chown proxy:proxy /var/lib/ssl_db
chown proxy:proxy /var/log/squid/
systemctl restart squid

Mögliche Fehler:
dynamic_cert_mem_cache_size=4MB

Trägt man das ein, startet Squid nicht. Es ist sowieso ein default Wert.

Das wars. Viel Spaß mit Squid.

Docker auf Kali Linux 2020.1 aarch64 (arm64) Raspberry 4 installieren

Neuste Dateien von download.docker.com
herunterladen und installieren.
Im Moment ist das aktuell:

wget https://download.docker.com/linux/debian/dists/buster/pool/stable/arm64/docker-ce-cli_19.03.5~3-0~debian-buster_arm64.deb
dpkg -i docker-ce-cli_19.03.5~3-0~debian-buster_arm64.deb

wget https://download.docker.com/linux/debian/dists/buster/pool/stable/arm64/containerd.io_1.2.6-3_arm64.deb
dpkg -i containerd.io_1.2.6-3_arm64.deb

wget https://download.docker.com/linux/debian/dists/buster/pool/stable/arm64/docker-ce_19.03.5~3-0~debian-buster_arm64.deb
dpkg -i docker-ce_19.03.5~3-0~debian-buster_arm64.deb

Die Reihenfolge der Installation ist einzuhalten, ansonsten kommt ein Fehler.

Docker beim Systemstart starten:
systemctl enable docker

Docker manuell starten:
systemctl start docker

Überprüfen ob docker läuft:
systemctl status docker

Für zukünftige Updates:

curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
echo 'deb [arch=arm64] https://download.docker.com/linux/debian buster stable' > /etc/apt/sources.list.d/docker.list

Ob das mit den automatischen Updates mit apt update klappt, konnten wir leider noch nicht testen.

Dockerfile (Image) von github auf Linux/Mac installieren

Folgende Programme werden benötigt:

curl -sSL https://get.docker.com | sh
sudo usermod -aG docker Username
sudo apt-get install -y libffi-dev libssl-dev
sudo apt-get install -y python python-pip
sudo apt-get remove python-configparser
sudo pip install docker-compose

Beim Mac wird nur folgendes installiert:
https://hub.docker.com/editions/community/docker-ce-desktop-mac
Direkt Link:
https://download.docker.com/mac/stable/Docker.dmg
https://download.docker.com/kitematic/Kitematic-Mac.zip

Mit sudo docker run hello-world kann man testen ob der Dienst docker läuft.

Mit diesem Befehl holen wir die Dateien von github:
git clone https://github.com/iprobedroid/swgoh-arena-tracker.git

In das Verzeichnis wechseln:
cd swgoh-arena-tracker

# In diesem Beispiel muss vorher das Dockerfile wie folgt angepasst werden:


# vi Dockerfile
# Neuer Inhalt:
FROM iprobedroid/swgoh-arena-tracker:beta-9
ENV DISCORD_WEB_HOOK=”https://discordapp.com/api/webhooks/6511/aFDxkd-jp”
ENV ARENA_TYPE=FLEET
ENV ALLY_CODES=”123456789, 987654321, 111222333
# Ende Inhalt Dockerfile

Mit diesem Befehl wird das Image erstellt:
docker build -t="foo" .
foo ist frei wählbar. Unter Linux/Mac sollten Leerzeichen und Sonderzeichen nicht benutzt werden.

Das Programm wird mit diesem Befehl gestartet:
docker run -i -t foo
Im Hintergrund ausführen:
docker run -d foo
oder so:
dockerd

Zum testen:
sudo service docker status

Mit diesem Befehl kann man das Image wieder löschen:
docker images
IMAGE ID suchen und so löschen:
docker image rm 60dd3f34bc78 = (IMAGE ID)

Automatische WordPress Installation mit WP CLI auf dem Mac

Wer wollte nicht schon einmal, WordPress in 3 Minuten mit den Plugins, die man gerne möchte, neu installieren. Auf dem MAC geht es ganz automatisch.
Folgende Programme werden dazu benötigt:

    wb-cli
    brew
    php
    composer
    laravel valet
    mariadb
    Und natürlich WordPress

Im ersten Schritt installiert das Script all diese Programme und im zweiten, wird WordPress installiert und konfiguriert. Wenn nach der Installation das Script erneut aufgerufen wird, prüft das Script, ob die Installation schon durchgeführt wurde und würde nur eine neue WordPress Seite installieren. Bekanntlich hat man mehr, als eine Seite. Außerdem braucht man vielleicht mehr, als nur eine. Mit dem Script macht es zumindest Spaß, WordPress zu installieren.

Mögliche Probleme:

Falls es Probleme beim installieren gibt, einfach diese Datei mit
rm $HOME/.composer/vendor/mariadb_installed
löschen.
Das zufällige Passwort erstellen habe ich ausgeschaltet, da es nicht zu 100% funktioniert.

Und nun folgt das Script…

[bash]
#!/bin/bash
# Info https://developer.wordpress.org/cli/commands/
# Info https://comlounge.net/wordpress-kommandozeile-wp-cli/
# Info https://wp-cli.org/de/

#######################################################
# #
# WordPress Daten #
# #
#######################################################
#
wpuser=admin
wppass=geheim
wpmail=offline@offline.test
sitename="Test Umgebung"
# Seite Home und IMPRESSUM wird automatisch erstellt. Nicht in mypages schreiben
# Soll kein Menü erstellt werden, mypages mit # auskommentieren
mypages=News,"Über Uns"
# Meine Kategorien und Schlagwörter erstellen
category=Internet,Hardware,Software,Android,macOS,Linux,Windows,Programme,Apps,Sicherheit,WordPress
# Als Beiträge (ja) oder statische Seite (nein) die Startseite anzeigen?
my_blog=ja
#
#
#######################################################
# #
# WordPress.org Konto für Favoriten Plugins #
# #
#######################################################
#
### Plugins von login.WordPress.org konto installieren ###
### Benutzer von WordPress.org eintragen – Nicht unbedingt nötig ###
wordpressuser=
#
#
#######################################################
# #
# Ab hier nichts ändern #
# #
#######################################################
#
#
clear
RED=’\033[0;31m’
YEL=’\033[1;33m’
CY=’\033[0;36m’
NC=’\033[0m’

echo "${RED}"
echo " ====================================================================================="
echo ""
echo " wp cli WordPress Installer Script, by Gebert it Consult"
echo ""
echo " ====================================================================================="
echo "${NC}"

echo " Ist wp-cli installiert?"
# Es wird überprüft ob wp-cli installiert ist, wenn nicht, wird es installiert
type wp >/dev/null 2>&1 && echo " wp ist installiert" ||
{
echo " wp-cli wird installiert"
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar >/dev/null 2>&1
mv wp-cli.phar /usr/local/bin/wp
chmod 555 /usr/local/bin/wp
php -d memory_limit=512M "$(which wp)" package install anhskohbo/wp-cli-themecheck >/dev/null 2>&1
# Sicherheitstest wp wp-sec check
php -d memory_limit=512M "$(which wp)" package install markri/wp-sec >/dev/null 2>&1
# Favoriten anzeigen wp plugin favorites matt –verbose
php -d memory_limit=512M "$(which wp)" package install mikedance/wp-cli-favorite-plugins >/dev/null 2>&1
# wp login create username – Ein link zum Anmelden wird erstellt
wp package install aaemnnosttv/wp-cli-login-command
}

# Es wird überprüft ob brew installiert ist, wenn nicht, wird es installiert
type brew >/dev/null 2>&1 ||
{
echo " brew wird installiert"
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null; }

# Es wird überprüft ob php installiert ist, wenn nicht, wird es installiert
type php >/dev/null 2>&1 ||
{
echo " php wird installiert"
brew install php@7.1
brew link –force php@7.1; }
# So wird die neuste php Version installiert, die läuft aber nicht so gut
# brew install homebrew/core/php
# Bei php 7.3 muss pcre.jit ausgeschaltet werden, ansonsten kommt ein Fehler
# sed -i ” "s/pcre.jit\=1/pcre.jit\=0/g" /usr/local/etc/php/7.3/php.ini

# Es wird überprüft ob composer installiert ist, wenn nicht, wird es installiert
type composer >/dev/null 2>&1 ||
{
echo " composer wird installiert"
brew install composer; }

# Dadurch kann man wp Leerzeichen und TAB drücken und sieht alle wp Befehle
test -f /usr/local/bin/wp-completion.bash >/dev/null 2>&1 ||
{
curl -O https://raw.githubusercontent.com/wp-cli/wp-cli/master/utils/wp-completion.bash >/dev/null 2>&1
mv wp-completion.bash /usr/local/bin/
echo "source /usr/local/bin/wp-completion.bash" >> ~/.bash_profile
}

test -f $HOME/.composer/vendor/mariadb_installed >/dev/null 2>&1 ||
{
# php memory limit anzeigen
echo " Auslesen was memory_limit für ein Wert hat"
php -r "echo ini_get(‘memory_limit’).PHP_EOL;"
# php –ini

echo " Memory limit auf 1 GB erhöhen"
sed -i ” "s/memory_limit \= .*/memory_limit \= -1/g" /usr/local/etc/php/7.1/conf.d/php-memory-limits.ini

# Mit php -i | grep php.ini die aktuell geladene (Loaded Configuration File) php.ini finden und das limit ebenfalls erhöhen
sed -i ” "s/^memory_limit \= .*/memory_limit \= -1/g" /usr/local/etc/php/7.1/php.ini; }

# Es wird überprüft ob valet installiert ist, wenn nicht, wird es installiert
type valet >/dev/null 2>&1 ||
{
echo " valet wird installiert"
composer global require laravel/valet

# Der Pfad wird in das Profile geschrieben
echo "export PATH="$PATH:$HOME/.composer/vendor/bin"" >> ~/.bash_profile
export PATH="$PATH:$HOME/.composer/vendor/bin" ; }

# Es wird überprüft ob valet konfiguriert ist, wenn nicht, wird es installiert
test -f $HOME/.composer/vendor/mariadb_installed >/dev/null 2>&1 ||
{
echo " valet konfigurieren"
valet install; }

# kleiner Test ob alles läuft
echo " Läuft unser Server?"
ping -t 2 geht-es.test

# mysql wird installiert und als service eingetragen
test -f $HOME/.composer/vendor/mariadb_installed >/dev/null 2>&1 ||
{
echo " mysql installieren"
brew install mariadb
brew services start mariadb; }

touch $HOME/.composer/vendor/mariadb_installed
echo "${CY}"
echo ""
echo "================================================================="
echo " WordPress Installation"
echo "================================================================="
echo ""
echo ""
# Ordner Abfragen indem WordPress entpackt werden soll
test -d ~/valet && echo "ok" || mkdir ~/valet
cd ~/valet
echo "${YEL} Der erstellte Ordner wird eine Domaine und in dem"
echo "${YEL} wird wordpress installiert zb. http://EUER_ORDNER_EINFGABE.test"
echo "${YEL} Der Ordner darf keine Sonderzeichen haben :-)"
echo "${RED} Nur den Ordner Namen angeben, keinen Pfad"
read apwd
test -d $apwd && echo " Ordner ist vorhanden!! Script neu starten." && exit || mkdir $apwd
cd $apwd
echo "${NC}"

# ssl einschalten
valet secure

# Ordner für den Webserver verlinken
echo " Web URL wird angelegt"
valet link
valet park

# Web URL
echo " Angelegt Web URL anzeigen"
valet links

# Zufälligen Datenbank Name erstellen (nur bei localen Systemen sinnvoll
dbname=$(LC_CTYPE=C tr -dc a-z0-9 < /dev/urandom | head -c 8)

# Aktuellen Ordner Namen ermitteln
apwd=${PWD##*/}

# Deutsches WordPress download
wp core download –locale=de_DE
# Englisches WordPress download
# wp core download

# wp-config table_prefix ändern auf Ordner Namen
p1=_wp_
mid=$(LC_CTYPE=C tr -dc 0-9 < /dev/urandom | head -c 3)
prefix=$apwd$mid$p1
# sed -i "s/^\$table_prefix \= .*/\$table_prefix \= ‘$prefix’/1" $(pwd)/wp-config.php
# cat $(pwd)/wp-config.php

# wp-config wird mit den benötigten Daten erstellt
wp core config –dbhost=localhost –dbuser=root –dbpass="" –dbname=$dbname –extra-php <<PHP
define( ‘WP_DEBUG’, true );
define( ‘SAVEQUERIES’, true );
define( ‘DISALLOW_FILE_EDIT’, true );
define( ‘WP_MEMORY_LIMIT’, ’64M’ );
\$table_prefix = ‘$prefix’;
PHP
echo " wp-config wurde erstellt"

# Sicherheitskey in wp-config automatisch neu generieren
wp config shuffle-salts

# Doppelten $table_prefix Eintrag aus wp-config löschen
# macOS Syntax
sed -i ” "s/^\$table_prefix \= ‘wp_’\;//1" $(pwd)/wp-config.php
# Linux Syntax
# sed -i "s/^\$table_prefix \= ‘wp_’\;//1" $(pwd)/wp-config.php

# 12 Zeichen langes Passwort wird per Zufall erstellt
# wppass=$(head /dev/urandom | LC_CTYPE=C tr -dc "[:print:]" | head -c 16)

# Passwort in die Zwischenablage kopieren
echo $wppass | pbcopy

# WordPress Datenbank wird erstellt
echo "Wordpress wird installiert"
wp db create
echo "wp db create ausgeführt"

# WordPress Benutzerdaten automatisch eintragen
echo " Die Benutzerdaten für WordPress werden automatisch eingetragen"
wp core install –url="http://$apwd.test" –title="$sitename" –admin_user="$wpuser" –admin_password="$wppass" –admin_email="$wpmail" –skip-email
# wp option update siteurl https://$apwd.test
# wp option update home https://$apwd.test

echo "${YEL}"
echo "================================================================="
echo ""
echo " WordPress wird konfiguriert"
echo ""
echo "================================================================="
echo "${NC}"

# Deutsche Sprache installieren
# echo " Deutsche Sprache wird installiert"
# wp language core install de_DE

echo " Theme Sprachpaket update wird installiert"
wp language theme update de_DE

# Deutsche Sprache aktivieren
# wp site switch-language de_DE

# Untertitel der Seite ändern
wp option update blogdescription "Ein Blog der anderen Art"

# Medien in einem Ordner
wp option update uploads_use_yearmonth_folders 0

# Kommentare müssen genehmigt werden
wp option update comment_moderation 1

# Standard Beitrag löschen
wp post delete 1 –force

# Permalinks auf Beitragsname ändern
wp rewrite structure ‘/%postname%/’ –hard
echo " Warning ist gefixed mit der .htaccess am Ende"
wp rewrite flush –hard
echo " Warning ist gefixed mit der .htaccess am Ende"

# Standard Themen löschen
wp theme list –status=inactive –field=name | while read THEME; do wp theme delete $THEME; done;

# Beispiel Seite löschen
wp post delete 2 –force

# Datenschutz Seite löschen
wp post delete 3 –force

# Suchmaschinen indexieren zulassen und einschalten
wp option update blog_public 1

# Nur 7 Einträge pro Archiv Seite anzeigen
wp option update posts_per_page 7

# Home Seite erstellen
wp post create –post_type=page –post_title=Home –post_status=publish –post_author=$(wp user get $wpuser –field=ID)

# Test Beiträge erstellen
# curl http://loripsum.net/api/4 | wp post generate –post_content –count=2

# Child Theme erstellen
# wp scaffold child-theme "Child Theme Divi" –parent_theme=Divi –theme_name="Child Theme Divi" –author="Michael Gebert" –author_uri="https://www.gebert.it" –theme_uri="https://www.gebert.it" –activate –force

# IMPRESSUM erstellen
echo "Impressum Seite wird erstellt"
# wp post create –post_type=page –post_status=publish –post_author=$wpuser –post_title=IMPRESSUM
wp post create –post_type=page –post_status=publish –post_author=$wpuser –post_content="$(curl https://www.gebert.it/_/muster_impressum.html)" –post_title=Impressum

# IMPRESSUM als Datenschutzseite
wp option update wp_page_for_privacy_policy $(wp post list –post_type=page |grep impressum | awk ‘{print $1}’)

# Meine Seiten erstellen
if [ "$mypages" ]; then
export IFS=","
for page in $mypages; do
wp post create –post_type=page –post_status=publish –post_author=$wpuser –post_title="$(echo $page | sed -e ‘s/^ *//’ -e ‘s/ *$//’)"
done
fi

# create a navigation bar
wp menu create "standardmenu"

# Eigene Seiten ins Standard Menü
export IFS=" "
for pageid in $(wp post list –order="ASC" –orderby="date" –post_type=page –post_status=publish –posts_per_page=-1 –field=ID –format=ids); do
wp menu item add-post standardmenu $pageid
done

# Erstelltes Menü aktivieren
if [ "$mypages" ]; then
wp menu location assign standardmenu menu-1
fi

# Meine Kategorien und Schlagwörter erstellen
echo "Kategorien werden erstellt"
if [ "$category" ]; then
# wp term delete category 1
export IFS=","
for tags in $category; do
wp term create category $tags
wp term create post_tag $tags
done
fi

# Beiträge oder statische Seite?
if [ "$my_blog" = "ja" ]; then
echo "WordPress wird als Blog installiert"
else
echo "Wordpress wird als Homepage installiert"
wp option update show_on_front ‘page’
wp option update page_on_front $(wp post list –post_type=page –post_status=publish –posts_per_page=1 –pagename=home –field=ID –format=ids)
fi

# Plugin löschen
wp plugin delete hello
wp plugin delete akismet

# Plugins installieren
wp plugin install child-theme-configurator –activate
wp plugin install debug-bar –activate
#wp plugin install cookie-notice –activate
#wp plugin install file-manager-advanced –activate
wp plugin install wordpress-importer –activate
#wp plugin install wps-hide-login
#wp plugin install google-sitemap-generator –activate
#wp plugin install google-captcha –activate
#wp plugin install google-analytics-dashboard-for-wp –activate
#wp plugin install wp-statistics –activate
wp plugin install syntaxhighlighter –activate
wp plugin install shortcodes-ultimate
wp plugin install simple-custom-css –activate
wp plugin install code-snippets
wp plugin install loco-translate
wp plugin install duplicator
wp plugin install all-in-one-wp-migration
#wp plugin install classic-editor
#wp plugin install classic-editor-addon
#wp plugin install ml-slider
wp login install –activate

# WordPress.org Favoriten installieren
if [ "$wordpressuser" ]; then
wp plugin favorites $wordpressuser | xargs wp plugin install –activate
fi

# Revesionen verwalten
#
# Alle amzeigen: wp revisions list
# Alle löschen außer die letzten 3 von jedem Posting: wp revisions clean 3
wp plugin install https://github.com/trepmal/wp-revisions-cli/archive/master.zip –activate
#

################################################################################
# #
# Verschiedene nützliche Befehle #
# #
################################################################################

# Plugin von einem eigenen Backup Server installieren
# wp plugin install https://www.Domaine.de/_wp_plugins_backup_/divi-builder.zip

# Plugin Suchen
# wp plugin search dsgnwrks

# Alle Plugin updaten
# wp plugin update –all

# Plugin löschen
# wp plugin –deactivate uninstall bbpress

# Plugin deaktivieren
# wp plugin –deactivate –all
# wp plugin deactivate 404-redirected

# Alle Plugins aktivieren
# wp plugin activate –all

# Alle SPAM Kommentare auf einmal löschen
# wp comment delete $(wp comment list –status=spam –format=ids)

# Wenn die Datenbank zu groß oder die Seite langsam ist – Müll entsorgen
# wp transient delete-all

# Suchen und Ersetzen in der Datenbank (-dry-run zum testen)
# wp search-replace ‘http://example.dev‘ ‘http://example.com‘ –skip-columns=guid

# wp-cli update
# wp cli update –nightly

# Datenbank Backup
# wp db export –add-drop-table
# wp db import wordpress_dbase.sql

# E-Mail vom Admin ändern
# wp option update admin_email someone@example.com

################################################################################
# #
# wp-cli addons #
# #
################################################################################

# Theme testen mit wp themecheck
wp plugin install theme-check –activate

# Favoriten anzeigen wp plugin favorites matt –verbose
# Favoriten Plugins von wordpress.org installieren mit
# wp plugin favorites <user> | xargs wp plugin install –activate
# Alle installieren ausser die 2 genannten
# wp plugin favorites <user> | grep -vwE "(hello-dolly|akismet)" | xargs wp plugin install –activate

# Standard WordPress .htaccess, wird für die Permalinks benötigt
echo " .htaccess Datei für WordPress erstellen"

cat > .htaccess <<EOF
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
EOF

echo "${CY}"
echo " ================================================================="
echo ""
echo " Installation ist beendet. Dein username/password lautet:"
echo ""
echo " Benutzer: $wpuser"
echo " Passwort: $wppass"
echo " E-Mail: $wpmail"
echo " Webseite: https://$apwd.test"
echo ""

echo ""
echo " ================================================================="
echo "${NC}"

echo " Standard Browser wird geöffnet mit der neuen Seite"
open $(wp login create $wpuser | grep http)
[/bash]

PlayStore: Multiling O Keyboard + emoji (kostenlos)

Im PlayStore sind wahre Perlen zu finden und “Multiling O Keyboard” ist eine sehr mächtige und Umfangreiche Tastatur, aber macht euch selbst ein Bild davon.
Zu finden ist diese Perle im Google Playstore:

Multiling O Keyboard
German Plugin

Unser Tastatur Layout mit select all, copy und paste findet ihr hier. Den Link solltet ihr mit Chrome unter Android öffnen. Ihr installiert zuerst die Tastatur, aktiviert diese und dann auf den Link klicken.
Alternativ könnt ihr es auch so installieren:
Mit dem Android Handy ruft ihr diese Seite auf und kopiert das Config Script in die Zwischenablage. Auf der Tastatur von der Leertaste nach oben wischen zu Layouts, “[+DIY]” wählen, und auf “Einfügen” klicken. Fertig! Das Tastaturlayout ist installiert und aktiv.
So schaut das Config Script aus:



"title":"MyGer",
"topBar":[
"[VOICE]",
"[HIDE]",
"[ESC]",
"[UNDO]",
"[TAB]",
"?",
"?",
"[…]",
"<!--…-->"
],
"onScreen":{
"main":[
"qwertzuiopü",
"asdfghjklöä",
"[SHIFT]yxcvbnm.,[ALL]",
"[TOOL][ALTGR:[COPY]][SPACE][][SYM:[PASTE]][DEL][ENTER]"
],
"sym":[
"1234567890ß",
"!\"€$%&amp;/\\()|",
";;:*+-=?@#_",
"[LOCK][ALTGR:[COPY]][SPACE][][][SYM:[PASTE]][DEL][ENTER]"
],
"altGr":[
"^[]{}‹›«»…&lt;&gt;'©®™",
"ا£¥♥‼♫►†☼¶¤",
"☺¼½¾≠±÷∞‰~",
"[LOCK][ALTGR:[COPY]][SPACE][][][SYM:[PASTE]][DEL][ENTER]"
],
"shifted":[
"QWERTZUIOPÜ",
"ASDFGHJKLÖÄ",
"[SHIFT]YXCVBNM.,[ALL]",
"[LOCK][ALTGR:[COPY]][SPACE][][][SYM:[PASTE]][DEL][ENTER]"
]
}
}

Das sind die Bilder vom Tastatur Layout:


Update 01.11.2018
Ein neues Layout wurde erstellt.

{
"title":"MyGer 2.0",
"topBar":[
"[VOICE]",
"[HIDE]",
"[ESC]",
"[UNDO]",
"[TAB]",
"?",
"?",
"[…]",
"<!--…-->",
"{…}",
"„…”",
"'…'"
],
"onScreen":{
"main":[
"qwertzuiopü",
"asdfghjklöä",
"[SHIFT]yxcvbnm.,[ALL]",
"[TOOL][ALTGR:[COPY]][SYM:[PASTE]][SPACE][][][123][DEL][UNDO]"
],
"sym":[
"1234567890ß",
"!\"€$%&amp;/\\()|",
";;:*+-=?@#_",
"[LOCK][ALTGR:[COPY]][SYM:[PASTE]][SPACE][][DEL][ENTER]"
],
"altGr":[
"^[]{}‹›«»…&lt;&gt;'`´",
"“”§£¥♥♫►†☼¶¤",
"©®™☺≠±÷∞‰~",
"[LOCK][ALTGR:[COPY]][SYM:[PASTE]][][SPACE][][][DEL][][ENTER]"
],
"num":[
"[SPACE]%/*-",
"€789+",
"$456.",
":123[Del]",
"[Lock]00,[Enter]"
],
"shifted":[
"QWERTZUIOPÜ",
"ASDFGHJKLÖÄ",
"[SHIFT]YXCVBNM.,[ALL]",
"[LOCK][ALTGR:[COPY]][SYM:[PASTE]][SPACE][][][123][DEL][UNDO]"
]
}
}

John mit Homebrew auf den Mac installieren

So installiert ihr John auf dem Mac.
Im Terminal werden die folgende Befehle eingegeben:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null
brew install john

Beim Start von john kam folgender Fehler:

fopen: /usr/local/share/john/john.ini: No such file or directory

Den Fehler behebt man am besten mit Symbol links:

ln -s /usr/local/opt/john/ /usr/local/share/
ln -s /usr/local/opt/john/libexec/john.ini /usr/local/share/john/
ln -s /usr/local/opt/john/libexec/password.lst /usr/local/share/john/
ln -s /usr/local/opt/john/libexec/ascii.chr /usr/local/share/john/
ln -s /usr/local/opt/john/libexec/digits.chr /usr/local/share/john/
ln -s /usr/local/opt/john/libexec/john /usr/local/share/john/
ln -s /usr/local/opt/john/libexec/lm_ascii.chr /usr/local/share/john/
ln -s /usr/local/opt/john/libexec/mailer /usr/local/share/john/
ln -s /usr/local/opt/john/libexec/makechr /usr/local/share/john/
ln -s /usr/local/opt/john/libexec/relbench /usr/local/share/john/
ln -s /usr/local/opt/john/libexec/unafs /usr/local/share/john/
ln -s /usr/local/opt/john/libexec/unique /usr/local/share/john/
ln -s /usr/local/opt/john/libexec/unshadow /usr/local/share/john/

Ein kleiner Test 🙂

https://openwall.info/wiki/john/custom-builds#Compiled-for-Mac-OS-X

Keine PDF Vorschau im Safari

 
safari_icon_large
 
Wer lieber die PDF Dateien runter laden will, anstatt die im Safari zu
lesen,  gibt den folgenden Befehl ins Terminal ein:
 

defaults write com.apple.Safari WebKitOmitPDFSupport -bool YES

Zurück zu der Standard Einstellung kommt ihr mit diesem Befehl:

defaults write com.apple.Safari WebKitOmitPDFSupport -bool NO

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock