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.

Donate

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.

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

    This version requires Android ? 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 at any time.
    • 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, including the frequency with which you've called, emailed, or communicated in other ways with specific individuals. 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, including the frequency with which you've called, emailed, or communicated in other ways with specific contacts. 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 SD card
      Allows the app to read the contents of your SD card.
    • modify or delete the contents of your SD card
      Allows the app to write to the SD card.
    • 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