Netsplice release 0.24.1

Dear Netsplice users,

we have uploaded the latest release 0.24.1 to the project website.

For this release we focused on cleaning up the connection handling mechanisms of Netsplice. The user interface now allows you to configure more complex connection chains. Start connection A first, then start connection B, and so on. Account types can be mixed, too. First you can start OpenVPN and then once OpenVPN is up and running you can start a SSH tunnel or a Tor instance. Compared to the groups feature in the previous version chains allow you to define dependencies that are automatically connected, re- and disconnected.

netsplice_demo_0.24.0.png

The documentation contains a complete section about chain examples and how to use them.

As part of the UI cleanup we rewrote the way Netsplice internally handles connections. The connection handlers now use state machines and the plugins have been adapted to that change. This should help to debug complex connection issues and dependency resolution in case of connection errors.

While there we added more events to the different states a connection can have. This is used for example by the process manager plugin. The plugin events are filtered with a whitelist that is configured for every plugin to allow some level of access control. Plugins can subscribe to event queues provided by other sub-systems bringing us one step closer to implement a plugin API that can account for complex operational states a network stack / application can be in.

The picture below shows the currently implemented state transitions:

netsplice-0.24.0-states.png

New Platforms

Support for Ubuntu 17.10 has been added.

Dependency updates

The following dependencies have been updated:

  • OpenSSL was updated to version 1.0.2n
  • LibreSSL to 2.6.3
  • Packaged OpenVPN versions are 2.4.4 / 2.3.18

Future development

The code has been modularized a bit more. Soon it should be possible to run Netsplice in a headless mode that is suitable for server and VPS deployments! If you have specific feature requests please send them to support@ipredator.se.

Right now we are working on a suitable update mechanism for Netsplice. Once that work has been completed the plan is to add more functionality to the SSH and Tor interface. There are also a couple of plugins being worked on that every VPN client should have. Stay tuned!

Early adopter notice

Beware, the structure of the account configuration has changed and is incompatible to previous Netsplice versions. You can either reset your configuration (rm -rf ~/.config/Netsplice) directory or migrate your configuration. To keep existing configurations with passwords stored in the OS keystore, a manual migration of the configuration JSON files is possible:

# Add line
preferences/backend.json
  + ,"sequence_wait_after_connect": 1

# Add line
preferences/accounts/{uuid}.json
  + ,"default_route": false/true

# Change lines
preferences/accounts/{uuid}.process_launcher.json
preferences/accounts/{uuid}.process_sniper.json
  "account_connected" -> "backend.connection.state.connected"
  "account_disconnected" -> "backend.connection.state.disconnected"

Thanks

The IPredator team