To download you can use something like this:
local urlmon = ffi.load('urlmon')
ffi.cdef[[
typedef const char* LPCSTR;
typedef unsigned long DWORD;
int URLDownloadToFileA(void* pCaller, LPCSTR szURL, LPCSTR szFileName, DWORD dwReserved, void* lpfnCB);
]]
function downloadFile(url...