Last active
November 26, 2021 06:39
-
-
Save Brawl345/8261916 to your computer and use it in GitHub Desktop.
Skripte
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Baut ein Paket aus dem Arch User Repository | |
# © 2014 Brawl345 | |
# | |
# Permission to use, copy, modify, and/or distribute this software for any | |
# purpose with or without fee is hereby granted, provided that the above | |
# copyright notice and this permission notice appear in all copies. | |
# | |
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | |
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | |
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | |
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | |
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | |
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
# Setup | |
# Standard Konfigurationsdatei | |
CONFIG_FILE=~/.aurbuild | |
# Auf Konfigurationsdatei prüfen und laden | |
if [[ -e $CONFIG_FILE ]]; then | |
# Lade Konfigurationen | |
source "$CONFIG_FILE" 2>/dev/null | |
# Geladene Daten prüfen | |
if [[ $BUILDDIR == "" || $REPO == "" || $REPONAME == "" ]]; then | |
echo -ne "Fehler beim Laden von $CONFIG_FILE...\n" | |
echo -ne "Bitte lösche die $CONFIG_FILE und versuche es erneut.\n" | |
exit 1 | |
fi | |
# Neues Setup... | |
else | |
while (true); do | |
echo -n " # Verzeichnis, in dem das Paket gebaut wird: " | |
read BUILDDIR | |
echo -n " # Verzeichnis, in dem deine Repo liegt: " | |
read REPO | |
echo -n " # Name deiner Repo: " | |
read REPONAME | |
echo -n " # Zusätzliche makepkg Parameter: " | |
read MAKEPKGPARAM | |
echo -n " # Zusätzliche repo-add Parameter: " | |
read REPOADDPARAM | |
echo -n " # Was soll nach dem ganzen Zirkus veranstaltet werden? " | |
read CUSTOM | |
echo -ne "\n > Alles korrekt? [j/n]: " | |
read ANTWORT | |
if [[ $ANTWORT == "j" ]]; then | |
break; | |
fi | |
done | |
# Speichern... | |
echo "BUILDDIR=$BUILDDIR" > "$CONFIG_FILE" | |
echo "REPO=$REPO" >> "$CONFIG_FILE" | |
echo "REPONAME=$REPONAME" >> "$CONFIG_FILE" | |
echo "MAKEPKGPARAM=\"$MAKEPKGPARAM\"" >> "$CONFIG_FILE" | |
echo "REPOADDPARAM=\"$REPOADDPARAM\"" >> "$CONFIG_FILE" | |
echo "CUSTOM=$CUSTOM" >> "$CONFIG_FILE" | |
echo -ne "\n Setup abgeschlossen!\n" | |
fi | |
# Wenn nichts gesetzt ist | |
if [[ -z "$1" ]]; | |
then | |
echo -e "Andis AUR-Builder\n" | |
echo "Benutzung:" | |
echo "$0 aur-paket [Parameter] " | |
echo "Parameter: --new für neues Paket" | |
exit 1 | |
fi | |
# Variablen | |
PAKET="${1,,}" # nicht anpassen | |
TWOLETTERS="$(echo $PAKET | head -c 2)" # nicht anpassen | |
TARGZNAME="$PAKET.tar.gz" # nicht anpassen | |
PRESIGNING="y" # (y/n) - bei "y" wird zufällige Datei in /tmp/ erstellt und vor dem eigentlichen Download-Prozess gesigned. Dies ist nützlich, falls man Pakete signiert und einen Daemon laufen lässt, der nur alle paar Stunden nach dem Passwort für den Schlüssel fragt. Man kann dann das Skript einfach unbeobachtet laufen lassen, ohne, dass es beim Passwort einen time-out gibt und einem die Repo shreddert. | |
ZUFALLSDATEI="$RANDOM" | |
# Hier geht's los | |
# Prüfe auf REPO | |
if [ ! -d $REPO ]; | |
then | |
echo "Erstelle $REPO" | |
mkdir -p "$REPO" | |
if [ ! -d $REPO ]; | |
then | |
echo "FEHLER! " | |
echo "$REPO konnte nicht erstellt werden. Hast du Schreibzugriff?" | |
exit 1 | |
fi | |
fi | |
# Erstelle BUILDDIR | |
if [ ! -d $BUILDDIR ]; | |
then | |
echo "Erstelle $BUILDDIR" | |
mkdir -p "$BUILDDIR" | |
if [ ! -d $BUILDDIR ]; | |
then | |
echo "FEHLER! " | |
echo "$BUILDDIR konnte nicht erstellt werden. Hast du Schreibzugriff?" | |
exit 1 | |
fi | |
fi | |
cd "$BUILDDIR" | |
# PRESIGINING, falls angeschaltet | |
if [ "$PRESIGNING" == "y" ]; | |
then | |
echo "Presigning wird ausgeführt" | |
touch "/tmp/$ZUFALLSDATEI" | |
gpg --detach-sign "/tmp/$ZUFALLSDATEI" | |
if [ ! -f /tmp/$ZUFALLSDATEI.sig ]; | |
then | |
echo "FEHLER! " | |
echo "Presigning konnte nicht durchgeführt werden - breche sicherheitshalber ab" | |
rm "/tmp/$ZUFALLSDATEI" | |
exit 1 | |
fi | |
echo "Presigning wurde erfolgreich ausgeführt." | |
rm /tmp/$ZUFALLSDATEI* | |
fi | |
# Downloade .tar.gz Paket | |
echo "Downloade $PAKET..." | |
curl -O -# "https://aur.archlinux.org/packages/$TWOLETTERS/$PAKET/$TARGZNAME" | |
if [ ! -f $TARGZNAME ]; | |
then | |
echo "FEHLER! " | |
echo "Datei konnte nicht heruntergeladen werden." | |
exit 1 | |
fi | |
# Lösche vorhandenen Ordner | |
if [ -d $PAKET ]; | |
then | |
rm -rf $PAKET | |
if [ -d $PAKET ]; | |
then | |
echo "FEHLER! " | |
echo "Verzeichnis $PAKET konnte nicht gelöscht werden." | |
exit 1 | |
fi | |
fi | |
# Entpacke .tar.gz | |
tar -vxzf "$TARGZNAME" | |
if [ ! -d $PAKET ]; | |
then | |
echo "FEHLER! " | |
echo "$TARGZNAME konnte nicht entpackt werden." | |
exit 1 | |
fi | |
rm $TARGZNAME | |
cd $PAKET | |
makepkg $MAKEPKGPARAM | |
# Prüfe, ob das Bauen geklappt hat | |
PKGCHECK=`ls -1 *.pkg.tar.xz 2>/dev/null | wc -l` | |
if [ $PKGCHECK = 0 ] | |
then | |
echo "FEHLER! " | |
echo "PKG konnte nicht gebaut werden." | |
echo "Aufräumen..." | |
rm -rf $PAKET | |
exit 1 | |
fi | |
# Lösche vorhandene .pkg.tar.xz | |
if [ ! "$2" = "--new" ]; | |
then | |
rm $REPO/$PAKET* | |
fi | |
mv *.pkg.tar.xz* "$REPO" | |
cd $REPO | |
repo-add -n "$REPONAME.db.tar.gz" *.pkg.tar.xz $REPOADDPARAM | |
$CUSTOM | |
echo "Aufräumen..." | |
rm -rf $PAKET | |
echo "Erfolg! " | |
exit 0 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Lädt die aktuellste WiiFlow-Beta | |
echo "Downloade WiiFlow" | |
cd /tmp | |
# Die aktuelle WiiFlow-Beta laden, die immer im 7Z-Format auf FIX94s Seite hochgeladen ist | |
wget -r --level 1 -A 7z "http://fix94.no-ip.org/wf_revs/" | |
cd fix94.no-ip.org/wf_revs | |
# Die aktuellste WiiFlow-Revision auslesen. Nicht schön, klappt aber! | |
basename boot* > /tmp/wiiflowrev | |
sed s/boot_r//g /tmp/wiiflowrev > /tmp/wiiflowrev2 | |
REV=$(sed s/.7z//g /tmp/wiiflowrev2) | |
echo "WiiFlow Revision ist r$REV - 3 Sekunden zum Abbrechen" | |
sleep 3 | |
notify-send -t 8000 -i /usr/share/icons/gnome/32x32/status/info.png "WiiFlow" "r$REV wird vorbereitet" | |
# Entpacken der 7Z | |
7za x boot_r* -Oex/ | |
cd ex/ | |
# Überflüssiges löschen | |
rm -r bins/ imgs/ | |
# LAAAAANGE URL-Liste mit allen WiiFlow-relevanten Daten (Sprachdateien, icon.png, meta.xml, Hilfedateien, Einstellungen, Theme) | |
wget https://open-wiiflow-mod.googlecode.com/svn/trunk/wii/apps/wiiflow/icon.png https://open-wiiflow-mod.googlecode.com/svn/trunk/wii/apps/wiiflow/meta.xml https://open-wiiflow-mod.googlecode.com/svn/trunk/wii/docs/Controls.txt https://open-wiiflow-mod.googlecode.com/svn/trunk/wii/docs/FAQ.txt https://open-wiiflow-mod.googlecode.com/svn/trunk/wii/docs/Readme.txt https://open-wiiflow-mod.googlecode.com/svn/trunk/wii/wiiflow/Languages/arab.ini https://open-wiiflow-mod.googlecode.com/svn/trunk/wii/wiiflow/Languages/brazilian.ini https://open-wiiflow-mod.googlecode.com/svn/trunk/wii/wiiflow/Languages/chinese_s.ini https://open-wiiflow-mod.googlecode.com/svn/trunk/wii/wiiflow/Languages/chinese_t.ini https://open-wiiflow-mod.googlecode.com/svn/trunk/wii/wiiflow/Languages/danish.ini https://open-wiiflow-mod.googlecode.com/svn/trunk/wii/wiiflow/Languages/dutch.ini https://open-wiiflow-mod.googlecode.com/svn/trunk/wii/wiiflow/Languages/english.ini https://open-wiiflow-mod.googlecode.com/svn/trunk/wii/wiiflow/Languages/finnish.ini https://open-wiiflow-mod.googlecode.com/svn/trunk/wii/wiiflow/Languages/french.ini https://open-wiiflow-mod.googlecode.com/svn/trunk/wii/wiiflow/Languages/gallego.ini https://open-wiiflow-mod.googlecode.com/svn/trunk/wii/wiiflow/Languages/german.ini https://open-wiiflow-mod.googlecode.com/svn/trunk/wii/wiiflow/Languages/hungarian.ini https://open-wiiflow-mod.googlecode.com/svn/trunk/wii/wiiflow/Languages/italian.ini https://open-wiiflow-mod.googlecode.com/svn/trunk/wii/wiiflow/Languages/japanese.ini https://open-wiiflow-mod.googlecode.com/svn/trunk/wii/wiiflow/Languages/korean.ini https://open-wiiflow-mod.googlecode.com/svn/trunk/wii/wiiflow/Languages/norwegian.ini https://open-wiiflow-mod.googlecode.com/svn/trunk/wii/wiiflow/Languages/polish.ini https://open-wiiflow-mod.googlecode.com/svn/trunk/wii/wiiflow/Languages/portuguese.ini https://open-wiiflow-mod.googlecode.com/svn/trunk/wii/wiiflow/Languages/russian.ini https://open-wiiflow-mod.googlecode.com/svn/trunk/wii/wiiflow/Languages/spanish.ini https://open-wiiflow-mod.googlecode.com/svn/trunk/wii/wiiflow/Languages/swedish.ini https://open-wiiflow-mod.googlecode.com/svn/trunk/wii/wiiflow/Languages/tagalog.ini https://open-wiiflow-mod.googlecode.com/svn/trunk/wii/wiiflow/Languages/turkish.ini https://open-wiiflow-mod.googlecode.com/svn/trunk/wii/wiiflow/boxcovers/JODI.png https://open-wiiflow-mod.googlecode.com/svn/trunk/wii/wiiflow/fanart/GAMEID.ini https://open-wiiflow-mod.googlecode.com/svn/trunk/wii/wiiflow/help/danish.txt https://open-wiiflow-mod.googlecode.com/svn/trunk/wii/wiiflow/help/dutch.txt https://open-wiiflow-mod.googlecode.com/svn/trunk/wii/wiiflow/help/french.txt https://open-wiiflow-mod.googlecode.com/svn/trunk/wii/wiiflow/help/german.txt https://open-wiiflow-mod.googlecode.com/svn/trunk/wii/wiiflow/help/italian.txt https://open-wiiflow-mod.googlecode.com/svn/trunk/wii/wiiflow/help/spanish.txt https://open-wiiflow-mod.googlecode.com/svn/trunk/wii/wiiflow/settings/gameconfig1.ini https://open-wiiflow-mod.googlecode.com/svn/trunk/wii/wiiflow/settings/gameconfig2.ini https://open-wiiflow-mod.googlecode.com/svn/trunk/wii/wiiflow/source_menu/Setup.txt https://open-wiiflow-mod.googlecode.com/svn/trunk/wii/wiiflow/themes/default.ini | |
# Erstelle der WiiFlow-Ordner | |
mkdir apps apps/wiiflow-beta docs wiiflow wiiflow/Languages wiiflow/boxcovers wiiflow/fanart wiiflow/help wiiflow/settings wiiflow/source_menu wiiflow/themes | |
# Ein paar mv-Kommandos zum Verschieben der Daten | |
mv boot.dol icon.png meta.xml apps/wiiflow-beta | |
mv Controls.txt FAQ.txt Readme.txt docs/ | |
mv GAMEID.ini wiiflow/fanart | |
mv gameconfig*.ini wiiflow/settings | |
mv default.ini wiiflow/themes | |
mv Setup.txt wiiflow/source_menu | |
mv *.txt wiiflow/help | |
mv *.ini wiiflow/Languages | |
mv JODI.png wiiflow/boxcovers | |
# Zippen und verschieben | |
zip -r WiiFlow-Beta.zip * | |
mv WiiFlow-Beta.zip "~/Downloads/WiiFlow Beta.zip" | |
notify-send -t 8000 -i /usr/share/icons/gnome/32x32/status/info.png "WiiFlow" "ABGESCHLOSSEN!" | |
exit 0 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# Liest Link aus Zwischenablage ein, fragt per wget den Server nach der richtigen URL und fügt ihn per xclip wieder ein | |
# xsel, xclip und wget benötigt | |
# Lese Adresse aus der Zwischenablage ein | |
ADRESSE=$(xsel -b) | |
echo "Vorgang eingeleitet - $ADRESSE wird ausgelesen..." | |
# notify-send -t 5000 -i /usr/share/icons/gnome/32x32/status/dialog-warning.png "Vorgang eingeleitet" "$ADRESSE wird ausgelesen..." | |
# Frage per wget den Server nach der richtigen Location | |
URL=$(wget --max-redirect=0 --server-response -qO- "$ADRESSE" 2>&1 | grep [Ll]ocation | awk '{print $2}') | |
# Umweg über /tmp/, da xclip zu doof ist oder ich zu doof für xclip | |
echo "$URL" | |
echo "$URL" > /tmp/linkextender | |
# Füge Link in Zwischenablage ein | |
cat /tmp/linkextender | xclip -selection clipboard | |
notify-send -t 8000 -i /usr/share/icons/gnome/32x32/status/stock_attach.png "$ADRESSE ist" "$URL" | |
# rm /tmp/linkextender | |
exit 0 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# | |
# Dieses Skript sichert die Namen der installierten Pakete (auch die aus dem AUR) in einer Liste, die Pacman.conf und die mirrorlist, damit du | |
# alle nach einer Neuinstallation einfach wiederherstellen kannst! | |
# | |
# Du benötigst: | |
# Pacman-Paketverwaltung | |
# libnotify | |
# tar | |
# angepasste Variablen für externe Festplatte. | |
# | |
# Siehe zur Wiederherstellung: https://wiki.archlinux.org/index.php/pacman_Tips#Backing_up_and_retrieving_a_list_of_installed_packages | |
# | |
# © 2014 Brawl345 | |
# Variablen setzen | |
SICHERUNGSNAME="Pacman.tar.gz" | |
SICHERUNGSZIEL="$HOME/Dokumente/" | |
EXTERNESICHERUNG="1" # Ein zweites Sicherungsziel festlegen (z.B. Externe Festplatte)? 0 = aus; 1 = an | |
EXTERNEHDD="/run/media/$USER/PLATTE" | |
EXTERNESSICHERUNGSZIEL="/run/media/$USER/PLATTE/GGF/UNTERVERZEICHNISSE/" | |
# ------------------- AB HIER NICHTS MEHR ANPASSEN ------------------- # | |
# Paketliste sichern | |
cd ~/ | |
pacman -Qqen > pkglist | |
pacman -Qqm > pkglist-aur | |
# Pacman.conf + mirrorlist sichern | |
cp /etc/pacman.conf pacman.conf | |
cp /etc/pacman.d/mirrorlist mirrorlist | |
# Packe die Sicherung in eine .tar.gz | |
tar -czf "$SICHERUNGSNAME" pacman.conf pkglist pkglist-aur mirrorlist | |
# Sicherung wird in "Dokumente" verschoben, vorhandene überschrieben | |
cp "$SICHERUNGSNAME" "$SICHERUNGSZIEL" | |
# Sicherung auf externe Festplatte speichern | |
if [ "$EXTERNESICHERUNG" == "1" ]; | |
then | |
if [ -d "$EXTERNEHDD" ]; | |
then | |
if [ -d "$EXTERNESSICHERUNGSZIEL" ]; | |
then | |
cp "$SICHERUNGSNAME" "$EXTERNESSICHERUNGSZIEL" | |
else | |
mkdir -p "$EXTERNESSICHERUNGSZIEL" | |
cp "$SICHERUNGSNAME" "$EXTERNESSICHERUNGSZIEL" | |
fi | |
else | |
echo "Externes Sicherungsziel nicht angeschlossen - Überspringe..." | |
fi | |
fi | |
# Aufräumen | |
rm pkglist pkglist-aur pacman.conf mirrorlist $SICHERUNGSNAME | |
# Benachrichtigung senden | |
if [ "$EXTERNESICHERUNG" == "1" ]; | |
then | |
if [ -d "$EXTERNEHDD" ]; | |
then | |
notify-send -t 8000 -i /usr/share/icons/gnome/32x32/status/info.png "Ausgeführt" "Die Sicherung der Pakete und Sources wurde erfolgreich ausgeführt - es wurde auch auf die externe Festplatte gesichert." | |
echo "Die Sicherung der Pakete und Sources wurde erfolgreich ausgeführt - es wurde auch auf die externe Festplatte gesichert." | |
else | |
notify-send -t 8000 -i /usr/share/icons/gnome/32x32/status/info.png "Ausgeführt" "Die Sicherung der Pakete und Sources wurde erfolgreich ausgeführt." | |
echo "Die Sicherung der Pakete und Sources wurde erfolgreich ausgeführt." | |
fi | |
else | |
notify-send -t 8000 -i /usr/share/icons/gnome/32x32/status/info.png "Ausgeführt" "Die Sicherung der Pakete und Sources wurde erfolgreich ausgeführt." | |
echo "Die Sicherung der Pakete und Sources wurde erfolgreich ausgeführt." | |
fi |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Du benötigst: | |
# apt-get deb. Paketverwaltung (Ubuntu und Derrivate) | |
# libnotify-bin | |
# tar | |
# Siehe zur Wiederherstellung: http://wiki.ubuntuusers.de/Paketverwaltung/Tipps#Paketliste-zur-Wiederherstellung-erzeugen | |
# | |
# © 2014 Brawl345 | |
# Variablen setzen | |
SICHERUNGSNAME="Paketverwaltung.tar.gz" | |
SICHERUNGSZIEL="$HOME/Dokumente/" | |
EXTERNESICHERUNG="1" # Ein zweites Sicherungsziel festlegen (z.B. Externe Festplatte)? 0 = aus; 1 = an | |
EXTERNEHDD="/media/$USER/PLATTE" | |
EXTERNESSICHERUNGSZIEL="/media/$USER/PLATTE/GENAUES/UNTERVERZEICHNIS/" | |
# ------------------- AB HIER NICHTS MEHR ANPASSEN ------------------- # | |
# Pakete und deren Status sichern | |
dpkg --get-selections | awk '!/deinstall|purge|hold/ {print $1}' > ~/packages.list | |
apt-mark showauto > ~/package-states-auto | |
# Sources sichern | |
find /etc/apt/sources.list* -type f -name '*.list' -exec bash -c 'echo -e "\n## $1 ";grep "^[[:space:]]*[^#[:space:]]" ${1}' _ {} \; > ~/sources.list.sav | |
# Packe die Sicherung in eine .tar.gz | |
cd ~/ | |
tar -czf "$SICHERUNGSNAME" packages.list package-states-auto sources.list.sav | |
# Sicherung wird in "Dokumente" verschoben, vorhandene überschrieben | |
cp "$SICHERUNGSNAME" "$SICHERUNGSZIEL" | |
# Sicherung auf externe Festplatte speichern | |
if [ "$EXTERNESICHERUNG" == "1" ]; | |
then | |
if [ -d "$EXTERNEHDD" ]; | |
then | |
if [ -d "$EXTERNESSICHERUNGSZIEL" ]; | |
then | |
cp "$SICHERUNGSNAME" "$EXTERNESSICHERUNGSZIEL" | |
else | |
mkdir -p "$EXTERNESSICHERUNGSZIEL" | |
cp "$SICHERUNGSNAME" "$EXTERNESSICHERUNGSZIEL" | |
fi | |
else | |
echo "Externes Sicherungsziel nicht angeschlossen - Überspringe..." | |
fi | |
fi | |
# Aufräumen | |
rm packages.list package-states-auto sources.list.sav $SICHERUNGSNAME | |
# Benachrichtigung senden | |
if [ "$EXTERNESICHERUNG" == "1" ]; | |
then | |
if [ -d "$EXTERNEHDD" ]; | |
then | |
notify-send -t 8000 -i /usr/share/icons/gnome/32x32/status/info.png "Ausgeführt" "Die Sicherung der Pakete und Sources wurde erfolgreich ausgeführt - es wurde auch auf die externe Festplatte gesichert." | |
echo "Die Sicherung der Pakete und Sources wurde erfolgreich ausgeführt - es wurde auch auf die externe Festplatte gesichert." | |
else | |
notify-send -t 8000 -i /usr/share/icons/gnome/32x32/status/info.png "Ausgeführt" "Die Sicherung der Pakete und Sources wurde erfolgreich ausgeführt." | |
echo "Die Sicherung der Pakete und Sources wurde erfolgreich ausgeführt." | |
fi | |
else | |
notify-send -t 8000 -i /usr/share/icons/gnome/32x32/status/info.png "Ausgeführt" "Die Sicherung der Pakete und Sources wurde erfolgreich ausgeführt." | |
echo "Die Sicherung der Pakete und Sources wurde erfolgreich ausgeführt." | |
fi |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# Macht einen Screenshot mit Scrot, lädt ihn auf Dropbox hoch, erzeugt einen Direktlink und kopiert diesen in die Zwischenablage | |
# © 2014 Brawl345 | |
# Benötigt wird der "Dropbox-Uploader" von https://github.com/andreafabrizi/Dropbox-Uploader, welcher mit einem einfachen "curl "https://raw.github.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh" -o dropbox_uploader.sh" geholt werden kann. Dieser muss einmalig aufgerufen werden und alle Einstellungen vorgenommen werden. Erzeuge dann einen Symlink vom dropbox_uploader.sh in /usr/local/bin und nenne diese "dropbox_uploader" | |
# Die App sollte VOLLEN DROPBOX-ZUGRIFF haben. | |
# | |
# Optionen: | |
# -s: Auswählen eines Bereiches | |
# -u: Screenshot des aktuellen Fensters machen (nutzt scrot -ub für den Rahmen) | |
# --help: Hilfe anzeigen | |
# Setze Variablen | |
dbfolder="Bilder/Bildschirmfotos" # Verzeichnis, in das die Bilder auf Dropbox hochgeladen werden | |
scrotdir="$HOME/Bilder/Bildschirmfotos" # Das Verzeichnis, in dem die Bilder lokal gespeichert werden | |
scrotname="Bilschirmfoto vom `date +%Y-%m-%d` `date +%T`.png" # Name des Bildes | |
# Prüfe, ob User eine Option gesetzt hat | |
if [ "$1" = "-s" ]; then | |
gnome-screenshot -af "$scrotdir/$scrotname" | |
if [ ! -f "$scrotdir/$scrotname" ]; | |
then | |
echo "Vorgang wurde von User abgebrochen" | |
exit 0 | |
fi | |
else | |
if [ "$1" = "-u" ]; then | |
gnome-screenshot -wbf "$scrotdir/$scrotname" --border-effect=shadow | |
if [ ! -f "$scrotdir/$scrotname" ]; | |
then | |
echo "Vorgang wurde von User abgebrochen" | |
exit 0 | |
fi | |
else | |
if [ "$1" = "--help" ]; then | |
echo "Screenshot To Dropbox by Andreas Bielawski" | |
echo "Benutzung : ./screenshot [OPTIONEN]" | |
echo " Internetverbindung benötigt. Ohne gibt es lustige Nebenwirkungen!" | |
echo " Du musst dir den Dropbox-Uploader von" | |
echo " https://github.com/andreafabrizi/Dropbox-Uploader" | |
echo " laden und einen Systemlink in /usr/local/bin mit dem Namen" | |
echo " 'dropbox_uploader' erstellen!" | |
echo "" | |
echo " Keine Option Den gesamten Bildschirm aufnehmen" | |
echo " -s Einen frei wählbaren Bereich aufnehmen" | |
echo " -u Das aktuelle Fenster aufnehmen" | |
echo "" | |
echo "<http://wiidatabase.de/>" | |
exit 0 | |
else | |
gnome-screenshot -f "$scrotdir/$scrotname" | |
if [ ! -f "$scrotdir/$scrotname" ]; | |
then | |
echo "Vorgang wurde von User abgebrochen" | |
exit 0 | |
fi | |
fi | |
fi | |
fi | |
# 1 Sekunde Wartezeit, damit die Benachrichtigung nicht mit auf dem Screenshot ist. | |
sleep 1 | |
# Sende Benachrichtigung | |
cd "$scrotdir" | |
notify-send -t 3000 -i /usr/share/icons/gnome/32x32/status/info.png "Screenshot" "...wird hochgeladen" | |
# Uploade den Screenshot | |
dropbox_uploader -p upload "$scrotname" "$dbfolder/$scrotname" | |
# Teile den Screenshot, nehme den Link... | |
URL=$(dropbox_uploader share "$dbfolder/$scrotname" | awk '{print $4}') | |
# ...und ersetze "www.dropbox.com" durch "dl.dropboxusercontent.com" und füge diesen in die Zwischenablage ein. Bei dl.dropboxusercontent.com wird das Bild direkt angezeigt. | |
echo "$URL" > /tmp/dropboxlink | |
sed s/www.dropbox/dl.dropboxusercontent/g /tmp/dropboxlink | xclip -selection clipboard | |
notify-send -t 8000 -i /usr/share/icons/gnome/32x32/status/info.png "Screenshot" "Link in Zwischenablage kopiert" | |
exit 0 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# Macht einen Screenshot mit Scrot, lädt ihn auf Dropbox hoch, erzeugt einen Direktlink und kopiert diesen in die Zwischenablage | |
# © 2014 Brawl345 | |
# Benötigt wird der "Dropbox-Uploader" von https://github.com/andreafabrizi/Dropbox-Uploader, welcher mit einem einfachen "curl "https://raw.github.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh" -o dropbox_uploader.sh" geholt werden kann. Dieser muss einmalig aufgerufen werden und alle Einstellungen vorgenommen werden. Erzeuge dann einen Symlink vom dropbox_uploader.sh in /usr/local/bin und nenne diese "dropbox_uploader" | |
# Die App sollte VOLLEN DROPBOX-ZUGRIFF haben. | |
# | |
# Optionen: | |
# -s: Auswählen eines Bereiches | |
# -u: Screenshot des aktuellen Fensters machen (nutzt scrot -ub für den Rahmen) | |
# --help: Hilfe anzeigen | |
# Setze Variablen | |
dbfolder="Bilder/Bildschirmfotos" # Verzeichnis, in das die Bilder auf Dropbox hochgeladen werden | |
scrotdir="$HOME/Bilder/Bildschirmfotos" # Das Verzeichnis, in dem die Bilder lokal gespeichert werden | |
scrotname="Bilschirmfoto vom `date +%Y-%m-%d` `date +%T`.png" # Name des Bildes | |
# Prüfe, ob User eine Option gesetzt hat | |
if [ "$1" = "-s" ]; then | |
scrot -s "$scrotdir/$scrotname" | |
if [ ! -f "$scrotdir/$scrotname" ]; | |
then | |
echo "Vorgang wurde von User abgebrochen" | |
exit 0 | |
fi | |
else | |
if [ "$1" = "-u" ]; then | |
scrot -ub "$scrotdir/$scrotname" | |
if [ ! -f "$scrotdir/$scrotname" ]; | |
then | |
echo "Vorgang wurde von User abgebrochen" | |
exit 0 | |
fi | |
else | |
if [ "$1" = "--help" ]; then | |
echo "Screenshot To Dropbox by Andreas Bielawski" | |
echo "Benutzung : ./screenshot [OPTIONEN]" | |
echo " Internetverbindung benötigt. Ohne gibt es lustige Nebenwirkungen!" | |
echo " Du musst dir den Dropbox-Uploader von" | |
echo " https://github.com/andreafabrizi/Dropbox-Uploader" | |
echo " laden und einen Systemlink in /usr/local/bin mit dem Namen" | |
echo " 'dropbox_uploader' erstellen!" | |
echo "" | |
echo " Keine Option Den gesamten Bildschirm aufnehmen" | |
echo " -s Einen frei wählbaren Bereich aufnehmen" | |
echo " -u Das aktuelle Fenster aufnehmen" | |
echo "" | |
echo "<http://wiidatabase.de/>" | |
exit | |
else | |
scrot "$scrotdir/$scrotname" | |
if [ ! -f "$scrotdir/$scrotname" ]; | |
then | |
echo "Vorgang wurde von User abgebrochen" | |
exit 0 | |
fi | |
fi | |
fi | |
fi | |
# 1 Sekunde Wartezeit, damit die Benachrichtigung nicht mit auf dem Screenshot ist. | |
sleep 1 | |
# Sende Benachrichtigung | |
cd "$scrotdir" | |
notify-send -t 3000 -i /usr/share/icons/gnome/32x32/status/info.png "Screenshot" "...wird hochgeladen" | |
# Uploade den Screenshot | |
dropbox_uploader upload "$scrotname" "$dbfolder/$scrotname" | |
# Teile den Screenshot, nehme den Link... | |
URL=$(dropbox_uploader share "$dbfolder/$scrotname" | awk '{print $4}') | |
# ...und ersetze "www.dropbox.com" durch "dl.dropboxusercontent.com" und füge diesen in die Zwischenablage ein. Bei dl.dropboxusercontent.com wird das Bild direkt angezeigt. | |
echo "$URL" > /tmp/dropboxlink | |
sed s/www.dropbox/dl.dropboxusercontent/g /tmp/dropboxlink | xclip -selection clipboard | |
notify-send -t 8000 -i /usr/share/icons/gnome/32x32/status/info.png "Screenshot" "Link in Zwischenablage kopiert" | |
exit 0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment