Rurorita Posted September 30, 2021 Posted September 30, 2021 (edited) I made a TCP networking UDF https://github.com/OfficialLambdax/_netcode_Core-UDF Spoiler a extended TCP/TLS/IPv4/IPv6 UDF for Autoit3 (Support for Win XP, Vista, 7, 8, 8.1, 10 - X32 and X64 - Autoit Stable and Beta) Beaware that theUDF (User Defined Functions) is neither Alpha nor Beta or Stable. It is still in its Concept Creation Phase. This means that features a missing eg. IPv6 and TLS and that already included Features require complete Overhauls. So its best that you do not use it yet. There also is little to no Documentation yet (including UDF headers), because its pointless to create a whole .chm yet where everything is still subject to change. The UDF is ment to be Stable, Easy to use, Performant, Secure and Configurable. And overall ment to offer code for any network related usages. Autoit3 already has alot of TCP UDF's but through my testings i wasnt satisfied with any of them in terms of speed, secureness and the feature set. I had to create something that can be used in as many situations as possible. _netcode is going to Offer Security - TLS v1.2 and v1.3 (AES-256-GCM, AES-256-CBC, RSA, and your customs) Speed - 'netcode' managemode = 60 mb/s, 'rawlinked' managemode = 190 mb/s - tested on my pc Compatibility - IPv4 and IPv6, Windows XP, Vista, 7, 8, 8.1, 10 Configurability - Each and every Server and Client can be configured independent from another. Completly different rule sets can be applied to each and every socket if necessary. Interchangeable - Every Function will be overwriteable aka replaceable without the need of doing actual code changes inside the UDF Interceptable - It is ment to have a variety of options to intercept UDF processes to identify and / or protect against attacks and to solve certain errors that may arise Error Manageable - The UDF features a tracer to trace down all processes to identify errors and alike. A machine friendly to read error list that can call on set callbacks is ment to be included too Anti DDOS - It is meant that the UDF comes at default with a Rule set to combat DDOS attacks that automatically engage when certain behaviours are recognized by a client or multiple Scallable - There will be a Addon specific to automatically Sync data between processes, and a Addon ment to offer Groups where sockets can be linked to. So that all can share and use the same data pool. User Management - The Core will come at default with a Optional User Management. If enabled for the Listener then every Client has to provide a Username and Password in order to sucessfully stage through. The Database is not ment to be basic. It is ment to have an Active Userdatabase thats always loaded in the memory, a inactive Database for larger data sets and a encrypted db which only the specific user has access to (think of Tutanota). Overall all kinds of Rules and Events can be linked to users and etc. The feature will also allow for 2FA authentications. Manageable - The UDF makes use of 'select' to that only the active sockets get managed. The loop takes 1.5 ms with 1000 inactive sockets and 0.15 ms with none (test results from my pc) There are also addons https://github.com/OfficialLambdax/_netcode_Router-UDF https://github.com/OfficialLambdax/_netcode_Proxy-UDF https://github.com/OfficialLambdax/_netcode_Relay-UDF https://github.com/OfficialLambdax/_netcode_P2PCentralized-UDF https://github.com/OfficialLambdax/_netcode_P2PDecentralized-UDF Why do i develop addons before i finish the Core? Because i yet have to figure out what all needs to be in the Core to make the Addons work smooth without much additional code or Core code replacements. I launched this Thread to go into details of certain features and how i plan to implement them, mostly TLS, the Optional User Database and 2FA. Im going to create seperate posts in this Thread whenever i have something to show off. Just to be clear, it is best to not use the UDF in your projects yet. Everything is subject to change and big potions of it need entire rewrites. So documentation and examples are ment to be created right before the UDF hits Alpha, thats not going to happen so fast. The entire encryption part would never been possible without TheXman's CryptoNG UDF https://www.autoitscript.com/forum/topic/201002-cryptong-udf-cryptography-api-next-gen/#comments So big thanks to him and his help! Edited September 30, 2021 by Rurorita TheXman and mLipok 2 Amateur Coder - UDF's _storageS-UDF , _netcode-UDF (_netcode_Core-UDF, _netcode_AddonCore-UDF, _netcode_Proxy-UDF, _netcode_Relay-UDF, _netcode_Router-UDF)
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now