From 227493cbca79a8e8e84df3d021c22c53260b060e Mon Sep 17 00:00:00 2001 From: Page Asgardius Date: Sun, 31 Dec 2023 10:55:53 -0700 Subject: [PATCH] first compilation --- asia fonts arch linux.sh | 1 + fix dns arch.sh | 4 + fix dns opensuse.sh | 4 + flash moto g7 power stock image.sh | 34 +++++++ jellyfinbackup.sh | 5 + mediabackup.sh | 3 + mysql-docker.sh | 1 + plexbackup.sh | 5 + powerbalance.sh | 3 + powersave.sh | 3 + r3backup.sh | 3 + test.sh | 6 ++ umsgadget.sh | 75 +++++++++++++++ usbgadget.sh | 142 +++++++++++++++++++++++++++++ wifi-to-eth-route.sh | 50 ++++++++++ 15 files changed, 339 insertions(+) create mode 100644 asia fonts arch linux.sh create mode 100644 fix dns arch.sh create mode 100644 fix dns opensuse.sh create mode 100644 flash moto g7 power stock image.sh create mode 100644 jellyfinbackup.sh create mode 100644 mediabackup.sh create mode 100644 mysql-docker.sh create mode 100644 plexbackup.sh create mode 100644 powerbalance.sh create mode 100644 powersave.sh create mode 100644 r3backup.sh create mode 100644 test.sh create mode 100644 umsgadget.sh create mode 100644 usbgadget.sh create mode 100644 wifi-to-eth-route.sh diff --git a/asia fonts arch linux.sh b/asia fonts arch linux.sh new file mode 100644 index 0000000..c0a04a0 --- /dev/null +++ b/asia fonts arch linux.sh @@ -0,0 +1 @@ +sudo pacman -S adobe-source-han-sans-jp-fonts otf-ipafont adobe-source-han-sans-cn-fonts adobe-source-han-sans-tw-fonts ttf-baekmuk diff --git a/fix dns arch.sh b/fix dns arch.sh new file mode 100644 index 0000000..c5582d3 --- /dev/null +++ b/fix dns arch.sh @@ -0,0 +1,4 @@ +sudo rm /etc/resolv.conf.orig +sudo rm /etc/resolv.conf +sudo ln -s /run/NetworkManager/resolv.conf /etc/resolv.conf +echo /etc/resolvconf file fixed diff --git a/fix dns opensuse.sh b/fix dns opensuse.sh new file mode 100644 index 0000000..8c29c40 --- /dev/null +++ b/fix dns opensuse.sh @@ -0,0 +1,4 @@ +sudo rm /etc/resolv.conf.orig +sudo rm /etc/resolv.conf +sudo ln -s /run/netconfig/resolv.conf /etc/resolv.conf +echo /etc/resolvconf file fixed diff --git a/flash moto g7 power stock image.sh b/flash moto g7 power stock image.sh new file mode 100644 index 0000000..a2357b0 --- /dev/null +++ b/flash moto g7 power stock image.sh @@ -0,0 +1,34 @@ +fastboot flash partition ocean/gpt.bin +fastboot flash bootloader ocean/bootloader.img +fastboot flash logo ocean/logo.bin +fastboot flash boot ocean/boot.img +fastboot flash recovery ocean/recovery.img +fastboot flash dsp ocean/adspso.bin +fastboot oem fb_mode_set +fastboot flash oem ocean/oem.img +fastboot flash system ocean/system.img_sparsechunk.0 +fastboot flash system ocean/system.img_sparsechunk.1 +fastboot flash system ocean/system.img_sparsechunk.2 +fastboot flash system ocean/system.img_sparsechunk.3 +fastboot flash system ocean/system.img_sparsechunk.4 +fastboot flash system ocean/system.img_sparsechunk.5 +fastboot flash system ocean/system.img_sparsechunk.6 +fastboot flash system ocean/system.img_sparsechunk.7 +fastboot flash system ocean/system.img_sparsechunk.8 +fastboot flash system ocean/system.img_sparsechunk.9 +fastboot flash system ocean/system.img_sparsechunk.10 +fastboot flash system_b ocean/system_b.img_sparsechunk.0 +fastboot flash system_b ocean/system_b.img_sparsechunk.1 +fastboot flash system_b ocean/system_b.img_sparsechunk.2 +fastboot flash vendor ocean/vendor.img_sparsechunk.0 +fastboot flash vendor ocean/vendor.img_sparsechunk.1 +fastboot flash modem ocean/NON-HLOS.bin +fastboot erase modemst1 +fastboot erase modemst2 +fastboot flash fsg ocean/fsg.mbn +fastboot erase cache +fastboot erase userdata +fastboot erase customize +fastboot erase clogo +fastboot oem fb_mode_clear +fastboot reboot diff --git a/jellyfinbackup.sh b/jellyfinbackup.sh new file mode 100644 index 0000000..0a45f5e --- /dev/null +++ b/jellyfinbackup.sh @@ -0,0 +1,5 @@ +#!/bin/bash +CURRENTDATE=`date +"%Y-%m-%d-%H-%M"` +sudo systemctl stop jellyfin +sudo borg create ssh://pi@naomi.asgardius.company:22/data/jellyfin::jellyfin-${CURRENTDATE} /var/lib/jellyfin /etc/jellyfin /var/log/jellyfin /var/cache/jellyfin /etc/default/jellyfin /usr/bin/jellyfinbackup +sudo systemctl start jellyfin diff --git a/mediabackup.sh b/mediabackup.sh new file mode 100644 index 0000000..5950ba1 --- /dev/null +++ b/mediabackup.sh @@ -0,0 +1,3 @@ +#!/bin/bash +CURRENTDATE=`date +"%Y-%m-%d-%H-%M"` +sudo borg create ssh://pi@naomi.asgardius.company:22/data/multimedia::media-${CURRENTDATE} /home/yunohost.multimedia/asgardius /usr/bin/mediabackup \ No newline at end of file diff --git a/mysql-docker.sh b/mysql-docker.sh new file mode 100644 index 0000000..d5ccdf4 --- /dev/null +++ b/mysql-docker.sh @@ -0,0 +1 @@ +docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=some-root -p 3306:3306 -d --restart always mysql diff --git a/plexbackup.sh b/plexbackup.sh new file mode 100644 index 0000000..993d695 --- /dev/null +++ b/plexbackup.sh @@ -0,0 +1,5 @@ +#!/bin/bash +CURRENTDATE=`date +"%Y-%m-%d-%H-%M"` +sudo systemctl stop plexmediaserver +sudo borg create ssh://pi@naomi.asgardius.company:22/data/plex::plex-${CURRENTDATE} /var/lib/plexmediaserver /usr/bin/plexbackup +sudo systemctl start plexmediaserver \ No newline at end of file diff --git a/powerbalance.sh b/powerbalance.sh new file mode 100644 index 0000000..284d7e9 --- /dev/null +++ b/powerbalance.sh @@ -0,0 +1,3 @@ +for x in /sys/devices/system/cpu/cpu[1-3]*/online; do + echo 1 > "$x" +done diff --git a/powersave.sh b/powersave.sh new file mode 100644 index 0000000..afa9a38 --- /dev/null +++ b/powersave.sh @@ -0,0 +1,3 @@ +for x in /sys/devices/system/cpu/cpu[1-3]*/online; do + echo 0 > "$x" +done diff --git a/r3backup.sh b/r3backup.sh new file mode 100644 index 0000000..278634d --- /dev/null +++ b/r3backup.sh @@ -0,0 +1,3 @@ +#!/bin/bash +CURRENTDATE=`date +"%Y-%m-%d-%H-%M"` +sudo borg create ssh://pi@naomi.asgardius.company:22/data/r3backup::r3-${CURRENTDATE} /etc/systemd/system/r3* /home/asgardius/Documentos/r3 /etc/icecast2/icecast.xml /usr/bin/r3backup /usr/share/icecast2/web/icecast.png diff --git a/test.sh b/test.sh new file mode 100644 index 0000000..d30863b --- /dev/null +++ b/test.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +while GOMAXPROCS=1 echo "Your command goes here"; [[ $? -ne 0 ]]; +do + sleep 1 +done diff --git a/umsgadget.sh b/umsgadget.sh new file mode 100644 index 0000000..ff14be1 --- /dev/null +++ b/umsgadget.sh @@ -0,0 +1,75 @@ +#!/bin/bash + +# Konfiguration fuer ein Composite Gadget Device +# mit mehreren HID und Flash Komponenten + +#board config anlegen +if [ $# -eq 0 ]; then + if [ -d "/sys/kernel/config/usb_gadget/multiDeskBoard" ]; then + echo "" > /sys/kernel/config/usb_gadget/multiDeskBoard/UDC + fi +fi +if [ $# -eq 1 ]; then + if [ -d "/sys/kernel/config/usb_gadget/multiDeskBoard" ]; then + echo "" > /sys/kernel/config/usb_gadget/multiDeskBoard/UDC + echo $1 > /sys/kernel/config/usb_gadget/multiDeskBoard/functions/mass_storage.usb1/lun.0/file + ls /sys/class/udc > /sys/kernel/config/usb_gadget/multiDeskBoard/UDC + else + mkdir /sys/kernel/config/usb_gadget/multiDeskBoard + cd /sys/kernel/config/usb_gadget/multiDeskBoard + #hardware id setzen + echo 0x0419 > bcdDevice + echo 0x0200 > bcdUSB + echo 0x1d6b > idVendor + echo 0x0104 > idProduct + #Geraetetyp setzen + echo 0x00 > bDeviceClass + echo 0x00 > bDeviceSubClass + echo 0x00 > bDeviceProtocol + echo 0x08 > bMaxPacketSize0 + #klartextbeschreibung setzen + mkdir strings/0x409 + mkdir strings/0x407 + cd strings/0x409 + echo "RSI_HUD_Solutions" > manufacturer + echo "MultiDeskBoard" > product + echo "1337" > serialnumber + cd ../../ + cd strings/0x407 + echo "RSI_HUD_Solutions" > manufacturer + echo "MultiDeskBoard" > product + echo "1337" > serialnumber + cd ../../ + #geraetefunktion setzen + mkdir functions/mass_storage.usb1 + #mkdir functions/hid.usb0 + #HID0 Funktion Konfiguration auf keyboard setzen + #cd functions/hid.usb0 + #echo 1 > protocol + #echo 8 > report_length + #echo 1 > subclass + #cp /home/pi/USBConfigBuffer/mediaKeyboardRepDesc report_desc + #cd ../../ + #Mass Storage 1 Konfiguration setzen + cd functions/mass_storage.usb1 + echo 0 > stall + echo 1 > lun.0/removable + echo 0 > lun.0/ro + echo $1 > lun.0/file + cd ../../ + #Bus Hardware Konfig anlegen und verlinken + mkdir configs/c.1 + cd configs/c.1 + echo 0x80 > bmAttributes + echo 100 > MaxPower + mkdir strings/0x409 + echo "MDB Config1" > strings/0x409/configuration + mkdir strings/0x407 + echo "MDB Config1" > strings/0x407/configuration + cd ../../ + ln -s functions/mass_storage.usb1 configs/c.1 + #ln -s functions/hid.usb0 configs/c.1 + #Geraet aktivieren + ls /sys/class/udc > UDC + fi +fi diff --git a/usbgadget.sh b/usbgadget.sh new file mode 100644 index 0000000..f14c60d --- /dev/null +++ b/usbgadget.sh @@ -0,0 +1,142 @@ +#!/bin/bash -e + +set -x +#set -euo pipefail + +GADGET_NAME="g1" +LANGUAGE="0x409" # English +CONFIGFS="/sys/kernel/config/usb_gadget/" +ID_VENDOR="0x1d6b" +ID_PRODUCT="0x0104" + +SERIAL="$(grep Serial /proc/cpuinfo | sed 's/Serial\s*: 0000\(\w*\)/\1/')" +MAC="$(echo ${SERIAL} | sed 's/\(\w\w\)/:\1/g' | cut -b 2-)" +MAC_HOST="12$(echo ${MAC} | cut -b 3-)" +MAC_DEV="02$(echo ${MAC} | cut -b 3-)" + +if [[ $EUID -ne 0 ]]; then + echo "This script must be run as root" + exit 1 +fi + +if [ ! -d $CONFIGFS ]; then + modprobe libcomposite +fi + +# Enter ConfigFS +cd $CONFIGFS + +# Cleaning +#echo "Cleaning up existing gadget" +#echo "Stopping getty" +#systemctl stop getty@ttyGS0.service +#echo "Removing config-level functions" +find ./$GADGET_NAME/configs/*/* -maxdepth 0 -type l -exec rm {} \; || true +#echo "Removing config-level strings" +find ./$GADGET_NAME/configs/*/strings/* -maxdepth 0 -type d -exec rmdir {} \; || true +#echo "Removing config-level OS descriptors" +find ./$GADGET_NAME/os_desc/* -maxdepth 0 -type l -exec rm {} \; || true +#echo "Removing gadget-level functions" +find ./$GADGET_NAME/functions/* -maxdepth 0 -type d -exec rmdir {} \; || true +#echo "Removing gadget-level strings" +find ./$GADGET_NAME/strings/* -maxdepth 0 -type d -exec rmdir {} \; || true +#echo "Removing gadget-level configs" +find ./$GADGET_NAME/configs/* -maxdepth 0 -type d -exec rmdir {} \; || true +#echo "Removing gadget" +rmdir ./$GADGET_NAME || true +#echo "Starting getty" +#systemctl start getty@ttyGS0.service + +mkdir ./$GADGET_NAME && cd ./$GADGET_NAME + +# Basic info + +echo $ID_VENDOR > idVendor # Linux Foundation +echo $ID_PRODUCT > idProduct # Multifunction Composite Gadget +echo 0x0100 > bcdDevice # v1.0.0 +echo 0x0200 > bcdUSB # USB 2.0 + +#echo "Configuring gadget as composite device" +# https://msdn.microsoft.com/en-us/library/windows/hardware/ff540054(v=vs.85).aspx +echo 0xEF > bDeviceClass +echo 0x02 > bDeviceSubClass +echo 0x01 > bDeviceProtocol + +#echo "Configuring OS descriptors" +# https://msdn.microsoft.com/en-us/library/hh881271.aspx +# OS descriptors +# WIndows extensions to force config +echo 1 > os_desc/use +echo 0xcd > os_desc/b_vendor_code +echo MSFT100 > os_desc/qw_sign + +mkdir -p strings/$LANGUAGE +echo "7777777" > strings/$LANGUAGE/serialnumber +echo "eXander" > strings/$LANGUAGE/manufacturer +echo "exander's Gadget" > strings/$LANGUAGE/product + +# Config #1 for OSX / Linux + +mkdir -p configs/c.1/strings/$LANGUAGE +echo 250 > configs/c.1/MaxPower +echo "Config 1" > configs/c.1/strings/$LANGUAGE/configuration + +mkdir -p functions/acm.usb0 # serial +mkdir -p functions/rndis.usb0 # network Flippin' Windows +#mkdir -p functions/ecm.usb0 # OSX / Linux +mkdir -p functions/hid.usb0 # keyboard + +# https://msdn.microsoft.com/en-us/windows/hardware/gg463179.aspx +echo RNDIS > functions/rndis.usb0/os_desc/interface.rndis/compatible_id +echo 5162001 > functions/rndis.usb0/os_desc/interface.rndis/sub_compatible_id + +echo $MAC_HOST > functions/rndis.usb0/host_addr +echo $MAC_DEV > functions/rndis.usb0/dev_addr +#echo $MAC_HOST > functions/ecm.usb0/host_addr +#echo $MAC_DEV > functions/ecm.usb0/dev_addr + +# Set up the rndis device only first + +ln -s functions/rndis.usb0 configs/c.1 + +# Tell Windows to use config #2 + +ln -s configs/c.1 os_desc +#ln -s configs/c.1 os_desc/c.1 + +# Show Windows the RNDIS device with +# bDeviceClass 0x02 +# bDeviceSubClass 0x02 + +ls /sys/class/udc/ > UDC + +# Give it time to install + +sleep 5 + +# Yank it back + +echo "" > UDC + +# Setup keyboard +echo 1 > functions/hid.usb0/protocol +echo 1 > functions/hid.usb0/subclass +echo 8 > functions/hid.usb0/report_length +echo -ne \\x05\\x01\\x09\\x06\\xa1\\x01\\x05\\x07\\x19\\xe0\\x29\\xe7\\x15\\x00\\x25\\x01\\x75\\x01\\x95\\x08\\x81\\x02\\x95\\x01\\x75\\x08\\x81\\x03\\x95\\x05\\x75\\x01\\x05\\x08\\x19\\x01\\x29\\x05\\x91\\x02\\x95\\x01\\x75\\x03\\x91\\x03\\x95\\x06\\x75\\x08\\x15\\x00\\x25\\x65\\x05\\x07\\x19\\x00\\x29\\x65\\x81\\x00\\xc0 > functions/hid.usb0/report_desc + +ln -s functions/acm.usb0 configs/c.1/ +#ln -s functions/ecm.usb0 configs/c.1/ +ln -s functions/hid.usb0 configs/c.1/ + +# Reset bDeviceClass to 0x00 +# This is essential to make it work in Windows 10 +# Basically forces it to use device information +# in the descriptors versus assuming a particular class. + +echo "0x00" > bDeviceClass + +# Re-attach the gadget +udevadm settle -t 5 || : +ls /sys/class/udc/ > UDC + +# BOOM! diff --git a/wifi-to-eth-route.sh b/wifi-to-eth-route.sh new file mode 100644 index 0000000..824b18d --- /dev/null +++ b/wifi-to-eth-route.sh @@ -0,0 +1,50 @@ +#!/bin/bash + +# Share Wifi with Eth device +# +# +# This script is created to work with Raspbian Stretch +# but it can be used with most of the distributions +# by making few changes. +# +# Make sure you have already installed `dnsmasq` +# Please modify the variables according to your need +# Don't forget to change the name of network interface +# Check them with `ifconfig` + +ip_address="192.168.2.1" +netmask="255.255.255.0" +dhcp_range_start="192.168.2.2" +dhcp_range_end="192.168.2.100" +dhcp_time="12h" +eth="eth0" +wlan="wlan0" + +sudo systemctl start network-online.target &> /dev/null + +sudo iptables -F +sudo iptables -t nat -F +sudo iptables -t nat -A POSTROUTING -o $wlan -j MASQUERADE +sudo iptables -A FORWARD -i $wlan -o $eth -m state --state RELATED,ESTABLISHED -j ACCEPT +sudo iptables -A FORWARD -i $eth -o $wlan -j ACCEPT + +sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward" + +sudo ifconfig $eth $ip_address netmask $netmask + +# Remove default route created by dhcpcd +sudo ip route del 0/0 dev $eth &> /dev/null + +sudo systemctl stop dnsmasq + +sudo rm -rf /etc/dnsmasq.d/* &> /dev/null + +echo -e "interface=$eth\n\ +bind-interfaces\n\ +server=176.103.130.130\n\ +domain-needed\n\ +bogus-priv\n\ +dhcp-range=$dhcp_range_start,$dhcp_range_end,$dhcp_time" > /tmp/custom-dnsmasq.conf + +sudo cp /tmp/custom-dnsmasq.conf /etc/dnsmasq.d/custom-dnsmasq.conf +sudo systemctl start dnsmasq