Serval Mesh
Peer to peer communications
The Serval Project is seeking funds to develop a mesh extender which aims to work around the limitations caused by the lack of AdHoc mode in Android. Visit the campaign website to support the cause.
N.B The app no longer asks for root by default although you can still try it in adhoc mode. Prebuilts are no longer in the source code.
This is experimental software: it may not work as advertised. It may lose or alter messages and files that it carries; it may consume a lot of space, speed and battery, and it may crash unexpectedly.
Mobile communications are useful, but depend on infrastructure that can be damaged, overwhelmed, or even absent. This app assumes zero infrastructure. The phones talk to each other using WiFi; relaying calls and messages and figuring out how to resolve numbers. In other words, it lets your phone communicate with other Android phones running Serval Mesh within WiFi range.
Requires root: No. Basic Android still doesn't allow WiFi in AdHoc mode, so the app will ask for root if you try to enable adhoc mode.
The Java/XML part is distributable under the GNU GPLv3 while the serval-dna (distributed number architecture) project is GPLv2.
License: GPLv3
Website: http://www.servalproject.org
Issue Tracker: https://github.com/servalproject/batphone/issues
Source Code: https://github.com/servalproject/batphone
Donate: http://www.servalproject.org/donations
For full details and additional technical information, see this application's page on the F-Droid wiki.
Packages
Although APK downloads are available below to give you the choice, you should be aware that by installing that way you will not receive update notifications, and it's a less secure way to download. We recommend that you install the F-Droid client and use that.
Version 0.91 - Added on 2013-07-22
This version requires Android 2.2 or newer.
This version uses native code and will only run on: armeabi
This version is built and signed by F-Droid, and guaranteed to correspond to the source tarball below.
download apk 1.8 MB GPG Signaturesource tarball 7.5 MB
no permission changes
view permissions [⚠ 18, ⓘ 12, ⚙ 2]
⚠ Act as an account authenticator [
AUTHENTICATE_ACCOUNTS]Allows an application to use the account authenticator capabilities of the AccountManager, including creating accounts and getting and setting their passwords.
⚠ Manage the accounts list [
MANAGE_ACCOUNTS]Allows an application to perform operations like adding, and removing accounts and deleting their password.
EXTRA/CUSTOM
⚠ Allow Wi-Fi Multicast reception [
CHANGE_WIFI_MULTICAST_STATE]Allows an application to receive packets not directly addressed to your device. This can be useful when discovering services offered near by. It uses more power than the non-multicast mode.
EXTRA/CUSTOM
⚠ Create Bluetooth connections [
BLUETOOTH]Allows an application to view configuration of the local Bluetooth tablet, and to make and accept connections with paired devices.
⚠ Bluetooth administration [
BLUETOOTH_ADMIN]Allows an application to configure the local Bluetooth tablet, and to discover and pair with remote devices.
EXTRA/CUSTOM
⚠ Record audio [
RECORD_AUDIO]Allows application to access the audio record path.
NETWORK COMMUNICATION
⚠ Change Wi-Fi state [
CHANGE_WIFI_STATE]Allows an application to connect to and disconnect from Wi-Fi access points, and to make changes to configured Wi-Fi networks.
⚠ Full Internet access [
INTERNET]Allows an application to create network sockets.
YOUR PERSONAL INFORMATION
⚠ Read your profile data [
READ_PROFILE]Allows the application to read personal profile information stored on your device, such as your name and contact information. This means the application can identify you and send your profile information to others.
PHONE CALLS
⚠ Directly call phone numbers [
CALL_PHONE]Allows the application to call phone numbers without your intervention. Malicious applications may cause unexpected calls on your phone bill. Note that this does not allow the application to call emergency numbers.
⚠ Intercept outgoing calls [
PROCESS_OUTGOING_CALLS]Allows application to process outgoing calls and change the number to be dialed. Malicious applications may monitor, redirect, or prevent outgoing calls.
⚠ Read phone state and identity [
READ_PHONE_STATE]Allows the application to access the phone features of the device. An application with this permission can determine the phone number and serial number of this phone, whether a call is active, the number that call is connected to and the like.
EXTRA/CUSTOM
⚠ Disable keylock [
DISABLE_KEYGUARD]Allows an application to disable the keylock and any associated password security. A legitimate example of this is the phone disabling the keylock when receiving an incoming phone call, then re-enabling the keylock when the call is finished.
EXTRA/CUSTOM
⚠ [
READ_CALL_LOG]⚠ Read contact data [
READ_CONTACTS]Allows an application to read all of the contact (address) data stored on your tablet. Malicious applications can use this to send your data to other people.
⚠ [
WRITE_CALL_LOG]⚠ Write contact data [
WRITE_CONTACTS]Allows an application to modify the contact (address) data stored on your tablet. Malicious applications can use this to erase or modify your contact data.
STORAGE
⚠ Modify/delete USB storage contents [
WRITE_EXTERNAL_STORAGE]Allows an application to write to the USB storage.
YOUR ACCOUNTS
ⓘ Discover known accounts [
GET_ACCOUNTS]Allows an application to get the list of accounts known by the tablet.
EXTRA/CUSTOM
ⓘ Control vibrator [
VIBRATE]Allows the application to control the vibrator.
ⓘ Prevent tablet from sleeping [
WAKE_LOCK]Allows an application to prevent the tablet from going to sleep.
EXTRA/CUSTOM
ⓘ Automatically start at boot [
RECEIVE_BOOT_COMPLETED]Allows an application to have itself started as soon as the system has finished booting. This can make it take longer to start the tablet and allow the application to slow down the overall tablet by always running.
EXTRA/CUSTOM
ⓘ Change your audio settings [
MODIFY_AUDIO_SETTINGS]Allows application to modify global audio settings such as volume and routing.
NETWORK COMMUNICATION
ⓘ View network state [
ACCESS_NETWORK_STATE]Allows an application to view the state of all networks.
ⓘ View Wi-Fi state [
ACCESS_WIFI_STATE]Allows an application to view the information about the state of Wi-Fi.
STORAGE
ⓘ [
READ_EXTERNAL_STORAGE]EXTRA/CUSTOM
ⓘ Read sync settings [
READ_SYNC_SETTINGS]Allows an application to read the sync settings, such as whether sync is enabled for Contacts.
ⓘ Write sync settings [
WRITE_SYNC_SETTINGS]Allows an application to modify the sync settings, such as whether sync is enabled for Contacts.
SYSTEM TOOLS
ⓘ Send sticky broadcast [
BROADCAST_STICKY]Allows an application to send sticky broadcasts, which remain after the broadcast ends. Malicious applications can make the tablet slow or unstable by causing it to use too much memory.
ⓘ Modify global system settings [
WRITE_SETTINGS]Allows an application to modify the system's settings data. Malicious applications can corrupt your system's configuration.
EXTRA/CUSTOM
⚙ [
org.servalproject.meshms.SEND_MESHMS]⚙ [
org.servalproject.rhizome.RECEIVE_FILE]Version 0.91.RC2 - Added on 2013-07-04
This version requires Android 2.2 or newer.
This version uses native code and will only run on: armeabi
This version is built and signed by F-Droid, and guaranteed to correspond to the source tarball below.
download apk 1.8 MB (-53 kB) GPG Signaturesource tarball 7.5 MB
permissions diff (+2)
view permissions [⚠ 18, ⓘ 12, ⚙ 2]
⚠ Act as an account authenticator [
AUTHENTICATE_ACCOUNTS]Allows an application to use the account authenticator capabilities of the AccountManager, including creating accounts and getting and setting their passwords.
⚠ Manage the accounts list [
MANAGE_ACCOUNTS]Allows an application to perform operations like adding, and removing accounts and deleting their password.
EXTRA/CUSTOM
⚠ Allow Wi-Fi Multicast reception [
CHANGE_WIFI_MULTICAST_STATE]Allows an application to receive packets not directly addressed to your device. This can be useful when discovering services offered near by. It uses more power than the non-multicast mode.
EXTRA/CUSTOM
⚠ Create Bluetooth connections [
BLUETOOTH]Allows an application to view configuration of the local Bluetooth tablet, and to make and accept connections with paired devices.
⚠ Bluetooth administration [
BLUETOOTH_ADMIN]Allows an application to configure the local Bluetooth tablet, and to discover and pair with remote devices.
EXTRA/CUSTOM
⚠ Record audio [
RECORD_AUDIO]Allows application to access the audio record path.
NETWORK COMMUNICATION
⚠ Change Wi-Fi state [
CHANGE_WIFI_STATE]Allows an application to connect to and disconnect from Wi-Fi access points, and to make changes to configured Wi-Fi networks.
⚠ Full Internet access [
INTERNET]Allows an application to create network sockets.
YOUR PERSONAL INFORMATION
⚠ Read your profile data [
READ_PROFILE]Allows the application to read personal profile information stored on your device, such as your name and contact information. This means the application can identify you and send your profile information to others.
PHONE CALLS
⚠ Directly call phone numbers [
CALL_PHONE]Allows the application to call phone numbers without your intervention. Malicious applications may cause unexpected calls on your phone bill. Note that this does not allow the application to call emergency numbers.
⚠ Intercept outgoing calls [
PROCESS_OUTGOING_CALLS]Allows application to process outgoing calls and change the number to be dialed. Malicious applications may monitor, redirect, or prevent outgoing calls.
⚠ Read phone state and identity [
READ_PHONE_STATE]Allows the application to access the phone features of the device. An application with this permission can determine the phone number and serial number of this phone, whether a call is active, the number that call is connected to and the like.
EXTRA/CUSTOM
⚠ Disable keylock [
DISABLE_KEYGUARD]Allows an application to disable the keylock and any associated password security. A legitimate example of this is the phone disabling the keylock when receiving an incoming phone call, then re-enabling the keylock when the call is finished.
EXTRA/CUSTOM
⚠ [
READ_CALL_LOG]⚠ Read contact data [
READ_CONTACTS]Allows an application to read all of the contact (address) data stored on your tablet. Malicious applications can use this to send your data to other people.
⚠ [
WRITE_CALL_LOG]⚠ Write contact data [
WRITE_CONTACTS]Allows an application to modify the contact (address) data stored on your tablet. Malicious applications can use this to erase or modify your contact data.
STORAGE
⚠ Modify/delete USB storage contents [
WRITE_EXTERNAL_STORAGE]Allows an application to write to the USB storage.
YOUR ACCOUNTS
ⓘ Discover known accounts [
GET_ACCOUNTS]Allows an application to get the list of accounts known by the tablet.
EXTRA/CUSTOM
ⓘ Control vibrator [
VIBRATE]Allows the application to control the vibrator.
ⓘ Prevent tablet from sleeping [
WAKE_LOCK]Allows an application to prevent the tablet from going to sleep.
EXTRA/CUSTOM
ⓘ Automatically start at boot [
RECEIVE_BOOT_COMPLETED]Allows an application to have itself started as soon as the system has finished booting. This can make it take longer to start the tablet and allow the application to slow down the overall tablet by always running.
EXTRA/CUSTOM
ⓘ Change your audio settings [
MODIFY_AUDIO_SETTINGS]Allows application to modify global audio settings such as volume and routing.
NETWORK COMMUNICATION
ⓘ View network state [
ACCESS_NETWORK_STATE]Allows an application to view the state of all networks.
ⓘ View Wi-Fi state [
ACCESS_WIFI_STATE]Allows an application to view the information about the state of Wi-Fi.
STORAGE
ⓘ [
READ_EXTERNAL_STORAGE]EXTRA/CUSTOM
ⓘ Read sync settings [
READ_SYNC_SETTINGS]Allows an application to read the sync settings, such as whether sync is enabled for Contacts.
ⓘ Write sync settings [
WRITE_SYNC_SETTINGS]Allows an application to modify the sync settings, such as whether sync is enabled for Contacts.
SYSTEM TOOLS
ⓘ Send sticky broadcast [
BROADCAST_STICKY]Allows an application to send sticky broadcasts, which remain after the broadcast ends. Malicious applications can make the tablet slow or unstable by causing it to use too much memory.
ⓘ Modify global system settings [
WRITE_SETTINGS]Allows an application to modify the system's settings data. Malicious applications can corrupt your system's configuration.
EXTRA/CUSTOM
⚙ [
org.servalproject.meshms.SEND_MESHMS]⚙ [
org.servalproject.rhizome.RECEIVE_FILE]ADDED
YOUR PERSONAL INFORMATION
⚠ Read your profile data [
READ_PROFILE]Allows the application to read personal profile information stored on your device, such as your name and contact information. This means the application can identify you and send your profile information to others.
NETWORK COMMUNICATION
ⓘ View network state [
ACCESS_NETWORK_STATE]Allows an application to view the state of all networks.
Version 0.90.1 - Added on 2013-02-04
This version requires Android 2.2 or newer.
This version uses native code and will only run on: armeabi
This version is built and signed by F-Droid, and guaranteed to correspond to the source tarball below.
download apk 1.8 MB GPG Signaturesource tarball 5.5 MB
view permissions [⚠ 17, ⓘ 11, ⚙ 2]
⚠ Act as an account authenticator [
AUTHENTICATE_ACCOUNTS]Allows an application to use the account authenticator capabilities of the AccountManager, including creating accounts and getting and setting their passwords.
⚠ Manage the accounts list [
MANAGE_ACCOUNTS]Allows an application to perform operations like adding, and removing accounts and deleting their password.
EXTRA/CUSTOM
⚠ Allow Wi-Fi Multicast reception [
CHANGE_WIFI_MULTICAST_STATE]Allows an application to receive packets not directly addressed to your device. This can be useful when discovering services offered near by. It uses more power than the non-multicast mode.
EXTRA/CUSTOM
⚠ Create Bluetooth connections [
BLUETOOTH]Allows an application to view configuration of the local Bluetooth tablet, and to make and accept connections with paired devices.
⚠ Bluetooth administration [
BLUETOOTH_ADMIN]Allows an application to configure the local Bluetooth tablet, and to discover and pair with remote devices.
EXTRA/CUSTOM
⚠ Record audio [
RECORD_AUDIO]Allows application to access the audio record path.
NETWORK COMMUNICATION
⚠ Change Wi-Fi state [
CHANGE_WIFI_STATE]Allows an application to connect to and disconnect from Wi-Fi access points, and to make changes to configured Wi-Fi networks.
⚠ Full Internet access [
INTERNET]Allows an application to create network sockets.
PHONE CALLS
⚠ Directly call phone numbers [
CALL_PHONE]Allows the application to call phone numbers without your intervention. Malicious applications may cause unexpected calls on your phone bill. Note that this does not allow the application to call emergency numbers.
⚠ Intercept outgoing calls [
PROCESS_OUTGOING_CALLS]Allows application to process outgoing calls and change the number to be dialed. Malicious applications may monitor, redirect, or prevent outgoing calls.
⚠ Read phone state and identity [
READ_PHONE_STATE]Allows the application to access the phone features of the device. An application with this permission can determine the phone number and serial number of this phone, whether a call is active, the number that call is connected to and the like.
EXTRA/CUSTOM
⚠ Disable keylock [
DISABLE_KEYGUARD]Allows an application to disable the keylock and any associated password security. A legitimate example of this is the phone disabling the keylock when receiving an incoming phone call, then re-enabling the keylock when the call is finished.
EXTRA/CUSTOM
⚠ [
READ_CALL_LOG]⚠ Read contact data [
READ_CONTACTS]Allows an application to read all of the contact (address) data stored on your tablet. Malicious applications can use this to send your data to other people.
⚠ [
WRITE_CALL_LOG]⚠ Write contact data [
WRITE_CONTACTS]Allows an application to modify the contact (address) data stored on your tablet. Malicious applications can use this to erase or modify your contact data.
STORAGE
⚠ Modify/delete USB storage contents [
WRITE_EXTERNAL_STORAGE]Allows an application to write to the USB storage.
YOUR ACCOUNTS
ⓘ Discover known accounts [
GET_ACCOUNTS]Allows an application to get the list of accounts known by the tablet.
EXTRA/CUSTOM
ⓘ Control vibrator [
VIBRATE]Allows the application to control the vibrator.
ⓘ Prevent tablet from sleeping [
WAKE_LOCK]Allows an application to prevent the tablet from going to sleep.
EXTRA/CUSTOM
ⓘ Automatically start at boot [
RECEIVE_BOOT_COMPLETED]Allows an application to have itself started as soon as the system has finished booting. This can make it take longer to start the tablet and allow the application to slow down the overall tablet by always running.
EXTRA/CUSTOM
ⓘ Change your audio settings [
MODIFY_AUDIO_SETTINGS]Allows application to modify global audio settings such as volume and routing.
NETWORK COMMUNICATION
ⓘ View Wi-Fi state [
ACCESS_WIFI_STATE]Allows an application to view the information about the state of Wi-Fi.
STORAGE
ⓘ [
READ_EXTERNAL_STORAGE]EXTRA/CUSTOM
ⓘ Read sync settings [
READ_SYNC_SETTINGS]Allows an application to read the sync settings, such as whether sync is enabled for Contacts.
ⓘ Write sync settings [
WRITE_SYNC_SETTINGS]Allows an application to modify the sync settings, such as whether sync is enabled for Contacts.
SYSTEM TOOLS
ⓘ Send sticky broadcast [
BROADCAST_STICKY]Allows an application to send sticky broadcasts, which remain after the broadcast ends. Malicious applications can make the tablet slow or unstable by causing it to use too much memory.
ⓘ Modify global system settings [
WRITE_SETTINGS]Allows an application to modify the system's settings data. Malicious applications can corrupt your system's configuration.
EXTRA/CUSTOM
⚙ [
org.servalproject.meshms.SEND_MESHMS]⚙ [
org.servalproject.rhizome.RECEIVE_FILE]ADDED
YOUR ACCOUNTS
⚠ Act as an account authenticator [
AUTHENTICATE_ACCOUNTS]Allows an application to use the account authenticator capabilities of the AccountManager, including creating accounts and getting and setting their passwords.
⚠ Manage the accounts list [
MANAGE_ACCOUNTS]Allows an application to perform operations like adding, and removing accounts and deleting their password.
EXTRA/CUSTOM
⚠ Allow Wi-Fi Multicast reception [
CHANGE_WIFI_MULTICAST_STATE]Allows an application to receive packets not directly addressed to your device. This can be useful when discovering services offered near by. It uses more power than the non-multicast mode.
EXTRA/CUSTOM
⚠ Create Bluetooth connections [
BLUETOOTH]Allows an application to view configuration of the local Bluetooth tablet, and to make and accept connections with paired devices.
⚠ Bluetooth administration [
BLUETOOTH_ADMIN]Allows an application to configure the local Bluetooth tablet, and to discover and pair with remote devices.
EXTRA/CUSTOM
⚠ Record audio [
RECORD_AUDIO]Allows application to access the audio record path.
NETWORK COMMUNICATION
⚠ Change Wi-Fi state [
CHANGE_WIFI_STATE]Allows an application to connect to and disconnect from Wi-Fi access points, and to make changes to configured Wi-Fi networks.
⚠ Full Internet access [
INTERNET]Allows an application to create network sockets.
PHONE CALLS
⚠ Directly call phone numbers [
CALL_PHONE]Allows the application to call phone numbers without your intervention. Malicious applications may cause unexpected calls on your phone bill. Note that this does not allow the application to call emergency numbers.
⚠ Intercept outgoing calls [
PROCESS_OUTGOING_CALLS]Allows application to process outgoing calls and change the number to be dialed. Malicious applications may monitor, redirect, or prevent outgoing calls.
⚠ Read phone state and identity [
READ_PHONE_STATE]Allows the application to access the phone features of the device. An application with this permission can determine the phone number and serial number of this phone, whether a call is active, the number that call is connected to and the like.
EXTRA/CUSTOM
⚠ Disable keylock [
DISABLE_KEYGUARD]Allows an application to disable the keylock and any associated password security. A legitimate example of this is the phone disabling the keylock when receiving an incoming phone call, then re-enabling the keylock when the call is finished.
EXTRA/CUSTOM
⚠ [
READ_CALL_LOG]⚠ Read contact data [
READ_CONTACTS]Allows an application to read all of the contact (address) data stored on your tablet. Malicious applications can use this to send your data to other people.
⚠ [
WRITE_CALL_LOG]⚠ Write contact data [
WRITE_CONTACTS]Allows an application to modify the contact (address) data stored on your tablet. Malicious applications can use this to erase or modify your contact data.
STORAGE
⚠ Modify/delete USB storage contents [
WRITE_EXTERNAL_STORAGE]Allows an application to write to the USB storage.
YOUR ACCOUNTS
ⓘ Discover known accounts [
GET_ACCOUNTS]Allows an application to get the list of accounts known by the tablet.
EXTRA/CUSTOM
ⓘ Control vibrator [
VIBRATE]Allows the application to control the vibrator.
ⓘ Prevent tablet from sleeping [
WAKE_LOCK]Allows an application to prevent the tablet from going to sleep.
EXTRA/CUSTOM
ⓘ Automatically start at boot [
RECEIVE_BOOT_COMPLETED]Allows an application to have itself started as soon as the system has finished booting. This can make it take longer to start the tablet and allow the application to slow down the overall tablet by always running.
EXTRA/CUSTOM
ⓘ Change your audio settings [
MODIFY_AUDIO_SETTINGS]Allows application to modify global audio settings such as volume and routing.
NETWORK COMMUNICATION
ⓘ View Wi-Fi state [
ACCESS_WIFI_STATE]Allows an application to view the information about the state of Wi-Fi.
STORAGE
ⓘ [
READ_EXTERNAL_STORAGE]EXTRA/CUSTOM
ⓘ Read sync settings [
READ_SYNC_SETTINGS]Allows an application to read the sync settings, such as whether sync is enabled for Contacts.
ⓘ Write sync settings [
WRITE_SYNC_SETTINGS]Allows an application to modify the sync settings, such as whether sync is enabled for Contacts.
SYSTEM TOOLS
ⓘ Send sticky broadcast [
BROADCAST_STICKY]Allows an application to send sticky broadcasts, which remain after the broadcast ends. Malicious applications can make the tablet slow or unstable by causing it to use too much memory.
ⓘ Modify global system settings [
WRITE_SETTINGS]Allows an application to modify the system's settings data. Malicious applications can corrupt your system's configuration.
EXTRA/CUSTOM
⚙ [
org.servalproject.meshms.SEND_MESHMS]⚙ [
org.servalproject.rhizome.RECEIVE_FILE]

