#!/usr/bin/lua local nixio = require "nixio", require "nixio.util" local server = nixio.bind(nil, arg[1] or 8082) local stat = server:listen(32) local function remapipv6(adr) local map = "::ffff:" if adr:sub(1, #map) == map then return adr:sub(#map+1) else return adr end end while stat do local client = server:accept() if client then client:setopt("socket", "rcvtimeo", 1) client:setopt("socket", "sndtimeo", 1) local srv = remapipv6(client:getsockname()) client:read(1024) client:writeall("HTTP/1.1 302 Found\r\nLocation: http://" .. srv .. (arg[2] or "/luci/splash") .. "\r\nContent-Length: 0\r\nConnection: close\r\n\r\n") client:close() end end