Wireguard + WARP
TaimadoLa finalidad de este tutorial es terminar configurando nuestro box para que salga hacia internet mediante WARP, el túnel VPN de Cloudflare usando para ello las credenciales Wireguard que Cloudflare nos dará. Para ello haremos uso de una herramienta llamada wgcf. Esto nos permitirá salir hacia internet mediante esta conocida VPN, no usando por tanto la IP que nos proporciona nuestro ISP sino la que nos proporcionará WARP.
Al lío.
Lo primero es descargar la herramienta wgcf. Este programa lo ejecutaremos en nuestro pc y será el que nos permita tanto registrarnos en WARP como obtener los datos para configurar nuestra conexión WireGuard para acceder a WARP.
Os descargáis la correspondiente a vuestro sistema operativo, Windows, Linux...
Nos colocamos en el directorio donde lo hayamos descargado y ejecutamos:
wgcf register
Este comando nos permitirá dar de alta una nueva cuenta en CloudFlare WARP y descargará en ese mismo directorio un archivo llamado wgcf-account.toml

A continuación ejecutaremos:
wgcf generate
Esto genera un archivo denominado wgcf-profile.conf que contiene los datos que tendremos que meter en nuestro box para configurar nuestro acceso a WARP mediante Wireguard.

Para este tutorial solo voy a explicar como introducir estos datos usando el propio gestor conexiones de CoreElec para WireGuard, connman, que hace uso a su vez de connman-vpn.service
En la carpeta de vuestro box /storage/.config/wireguard/ encontraréis un archivo que se llama wireguard.config.sample. Este es el archivo que tenéis que tener de referencia para introducir los datos que os proporciona el archivo wgcf-profile.conf
Con todo debéis de generar un archivo llamado wireguard.config que tenga la siguiente estructura:
[provider_wireguard] Type = WireGuard Name = Warp Host = 162.159.192.1 WireGuard.Address = (La que sea en vuestro caso. Ej: 10.0.0.2/24) WireGuard.ListenPort = 51820 WireGuard.PrivateKey = (La que sea en vuestro caso) WireGuard.PublicKey = (La que sea en vuestro caso) WireGuard.DNS = 1.1.1.1, 1.0.0.1 WireGuard.AllowedIPs = 0.0.0.0/0 WireGuard.EndpointPort = 2408 WireGuard.PersistentKeepalive = 25
Guardáis el archivo wireguard.config en la misma ruta que el wireguard.config.sample. Lo siguiente es ejecutar en nuestro box por consola:
connmanctl services
Si todo ha ido bien veréis que ahora tenéis una nueva conexión en vuestro box (obviamente el nombre de las redes en vuestros equipos serán distintas):

Para conectar, dirigíos a ADDON COREELEC/CONEXIONES/ y elegís la vpn para conectar.
Si abrís de nuevo una consola en vuestro box y ejecutáis:
ifconfig
Os saldrán los interfaces de red que tenéis, y cómo no, el recién creado:

Ahora bien, ¿Y si queremos que siempre esté activa nuestra conexión VPN WARP por defecto cuando arrancamos nuestro box? Tan fácil como hacer lo siguiente. Crearemos un archivo llamado wireguard.service para meterlo en el systemd de nuestro box. Tendrá el siguiente contenido:
[Unit] Description=WireGuard VPN Service After=network-online.target nss-lookup.target wait-time-sync.service connman-vpn.service Before=kodi.service [Service] Type=oneshot RemainAfterExit=yes ExecStart=/usr/bin/connmanctl connect vpn_service_name_goes_here ExecStop=/usr/bin/connmanctl disconnect vpn_service_name_goes_here [Install] WantedBy=multi-user.target
El único cambio que tendréis que hacer es cambiar el nombre de la red vpn creada en los apartados ExecStart y ExecStop y poner el nombre de la vuestra, la cual se os mostró más arriba, al ejecutar:
connmanctl services
Es decir, en mi caso hay que sustituir vpn_service_name_goes_here por vpn_185_210_30_121
Hecho esto solo queda copiar el archivo en la siguiente ruta de nuestro box:
/storage/.config/system.d/
Ahora activamos el nuevo servicio en systemd y también lo iniciamos con:
systemctl enable /storage/.config/system.d/wireguard.service
Y
systemctl start wireguard.service
Si todo está bien al arrancar el box se iniciará automáticamente nuestra conexión a WARP.
Del mismo modo podéis comprobar como la IP pública de vuestro box ahora es diferente de la que tenéis en el resto de equipos de vuestro hogar que no usan WARP.

Podéis comprobar mediante Google que vuestra IP pública ha cambiado y que esa nueva IP pertenece a CloudFlare:

Gracias a la gente del grupo de CoreElec de Telegram y en especial a Javi, que hizo la mayor parte del trabajo relativo a la elaboración del tuto.
Del mismo modo algunas de las imágenes usadas para el tuto han sido capturadas de la wiki de LibreElec.