• 4 Posts
  • 11 Comments
Joined 1 year ago
cake
Cake day: June 23rd, 2023

help-circle

  • “ClamAV is a free and open-source antivirus software and a cross-platform antivirus toolkit. Its primary purpose is to detect various kinds of malicious software, i.e. viruses, worms, trojans, rootkits, and many other forms of possible threats to your system.”

    As ClamAV only offers a command line interface to its features, I elected to make a pretty UI to give less technical end users an easy way to manage this antivirus backend.













  • UPDATE

    I posted this before testing out an older version of godot and it seems to work just great! But as in the github issue, that is because of changes with how the protocols worked and what headers are sent!

    Here is the code for use in Godot 3.1.1:

    extends Node
    
    var _client = WebSocketClient.new()
    
    func _ready():
    	print("connecting...")
    	_client.connect("connection_closed", self, "ws_closed")
    	_client.connect("connection_error", self, "ws_connection_error")
    	_client.connect("connection_established", self, "ws_connection_established")
    	_client.connect("server_close_request", self, "ws_close_request")
    	_client.connect_to_url("wss://ws.revolt.chat/?version=1&format=json&token={token}")
    
    func ws_closed(clean):
    	if !clean:
    		print("websocket closed")
    	else:
    		print("websocket closed cleanly")
    
    func ws_connection_error():
    	print("websocket connection failed")
    
    func ws_connection_established(protocol):
    	print("we're connected using protocol: ", protocol)
    
    func ws_close_request(code, reason):
    	print("closed with code: ", code, " and reason: ", reason)
    
    func _process(delta):
    	if _client.get_connection_status() == WebSocketClient.CONNECTION_DISCONNECTED:
    		return
    	print(_client.get_peer(1).get_packet().get_string_from_utf8())
    	_client.poll()