2024-02-18 20:41:03 +00:00
|
|
|
#!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))
|
2024-03-15 18:08:10 +00:00
|
|
|
(var num (- (bin->num (concat '(0 0 0 0) buf) "int") 2208988800))
|
|
|
|
(print (date num))
|