The goal is to connect a non-WiFi computer to a WiFI network via a Raspberry Pi. We will use a Raspberry Pi 4 Model B as a bridge between the non-WiFi computer and the WiFi network. The Raspberry Pi connects to WiFi and shares its connection with other computers using Ethernet.
The Raspberry Pi 4 Model B has 802.11ac WiFi, and so seems well suited to this task. This Stack Overflow answer and accompanying script as well as this proxy arp approach and Debian's Bridging Network Connections with Proxy ARP are the primary sources for how I got this working and are the inspiration for this guide.
I have two separate guides below. Follow either the Same Subnet steps or the Separate Subnet steps below based on the configuration you would prefer. My process has evolved over time and I prefer the Same Subnet approach as it is meant to be a seamless bridge for clients.
These instructions were only tested and verified on a fresh install of 2021-01-11-raspios-buster-armhf-lite.img, which is the headless version of Raspberry Pi OS. It is reccomended to use a fresh install of Raspberry Pi OS or to back up your Pi before attempting this.