-
Notifications
You must be signed in to change notification settings - Fork 40
InnovativeDev-hub/new-sights
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
. ________________________________________ 📋 Tips & Best Practices 1. File Permissions: Ensure that files in the current directory have the correct read permissions. 2. Port Availability: Make sure port 8080 is not in use by another application. 3. Security: o Avoid exposing sensitive information in server responses. o Regularly update the list of sensitive words. o Use TLS encryption to secure client-server communication. 4. Logging: Check the server.log file to analyze requests. This log is helpful for debugging and tracking client activity. 5. AI API Integration: o To connect to OpenAI’s API, use libcurl in C to make requests to https://api.openai.com/v1/. o Modify the /ai/message response to use the API-generated text instead of the hardcoded HTML response. ________________________________________ 💡 How to Customize Customization How to Do It Add AI Cloud API Use libcurl to call OpenAI API and modify the /ai/message route. Add Custom Endpoints Add new paths in the accept_request function, like /ai/summary. Change Sensitive Words Update the sensitive_words array to add/remove terms. Change the Port Update the port in the PORT constant. Log Customization Change the log_request function to log more data (user-agent, request method, etc.). ________________________________________ 🛠️ Example Logs Here’s an example of server.log after running the server for a few minutes: [2024-12-11 12:34:56] Client: 192.168.1.2 Requested: /index.html [2024-12-11 12:35:01] Client: 192.168.1.3 Requested: /ai/message [2024-12-11 12:35:15] Client: 192.168.1.2 Requested: /private/passwords.txt (BLOCKED) These logs allow you to see which clients connected, what they requested, and whether their access was blocked. ________________________________________ 🌐 API Integration Example Here’s a basic way to integrate the OpenAI API for generating dynamic responses. 1. Use the libcurl library in C. 2. Replace the /ai/message response with a call to the OpenAI API. Example Code for Calling OpenAI API #include <curl/curl.h> void ai_message(int client) { CURL *curl = curl_easy_init(); if (curl) { const char *url = "https://api.openai.com/v1/chat/completions"; const char *auth_header = "Authorization: Bearer YOUR_OPENAI_API_KEY"; const char *post_data = "{\"prompt\":\"Hello AI!\", \"max_tokens\":50}"; curl_easy_setopt(curl, CURLOPT_URL, url); curl_easy_setopt(curl, CURLOPT_POST, 1L); curl_easy_setopt(curl, CURLOPT_POSTFIELDS, post_data); struct curl_slist *headers = NULL; headers = curl_slist_append(headers, "Content-Type: application/json"); headers = curl_slist_append(headers, auth_header); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); CURLcode res = curl_easy_perform(curl); if (res != CURLE_OK) { fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); } curl_easy_cleanup(curl); } } Steps to Use This API Call 1. Replace YOUR_OPENAI_API_KEY with your OpenAI API key. 2. Compile the program with libcurl: gcc -o ai_server ai_server.c -lpthread -lcurl ________________________________________ 🌟 Final Thoughts This AI-Enhanced Web Server is a modern, multi-threaded, API-enabled server. It’s a great starting point for learning C programming, networking, AI integration, and security concepts. With features like AI message generation, multi-threading, and API connectivity, this server can be used as a base for building larger, more sophisticated web applications. If you'd like help with API integration or want more guidance on customizing this server, let me know!
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published