This is a fork of https://github.com/Sentaroh/SMBSync2
It doesn't aim for now to long term replace SMBSync2. I only try to review the code for my needs, update crucial parts and jcifs-ng SMB backend lib... All changes are pushed to upstream. If/when they are merged, this mod will try to keep as much as possible in sync with original project, except for some features I do find useful and that author doesn't implement.
Current major changes from upstream:
- implement jcifs-ng 2.3.17
- upgrade slf4j wrapper to support slf4j 2.7.36 logging formats including braces
- expand Tasks source/target path on selection (long press) in main Tasks tab view
- when exact image option is selected (Remove folders and files excluded by name filters), the sync mode in Tasks list tab is displayed in Yellow to warn about deleting all unmatched target files
- scroll mod to keep standard scroll bar visible while scrolling in History and Messages tabs
- sort autosaved and manually saved settings files by their name instead of their modification time (properly sort by date, which is part of the file name, when settings were migrated to a new device using MTP or SMB transfers since time cannot be set on internal storage without root)
Minor fixes
- do not allow file filter "File size greater than" value to be equal to 0
- add proper error message when editing a schedule sync list while no sync tasks were created
- fix Non Wrap Text View should be wrapped for error dialog messages in "Edit Schedule sync task list"
- file name length filter: simpler code and always warn first if file is ignored because its name length is greater than user selected limit, else warn if it exceeds Android max length of 255 bytes or SMB max of 237 bytes
- translation fixes
SMBSync2 is a tool for synchronizing files via wireless LAN using SMB1,SMB2 or SMB3 protocol between the internal storage of Android terminal, SDCARD/USB-OTG and PC/NAS. Synchronization is a one-way from the master to the target. Mirror, Move, Copy and Archive modes are supported. Many storage combinations are supported (Internal storage, SDCARD, USB-OTG, SMB, ZIP) Sync can be automatically started by external applications (Tasker, AutoMagic etc) or SMBSync2 schedule. Sync occurs between two folder pairs called the Master (source folder) and the Target (destination folder). It is a one direction Sync, from the Master to the Target.
The supported Sync modes are:
-
Mirror
The target folder is kept as an exact copy of the master. If a file is different between the master and the target, the file on the master overwrites the file on the target. Folder and files not present on the target are copied from the master. Files and folders that do not exist on the master are also deleted from the target. Only modified files (by size and/or date/time) are updated on the target. -
Move
If a file is different between the master and the target, the file on the master overwrites the file on the target. Once copied to the target, files and folders are deleted from the master (like move command).
Only modified files (by size and/or date/time) are copied to the target. Identical files, based on the selected compare criteria, are deleted from the master without being copied. Files and folders on the target, not present on the master, are obviously preserved. -
Copy
Same as Move, but files are not deleted from the master after being copied.
If a file is different between the master and the target, the file on the master overwrites the file on the target. Once copied to the target, files and folders are kept on the master (like a copy command).
Only modified files (by size and/or date/time) are copied to the target. Identical files, based on the selected compare criteria, are ignored and not copied again. -
Archive
Move photos and videos in the master's directory to the target if they were taken before 7 days or 30 days before the archive execution date. (However, you cannot use zip to target.)
The following file types are eligible for archiving.
"gif", "jpg", "jpeg", "jpe", "png", "mp4", "mov".
Compare criteria: Files are considered different based on these criteria:
- File name exists only on master or target, not on both sides
- Files have different sizes
- Files have a different time stamp (last modification date and time)
In Advanced Options, many compare settings can be adjusted.(Here is an example)
- Time tolerance interval can be set to ignore difference if less than 1, 3, 5 or 10 sec for compatibility with FAT/exFAT medias.
- Ignore Daylight Saving time is supported.
- Option to not overwrite target file if it is newer than the master or if it is larger in size.
Please refer to the link below.
Please refer to the link below.
It is the same thing as the APK published on Google Play.
- Clone or download from Github.
- Open with AndroidStudio(Open an Existing Project).
- Build(Build->Rebuild project).
- Plase refer to "release/SMBSync2_debug.apk"
- This software includes the work that is distributed in the Apache License 2.0.
- This software includes the work that is distributed in the GNU Lesser General Public License v2.1.
- This software includes the work that is distributed in the MOZILLA PUBLIC LICENSE 1.1.
- This software includes the work that is distributed in the Bouncy Castle LICENSE.
- This software includes the work that is distributed in the BSD 3-Clause "New" or "Revised" License