Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/bertptrs/netctl2iwd

Convert netctl wireless profiles to iwd profiles
https://github.com/bertptrs/netctl2iwd

iwd netctl rust

Last synced: about 2 months ago
JSON representation

Convert netctl wireless profiles to iwd profiles

Awesome Lists containing this project

README

        

# netctl2iwd

[![Build Status](https://travis-ci.org/bertptrs/netctl2iwd.svg?branch=master)](https://travis-ci.org/bertptrs/netctl2iwd) [![Crates.io](https://img.shields.io/crates/v/netctl2iwd.svg)](https://crates.io/crates/netctl2iwd)

Convert your `netctl` wireless profiles to `iwd` profiles.

[Iwd](https://iwd.wiki.kernel.org/) is a recent projected intended to replace `wpa_supplicant`. It can be used with
ConnMan and NetworkManager with very little changes. However, if you previously used `netctl` for your wifi needs, you
will need to write out all the profiles again. This is where this tool comes in.

## Installation

```
git clone https://github.com/bertptrs/netctl2iwd
cd netctl2iwd
cargo install
```

…or `cargo install netctl2iwd` or use [this AUR package](https://aur.archlinux.org/packages/netctl2iwd/) or [find a way to convice a butterfly to make the bytes magically appear](https://xkcd.com/378/).

## Usage

```
netctl2iwd -i /etc/netctl
```

You can use this program to convert specific netctl profiles or a folder of netctl profiles. The program does not
specifically _need_ root permissions, but it does need to read (and write) the profiles.

The default destination directory is `/var/lib/profiles` which is where the profiles should be stored. You can change
the default directory for output files with the `-o [OUTPUT DIR]` directive.

For input, you can either specify each file individually, or you can specify a profile directory with the
`-i [INPUT DIR]` option.

To run this program without root, you need to

- copy your profile files to another directory
- make the copies readable for your user
- create an output directory
- run the program with the alternative profile directory and output directory
- copy the generated profiles to the proper directory, optionally after manual inspection

### Limitations

`netctl` profiles are actually bash files, however, this tool parses them as if they were `.ini` files. This works okay
for simple profiles (as generated by `wifi-menu`, for instance) but may fail for more complicated set-ups.

Because of this, WPA-enterprise profiles will fail to parse since the wpa_config code is a bash array. This might be
fixed in future versions.