DJS runs scripts and/or commands on boot or at set HH:MM (e.g, 23:59).
+Any root solution is supported.
+The installation is always "systemless", whether or not the system is rooted with Magisk.
+
+
LEGAL
+
Copyright (C) 2019-2021, VR25
+
This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
You should have received a copy of the GNU General Public License
+along with this program. If not, see https://www.gnu.org/licenses/.
+
+
DISCLAIMER
+
Always read/reread this reference prior to installing/upgrading this software.
+
While no cats have been harmed, the author assumes no responsibility for anything that might break due to the use/misuse of it.
+
To prevent fraud, do NOT mirror any link associated with this project; do NOT share builds (tarballs/zips)! Share official links instead.
+
+
WARNING
+
The author assumes no responsibility under anything that might break due to the use/misuse of this software.
+By choosing to use/misuse it, you agree to do so at your own risk!
+
+
DONATIONS
+
Please, support the project with donations (links at the bottom).
+As the project gets bigger and more popular, the need for coffee goes up as well.
Non-Magisk users can enable djs auto-start by running /data/adb/vr25/djs/service.sh, a copy of, or a link to it - with init.d or an app that emulates it.
+
Terminal emulator
+
Text editor (optional)
+
+
* A busybox binary can simply be placed in /data/adb/vr25/bin/.
+Permissions (0700) are set automatically, as needed.
+Precedence: /data/adb/vr25/bin/busybox > Magisk's busybox > system's busybox
+
Other executables or static binaries can also be placed in /data/adb/vr25/bin/ (with proper permissions) instead of being installed system-wide.
// This is a comment line
+
+// This is used to determine whether config should be patched. Do NOT modify!
+versionCode=201908180
+
+// Schedule Examples
+
+// Run on boot
+// boot touch /data/I-was-born-on-boot; : --delete
+// ": --delete" is optional; it means "delete the schedule after execution" - effectively turning it into a one-time boot schedule.
+
+// Apply Advanced Charging Controller night settings at 22:00
+//2200 acc 45 44 && acc --set applyOnPlug usb/current_max:500000
+
+// Restore regular ACC settings at 6:00 (morning)
+//0600 acc 80 70 && acc -s applyOnPlug 2000000; : --boot
+// ": --boot" is optional; it lets this schedule run on boot as well (fail-safe).
+
+
+
USAGE
+
If you feel uncomfortable with the command line, use a text editor to modify /data/adb/vr25/djs-data/config.txt.
+Changes to this file take effect almost instantly, and without a daemon restart.
+
Terminal Commands
+
Config Management
+
+Usage: djsc|djs-config OPTION ARGS
+
+-a|--append 'LINE'
+ e.g., djsc -a 2200 reboot -p
+
+-d|--delete ['regex'] (deletes all matching lines)
+ e.g., djsc --delete 2200
+
+-e|--edit [cmd] (fallback cmd: nano -l|vim|vi)
+ e.g., djs-config --edit vim
+
+-l|--list ['regex'] (fallback regex: ".", matches all lines)
+ e.g., djsc -l '^boot'
+
+-L|--log [cmd] (fallback cmd: tail -F)
+ e.g., djsc -L cat > /sdcard/djsd.log
+
+
+Daemon Management
+
+Start/restart: djsd|djs-daemon
+Stop: djs.|djs-stop
+Status: djs,|djs-status
+
+
+Print Version Code (integer)
+
+djsv
+djs-version
+
+
+Notes
+- All commands return either 0 (success/running) or 1 (failure/stopped).
+- djs-status prints the daemon's process ID (PID).
+- Special shell characters (e.g., "|", ";", "&") must be quoted or escaped. For the sake of simplicity and consistency, single-quote all arguments as a whole (e.g., djsc -a '2200 reboot -p').
+- PATH starts with /data/adb/vr25/bin:/dev/.vr25/busybox.
+This means schedules don't require additional busybox setup.
+The first directory holds user executables.
+
+
+
NOTES/TIPS FOR FRONT-END DEVELOPERS
+
Use /dev/.vr25/djs/* over regular commands.
+These are guaranteed to be readily available after installation/initialization.
+
It may be best to use long options over short equivalents - e.g., /dev/.vr25/djs/djs-config --list, instead of /dev/.vr25/djs/djsc -l.
+This makes code more readable (less cryptic).
+
Include provided descriptions of DJS features/settings in your app(s).
+Provide additional information (trusted) where appropriate.
+Explain settings/concepts as clearly and with as few words as possible.
+
+
FREQUENTLY ASKED QUESTIONS (FAQ)
+
+
How do I report issues?
+
+
Open issues on GitHub or contact the developer on Telegram/XDA (linked below). Always provide as much information as possible.