The story of John the geek.
Let me tell you a story of John the geek. John decided that he don’t want to use flash drives, cables or emails to send his files from his PC to his e-Reader Onyx Boox. After several seconds, he decided to configure his Linux PC and his e-Reader to sent his files throw WiFi. It was the best solution he could find. No cables, no restrictions, just copy, paste and sync. That’s it! Nothing less, nothing more. Be like John! Well… there was that problematic part with configuration of Linux machine.
Linux machine
John opened his browser and found this awesome article which explained how to install and configure samba server on Linux machine (https://computingforgeeks.com/how-to-configure-samba-share-on-debian), after that he decided that all files will be shared from one place which will be:
/media/john/hdd_1/shares/
In this folder, John has created specific subfolders, which exists on his e-Reader:
- Audiobooks
- Books
- dicts
- Download
- noteTemplate
- Pictures
- Screensaver
Of course, John could have created only one folder and run sync from PC to e-Reader every time, but he was smart enough to know that sometimes he will sync only specific folders which will take less time than sync all folders at once. Because of that he also decided that some folders will be synchronized only to e-Reader (Audiobooks, Books, dicts, noteTemplate), one from e-Reader to PC (Download) and one of them will be bidirectional (Pictures). That’s when it all started…
Samba
He has created his own samba configuration. First, he backed up his original file using command:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.ORG
Next, he has overwritten the original file using spell:
sudo echo -n "" > /etc/samba/smb.conf
And after that, John’s magic has started. He opened his samba file, executing this command:
sudo mcedit /etc/samba/smb.conf
And created this amazing simple configuration using below legend:
[Audiobooks] (Name of share – He named this share using name of folder)
path = /media/john/hdd_1/share/Audiobooks (John specified path to folder where his audiobooks will be placed)
quest ok = no (he decided that he doesn’t want to share his files with unknown users)
write list = john (he added his username, named john, to be able to save files to this folder)
valid users = john (and he specified list of valid users who can read this folder)
[global] netbios name = computer_netbios_name workgroup = WORKGROUP encrypt passwords = yes smb passwd file = /etc/samba/smbpasswd security = user map to quest = Bad user [Audiobooks] path = /media/john/hdd_1/share/Audiobooks quest ok = no write list = john valid users = john [Books] path = /media/john/hdd_1/share/Books quest ok = no write list = john valid users = john [dicts] path = /media/john/hdd_1/share/dicts quest ok = no write list = john valid users = john [Download] path = /media/john/hdd_1/share/Download quest ok = no write list = john valid users = john [noteTemplate] path = /media/john/hdd_1/share/noteTemplate quest ok = no write list = john valid users = john [Pictures] path = /media/john/hdd_1/share/Pictures quest ok = no write list = john valid users = john [Screensaver] path = /media/john/hdd_1/share/Screensaver quest ok = no write list = john valid users = john
Then he added his user to samba and restarted its service using two commands:
sudo smbpasswd -a myusername sudo service smbd restart
Finally, his computer was configured, so he copied his audiobooks, books and other files to previously created folders and power on his e-Reader.
e-Reader
It wasn’t an ordinary Android device. Not this time. This time, he knew that he had to do something different from other users. Something that has not been described yet, because there were so many other ways that didn’t suit him.
First, he had to check if he needs to activate Google Play. Like in the previous case of Samba, he found an article about that. This time it was so easy… Boox authors created article about activating Google Play (https://help.boox.com/hc/en-us/articles/360045388371-How-to-activate-the-Google-Play-).
John was so happy about that. He opened Google Play, entered app name “SMBSync2” (https://play.google.com/store/apps/details?id=com.sentaroh.android.SMBSync2) in search field and pushed enter. After that he pushed “install” button and after a while SMBSync2 application was installed on his e-Reader.
He pushed “Open” button to start SMBSync2, and he got scared – the application has not been written for e-Readers. He turned off the SMBSync2 and thought, it would be better not to turn it on until he “hack” it first.
John the “Hacker”
John switched to the application tab:
Then he pressed the SMBSync2 icon for about 2 seconds until his eyes saw a secret menu, from which he chose the “Optimize” option:
Then, using the secret knowledge, he set all the parameters as shown in the screenshots below:
He pressed outside the window and the menu magically disappeared…
SMBSync2
John started SMBSync2, and saw a main window with an empty list of tasks and some buttons below.
He stopped for a moment to think what type of tasks he needed. He decided that he only needed two type of tasks for those 3 types of operations which he invented.
First of tasks should pull files from PC to Boox, so they will be called like: Audiobooks2Boox, Books2Boox, dicts2Boox, noteTemplate2Boox, Picture2Boox and Screensaver2Boox.
The second type of tasks will push files from Boox to PC, so they will be called like: Download2PC and Pictures2PC.
So he should create 6 tasks to pull files from PC and 2 tasks which will push files to PC. 8 tasks in general.
He pressed “Add” button and started to create a new task “pull” type:
In a new window he added the task name, which was for this task: Audiobooks2Boox
Then he changed synchronization type from “Copy” to “Mirror”:
Pushed master folder to set source path:
And in a new window he added additional information:
After that, he pushed “Save” button and press OK button in new window:
Then he pressed “Target folder” position:
And in new window he added Boox folder name “Audiobooks” from main path “/” and pressed “Save” button.
After that, the task was completed and the only thing left was to press “OK” button.
The task window disappeared, and he saw his first position on the list:
He repeated the same steps for last 5 tasks: Books2Boox, dicts2Boox, noteTemplate2Boox, Picture2Boox and Screensaver2Boox of course adding specific name of shares or folders for specific task 🙂
After that, he had all pull tasks on his Boox (screen shows 4 of 6 tasks – without Picture2Boox and Screensaver2Boox)
He started to create the next type of task for “Download2PC” which was push type – most of the things were the same (i.e. Sync type) as for pull type except of master/target folder orders which was “reversed”.
For Master folder in new window, he had to choose “Internal storage” instead of “SMB Server”. He added folder name of Boox from main path “/” and in Target folder he had to select “SMB Server” instead of “Internal storage”. He needed to add share name, user and password. Then he pushed “Ok” button to save this task.
And here they are – all single type pull/push tasks (excluding those two tasks he has forgot).
He was able to pull and push his files from/to Boox using his Linux machine with samba now.
There was one additional task he wanted to create, but SMBSync2 wasn’t as good as he would like it to be. He couldn’t push and pull files using one task at the same time. In fact… He could have used option “Swap source and destination” (every time) but what if he had forgotten to swap destinations? He would have overwritten files! From a security point of view, a safer version would be to create two separated tasks (pull and push), so he has done it: Pictures2Boox and Pictures2PC using instruction from previous type of tasks.
And there it was the time to test it… John hit the sync button on each of the tasks and waited for them to finish.
After all this hard setup, he turned on file sync and waited for it to be completed. He was able to listen, read and write and sync again and again. And he found that sometimes the simplest things are the most enjoyable.