Soratun Tool

When using Soracom Arc to connect to the Soracom platform, the configuration and connection process involves the following steps:

  1. Creating a Virtual SIM and receiving WireGuard configuration details
  2. Configuring a WireGuard connection on the device
  3. Activating the WireGuard connection on the device

While the first step can easily be done directly on the Soracom User Console or through the Soracom API or CLI, there may be situations where you want a device to create its own Virtual SIM during a part of the device's initialization process.

soratun (sora-com tun-nel) is a command line tool that helps you create Virtual SIMs and connect to Soracom.

In addition to providing several bootstrapping methods for creating Virtual SIMs directly from a device, Soratun also includes a WireGuard client implementation that allows you to configure and activate a WireGuard connection to Soracom, without the need to install WireGuard separately.

While Soratun helps streamline the configuration and connection process, using Soratun to connect to Soracom is not mandatory.


Functionality

Soratun provides the following functions:

For more information on configuration parameters, refer to the Command Reference documentation.

Comparison

Depending on your requirements, you may prefer to use a different WireGuard client implementation. Here is a basic overview of the major differences between Soratun and the WireGuard implementation provided in the Linux kernel:

Soratun WireGuard
Performance User process (comparatively slow) Kernel space (fast)
Stability Uses the official wireguard-go library, however the kernel implementation is considered to have better test coverage Highly stable
Security Uses the official wireguard-go library and is considered to be as secure as the kernel implementation Highly secure
Installation Install by copying a binary file to the device Install through OS package manager
Virtual SIM Bootstrapping Supported Not Supported

If you prefer to use the kernel implementation of WireGuard, you can still create a Virtual SIM separate from the device through the Soracom User Console, or with the Soracom API or CLI. Alternatively, you can use Soratun simply to bootstrap the device, and then use the WireGuard configuration details directly with the kernel implementation of WireGuard.


Bootstrapping Methods

Bootstrapping is the process of creating a new Virtual SIM directly from the device that will use the Virtual SIM when connecting to Soracom. Soratun supports three bootstrapping methods based on different authentication types:

Bootstrap Method Virtual SIM Type Requirements Tested Platforms
AuthKey authentication Standalone
  • SAM User with AuthKey
  • Internet connection
Linux, macOS
Cellular authentication Subscription Container
  • Soracom Air for Cellular SIM (any)
  • Soracom Krypton enabled
  • Modem and cellular connection
Linux, macOS
SIM authentication Subscription Container
  • Soracom Air plan01s, plan01s - LDV, or plan-NA1 SIM
  • Soracom Krypton enabled with Krypton CLI installed
  • Compatible modem or SIM reader
  • Internet connection
Linux

Supported Platforms

The following devices and platforms are supported:

Soratun can also be used on the following platforms for testing and development, however support is not provided: