आप इंटरनेट पर कुछ बहुत लंबे URL (यूनिफॉर्म रिसोर्स लोकेटर्स) का सामना करेंगे। कई साइट्स आपकी विजिट के बारे में जानकारी को URL में डालती हैं: भाषा, स्थान, पहचान, विशेष के लिए रेफरेंस कोड, और कई अन्य आइटम्स जैसे। ये बहुत लंबे URL बनाता है।
कोड कैन्यन पर प्रीमियम URL शॉर्टनर लंबे URL को छोटा बनाने का एक तरीका है। इस ट्यूटोरियल में, मैं आपको दिखाऊंगा कि अपने सिस्टम पर अपना खुद का URL शॉर्टनर कैसे सेट करें और इसका उपयोग कैसे करें।
URL शॉर्टनर क्या है?
जब भी आप इंटरनेट ब्राउज़ करते हैं तो आप एक URL का उपयोग करते हैं। ये विशेष वेब पेज और कंटेंट की पहचान करता है। चूंकि ये एक फॉर्म या सर्च इंजन के लिए पैरामीटर्स शामिल कर सकते हैं, ये URL काफी बड़े हो सकते हैं।
https://tutsplus.com/tutorials/search/How%20to%20Draw%20Animals:%20Horses,%20Their%20Anatomy%20and%20Poses
ये URL Tuts+ वेबसाइट पर "How to Draw Animals: Horses, Their Anatomy and Poses" स्ट्रिंग को खोजने के लिए है। ये स्ट्रिंग 74 कैरेक्टर्स लंबी है। मैंने 200 कैरेक्टर्स से अधिक लंबे URL देखे हैं।
https://bit.ly/2oO8BqO
जब आप बिट.ली जैसी URL शॉर्टनिंग सर्विस का उपयोग करते हैं, तो आपको बहुत छोटा URL मिलता है। वही URL अब 15 कैरेक्टर्स लंबा है। जब कोई इस लिंक को ब्राउज़ करता है, तो बिट.ली सर्वर ब्राउज़र को पूर्ण URL पर रीडायरेक्ट करता है। एक अलग URL पर अतिरिक्त लुकअप साइट लोड समय में देरी करता है, लेकिन ज्यादा नहीं।
डॉकर इंस्टॉल करना
लोकल सर्वर बनाने का सबसे आसान तरीका वर्चुअलाइज्ड वातावरण का उपयोग करना है। लेकिन एक पूर्ण सिस्टम वर्चुअलाइज़र चलाना बहुत संसाधन-गहन है। डॉकर टर्मिनल-आधारित सिस्टम के लिए एक न्यूनतम वर्चुअलाइज़र है। आप कम सिस्टम संसाधनों का उपयोग करके एक डॉकर कंटेनर (एक छोटा यूनिक्स सर्वर) चला सकते हैं।
अपने सिस्टम पर कंटेनर चलाने के लिए, आपको डॉकर इंस्टॉल करना होगा। डॉकर वेबसाइट से अपने ऑपरेटिंग सिस्टम के लिए उचित डाउनलोड चुनें।
डॉकर इंस्टॉल होने के साथ, आपको अपने सिस्टम को उस वेब सर्विस को खोजने के लिए तैयार करना होगा जिसे आप बनाने जा रहे हैं। ऐसा करने के लिए, आपको एक सिस्टम फाइल बदलनी होगी। लिनक्स या macOS सिस्टम के लिए /etc/hosts फाइल में और विंडोज सिस्टम के लिए c:\windows\System32\drivers\etc\lmhosts फाइल में, ये स्टेटमेंट डालें:
127.0.0.1 s.dev
ये परिवर्तन https://s.dev के सभी रेफरेंसेस को लोकल सिस्टम पर जाने देगा। सर्विस को कॉन्फ़िगर करने का प्रयास करने से पहले इसे एक उचित होस्टनाम देने के लिए किया जाता है।
अपना डेवलपमेंट क्षेत्र बनाने के लिए, एक डायरेक्टरी बनाएं और इसमें प्रीमियम URL शॉर्टनर जिप फाइल रखें और इसे एक्सपैंड करें। आपके पास तब ये डायरेक्टरी संरचना होनी चाहिए:
ये main.zip फाइल के साथ डॉक्यूमेंटेशन है। इस फाइल को भी एक्सपैंड करें। एक बार जब आप इसे एक्सपैंड कर लें, तो आपके पास ये डायरेक्टरी संरचना होनी चाहिए:
main.zip फाइल में सर्विस के लिए सभी सोर्स कोड फाइल्स और संसाधन हैं। ये वो डायरेक्टरी होगी जिसे आप डॉकर इंस्टेंस में जोड़ेंगे।
अब आपको फौरिया से डॉकर LAMP स्टैक प्राप्त करने की आवश्यकता है। डॉकर चलने के साथ, टर्मिनल में निम्नलिखित टाइप करें:
docker pull fauria/lamp
यह आपके डॉकर इंस्टॉलेशन में फौरिया LAMP (लिनक्स, अपाचे, MySQL, और PHP) स्टैक डाउनलोड करेगा। एक बार डाउनलोड हो जाने पर, आप कंटेनर बना सकते हैं:
docker run --rm --name linkshort -p 80:80 -e LOG\_STDOUT=true -e LOG\_STDERR=true -e LOG\_LEVEL=debug -v {{service source directory}}:/var/www/html fauria/lamp
{{service source directory}} को उस डायरेक्टरी के पूर्ण पथ से बदलें जिसमें सभी सोर्स फाइल्स और संसाधन हैं। ये कमांड linkshort नाम का एक कंटेनर बनाता है जो पोर्ट 80 पर काम करता है और सभी एरर और लॉग मैसेजेस को स्टैंडर्ड आउट देता है।
अभी, हर बार जब आप कंटेनर को रोकते हैं और पुनः लॉन्च करते हैं, तो आप अपनी सारी जानकारी खो देंगे। आपको डेटाबेस जानकारी को अपने सोर्स कोड डायरेक्टरी में ले जाने की आवश्यकता है ताकि प्रत्येक रिबूट के साथ इसे संरक्षित किया जा सके। एक टर्मिनल विंडो में, ये कमांड्स निष्पादित करें:
docker exec -i -t linkshort bash mkdir /var/www/html/data cp -R /var/lib/MySQL/* /var/www/html/data exit
पहला कमांड कंटेनर के लिए एक बैश शेल खोलता है। दूसरा कमांड आपके सोर्स कोड डायरेक्टरी में data डायरेक्टरी बनाता है। कंटेनर सोर्स कोड डायरेक्टरी को /var/www/html डायरेक्टरी के रूप में देखता है। तीसरा कमांड डेटाबेस जानकारी को उस डायरेक्टरी में कॉपी करता है। exit कमांड आपको कंटेनर से बाहर निकालता है।
अब कंटेनर को रोकें उपयोग करके:
docker stop linkshort
आप इस कमांड का उपयोग हर बार करेंगे जब आप कंटेनर को रोकना चाहेंगे।
अब, उचित डेटा डायरेक्टरी का उपयोग करके कंटेनर को पुनः आरंभ करने के लिए, इस कमांड का उपयोग करें:
docker run --rm --name linkshort -p 80:80 -e LOG\_STDOUT=true -e LOG\_STDERR=true -e LOG\_LEVEL=debug -v {{service source directory}}:/var/www/html -v {{service source directory}}/data:/var/lib/mysql fauria/lamp
इस बार आपने कंटेनर को मारियाडीबी सर्वर के साथ बनाया जो अब आपके कंप्यूटर पर संग्रहीत डेटाबेस डेटा का उपयोग कर रहा है। ये वो कमांड है जिसका उपयोग आप सर्विस लॉन्च करने के लिए करेंगे। मैं इसे मेरे लिए टाइप करने के लिए कीबोर्ड एक्सपैंडर टाइपिनेटर का उपयोग करता हूं।
अब, URL शॉर्टनर के लिए डेटाबेस बनाया जाना चाहिए। आपको कंटेनर में एक शेल खोलने की भी आवश्यकता होगी। एक नए टर्मिनल इंस्टेंस में, निम्नलिखित कमांड टाइप करें:
docker exec -i -t linkshort bash
ये कमांड कंटेनर में बैश शेल बनाता है। अगर आपको कंटेनर में कुछ समायोजित करने की आवश्यकता है, तो ये वो कमांड है जिसका आप उपयोग करेंगे। अगला, मारियाडीबी प्रोग्राम में एक कमांड शेल खोलें:
mysql -u root
अब, आप मारियाडीबी में डेटाबेस बना सकते हैं और वेब सर्वर को इसे एक्सेस करने की अनुमति दे सकते हैं:
create database urlshort;
create user 'www-data'@'localhost' identified by '{{password}}';
grant all on urlshort.\* to 'www-data'@'localhost';
quit;
{{password}} को उस पासवर्ड पर सेट करने की आवश्यकता है जो आप डेटाबेस के उपयोगकर्ता को देना चाहते हैं। इसे याद रखें क्योंकि आप सर्विस को कॉन्फ़िगर करने के लिए इसका उपयोग करेंगे।
कंटेनर में सर्विस चलने के साथ, अपने वेब ब्राउज़र को https://s.dev पर खोलें।
अगर आपने कॉन्फ़िगरेशन किया है, तो आपको ये पृष्ठ दिखाई देगा। ये पृष्ठ URL शॉर्टनर सर्विस की आवश्यकताओं और आपके सेटअप की स्थिति को दिखाता है। फौरिया कंटेनर को डॉकर में उपयोग करके, आपके पास पहले से ही सभी निर्भरताएं पूरी हैं। पृष्ठ के नीचे नीले बटन पर क्लिक करें।
दिखाया गया अगला पृष्ठ सर्विस के लिए कॉन्फ़िगरेशन फाइल निर्माता है। ये पृष्ठ आपको प्रोग्राम को उस डेटाबेस का नाम और पासवर्ड देने की अनुमति देता है जिसे आपने पहले बनाया था।
आपको ऊपर दिखाए अनुसार इन फील्ड्स को भरने की आवश्यकता है। डेटाबेस होस्ट कंटेनर के लिए लोकलहोस्ट है। डेटाबेस नाम urlshort है, जिसे आपने सेटअप में बनाया था। डेटाबेस उपयोगकर्ता www-data है, और पासवर्ड वह है जिसे आपने प्रारंभिक डेटाबेस सेटअप में असाइन किया था। डेटाबेस प्रीफिक्स सर्विस के लिए बनाए गए प्रत्येक डेटाबेस के लिए शुरुआती नाम है। मैंने short_ का उपयोग किया। इंस्टॉलेशन प्रोग्राम सिक्योरिटी की सेट करता है। भविष्य के संदर्भ के लिए दी गई की की एक कॉपी रखें।
अगर आप इसे वर्चुअल प्राइवेट सर्वर (VPS) पर इंस्टॉल करते, तो ये मान उस सर्विस के अनुसार होते। कुछ समान होंगे, और कुछ बदल जाएंगे।
उचित जानकारी के साथ, पृष्ठ के नीचे नीले बटन को दबाकर चरण 3 पर जाएं।
बेसिक कॉन्फ़िगरेशन स्क्रीन आपको एडमिन यूजर नाम, ईमेल, और पासवर्ड सेट करने की अनुमति देती है। इन्हें उन मूल्यों पर सेट करें जो आपसे संबंधित हैं। साइट URL को https://s.dev पर सेट करने की आवश्यकता है जैसा कि आपने पहले अपनी hosts फाइल में सेट किया था। एक बार सेट हो जाने पर, स्क्रीन के नीचे नीले बटन को दबाएं।
अगली स्क्रीन आपको बताती है कि सर्विस अब सेट हो गई है। Delete install.php कहने वाले नीले बटन को दबाएं। ये एक वास्तविक वेब सर्वर पर उपयोग के लिए एक सुरक्षा फीचर है, लेकिन लोकल इंस्टॉल के लिए आवश्यक नहीं है। हालांकि, इंस्टॉलेशन तब तक खत्म नहीं होगा जब तक आपने ऐसा नहीं किया है।
बधाई हो - सर्विस कार्यात्मक है! आपको ऊपर वाली स्क्रीन दिखाई देनी चाहिए। अगर आप Paste a long url नामक इनपुट फील्ड में एक लंबा URL देते हैं और फिर नीले बटन Shorten को दबाते हैं, तो आपको उपयोग के लिए एक छोटा URL मिलेगा। URL भविष्य के संदर्भ के लिए डेटाबेस में भी होगा। ये फीचर एक बेहतरीन बुकमार्कर बनाता है।
API का उपयोग करना
अब जब आपके पास अपना URL शॉर्टनर सर्विस चल रहा है, तो आप इसका अच्छा उपयोग करना चाहेंगे। लेकिन हमेशा एक वेब पेज खोलना, यहां तक कि एक लोकल भी, आपको धीमा कर देगा। आपको इसे तेज़ बनाने की आवश्यकता है। यहीं API (एप्लिकेशन प्रोग्रामिंग इंटरफेस) का उपयोग करना मददगार है। आप API के लिए पूर्ण डॉक्यूमेंटेशन देख सकते हैं।
सर्विस चलने के साथ, पेज https://s.dev/user/settings खोलें।
इस पेज को देखने के लिए आपको अपने खाते में लॉग इन करना होगा। साइडबार में नीचे दाईं ओर, आपको Your API Key: के साथ एक अल्फा-न्यूमेरिक नंबर दिखाई देगा। उस नंबर को कॉपी करें और सेव करें। ये नंबर API तक पहुंच देता है।
API का उपयोग करने के लिए, आप इसे एक्सेस करने के लिए एक रूबी प्रोग्राम बना सकते हैं। macOS और लिनक्स पर, रूबी आमतौर पर प्री-इंस्टॉल्ड होती है। विंडोज पर, आपको इसे इंस्टॉल करना होगा।
एक छोटा लिंक बनाने के लिए रूबी में न्यूनतम प्रोग्राम है:
require 'net/http'
require 'json'
API = '{YourAPIKey}'
short = JSON.parse(Net::HTTP.get('s.dev', '/api?api=' + API + '&url=' + ARGV[0]))
if short["error"] == 0 then
print short["short"]
else
print "An error happened: "
print short["error"]
print "\n"
end
स्क्रिप्ट को shortener.rb नाम की फाइल में सेव करें, {YourAPIKey} को पहले कॉपी किए गए API की से बदलें, और कमांड लाइन में निम्नलिखित चलाएं:
ruby shortener.rb 'google.com'
आपको उस URL के लिए एक छोटा लिंक मिलना चाहिए। ये छोटे URL बनाता है, लेकिन अभी भी सुविधाजनक नहीं है।
पॉपक्लिप एक्सटेंशन बनाना
मैक पर, पॉपक्लिप हाइलाइटेड टेक्स्ट को प्रोसेस करने के लिए एक बेहतरीन छोटा प्रोग्राम है। छोटे लिंक बनाना आसान बनाने के लिए, आप एक पॉपक्लिप एक्सटेंशन बनाएंगे। मैं एक्सटेंशन बनाने के मैकेनिक्स के बारे में सब कुछ समझाने नहीं जा रहा हूं, लेकिन आप इसे मेरे ट्यूटोरियल पॉपक्लिप: स्क्रिप्टिंग एक्सटेंशन्स में पढ़ सकते हैं।
PremiumURLShortener.popclipext नाम का एक पॉपक्लिप एक्सटेंशन बनाएं। एक्सटेंशन डायरेक्टरी के अंदर Config.plist फाइल के लिए निम्नलिखित का उपयोग करें:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "https://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Actions</key> <array> <dict> <key>After</key> <string>paste-result</string> <key>Image File</key> <string>PremiumURLShortener.png</string> <key>Script Interpreter</key> <string>/usr/bin/ruby</string> <key>Shell Script File</key> <string>PremiumURLShortener.rb</string> <key>Title</key> <string>Shortener</string> </dict> </array> <key>Options</key> <array> <dict> <key>Option Identifier</key> <string>apikey</string> <key>Option Type</key> <string>string</string> <key>Option Label</key> <string>API Key: </string> </dict> </array> <key>Credits</key> <array> <dict> <key>Name</key> <string>Richard Guay</string> <key>Link</key> <string>https://customct.com</string> </dict> </array> <key>Extension Description</key> <string>Create shortened URLs with PremiumURLShortener locally</string> <key>Extension Identifier</key> <string>com.customct.popclip.extension.premiumurlshortener</string> <key>Extension Name</key> <string>Shortener</string> <key>Required Software Version</key> <integer>701</integer> </dict> </plist>
फिर एक्सटेंशन के लिए स्क्रिप्ट फाइल PremiumURLShortener.rb बनाएं और इसमें ये कोड रखें:
#!/usr/bin/ruby
require 'net/http'
require 'json'
Encoding.default_internal = Encoding::UTF_8
Encoding.default_external = Encoding::UTF_8
input = ENV['POPCLIP_TEXT'].to_s.strip()
API = ENV['POPCLIP_OPTION_APIKEY'].to_s.strip()
short = JSON.parse(Net::HTTP.get('s.dev', '/api?api=' + API + '&url=' + input))
if short["error"] == 0 then
print short["short"]
else
print "An error happened: "
print short["error"]
print "\n"
end
जब आप नया एक्सटेंशन लोड करते हैं, तो ये API की के लिए पूछेगा। एक बार जब आप इसे API की दे देते हैं और Okay दबाते हैं, तो ये पॉपक्लिप में उपयोग योग्य हो जाता है।
जब आप एक लिंक चुनते हैं, तो पॉपक्लिप विकल्पों की एक सूची के साथ खुलेगा। आप फिर Shortener विकल्प चुनें। ये थोड़ी देर सोचेगा और फिर उचित छोटा URL पेस्ट करेगा। पूर्ण एक्सटेंशन इस ट्यूटोरियल के डाउनलोड में है। अब, आप बहुत कुछ करने के लिए तैयार हैं!
निष्कर्ष
न केवल अब आपके पास एक निजी URL शॉर्टनर है, बल्कि आप यह भी जानते हैं कि लोकल कंटेनर चलाने के लिए डॉकर का उपयोग कैसे करें, आपके द्वारा उपयोग किए जाने वाले URL को ट्रैक करने का एक आसान तरीका, और छोटे लिंक बनाने का एक तरीका।
आप अल्फ्रेड 3 या कीबोर्ड मैस्ट्रो के साथ रूबी स्क्रिप्ट का उपयोग कर सकते हैं। अपनी नई सर्विस का उपयोग करने और इसकी अन्य विशेषताओं के साथ प्रयोग करने का आनंद लें।