इस प्रोजेक्ट के बारे में

frp एक तेज़ रिवर्स प्रॉक्सी है जो स्थानीय सर्वरों को NAT या फ़ायरवॉल के पीछे से इंटरनेट तक प्रदर्शित करने के लिए डिज़ाइन किया गया है। प्रोजेक्ट में दो घटक हैं: `frps` (सर्वर) जो सार्वजनिक IP वाली मशीन पर चलाया जाता है, और `frpc` (क्लाइंट) जो आंतरिक मशीनों पर चलाया जाता है। समर्थित प्रोटोकॉल TCP, UDP, HTTP और HTTPS हैं। frp क्लाइंट के बीच सीधे डेटा संचार के लिए P2P कनेक्ट मोड (`xtcp`) भी प्रदान करता है। मुख्य विशेषताएं: - **प्रोटोकॉल समर्थन**: TCP, UDP, HTTP, HTTPS और P2P (xtcp) - **कॉन्फ़िगरेशन प्रारूप**: TOML, YAML और JSON (v0.52.0 से INI अप्रचलित है) - **प्रमाणीकरण**: टोकन-आधारित और OIDC (क्लाइंट क्रेडेंशियल ग्रांट) - **एन्क्रिप्शन**: क्लाइंट-सर्वर संचार के लिए TLS समर्थन - **सर्वर डैशबोर्ड**: कॉन्फ़िगर करने योग्य पोर्ट पर वेब इंटरफ़ेस जो प्रॉक्सी स्थिति और स्टैटिस्टिक्स दिखाता है - **क्लाइंट एडमिन UI**: वेब इंटरफ़ेस जो रनटाइम में frpc कॉन्फ़िगरेशन और प्रॉक्सी की जांच और प्रबंधन करता है - **डायनामिक प्रॉक्सी प्रबंधन**: Store सुविधा के माध्यम से frpc को पुनरारंभ किए बिना प्रॉक्सी बनाएं, अपडेट करें और हटाएं - **मल्टीप्लेक्सिंग**: TCP स्ट्रीम मल्टीप्लेक्सिंग और TCP पोर्ट मल्टीप्लेक्सिंग - **ट्रांसपोर्ट प्रोटोकॉल**: KCP और QUIC प्रोटोकॉल का समर्थन - **कनेक्शन पूलिंग** - **लोड बैलेंसिंग और हेल्थ चेक्स** - **प्रॉक्सी प्रति बैंडविड्थ सीमा** - **HTTP विशेषताएं**: होस्ट हेडर रिव्राइटिंग, कस्टम हेडर्स, URL रूटिंग, बेसिक ऑथेंटिकेशन, वास्तविक IP पुनर्प्राप्ति (X-Forwarded-For, Proxy Protocol) - **पोर्ट रीयूज़** - **frpc कॉन्फ़िगरेशन का हॉट-रीलोडिंग** - **क्लाइंट प्लगइन्स**: unix_domain_socket, static_file, https2http और अन्य - **SSH टनल गेटवे** - **वर्चुअल नेटवर्क (VirtualNet)** - **कॉन्फ़िगरेशन टेम्पलेट में एन्वायरनमेंट वेरिएबल समर्थन** - **इनक्लूड के माध्यम से कॉन्फ़िगरेशन को कई फ़ाइलों में विभाजित करना** - **Prometheus मॉनिटरिंग एंडपॉइंट** आम उपयोग के मामले शामिल हैं: SSH के माध्यम से LAN कंप्यूटरों तक पहुँच, कस्टम डोमेन के साथ आंतरिक वेब सेवाओं को प्रदर्शित करना, DNS क्वेरी का फॉरवर्डिंग, Unix डोमेन सॉकेट (उदाहरण के लिए Docker) को प्रदर्शित करना, tcpmux/HTTP Connect के माध्यम से एक ही पोर्ट पर कई सेवाओं को साझा करना, और STCP (Secret TCP) मोड के साथ प्रीशेयर्ड कुंजी के साथ सेवाओं को निजी रूप से प्रदर्शित करना। प्रोजेक्ट को Go में सक्रिय रूप से रखा जा रहा है, जिसमें v2 विकास चल रहा है जो क्लाउड-नेटिव और ServiceMesh अवधारणाओं पर आधारित है, हालांकि v2 v1 के साथ असंगत होगा। वेबसाइट: https://github.com/fatedier/frp