InnovativeDev-hub/new-sights
Folders and files
| Name | Name | 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!