openwrt / openwrt/packages

luci-app-wireguard: QR code feature request

Open
#21,990 3 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Makefile
Stars
4.6k
Forks
4k
Avg merge
3d 12h
Merged PRs (30d)
134

Description

Maintainer: @Environment: (put here arch, model, OpenWrt version)

Description:

(In order to provide compatibility with the official WG app for Android) export peer IP address in QR code if mask /32 is used in list allowed_ips (IPv4) or /128 for IPv6.

For example:

config wireguard_vpn 'wgclient'
	option preshared_key 'longkeygoeshere='
	option private_key 'longkeygoeshere='
	option public_key 'longkeygoeshere='
	list allowed_ips '192.168.10.128/32'
	list allowed_ips 'fd00:10::128/128'

Same about DNS server setup.

config interface 'vpn'
	option proto 'wireguard'
	option listen_port '51820'
	option private_key 'longkeygoeshere='
	list addresses '192.168.10.1/24'
	list addresses 'fd00:10::1/64'

DNS server address can be deducted from that list-adresses. Additional check via uci can be made to make sure that dnsmasq is up and running (same).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the luci-app-wireguard code that generates QR codes and inspect how the issue's allowed_ips and addresses lists are read. Check how UCI and dnsmasq state are accessed. Done means the generated QR configuration includes the peer IP for /32 or /128 entries and the applicable DNS server address.

Written by the indexing model from the issue text.

Assessment

Domain
networking
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.