ts-binds binds two different folders on your device so that both folders share the same contents
Essentially, this "binding" method is widely used to save space on internal storage!
Derived from a very long-living trick for users who are struggling with the internal storage space available on their phones, while at the same time has the benefit of inserting an SD card, ts-binds will make use of already available functions on your device, to mirror a path to another path, effectively making both paths indistinguishable.
For example, if you mirror the Download folder on Internal with the Stuff from Internet folder on your SD Card, the same list of cat pictures will be shown on both directories when navigated via a file manager, and any changes will take effect on both paths but only the folder in the external path is physically modified.
This saves space because the files physically reside on the external storage instead of internal storage.
ts-binds although seemed to be mildly complicated, it relies heavily on the functionality of a built-in kernel feature through the use of binary mount. ts-binds itself doesn't come with the ability, but more like an extension to make use of the feature with less hurdles on the user's end. It expands on age-old trick many Android powerusers use(d). Without "mount" or the "bind" ability, ts-binds will be absolutely useless.
Here comes an issue; with many different Android implementations, the trick may not work for everyone. The fact of how OEM separates the internal and external storages on the ROM level can be cumbersome most of the times, to everyone.
If ts-binds fail to work out-of-the-box for you, workarounds may be available, I will try to find it as long as you participate, but my power is limited. If any known workarounds cannot be made, then I'd like to apologise beforehand. 🙁
ts-binds-folderlist.txtwill be created in your internal storage.
su -c tsbinds reinit
tsbinds reinit. As easy as that.
Other root solution or /system-integrated support is not provided due to the complicated nature of init.d in Android. You can however, make changes to ts-binds' script to not use any Magisk-dependant paths.
When I code the module, I take the utmost concerns on data safety and integrity and I can hereby say that the module pose absolute zero risk on data loss on the automated part of things. In essence, you will not lose any files if you use the module by its own.
However, if you fail to acknowledge the strong warning above, which explains a very manual action committed by a user, then of course, data loss is possible as it is outside of what the module could handle.
To demonstrate an example of this, we assume that a folderpair of "Ayam" has been made and this is the folderpair code we have populated in our
folderbind Ayam $sd/A $int/B
Now, if you ever select the files in A, and then paste it in B, this is where you are mercilessly killing your files. Of course, applies in reverse too. So, make sure you don't do that!
ts-binds also provides a few useful terminal functions that you can use to your advantage. To see available options, run
tsbinds help in a terminal emulator. Note that using
tsbinds require an elevated shell (root).
Read more about contributing here.
Maybe how ts-binds works doesn't suit your preferences. If you wish to still have this feature but using an alternative module, here are the other two available from the magisk repo:
She has a personality that makes her shine really bright.
She is cute, and beautiful. Truly a view to ponder.
We make for each other, and I am really proud to be with her.
I love Abel so much ❤💕