local Crypto = require('crypto.chacha20') local Security = require('security') local SHA = require('crypto.sha2') local Socket = require('socket') local Terminal = require('terminal') local os = _G.os local remoteId local args = { ... } if #args == 1 then remoteId = tonumber(args[1]) else print('Enter host ID') remoteId = tonumber(_G.read()) end if not remoteId then error('Syntax: trust ') end local password = Terminal.readPassword('Enter password: ') if not password then error('Invalid password') end print('connecting...') local socket, msg = Socket.connect(remoteId, 19) if not socket then error(msg) end local publicKey = Security.getPublicKey() socket:write(Crypto.encrypt({ pk = publicKey, dh = os.getComputerID() }, SHA.compute(password))) local data = socket:read(2) socket:close() if data and data.success then print(data.msg) elseif data then error(data.msg) else error('No response') end