tftp2httpd
tftp2httpd is a daemon written in Go which acts as a TFTP server and proxies the requests to an HTTP server. This can be used to serve configuration files requested by embedded devices on a dynamic basis, by taking advantage of the huge HTTP ecosystem for serving requests dynamically.
For example, maybe you have a model of IP phone which requests a configuration file from a TFTP server based on its MAC address. With tftp2httpd, you can proxy that request to an HTTP handler which generates an appropriate configuration based on the filename.
- An embedded device with MAC address 0000.2222.4444 requests
configuration file
p000022224444.cfg
from the TFTP server specified by DHCP. - The TFTP server, which is running tftp2httpd, proxies the request to an HTTP server setup to handle the request dynamically.
- The HTTP server parses the filename to deduce the MAC address and generates an appropriate configuration, which it returns via HTTP.
- The TFTP server returns the generated configuration to the embedded device via TFTP.