#!lisp (load "/lib/lisp/core.lsp") (var config "/ini/ntp") (var default-server "time.cloudflare.com") (var server (if (not (nil? args)) (first args) (if (file/exists? config) (str/trim (read config)) default-server))) (var addr (or (host server) server)) (var port 123) (var socket (socket/connect "udp" addr port)) (var req (map (fun (i) (if (eq? i 0) 0x23 0)) (range 0 48))) (file/write socket req) (var res (file/read socket 48)) (var buf (slice res 40 4)) (var num (- (bin->num (concat '(0 0 0 0) buf) "int") 2208988800)) (print (date num))