Hi guys,
I have no access to the Development forum, so I put it here: I developed some small scripts to be used in connection with ShellMS, which provide an easy way to send and check SMS from the connected PC.
Tested on Linux only, so far! Requires adb, perl and ShellMS
Features:
Autocompletes of contact names
Displays SMS conversation with contacts
Write SMS over adb using ShellMS
Usage:
Code:
perl write-sms.pl
perl get-sms.pl
Have a look: github.com / fbreitwieser / sendsms-scripts (sorry, cannot post links yet)
BR,
Florian
Related
Yep, you read that correctly. I have optware, ssh, samba, transmission, and flexget working on my Minix X5 Mini. This should work for any rooted device which has an adb connection enabled. This will work on the original ROM. In fact, I use the stock ROM. For those not using a Minix device this should work on any ARM device. Sorry but all the binaries are built on ARM.
JUST AS EVERY OTHER DEVELOPER: I AM NOT RESPONSIBLE IF YOU BRICK YOUR DEVICE! MAKE A BACKUP!
Requirements:
Linux box with adb (don't ask me about windows, I don't support bad habits)
clockworkmod (for a backup)
root
internet connection
Process:
Make a backup of your ROM!
Download files (gitHub)
You have two options here:
Download the zip via https://github.com/erichlf/AndroidSeedBox/archive/master.zip and unzip it.
Clone the repo using git via 'git clone [email protected]:erichlf/AndroidSeedBox.git'
Make script executable
chmod +x optware-etc.sh
Obtain adb connection to device (covered in another thread)
Gain root access on local machine (adb seemed to require this for things to work)
sudo su
Run script and follow directions
./optware-etc.sh
Use SManager to run /opt/home/root/sysinit at every restart.
Notes:
The script can be modified to change the various programs that I install. You could exchange transmission for deluge for example.
Transmission can be accessed from the minix through localhost:9091 or from some other machine using your ip-address and the port 9091. If that doesn't work you should edit the config file located at /opt/home/root/.config/transmission-daemon/settings.json
username: root
password: you provided this in the install script
Without SManager nothing will start automatically. However, if you have a ROM which has init.d support you can move the scripts in /opt/etc/init.d to /etc/init.d I would suggest maybe linking the two instead of just moving the scripts or possibly adding a script to /etc/init.d which runs the items in /opt/etc/init.d The reason is because when installing things using ipkg the startup scripts will be placed in /opt/etc/init.d and not /etc/init.d However, it is extremely important that optware is started, and this is partly what sysinit accomplishes.
To list available packages
ipkg list
To install a new package use the command
ipkg install <new package>
To remove a package use the command
ipkg remove <package to remove>
cron is weird and I couldn't get it to work like it should, but I got it to work
While on the Android device (ssh or terminal emulator)
Create a .crond file in the home directory of your device (/opt/home/root/) with some schedule in it. Remember to leave a blank line at the end of the file.
Tell cron about the .crond file
crontab -u root /opt/home/root/.crond
Make sure cron sees the cron file
crontab -l
If you want to edit your cronfile use a text editor and edit the file directly and then tell cron about the file again.
Many things are installed in what seem like strange places, so use
which <binary you are looking for>
Feel free to help develop the code. I think what would be best is an update.zip or a CWM flashable zip. Right now I don't know how to do this, but once I get more time I will look into it. So, any help on this front is welcomed.
Enjoy!
I really wish you would have kept the repo up. It seems kind of pointless to go through all that trouble just to delete the repo and leave people wondering what you did.
I have been busy and didn't update this particular post, since there had been no activity on it.
git clone [email protected]:erichlf/androidseedbox.git
https://bitbucket.org/erichlf/androidseedbox/get/master.zip
Sorry, I didn't need to be rude. I was just excited to find this and then sad when it was gone. Thanks for pointing me in the right direction!
Hey guys,
I struggled for a long time to get keepass2 to work on the TF700 Lubuntu and finally got it working, so I want to share with you so you don't have to go all the same way.
What is keepass?
With keepass2 you can store all your passwords in a strongly encrypted database. You can store this database on dropbox, google drive or an own ftp server (my choice) to keep it up-to-date on all devices all the time. Keepass integrates this solution very well. It integrates also perfectly with chromium. Once you unlock the database with one secure master password the username and password for the website you need are automatically typed in (just like if you saved them with chromiums built-in "save password" feature) But there is even a well maintained Android app and iOS app, so you are very independent.
How to get it to work?
Background:
Keepass relies on mono. Until version 3.4 mono used only soft float calculation (armel) but our Infinity is armhf (hard float). Since 3.4 it *should* work without modifications to the source. The newest version (3.8.1, I compiled it from git) started fine but had no Internet access at all. So I found a version of mono ported to support hard-float where everything works as expected, although it is an older version.
To install this version:
Open a terminal (In Lubuntu 12.04 v1.3 this can be done by pressing the "Touchpad enable/disable" button)
Code:
sudo apt-get install git-core
git clone git://github.com/directhex/mono-1.git
cd mono-1
git checkout remotes/origin/armhf-port
./autogen.sh --disable-mcs-build --prefix=/usr
make -CFLAGS=-DARM_FPU_VFP_HARD
sudo make install
Download this: https://mega.co.nz/#!Tcw3ABLb!ETpn4SDEy1i2Pj8pFN2VyVpyAfGvmNv8q0BdIZCvDZ8
Code:
cd /usr/lib
sudo tar -xvf ~/mono.tar.lzma
To test your installation this should be the output:
Code:
mono -V
Mono JIT compiler version 2.11.4 ((no/50bb5e4 Thu Aug 28 13:46:52 CEST 2014)
Copyright (C) 2002-2012 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
TLS: __thread
SIGSEGV: normal
Notifications: epoll
Architecture: armel,vfp(hardfp-abi)
Disabled: none
Misc: softdebug
LLVM: supported, not enabled.
GC: Included Boehm (with typed GC and Parallel Mark)
To install keepass:
Download the latest "Portable" zip from http://keepass.info and extract it to a folder of your desire (my choice was ~/.keepass2)
Keepass requires the locale settings to be C, otherwise the settings would not be saved after exit, so to start keepass create a file startkeepass.sh with following content:
Code:
#!/bin/bash
LC_ALL=C
mono ~/.keepass2/KeePass.exe
Make it executable (chmod 755 startkeepass.sh) and from now on you can start keepass by executing that script.
To install keepasshttp
Keepasshttp is used to connect Keepass with the chromium plugin chromeipass. The plgx file does not work, but following method works:
Code:
git clone git://github.com/pfn/keepasshttp.git
cd keepasshttp/mono
cp * ~/.keepass2/
To install ChromeIPass
In Chromium: Menu -> Tools -> Extensions -> Get more extensions
Search for ChromeIPass and install it.
Congratulations! You can now use Keepass2 to manage your passwords on your TF700!
Hello XDA comunity!
I want to share you a very useful tool that I have created, its name is: "kielyd".
What's keilyd?
Keilyd is a BASH daemon that constantly dumps the system's logs, warnings and other useful info in a easy-to-share "ZIP" with the main purpose to create a very informative and useful bug report.
keilyd is expansible and configurable. It's very easy to add new features because BASH interacts directly with the Linux/BSD commands in the Android System.
How does it works?
Keilyd is launched at device boot, with the "init.d support" and as root (see requeriments below). After launched, keilyd relaunches itself in a "daemon mode", that runs in the background, then, it dumps several information in the /sdcard and compress it in a single zip, so, the user can send that zip (in fact, are 2 zip's or more if you use the "snapshot" feature) to the developer of their ROM, to a forum or send it to a 3rd party developer and report a bug with all the system logs included.
Keilyd stores 2 zips: the first one is the current log (the "very last file") and the second one is the last log before keilyd were launched again.
If you won't enable de daemon, you can create a single zip when you use the "snapshot" feature, if you take two or more snapshots in the same minute, the ZIP will be the same, otherwise, one script per different minute will be created. The Snapshot feature can create as much zips as needed.
What info is collected?
That's a good question!
The info that is collected is (this applies ONLY for a vanilla copy of keilyd):
Kernel log (aka "dmesg") and other kernel info
Logcat (aka "logcat")
List of process running and memory statics
A copy of all tweaks in init.d (including keilyd itself)
A copy of build.prop and sysctl.conf
A copy of /proc/config.gz (if exists)
Some cpuinfo
Mounted filesystems and usage
How does this "daemon" can help me?
Developer:
Have you had the need to get some system log from a user?
Probably the answer is "yes", but, the user may have no idea how to do that, so, you have to give them a "step-by-step" guide of "how to get a system log in the terminal".
This simplifies the process, so, the user can report a bug with logs with no terminal (if the daemon is enabled) or with a single command that looks like
Code:
keilyd --snap
User:
Well, the complement of the developer... You can share "golden" information just by sending 2 zips files to the dev. Minimal Android knowledge is the only prerequisite if the daemon is working as spected.
This daemon is not a demon, but it can be very bad if not implemented as spected. Please, ensure that ALL THE COMMANDS ARE KNOWN and that THERE IS NO PORPRIETARY interference.
Why BASH?
A good idea is to create a daemon in C/C++ and share it as a "binary", BUT, as we are recolecting information from the device, the user must have to be concient of what are the script recollecting, if the user can't read bash, it can ask to a 3rd developer. You can feel safer because it's under the GPLv3 licence!
In addition, BASH run in (almost) any UNIX based OS, including but not limited to Apple OS X, GNU/Linux, Android, iPhone OS, etc...
This prevent a "blind trust" from the user, and give them facility of enable-disable the script, add features and so on.
Requeriments
- A rooted device
- Busybox (or run-parts)
- init.d support
- BASH 4.3.x ONLY SUPPORTED by the moment.
- Terminal emulator/HIDE]
How can I include it in my ROM?
Take a look of my repo in GitHub, it contains the last version of keilyd and the implementation during compilation in the Makefile.
If you are a ROM modder, download the latest version from above, include init.d and bash support in you ROM.
Or you can create a CWM/TWRP/Philz... flashable zip (it would be great!)
Users: how to use
When something goes weird, open the terminal emulator and write:
Code:
keilyd --snap
and send to the developer all zips in
Code:
/sdcard/keilyd/out
type
Code:
keilyd --help
and a helpful message will be printed.
If something goes wrong and you need to reboot the device (or the device reboots itself), just send both zips to the developer or the forum where you are asking help (This feature only works if the daemon is enabled).
Developers: how to use
You can add/remove things in order to fit your needs, the only thing that we ask you is that you write the whole script in BASH, without "blobs" that may private the user from know what is exacly logged and stored.
If some user sends you the zip, you will notice that the files are plain-text, and you can view it in any text editor.
TODO:
List all apps installed (system and user)
Secure "user-modificable" settings (Allmost DONE)
A graphical interface (an app) to manage the daemon
A flashable ZIP
Aports and sugestions are WELLCOME, please, coment in the box below
Install redistributable package:
If the avobe requeriments are meet...
1. Open this GItHub URL
Click in the "Download ZIP" icon in the right.
2. Put the zip in your phone
3. Unzip it.
4. If you want to use the script... A; otherwise, B.
A.
a. Open the terminal emulator.
b. cd to the folder that contains
Code:
install.sh
c. As root, type "
Code:
sh install.sh
" in the terminal.
B.
a. Open ES File Explorer
b. Enable root explorer and mount /system as rw
c. Copy
Code:
daemon/18keily
to
Code:
/etc/init.d
d. Tap and hold the
Code:
18keily
file and open the poperties
e. Change te permisions to
Code:
rwx r-x r-x
f. Copy the
Code:
redistrib/bash
file to
Code:
/system/xbin/bash
g. Change the permisions as above.
h. Symlink /etc/init.d/18keily to /system/xbin/keilyd
i. Reboot
NOTE:
Keilyd can be used in 2 ways:
1. As a daemon that does it job without human interaction, that constatantely and automaticaly creates 2 zips in the output directory.
2. As a Script that only needs to be called with the '--snap' parameter, but it requieres human interaction and does not constantely repeat the process.
Use the first one if you are a beta tester, or if you know that you ROM can hang sudently. Recomended for Unstable ROM'S.
Use the Last One if your ROM is stable or official, but you want to do a bug report.
You can allways use the second option if you use the first one.
By default, the daemon is disabled. You can enable if you change the "ENABLED" variable to "Y". I personally recommend values for "MINS" between 5 and 15.
BUGS REPORTS in the GITHUB REPOSITORY
Reserved
Hi there,
This looks like what I need, did you close the repo? Can you share a link to the script? I have a few devices, and I want to have some forensic information for troubleshooting (I.E. log all the warnings, errors and critical logs, + a snapshot every n minutes about the system usage). Right now I have to go where the device is, connect it with ADB and query the logs (most of the time, the logs were overwrited)... Thanks in advance.
Hello all,
I got the following issue:
I dirtyflashed a custom Marshmallow ROM and now I am stuck with UI issue (theme conflict). Unable to access to home or parameters.
I don't care about all my stuff in it, except SMS/MMS.
I made a nandroid backup of all my FS and reinstall a clean rom (but it is another story).
So, I search how to extract my sms from this nandroid backup.
I found this thread fyi (and many other ways..)
http://forum.xda-developers.com/showthread.php?t=1585957
It is about to convert DB which host SMS/MMS (mmssms.db) to xml.
BUT, mmssms.db is depracted on Android 5+
Anyway, I found all my sms/mms into bugle_db file. Database from Google Messenger app, not OS DB (/data/data/com.google.apps.messaging/databases)
And I tried many restore options (using Titanium and nandroid extract, etc..)
Messenger reload DB from OS. (maybe security conflict too, well..)
Conclusion, I got many way to resolv this issue:
- Find the new DB used (into /system I guess), to restore it
If you know that, I will be glad to know I found nothing about.
- Find or dev a tool to convert sms app store file to xml
i.e. bugle_db file for Google Messenger app to xml for SMS&backup (same as yaffs extractor)
Maybe someone can easiley adapt yaffs extractor to bugle_db structure.
- Go forget about all my sms
hope someone can help me on it
I have a similar issue and this is what I found, I hope it will help you if you still need it or at least someone else that is searching for an answer.
Tim O'Brien has created a tool in python call smstools and here is the git. (github.com/t413/SMS-Tools)
p1ne has added the support for bugle_db to this tool and can be downloaded here (github.com/p1ne/SMS-Tools/archive/master.zip)
I have never used python so I needed to figure things out.
I have Windows 10
First it did not work with python 3.6.1
I did get it working with python 2.7.13,
download and install python 2.7.13 "Windows x86-64 MSI installer" (seemed like the best option)
I set up the PATH for less typing but its not needed, here is a link for how to (howtogeek.com/118594/how-to-edit-your-system-path-for-easy-command-line-access/)
downloaded the above zip from p1ne github and extracted to c:\tsms (doesn't matter the location i just wanted it short)
copied my saved bugle_db file to the same directory c:\tsms
opened cmd or powershell and navigated directory C:\tsms\SMS-Tools-master\
installed smstools by typing
C:\Python27\python.exe setup.py install
I then typed
python C:\tsms\SMS-Tools-master\bin\smstools C:\tsms\bugle_db C:\tsms\out.xml
Since this defaults to an android xml backup I did not add any flags to the end but you could convert the output to several outputs with --type flag. You will need to read the git to see the supported outputs.
If you didn't set your PATH you would type
C:\Python27\python.exe C:\tsms\SMS-Tools-master\bin\smstools C:\tsms\bugle_db C:\tsms\out.xml
Hopefully all went well and you get a message like this.
6708 messages read in 0 seconds from bugle_db using parser smstools.bugle.Bugle
latest text: 2017-04-23 07:36:50 PM US Time Zone to +**************:
Parts arrived
sorting all 6708 texts by date
You should have a new file called out.xml in the C:\tsms directory
Copy this to your android phone and restore with SMS Backup & Restore
Hope this all works out for anyone in need.
o1hitman1o said:
I have a similar issue and this is what I found, I hope it will help you if you still need it or at least someone else that is searching for an answer.
Tim O'Brien has created a tool in python call smstools and here is the git. (github.com/t413/SMS-Tools)
p1ne has added the support for bugle_db to this tool and can be downloaded here (github.com/p1ne/SMS-Tools/archive/master.zip)
I have never used python so I needed to figure things out.
I have Windows 10
First it did not work with python 3.6.1
I did get it working with python 2.7.13,
download and install python 2.7.13 "Windows x86-64 MSI installer" (seemed like the best option)
I set up the PATH for less typing but its not needed, here is a link for how to (howtogeek.com/118594/how-to-edit-your-system-path-for-easy-command-line-access/)
downloaded the above zip from p1ne github and extracted to c:\tsms (doesn't matter the location i just wanted it short)
copied my saved bugle_db file to the same directory c:\tsms
opened cmd or powershell and navigated directory C:\tsms\SMS-Tools-master\
installed smstools by typing
C:\Python27\python.exe setup.py install
I then typed
python C:\tsms\SMS-Tools-master\bin\smstools C:\tsms\bugle_db C:\tsms\out.xml
Since this defaults to an android xml backup I did not add any flags to the end but you could convert the output to several outputs with --type flag. You will need to read the git to see the supported outputs.
If you didn't set your PATH you would type
C:\Python27\python.exe C:\tsms\SMS-Tools-master\bin\smstools C:\tsms\bugle_db C:\tsms\out.xml
Hopefully all went well and you get a message like this.
6708 messages read in 0 seconds from bugle_db using parser smstools.bugle.Bugle
latest text: 2017-04-23 07:36:50 PM US Time Zone to +**************:
Parts arrived
sorting all 6708 texts by date
You should have a new file called out.xml in the C:\tsms directory
Copy this to your android phone and restore with SMS Backup & Restore
Hope this all works out for anyone in need.
Click to expand...
Click to collapse
Thanks! I am a python newer too. It works fine for me.
Btw, I found it needs another module 'unicodecsv', I taken this project 'python-unicodecsv' (github.com/jdunck/python-unicodecsv),and can be downloaded here(https://codeload.github.com/jdunck/python-unicodecsv/zip/master)
Hope it will help someone else.
Thanks
jiangchuanso said:
Thanks! I am a python newer too. It works fine for me.
Btw, I found it needs another module 'unicodecsv', I taken this project 'python-unicodecsv' (github.com/jdunck/python-unicodecsv),and can be downloaded here(https://codeload.github.com/jdunck/python-unicodecsv/zip/master)
Hope it will help someone else.
Click to expand...
Click to collapse
Thanks you just saved my day
I'm reviving this post to say it worked but not at 100%. But when I restore my messages, only recieved messages are saved and restored with bugle_db :/
It worked 100% for me but im using google messenger.
beware that write-ahead logging is enabled, so you need three files. make sure you work on copy because the files disappear/change on access.
Code:
bugle_db
bugle_db-wal
bugle_db-shm
here is how to use it on linux. I have tested on clean Xubuntu 20.04 LTS (from pendrive) so all dependencies should be fulfilled.
Code:
sudo apt update
sudo apt install wget git python2
wget https://bootstrap.pypa.io/pip/2.7/get-pip.py
git clone https://github.com/jdunck/python-unicodecsv
git clone https://github.com/Batambatam/SMS-Tools
sudo python2 get-pip.py
sudo python2 -m pip install ./python-unicodecsv blessings
cd SMS-Tools
sudo python2 setup.py install
cp -v com.google.android.apps.messaging/databases/bugle_db* .
smstools bugle_db messaging.xml
Hi all,
So, for the last 8 months I have been searching to install and run Jupyter on Android
Now a days iPython notebooks have become very famous.
I searched and finally stumbled upon this great and minimal installation of python in you android smartphone.
Required:
Termiux
Hacker's keyboard - Anysoft is more usable and more conventional.
AnySoftKeyboard
Procedure:
After installing Anysoft keyboard, open the app to set it up.
In the app, when you drag from left and cliick on "keyboards", you can select " terminal" keyboard. Once done,
Install Termiux
Go to the termux app.. wait for termux to install its files.
run:
Code:
apt update
apt upgrade
Then runt this code
Code:
apt install clang python python-dev fftw libzmq libzmq-dev freetype freetype-dev libpng libpng-dev pkg-config
LDFLAGS=" -lm -lcompiler_rt" pip install numpy matplotlib pandas jupyter
pip install jupyter
Note: you may get an error or more while running the code. But mostly, it will work even after the error. Feel free to reach me. I'll try to help the best of my knowledge.
Now you're good to go.
You can now open the jupyter in your phone web browser, no internet connection required..
Enter this code, followed by enter..
Code:
jupyter notebook
You will get a local page address generated with following instructions :
Code:
Copy/paste this URL into your browser when you connect for the first time,
to login with a token:
http://localhost:8888/?token=<sixteendigitcode>
Copy paste the address in your web browser.. you will be redirected to local page where you can create and run python notebooks. Also, you can run small snipets inside Termux itself.
Disclaimer
This is not my development. The original development is done by someone else. This thread is created to make it easy to find. Purely for information.
Original thread by the Developer:
http://www.leouieda.com/blog/scipy-on-android.html