package icon

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
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.

Versions

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.

Download F-Droid
  • Version 0.93 (2371) suggested Added on 2017-06-03

    arm64-v8a armeabi armeabi-v7a mips mips64 x86 x86_64

    This version requires Android 2.2 or newer.

    It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.

    Permissions
    • org.servalproject.meshms.SEND_MESHMS
    • org.servalproject.rhizome.RECEIVE_FILE
    • net.commotionwireless.meshtether.ACCESS_STATE
    • net.commotionwireless.meshtether.CHANGE_STATE
    • read phone status and identity
      Allows the app to access the phone features of the device. This permission allows the app to determine the phone number and device IDs, whether a call is active, and the remote number connected by a call.
    • view Wi-Fi connections
      Allows the app to view information about Wi-Fi networking, such as whether Wi-Fi is enabled and name of connected Wi-Fi devices.
    • connect and disconnect from Wi-Fi
      Allows the app to connect to and disconnect from Wi-Fi access points and to make changes to device configuration for Wi-Fi networks.
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • allow Wi-Fi Multicast reception
      Allows the app to receive packets sent to all devices on a Wi-Fi network using multicast addresses, not just your phone. It uses more power than the non-multicast mode.
    • pair with Bluetooth devices
      Allows the app to view the configuration of the Bluetooth on the phone, and to make and accept connections with paired devices.
    • access Bluetooth settings
      Allows the app to configure the local Bluetooth phone, and to discover and pair with remote devices.
    • control vibration
      Allows the app to control the vibrator.
    • change your audio settings
      Allows the app to modify global audio settings such as volume and which speaker is used for output.
    • record audio
      This app can record audio using the microphone while the app is in use.
    • reroute outgoing calls
      Allows the app to see the number being dialed during an outgoing call with the option to redirect the call to a different number or abort the call altogether.
    • modify system settings
      Allows the app to modify the system's settings data. Malicious apps may corrupt your system's configuration.
    • run at startup
      Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
    • read your contacts
      Allows the app to read data about your contacts stored on your phone. Apps will also have access to the accounts on your phone that have created contacts. This may include accounts created by apps you have installed. This permission allows apps to save your contact data, and malicious apps may share contact data without your knowledge.
    • modify your contacts
      Allows the app to modify the data about your contacts stored on your phone. This permission allows apps to delete contact data.
    • directly call phone numbers
      Allows the app to call phone numbers without your intervention. This may result in unexpected charges or calls. Note that this doesn't allow the app to call emergency numbers. Malicious apps may cost you money by making calls without your confirmation.
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • disable your screen lock
      Allows the app to disable the keylock and any associated password security. For example, the phone disables the keylock when receiving an incoming phone call, then re-enables the keylock when the call is finished.
    • read the contents of your shared storage
      Allows the app to read the contents of your shared storage.
    • modify or delete the contents of your shared storage
      Allows the app to write the contents of your shared storage.
    • find accounts on the device
      Allows the app to get the list of accounts known by the phone. This may include any accounts created by applications you have installed.
    • send sticky broadcast
      Allows the app to send sticky broadcasts, which remain after the broadcast ends. Excessive use may make the phone slow or unstable by causing it to use too much memory.
    • read sync settings
      Allows the app to read the sync settings for an account. For example, this can determine whether the People app is synced with an account.
    • toggle sync on and off
      Allows an app to modify the sync settings for an account. For example, this can be used to enable sync of the People app with an account.
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • read call log
      This app can read your call history.
    • write call log
      Allows the app to modify your phone's call log, including data about incoming and outgoing calls. Malicious apps may use this to erase or modify your call log.

    Download APK 11 MiB PGP Signature | Build Log

  • Version 0.91 (2120) - Added on 2013-07-22

    armeabi

    This version requires Android 2.2 or newer.

    It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.

    Permissions
    • org.servalproject.meshms.SEND_MESHMS
    • org.servalproject.rhizome.RECEIVE_FILE
    • read phone status and identity
      Allows the app to access the phone features of the device. This permission allows the app to determine the phone number and device IDs, whether a call is active, and the remote number connected by a call.
    • view Wi-Fi connections
      Allows the app to view information about Wi-Fi networking, such as whether Wi-Fi is enabled and name of connected Wi-Fi devices.
    • connect and disconnect from Wi-Fi
      Allows the app to connect to and disconnect from Wi-Fi access points and to make changes to device configuration for Wi-Fi networks.
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • allow Wi-Fi Multicast reception
      Allows the app to receive packets sent to all devices on a Wi-Fi network using multicast addresses, not just your phone. It uses more power than the non-multicast mode.
    • pair with Bluetooth devices
      Allows the app to view the configuration of the Bluetooth on the phone, and to make and accept connections with paired devices.
    • access Bluetooth settings
      Allows the app to configure the local Bluetooth phone, and to discover and pair with remote devices.
    • control vibration
      Allows the app to control the vibrator.
    • change your audio settings
      Allows the app to modify global audio settings such as volume and which speaker is used for output.
    • record audio
      This app can record audio using the microphone while the app is in use.
    • reroute outgoing calls
      Allows the app to see the number being dialed during an outgoing call with the option to redirect the call to a different number or abort the call altogether.
    • modify system settings
      Allows the app to modify the system's settings data. Malicious apps may corrupt your system's configuration.
    • run at startup
      Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
    • read your contacts
      Allows the app to read data about your contacts stored on your phone. Apps will also have access to the accounts on your phone that have created contacts. This may include accounts created by apps you have installed. This permission allows apps to save your contact data, and malicious apps may share contact data without your knowledge.
    • modify your contacts
      Allows the app to modify the data about your contacts stored on your phone. This permission allows apps to delete contact data.
    • directly call phone numbers
      Allows the app to call phone numbers without your intervention. This may result in unexpected charges or calls. Note that this doesn't allow the app to call emergency numbers. Malicious apps may cost you money by making calls without your confirmation.
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • disable your screen lock
      Allows the app to disable the keylock and any associated password security. For example, the phone disables the keylock when receiving an incoming phone call, then re-enables the keylock when the call is finished.
    • modify or delete the contents of your shared storage
      Allows the app to write the contents of your shared storage.
    • find accounts on the device
      Allows the app to get the list of accounts known by the phone. This may include any accounts created by applications you have installed.
    • send sticky broadcast
      Allows the app to send sticky broadcasts, which remain after the broadcast ends. Excessive use may make the phone slow or unstable by causing it to use too much memory.
    • read sync settings
      Allows the app to read the sync settings for an account. For example, this can determine whether the People app is synced with an account.
    • toggle sync on and off
      Allows an app to modify the sync settings for an account. For example, this can be used to enable sync of the People app with an account.
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • read the contents of your shared storage
      Allows the app to read the contents of your shared storage.
    • read call log
      This app can read your call history.
    • write call log
      Allows the app to modify your phone's call log, including data about incoming and outgoing calls. Malicious apps may use this to erase or modify your call log.

    Download APK 1.8 MiB PGP Signature | Build Log

  • Version 0.91.RC2 (2117) - Added on 2013-07-04

    armeabi

    This version requires Android 2.2 or newer.

    It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.

    Permissions
    • org.servalproject.meshms.SEND_MESHMS
    • org.servalproject.rhizome.RECEIVE_FILE
    • read phone status and identity
      Allows the app to access the phone features of the device. This permission allows the app to determine the phone number and device IDs, whether a call is active, and the remote number connected by a call.
    • view Wi-Fi connections
      Allows the app to view information about Wi-Fi networking, such as whether Wi-Fi is enabled and name of connected Wi-Fi devices.
    • connect and disconnect from Wi-Fi
      Allows the app to connect to and disconnect from Wi-Fi access points and to make changes to device configuration for Wi-Fi networks.
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • allow Wi-Fi Multicast reception
      Allows the app to receive packets sent to all devices on a Wi-Fi network using multicast addresses, not just your phone. It uses more power than the non-multicast mode.
    • pair with Bluetooth devices
      Allows the app to view the configuration of the Bluetooth on the phone, and to make and accept connections with paired devices.
    • access Bluetooth settings
      Allows the app to configure the local Bluetooth phone, and to discover and pair with remote devices.
    • control vibration
      Allows the app to control the vibrator.
    • change your audio settings
      Allows the app to modify global audio settings such as volume and which speaker is used for output.
    • record audio
      This app can record audio using the microphone while the app is in use.
    • reroute outgoing calls
      Allows the app to see the number being dialed during an outgoing call with the option to redirect the call to a different number or abort the call altogether.
    • modify system settings
      Allows the app to modify the system's settings data. Malicious apps may corrupt your system's configuration.
    • run at startup
      Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
    • read your contacts
      Allows the app to read data about your contacts stored on your phone. Apps will also have access to the accounts on your phone that have created contacts. This may include accounts created by apps you have installed. This permission allows apps to save your contact data, and malicious apps may share contact data without your knowledge.
    • modify your contacts
      Allows the app to modify the data about your contacts stored on your phone. This permission allows apps to delete contact data.
    • directly call phone numbers
      Allows the app to call phone numbers without your intervention. This may result in unexpected charges or calls. Note that this doesn't allow the app to call emergency numbers. Malicious apps may cost you money by making calls without your confirmation.
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • disable your screen lock
      Allows the app to disable the keylock and any associated password security. For example, the phone disables the keylock when receiving an incoming phone call, then re-enables the keylock when the call is finished.
    • modify or delete the contents of your shared storage
      Allows the app to write the contents of your shared storage.
    • find accounts on the device
      Allows the app to get the list of accounts known by the phone. This may include any accounts created by applications you have installed.
    • send sticky broadcast
      Allows the app to send sticky broadcasts, which remain after the broadcast ends. Excessive use may make the phone slow or unstable by causing it to use too much memory.
    • read sync settings
      Allows the app to read the sync settings for an account. For example, this can determine whether the People app is synced with an account.
    • toggle sync on and off
      Allows an app to modify the sync settings for an account. For example, this can be used to enable sync of the People app with an account.
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • read the contents of your shared storage
      Allows the app to read the contents of your shared storage.
    • read call log
      This app can read your call history.
    • write call log
      Allows the app to modify your phone's call log, including data about incoming and outgoing calls. Malicious apps may use this to erase or modify your call log.

    Download APK 1.8 MiB PGP Signature | Build Log