ब्लग: http://www.ddcs.re
इमेल: exportit.ddcs@gmail.com
मुख्य उद्देश्य अर्को एन्ड्रोइड प्रणाली जस्तै अन्य उपकरणहरूमा, आफ्नो Android फोन वा ट्याब्लेटको मा स्थित आफ्नो डेटा को प्रयोग अनुमति रूपमा यो छ वा आफ्नो पीसी, वा सञ्चारमाध्यमका आफ्नो टीवी सेट मा संगत छ भने। कि लागि, यो सबै भन्दा मानक प्रोटोकल, UPNP र Http प्रयोग गर्दछ।
निर्यात एक सर्भर र एक ग्राहक (आफ्नो Android डेस्कटपमा दुई प्रतिमा) लागू गर्दछ। सर्भर, भिडियो, अडियो र छवि फाइलहरु को एक सूची बनाउन र यसको अतिरिक्त पीडीएफ र eBook files आफ्नो एन्ड्रोइड प्रणाली मा पाउन सक्नुहुन्छ। आफ्नो विशेषताहरु संग यी फाइलहरू सूची स्मृति सेट गर्दै र एक UPNP निर्देशिका सेवा र एक HTTP सर्भर मार्फत प्रकाशित।
फाइलहरु मात्र चार वर्गहरू मा वितरित गर्दै छन्: भिडियो फाइल (mp4, WebM र 3gpp) अडियो फाइल (mp3, यसैगरी, र m4a), छवि फाइलहरु (JPEG, gif वा PNG), र, ebooks (PDF, prc, epub, pdb, Mobi र DjVu)।
सर्भर केहि सय हामी एक फोन वा ट्याब्लेटको साधारण तरिका मा छ के जस्तै देखिन्छ, files हजारौं प्रबन्ध लागि हुँदैन।
सबै भन्दा पहिले, बस सर्भर सुरु र प्रारम्भ प्रक्रियाको अन्त लागि प्रतीक्षा गर्नुहोस्। तपाईं वाइफाइ वा मोबाइल नेटवर्कमा छन् भने तपाईं स्थिति र यो प्रयास गर्न URL हरू जाँच गर्न सक्छन्। फोर्ट अधिकांश मानिसहरूले सर्भर मोबाइल नेटवर्क देखि पहुँच बाहिर छ। तपाईं पहिलो के आफ्नो सर्भर स्थानीय एक वेब ब्राउजर ईशारा संग वितरण गरिएको छ जाँच गर्न सक्नुहुन्छ यूआरएल सर्भर विन्डो बाहिर जा पछि (वास्तविक सर्भर पृष्ठभूमिमा चलिरहेको छ)। यो "http://[::1]:8192" जस्तै एक URL तपाईँको ब्राउजर एचटीएमएल पृष्ठ पहुँच गर्न IPv6 स्थानीय ठेगाना प्रयोग गर्न सम्भव पनि छ।
दोस्रो चरण रूपमा, तपाईं आफ्नो सर्भर नाम परिवर्तन गर्न र सायद आफ्नो भाषा र उपकरणमा फन्ट साइज छाँटकाँट सर्भर कन्फिगरेसन प्रयोग गर्न सक्नुहुन्छ।
अर्को चरण सबै विभाग पहुँच प्रशासक रूपमा प्रयोगकर्ता नाम र पासवर्ड परिभाषित मा हुन्छन्।
जब यो काम गर्छ, विशिष्ट विभाग पहुँच थप प्रयोगकर्ता नाम परिभाषित गर्न सक्नुहुन्छ।
र अन्तमा तपाईं इन्टरनेटबाट पहुँच हुन आफ्नो घर वाइफाइ जडान जब "पोर्ट फर्वार्ड" परिभाषित गर्न सक्नुहुन्छ। तपाईं UPnP समर्थन संग पूर्ण आवेदन प्रयोग गर्दै हुनुहुन्छ भने, तपाईँ कन्फिगरेसन मा एक गैर शून्य पोर्ट उपनाम परिभाषित र कन्सोलमा जाँच यसले काम गर्छ भने बस। निःशुल्क आवेदन तपाईं स्वयं आफ्नो ADSL राउटरमा कन्फिगर गर्न छ। यो राम्रो देखिन्छ जब तपाईं यो घर देखि तपाईं कुनै पनि ब्राउजरसँग, जाभास्क्रिप्ट समर्थन संग एक निःशुल्क सार्वजनिक वेब प्रोक्सी प्रयोग गरेर प्रयास गर्न सक्नुहुन्छ।
HTTPS समर्थित हुनत, कारण स्मार्टफोन र गरिब प्रदर्शन सरल HTTP तुलना यसलाई प्रयोग गर्न जटिलता गर्न सामान्य प्रयोगकर्ताका लागि सबै भन्दा राम्रो हुन खोज्दैन।
पोर्ट फर्वार्ड र प्रमाणीकरण काम गर्दै गर्दा, तपाईंले "क्लब" विकल्प इन्टरनेटमा सजिलै पहुँच हुन, www.ddcs.re आफ्नो डाटा प्रकाशन प्रयोग गर्न सक्नुहुन्छ। तपाईंको आफ्नै बाह्य आईपी ठेगाना तपाईंको वाइफाइ नेटवर्क देखि पहुँच छैन किनभने तपाईंको आफ्नै सर्भर एक वेब प्रोक्सी प्रयोग आवश्यक परीक्षण गर्न। यो विकल्प परमिट बस आफ्नो सर्भर नाम, एउटा सानो विवरण वाक्य र प्रतिमा रूपमा आफ्नो छवि को एक द्वारा परिभाषित सही सर्भर लाइन मा क्लिक, आईपी ठेगाना र पोर्ट नम्बर एक परिवर्तन URL को वितरण नगर्न।
यस UPnP Cling (Copyright (सी) 2010 Teleal GmbH, स्विट्जरल्याण्ड), र HTTP सर्भर माथि बनेको छ Teleal लीन 1.0.5 द्वारा प्रदान गरिएको छ NanoHTTPD संस्करण 1.25, Copyright 2001,2005-2012 Jarno Elonen र 2010 Konstantinos TOGIAS। तसर्थ यस आवेदन LGPL सफ्टवेयर हुन्छ। दुवै संशोधित संस्करण हो, होइन मूल कोड। यस TelealCling पुस्तकालयको cling-core, cling-support (1.0.5) ले आवेदन आवश्यक केही संशोधन संग बनाइयो मात्र एक jar फाइल छ र telealcommon (1.0.14) jar फाइलहरु ... NanoHttpd को DLNA HTTP हेडर, अनुरोध प्रवेश थप्न र प्रारम्भिक गृह पृष्ठ प्रदान गर्न, को "HEAD" विधि समर्थन गर्न परिमार्जन थियो। स्रोत कोड कार्यान्वयन योग्य रूपमा उपलब्ध छ।
टिप्पणी प्रयोग सबै ईमोटिकनहरू डिजाइन र एनरिको Gollnow (Erni) गरेका थिए। उहाँ र उहाँको स्माइलीहरू (http://www.gomotes.com) अझ बढी जानकारी प्राप्त गर्न आफ्नो वेबसाइट हेर्नुहोस्।
पासवर्ड गुप्तिकरण दिनचर्या वेब ब्राउजर पक्ष र सर्भर साइड मा SpongyCastle java पुस्तकालय मा टम वू गरेको jsbn पुस्तकालय (जाभास्क्रिप्ट BigInteger र RSA) प्रयोग गर्दछ।
यो अनुप्रयोगले JmDNS प्रयोग गर्दछ, जाभामा बहु-cast DNS कार्यान्वयन सेवा सेवा र दर्ताको लागि। यो लाइब्रेरी एप्पलको बोन्जोर प्रोटोकॉलसँग पुरा तरिकाले अन्तरिक्ष छ। मेरो सबै धन्यवाद आर्चर वान होफ, रिक ब्लेयर र काई क्रुजर, यस कुशल लाइब्रेरीको लागि अप्टसेक्स लाइसेन्स, संस्करण 2.0 को तहत इजाजतपत्र दिइएको छ।
यो अनुप्रयोगले एचआईभी लाइसेन्स अन्तर्गत जुलियन डिलिफिक 'विल्लिलेटोर्ट gdelphiki@gmail.com द्वारा विकसित गरिएको Playr भनिन्छ एचटीएमएल 5 भिडीयो प्लेयरको प्रयोग गर्दछ, यो मेरो धेरै धन्यवाद र यो प्रयोग गर्न अनुमति।
हामी WebView मार्फत PDF फाइलहरू देखाउन PDF.JS प्रयोग गरिरहेका छौं। यो खुला स्रोत परियोजना Apache संस्करण 2 लाइसेन्सको विषय हो। PDF.js (https://mozilla.github.io/pdf.js/) एक पोर्टेबल कागजात ढाँचा (PDF) दर्शक हो जुन HTML5 संग निर्मित छ। PDF.js समुदाय-संचालित र मोजिला द्वारा समर्थित छ।
epubjs-reader प्याकेज (https://github.com/futurepress/epubjs-reader) epub eBooks को लागि प्रयोग गरिन्छ र पुस्तकहरू WebView मा देखाइन्छ। यो सफ्टवेयर MIT लाइसेन्स मार्फत उपलब्ध छ।
हामी अब Acme4J लाई Java ग्राहक (https://shredzone.org) को रूपमा _Automatic Certificate Management Environment_ (ACME) प्रोटोकलको लागि RFC8555 (https://tools.ietf.org/html/rfc8555) मा तोकिए अनुसार प्रयोग गर्दैछौं। । ACME एउटा प्रोटोकल हो जुन प्रमाणपत्र प्राधिकरण (CA) र एक आवेदकले प्रमाणीकरण र प्रमाणपत्र जारी गर्ने प्रक्रियालाई स्वचालित गर्न प्रयोग गर्न सक्छन्। यो एक स्वतन्त्र खुला स्रोत कार्यान्वयन हो जुन लेट्स एन्क्रिप्टद्वारा सम्बद्ध वा समर्थन गरिएको छैन।
Acme4J लाई Jose4j पुस्तकालय (https://bitbucket.org/b_c/jose4j/wiki/Home) चाहिन्छ जुन JSON वेब टोकन (JWT) र JOSE स्पेसिफिकेशन सुइटको खुला स्रोत कार्यान्वयन बलियो र प्रयोग गर्न सजिलो छ।<
दुई मुख्य घटक सर्भर र ग्राहक हो, र, स्थापना पछि, तपाईं आफ्नो डेस्कटपमा दुई प्रतिमा छ।
सर्भर वास्तविक मिडिया सर्भर UPnP र HTTP सेवा प्रदान, वास्तवमा छ जो एक लामो चलिरहेको सेवा सुरु। यो सेवा पृष्ठभूमि मा चलिरहेको छ, त एउटा सानो सूचना प्रतिमा Android कार्यपट्टी मा सेट गरिएको छ। सर्भर एउटा महत्त्वपूर्ण सहायककार्यथप्नुहोस्, कन्फिगरेसन छ। पूर्वनिर्धारित सर्भर निर्यात सबै आफ्नो डेटा स्थानीय वाइफाइ सञ्जालमा files। तपाईं कन्फिगरेसन माध्यम फाइलहरू चयन छोड्न / चयन गर्न सक्नुहुन्छ।
स्थानीय (वाइफाइ) नेटवर्क मा पाइने UPnP सर्भर द्वारा वितरित ग्राहक प्रक्रियाहरु डेटा। यो MP4, WebM वा 3gpp भिडियोहरु देखाउने लागि एक MediaPlayer subtasks रूपमा छ र mp3, यसैगरी, वा m4a अडियो फाइलहरु, फोटो प्रदर्शनका लागि एक Webview संवाद सञ्झ्याल सुन्दै। साथै, एक पृष्ठभूमि सेवा सर्भर फाइलहरू डाउनलोड लागि सुरु गर्न सकिन्छ। सर्भर पहिले सुरु गर्दा, ग्राहक तर डेटा फाइलहरू, खाली सर्भर को एक किसिमको वितरण बिना UPnP सेवा सुरु। यो सेवा पहुँच प्राप्त गर्न आवश्यक छ अन्य UPnP सर्भर।
सिस्टम सेटिङ मा, त्यसपछि उन्नत सेटिङहरू, तपाईं ब्याट्री प्रबन्धक पाउन सक्नुहुन्छ। सर्भर अप र स्थायी रूपमा चलिरहेको राख्न, तपाईं शक्ति योजना लागि प्रदर्शन चयन गर्नुपर्छ, र सुरक्षित अनुप्रयोगहरूमा र शक्ति-गहन अनुप्रयोगहरूमा यो अनुप्रयोग सक्रिय।
तपाईं आफ्नो वाइफाइ सक्रिय राख्नु पर्छ सम्भाव्य भने आफ्नो यन्त्र सुतिरहेको हुँदा र सर्भर चल्छ, र साथै, आफ्नो उपकरण एक एकीकृत DLNA थाक छ भने, तपाईं प्रणाली सेटिङहरू मा "नजिकका उपकरणहरू" खोज्न हुँदैन।
सर्भर फाइल प्रणाली पहुँच आवश्यक र वाइफाइ वा यदि मोबाइल नेटवर्कमा जडान यदि डाटा प्रसारण सक्रिय जस्तै राज्य परिवर्तनहरू पत्ता लागि फोन सेटिङहरू पढ्न। बाह्य IP ठेगाना Access_Coarse_Location द्वारा (कन्फिगरेसन विकल्प) र देश कोड परिवर्तन गर्दा वैकल्पिक सर्भर एसएमएस पठाउन सक्छ, (एक सही स्थान छैन सिर्फ दुई पत्र देश कोड)। ग्राहक कार्यक्रम डाउनलोड फाइलहरू बचत गर्नका लागि बाह्य भण्डारण लेख्न अनुमति, र संगीत सुन्ने गर्दा घटता देखाउन को लागि रेकर्ड अडियो अनुमति प्रयोग गर्दछ।
आफ्नो निर्यात सर्भर इन्टरनेट मा फाइलहरु प्रकाशित गर्ने, तपाईं आफ्नो ADSL रूटर मा HTTP सर्भर पोर्ट एलाइजिङन्ट कन्फिगर छ। UPnP प्रोटोकल उपलब्ध छैन इन्टरनेट मा, केवल HTTP। पूर्वनिर्धारित पोर्ट नम्बर (तपाईं कन्फिगरेसन माध्यम ले परिमार्जन गर्न) 8192 छ, र सार्वजनिक नेटवर्क को लागि एक उपनाम पोर्ट, दिनैपर्छ को निर्यात सर्भर को वाइफाइ आईपी ठेगाना सम्बन्धित प्र राउटरमा। कन्फिगरेसन मा पूर्वनिर्धारित बाहिरी पोर्ट नम्बर 0 छ, तर तपाईं सेट गर्न सक्नुहुन्छ तपाईं 8192 वा 80 जस्तै के हो। आफ्नो सर्भर पहुँच गर्न प्रयोग गर्न यूआरएल, सर्भर नियन्त्रणमा सञ्झ्यालको माथि दायाँ तर्फ दिइएको छ।
मेरो वेब सर्भरले वर्षौंदेखि स्व-हस्ताक्षरित प्रमाणपत्रहरूसँग HTTPS लाई समर्थन गर्दै आएको थियो, तर, यद्यपि यसले काम गर्दछ, यसले समस्या र त्रुटि सन्देशहरू दिन्छ। त्यही कारणले गर्दा, मैले मानक X509 प्रमाणपत्रहरू प्राप्त गर्न र कायम राख्न स्वचालित प्रमाणपत्र व्यवस्थापन वातावरण_ (ACME) प्रोटोकल लागू गर्ने निर्णय गरें।
ACME प्रोटोकलमा केही प्राविधिक आवश्यकताहरू छन्, यो सबैका लागि प्रयोगयोग्य छैन। यो प्रोटोकल प्रयोग गर्नको लागि, तपाइँलाई तपाइँको बाह्य IP ठेगानामा निश्चित DNS नाम चाहिन्छ। X509 प्रमाणपत्र IP ठेगानाहरूमा होइन DNS नाममा मात्र सेट हुनुपर्छ।
Let's Encrypt बाट प्रमाणपत्र प्राप्त गर्न, तपाईंले यो बाह्य DNS नाममा मानक पोर्ट नम्बर (80) को साथ HTTP सर्भर प्रयोग गर्न आवश्यक छ। मेरो आवेदनको साथ, तपाईंले HTTP बाह्य पोर्ट उपनामको साथ चलिरहेको सर्भरमा मात्र प्रमाणपत्र प्राप्त गर्न सक्नुहुन्छ "80" मा। तपाईको घरको Wi-Fi नेटवर्कमा केवल एउटा सर्भरले यो मान प्रयोग गर्न सक्छ। जब तपाइँसँग मान्य प्रमाणपत्र हुन्छ, तपाइँ "443" को HTTPS पूर्वनिर्धारित पोर्ट प्रयोग गर्न सक्नुहुन्छ तपाइँको वेब सर्भरहरू मध्ये एउटामा मात्र "उपनाम पोर्ट" को रूपमा सेट गरिएको छ। तर आफ्नो यन्त्रलाई "रूट" गर्नबाट बच्न तपाईंले HTTP को लागि नमूना 8080 र HTTPS का लागि 8443 द्वारा "स्थानीय" पोर्ट नम्बरहरूको रूपमा 1024 माथिको पोर्टहरू प्रयोग गर्नुपर्छ।
"कन्फिगरेसन" प्यानल दुबै HTTP र HTTPS प्रोटोकलहरूको लागि पोर्ट उपनामहरूलाई समर्थन गर्न परिमार्जन गरिएको छ, र यसका अतिरिक्त तपाईंले आफ्नो बाह्य IP ठेगानाको लागि, तपाईंले काम गरिरहेको थाहा भएको DNS नाम दिन सक्नुहुन्छ। यो नाम तपाइँको X509 प्रमाणपत्रमा तपाइँको नेटवर्क प्रदायकको नामको अतिरिक्त यदि तपाइँसँग छ भने परिभाषित गरिनेछ। प्रमाणपत्र स्वचालित रूपमा उही Wi-Fi नेटवर्कमा चलिरहेको अन्य निर्यात-इट सर्भरहरूमा वितरण गरिन्छ, इन्टरनेटमा HTTPS प्रयोग गर्न अनुमति दिँदै तर अन्य पोर्ट उपनाम मानहरूसँग।