aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLeonard Kugis <leonard@kug.is>2025-09-29 02:35:04 +0200
committerLeonard Kugis <leonard@kug.is>2025-09-29 02:35:04 +0200
commit7824c498e47376dcca530450cc7b656b018271b5 (patch)
tree11dd956738cd6b22e8455510e7403ceb4c96ae9b
downloadmagisk-bindfs-7824c498e47376dcca530450cc7b656b018271b5.tar.gz
Initial commit
-rw-r--r--.gitignore100
-rwxr-xr-xdeploy.sh53
-rw-r--r--install.sh26
-rw-r--r--module.prop6
-rwxr-xr-xsystem/bin/bindfsbin0 -> 323008 bytes
5 files changed, 185 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..660b9c5
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,100 @@
+release
+# Created by https://www.toptal.com/developers/gitignore/api/linux,macos,windows,vim
+# Edit at https://www.toptal.com/developers/gitignore?templates=linux,macos,windows,vim
+
+### Linux ###
+*~
+
+# temporary files which can be created if a process still has a handle open of a deleted file
+.fuse_hidden*
+
+# KDE directory preferences
+.directory
+
+# Linux trash folder which might appear on any partition or disk
+.Trash-*
+
+# .nfs files are created when an open file is removed but is still being accessed
+.nfs*
+
+### macOS ###
+# General
+.DS_Store
+.AppleDouble
+.LSOverride
+
+# Icon must end with two \r
+Icon
+
+
+# Thumbnails
+._*
+
+# Files that might appear in the root of a volume
+.DocumentRevisions-V100
+.fseventsd
+.Spotlight-V100
+.TemporaryItems
+.Trashes
+.VolumeIcon.icns
+.com.apple.timemachine.donotpresent
+
+# Directories potentially created on remote AFP share
+.AppleDB
+.AppleDesktop
+Network Trash Folder
+Temporary Items
+.apdisk
+
+### macOS Patch ###
+# iCloud generated files
+*.icloud
+
+### Vim ###
+# Swap
+[._]*.s[a-v][a-z]
+!*.svg # comment out if you don't need vector files
+[._]*.sw[a-p]
+[._]s[a-rt-v][a-z]
+[._]ss[a-gi-z]
+[._]sw[a-p]
+
+# Session
+Session.vim
+Sessionx.vim
+
+# Temporary
+.netrwhist
+# Auto-generated tag files
+tags
+# Persistent undo
+[._]*.un~
+
+### Windows ###
+# Windows thumbnail cache files
+Thumbs.db
+Thumbs.db:encryptable
+ehthumbs.db
+ehthumbs_vista.db
+
+# Dump file
+*.stackdump
+
+# Folder config file
+[Dd]esktop.ini
+
+# Recycle Bin used on file shares
+$RECYCLE.BIN/
+
+# Windows Installer files
+*.cab
+*.msi
+*.msix
+*.msm
+*.msp
+
+# Windows shortcuts
+*.lnk
+
+# End of https://www.toptal.com/developers/gitignore/api/linux,macos,windows,vim
+
diff --git a/deploy.sh b/deploy.sh
new file mode 100755
index 0000000..16a5c25
--- /dev/null
+++ b/deploy.sh
@@ -0,0 +1,53 @@
+#!/usr/bin/env bash
+set -euo pipefail
+
+INCLUDES=(
+ "install.sh"
+ "module.prop"
+ "system"
+)
+
+# Welche Dateien/Ordner sollen ausgeschlossen werden?
+EXCLUDES=(
+)
+
+PROP_FILE="module.prop"
+
+trim() { sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//'; }
+
+if [[ ! -f "$PROP_FILE" ]]; then
+ echo "Fehler: $PROP_FILE nicht gefunden."
+ exit 1
+fi
+
+if ! command -v zip >/dev/null 2>&1; then
+ echo "Fehler: 'zip' ist nicht installiert."
+ exit 1
+fi
+
+id=$(
+ awk -F= '$1=="id"{print substr($0,index($0,"=")+1)}' "$PROP_FILE" | trim
+)
+version=$(
+ awk -F= '$1=="version"{print substr($0,index($0,"=")+1)}' "$PROP_FILE" | trim
+)
+
+if [[ -z "${id}" || -z "${version}" ]]; then
+ echo "Fehler: Konnte 'id' und/oder 'version' nicht aus $PROP_FILE lesen."
+ exit 1
+fi
+
+mkdir -p release
+zipfile="release/${id}-${version}.zip"
+
+rm -f "$zipfile"
+
+ZIP_EXCLUDES=()
+for ex in "${EXCLUDES[@]}"; do
+ ZIP_EXCLUDES+=("-x" "$ex/*" "-x" "$ex")
+done
+
+zip -r "$zipfile" "${INCLUDES[@]}" "${ZIP_EXCLUDES[@]}"
+
+echo "Fertig: $zipfile"
+
diff --git a/install.sh b/install.sh
new file mode 100644
index 0000000..e72d197
--- /dev/null
+++ b/install.sh
@@ -0,0 +1,26 @@
+#!/system/bin/sh
+# Magisk install script
+
+SKIPMOUNT=false
+PROPFILE=false
+POSTFSDATA=false
+LATESTARTSERVICE=false
+
+print_modname() {
+ ui_print "*******************************"
+ ui_print " magisk-bindfs "
+ ui_print "*******************************"
+}
+
+on_install() {
+ ui_print "- Copying files"
+ cp -af "$ZIPFILE" "$TMPDIR/zipfile" >/dev/null 2>&1 # no-op safety
+ cp -af "$MODPATH/system" "$MODPATH/" 2>/dev/null || true
+}
+
+set_permissions() {
+ ui_print "- Setting permissions"
+ set_perm_recursive "$MODPATH/system" 0 0 0755 0644
+ set_perm "$MODPATH/system/bin/bindfs" 0 0 0755
+}
+
diff --git a/module.prop b/module.prop
new file mode 100644
index 0000000..21b23c5
--- /dev/null
+++ b/module.prop
@@ -0,0 +1,6 @@
+id=magisk-bindfs
+name=magisk-bindfs
+version=1.0.0
+versionCode=100
+author=Lionheart1810
+description=Systemless BindFS
diff --git a/system/bin/bindfs b/system/bin/bindfs
new file mode 100755
index 0000000..4c1bd10
--- /dev/null
+++ b/system/bin/bindfs
Binary files differ