Jump to content

esegece

Members
  • Content Count

    64
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by esegece

  1. esegece

    2 seperate installs of Indy in the one IDE?

    If you want to compile the latest Indy package with Devexpress installed, you should do some changes, there is a post in the devexpress website which explains this: https://supportcenter.devexpress.com/ticket/details/t421126/installation-with-updated-indy-components Additionally, I wrote a blog post a month ago about how install the sgcIndy package installer and Devexpress: https://www.esegece.com/community/blog/sgcindy-devexpress
  2. esegece

    D12 Indy install - IndyIPServer error

    You can read more about updating indy in the following link, it's pretty well explained the incompatibilities you can found for every Delphi version: https://github.com/IndySockets/Indy/wiki/Updating-Indy
  3. esegece

    SSL connection

    You can use SChannel instead of openSSL, check the following github project: https://github.com/tothpaul/Delphi/tree/master/Indy.SChannel
  4. esegece

    SSL connection

    On Delphi 10.2 works well too. Indy requires the openSSL libraries for SSL/TLS connections.
  5. esegece

    SSL connection

    Hello, Just tested on Delphi 12 and works well here, maybe the openssl libraries are not the latest supported by Indy? you can download from: https://github.com/IndySockets/OpenSSL-Binaries You can download your project compiled from: https://www.esegece.com/download/samples/idhttp.zip Kind Regards, Sergio
  6. sgcWebSockets is a complete package providing access to WebSocket, MQTT, STOMP, AMQP, HTTP/2, STUN, TURN... and more protocols and APIs.  What's new latest Versions - Rad Studio 12 Athens support - Components to build ChatBots using OpenAI API - New Pinecone API Client: it's a vector database which provides long-term memory for AI using embeddings from AI models. - New WebPush Protocol for Server and Client Components. Main Features: - WebSocket and HTTP/2 Support: sgcWebSockets includes client and server-side implementations of the WebSocket protocol (RFC 6455). HTTP/s is also full supported. Support for plain TCP is also included. - SSL/TLS for Security: Your messages are secure using our SSL/TLS implementation. Widest compatibility via support for modern TLS 1.3 and TLS 1.2 - Protocols and APIs: Several protocols are supported: MQTT (3.1.1 and 5.0), STOMP, AMQP, WEBRTC, SIGNALR CORE, WAMP... Built-in protocols support Transactions, Datasets, QoS, big file transfers and more. APIs supported for third-parties like Binance, Coinbase, Kraken... - Cross-platform: Share your code using our WebSockets library for your Delphi VCL, Firemonkey, Javascript and .NET projects. Includes Server, Clients and several protocols for building and connecting to WebSocket applications. - High Performance WebSocket Server based on Microsoft HTTP Framework and IOCP. - Indy Servers (WebSocket + HTTPs) for Windows (IOCP) and Linux (EPOLL). - WhatsApp and Telegram clients. - Authorization protocols like OAuth2 and JWT are supported on Server and Client Components. - STUN and TURN protocols are supported on Server and Client Components - OpenAPI Pascal Client Generator for OpenAPI 3.0 and Swagger 1.0-2.0. - Use OpenAI API to build ChatBots, Translators and more. Trial Version: https://www.esegece.com/websockets/download/download-delphi-cbuilder Compiled Demos: https://download.esegece.com/sgcWebSockets_bin.zip More Info: https://www.esegece.com/websockets
  7. esegece

    ANN: sgcWebSockets Rad Studio 12

    Ok, understood. Yes, you're right, the compiled was not working, it was quite old, so I've updated and now it's working. Kind Regards, Sergio
  8. esegece

    ANN: sgcWebSockets Rad Studio 12

    Hi, There is a simple demo that shows how connect to discord api and send a simple http request, is in the trial folder: Demos\01.WebSocket_Quick_Start\02.WebSocket_Clients_APIs You only need the boot token from discord and you can start to send requests to the bot. The discord API is not as easy to use as Telegram. Basically is a mix of WebSocket protocol to get notifications and HTTP requests to send commands, following the Discord api will be enough to implement the required functionality. If you've any doubts you can use the public forum from esegece to get support. You can read the basics of the implemented Discord API using the following link: https://www.esegece.com/help/sgcWebSockets/#t=Components%2FAPIs%2FAPI%2FAPI_Discord.htm Kind Regards, Sergio
  9. esegece

    ANN: sgcWebSockets Rad Studio 12

    Only today (27/11/2023), 30% discount on any package using the following coupon: CYBER23 https://www.esegece.com Happy Cyber Monday!
  10. esegece

    ANN: sgcWebSockets Rad Studio 12

    Hi, Thanks for your feedback, find my answers below: 1) Thanks for the suggestion, I'll check if this protocol can be implemented, you are not the first who ask about this protocol. 2) Standard and Professional can use the openssl libraries, the difference with the Enterprise Edition is the Standard and Professional use the default Indy package that comes with delphi (which by default only supports openssl 1.0.2 libraries). While the Enterprise Edition comes with a custom Indy version that supports openssl 1.1.1 and 3.0.0 3) The basic edition is for customers more sensible with the price but I always recommend the source code edition. Thanks for your opinion, feedback is always welcome. Kind Regards, Sergio
  11. esegece

    Delphi / TCP/IP Server

    Hello, I assume that when you say "my app freezes" you are referring to the server. Usually when the server freezes is because there is a thread-lock, Indy servers are multi-threaded but the the event handlers are not thread-safe, so if you need to update a VCL control when you read some data, this operation must be done in the main thread (using Synchronize or Queue). 25 concurrent connections is quite low, so Indy server can handle these connections without problems. If you can provide more info about your code we can try to help you. Kind Regards, Sergio
  12. sgcWebSockets is a complete package providing access to WebSocket, MQTT, STOMP, AMQP, HTTP/2, STUN, TURN... and more protocols and APIs.  What's new - OpenAI API Support: the OpenAI API is now fully supported so you can build your own Chat Bots using ChatGPT-Turbo, Speech-to-Text, Translate documents, Code completion, Image generation and much more. Find below some examples of use: - Building a Chat Bot using ChatGPT-Turbo - Speech-To-Text - Translate Audio Files - Image Generator from Prompts Main Features: - WebSocket and HTTP/2 Support: sgcWebSockets includes client and server-side implementations of the WebSocket protocol (RFC 6455). HTTP/s is also full supported. Support for plain TCP is also included. - SSL/TLS for Security: Your messages are secure using our SSL/TLS implementation. Widest compatibility via support for modern TLS 1.3 and TLS 1.2 - Protocols and APIs: Several protocols are supported: MQTT (3.1.1 and 5.0), STOMP, AMQP, WEBRTC, SIGNALR CORE, WAMP... Built-in protocols support Transactions, Datasets, QoS, big file transfers and more. APIs supported for third-parties like Binance, Coinbase, Kraken, FTX... - Cross-platform: Share your code using our WebSockets library for your Delphi VCL, Firemonkey, Javascript and .NET projects. Includes Server, Clients and several protocols for building and connecting to WebSocket applications. - High Performance WebSocket Server based on Microsoft HTTP Framework and IOCP. - Indy Servers (WebSocket + HTTPs) for Windows (IOCP) and Linux (EPOLL). - WhatsApp and Telegram clients. - Authorization protocols like OAuth2 and JWT are supported on Server and Client Components. - STUN and TURN protocols are supported on Server and Client Components - OpenAPI Pascal Client Generator for OpenAPI 3.0 and Swagger 1.0-2.0. Trial Version: https://www.esegece.com/websockets/download/download-delphi-cbuilder Compiled Demos: https://download.esegece.com/sgcWebSockets_bin.zip More Info: https://www.esegece.com/websockets
  13. esegece

    [Very unsure] Indy vs sgcIndy

    Hi @Remy Lebeau, Sorry for the late response, absolutely no problem in renaming the sgcIndy package. I've removed from the website because I need some time to implement those changes. The components have been renamed to sgcInternet. Thanks for your feedback, I really appreciate it. Kind Regards, Sergio
  14. esegece

    [Very unsure] Indy vs sgcIndy

    Hello, I am the eSeGeCe developer, sgcIndy is a product based on Indy that it's used by the sgcWebSockets library because requires some additional features that are not supported, some of them officially, by the indy library like openSSL 1.1 and 3.0, ALPN, IOCP, EPOLL... some users asked me that they were interested in using the Indy library with this modifications but were not interested in purchase the full sgcWebSockets library, so I released some months ago the sgcIndy library so they could purchase only the sgcIndy package with source at a lower price than the full sgcWebSockets package. I offer for free the sgcIndy library to all delphi / Cbuilder users, which includes a setup which installs automatically this package. Only is required to purchase, if you want the source code, that's all. Kind Regards, Sergio
  15. Hi, Glad to hear it works now. You can use the TsgcHTTP1Client which is an HTTP client based with authorization features like OAuth2. https://www.esegece.com/help/sgcWebSockets/#t=Components%2FHTTP%2FHTTP1%2FHTTP1.htm You can attach a TsgcHTTP_OAuth2_Client to the oHTTP Client, and when you do a call request to the API, if the client detects there is not a valid Bearer Token, it will ask from OAuth2 Client. Once has a bearer token, this is attached automatically to the HTTP headers. Find below a simple example: procedure DoHTTPAPI; var oAuth2: TsgcHTTP_OAuth2_Client; oHTTP: TsgcHTTP1Client; begin oAuth2 := TsgcHTTP_OAuth2_Client.Create(nil); // ... here your oauth2 configuration oHTTP := TsgcHTTP1Client.Create(nil); Try oHTTP.Authentication.Token.OAuth := OAuth2; oHTTP.Get('http://www.yourapi.com/test'); Finally oHTTP.Free; End; end; Kind Regards, Sergio
  16. No, there is no need to add any dll. The message you get is a bit weird, because is trying to load the bpl from E:\Programming\sgcWebSockets_D10_1\Packages\, while usually the packages are located in $(BDSCOMMONDIR)\Bpl Try to check in the IDE menu Tools / Options, the Package Output Directory is correct, by default these are the following (for win32 / win64)
  17. Seems there is an error while installing the components using the installer, seems a configuration problem, because this is the error you got: You can try to install manually too, just open the group project E:\Programming\sgcWebSockets_D10_1\Packages\sgcWebSocketsD10_1.groupproj and follow the steps: https://www.esegece.com/help/sgcWebSockets/#t=Install%2FInstall_Package.htm
  18. Hi, OAuth2 is basically an authorization protocol that after a successful authorization, returns a bearer token (like an id) that can be used later to access to a REST API. You just need to pass the bearer token in the HTTP headers of the Get/Post... request. I've a commercial product called sgcWebSockets that implements OAuth2 (among other protocols), you can download a trial for Delphi from: https://www.esegece.com/websockets/download/download-delphi-cbuilder If you want to read more about the OAuth2 implementation, you can use the following link: https://www.esegece.com/help/sgcWebSockets/#t=Components%2FHTTP%2FAuthorization%2FOAuth2%2Fclient%2FTsgcHTTP_OAuth2_Client.htm If you are in trouble testing the demo or you need assistance converting the postman scripts, you can use the following link: https://www.esegece.com/contact/contact-us Kind Regards, Sergio
  19. An OpenAPI Parser is a tool used for parsing and validating OpenAPI specifications. OpenAPI is a specification for building APIs that defines a standard language-agnostic interface for RESTful web services. Now you can use the sgcOpenAPI Parser to import any OpenAPI Specification and generate the required Delphi / Pascal interface methods to interactuate with the API. The sgcOpenAPI Parser supports the following specifications: - OpenAPI 3.* - Swagger 2.* (automatically converted from 2.0 to 3.0) - Swagger 1.* (automatically converted from 1.0 to 3.0) The sgcOpenAPI Parser has been used to generate the following pre-built SDKs - Amazon AWS SDK (+280 Services) - Google Cloud SDK (+250 Services) - Azure SDK (+650 Services) - Microsoft SDK (+15 Services) More Info: https://www.esegece.com/openapi https://www.esegece.com/community/blog https://youtu.be/yCpRTm_KZ7I Trial Version: https://www.esegece.com/openapi/parser Kind Regards, Sergio
  20. esegece

    ANN: OpenAPI Delphi Parser

    Hi, The generated code file is multiplatform, but currently the trial only provides the required files for Windows, but the library takes the code from the sgcWebSockets package which is multiplatform. I've just tried to compile an openAPI generated specification and works well on OSX. I'll add support for all Delphi personalities on next the sgcOpenAPI Parser version, thanks for the suggestion. The Web service is called in the same process where is called the request, so if the call is called from the main thread, the request will be called in the main thread. Kind Regards, Sergio
  21. Hello, I don't use ISAPI, but I've been running Indy servers 24/7 for several years now without any problems, so yes, Indy's fine for production. Just keep in mind that each connection runs in it's own thread, so if there are 80 concurrent connections, the server will be using 80 threads. Kind Regards, Sergio
  22. Hello, Yes, sgcWebSockets Enterprise edition comes with a custom indy package with support for openSSL 1.1 & 3.0, ALPN... The sgcIndy package, which is used for users that want to add support for the latest openSSL versions with the Indy components (ftp, smtp...) is currently included too with the sgcWebSockets Enterprise Source code package. The SSL implementations are equal for both, but in the sgcWebSockets package, the required indy files are renamed, so you can have the standard indy library installed in your IDE and the sgcWebSockets enterprise package without problems. Currently, the sgcIndy Package can be purchased separetely because some users are only interested in use the latest openSSL libraries for Indy. No, sgcWebSockets Enterprise has more features than sgcWebSockets Professional + sgcIndy, the enterprise edition has more components: HTTP.SYS server, http/2 support, DTLS over UDP... Anyway, you can upgrade from Professional to Enterprise edition at any time. More about feature matrix: https://www.esegece.com/websockets/features/feature-matrix-delphi-cbuilder Only keep in mind that if you purchase the sgcWebSockets professional edition and later you add sgcIndy, in order to use the latest openSSL libraries that comes with the sgcIndy package, you need the Professional Edition with source code, because the Professional BASIC edition compiles against the standard indy library. Kind Regards, Sergio
  23. Indy supports openSSL 1.1 using the following pull request https://github.com/IndySockets/Indy/pull/299, not sure if works on OSX I publish a commercial library based on Indy that supports openSSL 1.1 and openSSL 3.0 for all Delphi personalities (windows, OSX, linux, iOS...), you can use a TsgcHTTP1Client which inherits from TIdHTTP Indy client and connect using openSSL 1.1 or 3.0 Find below an example using openSSL 1.1 that is cross-platform uses sgcHTTP, sgcWebSocket_Types; function GetHTTP(const aURL: string): string; var oHTTP: TsgcHTTP1Client; vResponse: string; begin oHTTP := TsgcHTTP1Client.Create(nil); Try oHTTP.TLSOptions.OpenSSL_Options.APIVersion := oslAPI_1_1; oHTTP.TLSOptions.Version := tls1_3; oHTTP.Proxy.Enabled := True; oHTTP.Proxy.Host := '3.215.142.228'; oHTTP.Proxy.Port := 3128; oHTTP.Proxy.ProxyType := pxyHTTP; result := oHTTP.Get(aURL); Finally oHTTP.Free; End; end; This still requires the openSSL libraries but I provide already compiled openSSL libraries for registered customers for Windows, OSX, iOS and Android. More info: https://www.esegece.com/ https://www.esegece.com/help/sgcWebSockets/#t=Components%2FHTTP%2FHTTP1%2FHTTP1.htm https://www.esegece.com/help/sgcWebSockets/#t=QuickStart%2FOpenSSL%2FOpenSSL_OSX.htm The package that supports this is sgcWebSockets Enterprise that comes with a custom indy version that support openSSL 1.1 and 3.0 Kind Regards, Sergio
  24. esegece

    Recomnended Email and Webserver Components

    If you need to send gmail authentication using OAuth2 you can try this open source project which implements this type of authentication using the Indy components: https://github.com/geoffsmith82/GmailAuthSMTP/blob/master/README.md Additionally, I offer a commercial product called sgcWebSockets that includes support for Indy servers with support for HTTPs with the latest openSSL using a custom library with support for the latest TLS 1.3 (openSSL 1.1.1 and 3.0.0). OAuth2 authentication is also supported on server and client components, Indy IOCP Server for high performance servers... and much more features, you can check in the following link: https://www.esegece.com/websockets Kind Regards, Sergio
  25. esegece

    Where I can find the SSL DLLs for Indy?

    You can check the openSSL documentation which explains how to compile the openssl libraries: https://wiki.openssl.org/index.php/Compilation_and_Installation#OS_X
×