Lolly URL Screenshot এক্সটেনশনটি ওয়েব অ্যাপকে আপনার ব্রাউজারের ভেতর থেকে যেকোনো ওয়েব পেজের স্ক্রিনশট নিতে দেয়। এটি ছাড়া, একটি URL ক্যাপচার করতে ডেস্কটপ অ্যাপ লাগে - একটি ব্রাউজার পেজ নিজে থেকে অন্য সাইটের পিক্সেল পড়তে পারে না। এক্সটেনশনটি পারে, ডেস্কটপ অ্যাপ যে একই ক্যাপচার ব্যবহার করে তা কাজে লাগিয়ে।
এটি একই পদ্ধতিতে আরও দুটি কাজ করে। একটি ইমেজ স্লটে পেস্ট করা ওয়েব ঠিকানা সেই পেজের স্ক্রিনশট হয়ে উঠতে পারে (এই পেজের স্ক্রিনশট নিন), এবং আপনার বলা একটি পেজ এক্সটেনশনটি পড়তে পারে যাতে Brand Studio কোনো লাইভ ওয়েবসাইট থেকে একটি ব্র্যান্ড বের করতে পারে। প্রতিটি অনুরোধ এক্সটেনশনে আপনার অনুমোদনের জন্য অপেক্ষা করে।
এটি Chromium-ভিত্তিক ব্রাউজারে চলে: Chrome, Edge, Brave, Arc, Opera - Chrome 111 বা তার পরবর্তী সংস্করণ।
এটি ইনস্টল না হওয়া পর্যন্ত, URL Screenshot তখনও খোলে যাতে আপনি একটি শট তৈরি করতে পারেন, এবং টুলের কন্ট্রোলের উপরে একটি নোট বলে দেয় কী অনুপস্থিত।
signed by Lollyvector SVG৪ paths~2.4k nodes৪ groups৩০ KBনিজেই যাচাই করুনস্বাক্ষরিত ফাইলটি নিন
signed by Lollyvector SVG৪ paths~2.4k nodes৪ groups৩০ KBনিজেই যাচাই করুনস্বাক্ষরিত ফাইলটি নিন
আপনি অপেক্ষা করার সময় প্রতিটি কন্ট্রোল লাইভ থাকে: টার্গেট URL, স্ক্রল ডেপ্থ, সেটল ডিলে, ক্রপ ইনসেট এবং রিকালার। শুধু ক্যাপচারটির জন্যই হোস্ট দরকার।
signed by Lollyvector SVG৩১ paths~1.7k nodes৩৮ groups৩০ KBনিজেই যাচাই করুনস্বাক্ষরিত ফাইলটি নিন
signed by Lollyvector SVG৩১ paths~1.7k nodes৩৮ groups৩০ KBনিজেই যাচাই করুনস্বাক্ষরিত ফাইলটি নিন
ইনস্টল
Chrome Web Store থেকে
শীঘ্রই আসছে। এটি প্রকাশিত হলে আপনি এক ক্লিকে ইনস্টল করতে পারবেন, তারপর Lolly রিলোড করুন।
নিজে লোড করুন (ডেভেলপারদের জন্য)
এক্সটেনশনটি রিপোতে shells/chrome-extension/-এ থাকে। সেই ফোল্ডারটি প্রোডাকশন বিল্ড, যা শুধু https://lolly.tools-এর Lolly-র সঙ্গে কাজ করে।
chrome://extensionsখুলুন।- Developer mode চালু করুন (উপরে-ডানে)।
- Load unpacked-এ ক্লিক করুন এবং
shells/chrome-extension/ফোল্ডারটি বেছে নিন। - Lolly রিলোড করুন - URL Screenshot এখন ব্রাউজারে কাজ করে।
লোকাল ডেভেলপমেন্ট সার্ভারের জন্য pnpm run pack:chrome-extension:dev চালান এবং তার বদলে dist/chrome-extension-dev লোড করুন। সেই প্যাকেজ http://localhost:5173-ও গ্রহণ করে এবং এর নামে Development আছে।
এটি কীভাবে কাজ করে
- একটি ছোট স্ক্রিপ্ট Lolly-কে জানায় যে এক্সটেনশনটি উপস্থিত, তাই আর কোনো সেটআপ ছাড়াই URL Screenshot ক্যাপচার সেভ করতে পারে।
- প্রতিটি অনুরোধ আপনি অনুমোদন করেন। Lolly অনুরোধ করলে এক্সটেনশনটি নিজস্ব Approve page request উইন্ডো খোলে, যাতে অনুরোধকারী সাইট, সেটি স্ক্রিনশট চায় না পেজের কন্টেন্ট চায়, এবং পেজের ঠিকানা দেখানো হয়। আপনি Approve once না চাপা পর্যন্ত কিছুই পড়া হয় না। Cancel চাপলে বা উইন্ডো বন্ধ করলে অনুরোধ শেষ হয়ে যায়।
- কোনো সাইটের জন্য প্রথমবার অনুরোধ অনুমোদন করলে Chrome-ও জিজ্ঞাসা করে এক্সটেনশনটি সেই সাইট অ্যাক্সেস করতে পারবে কিনা। একবার অনুমতি দিলে Chrome সেই অ্যাক্সেস মনে রাখে, কিন্তু পরের প্রতিটি অনুরোধের জন্যও আলাদা Approve once লাগে।
- একটি অনুমোদন একটি অনুরোধের জন্য প্রযোজ্য এবং 30 সেকেন্ড পর মেয়াদ শেষ হয়। একসঙ্গে শুধু একটি অনুরোধ অপেক্ষা করতে বা চলতে পারে, এবং অনুমোদিত অনুরোধ 55 সেকেন্ড পর থেমে যায়। Lolly পেজ বন্ধ হলে বা বদলে গেলে, অথবা টার্গেট পেজ অন্য সাইটে সরে গেলে অনুরোধ বাতিল হয়ে যায়।
- আপনি অনুমোদন করার পর এক্সটেনশনটি টার্গেট পেজ একটি ব্যাকগ্রাউন্ড ট্যাবে খোলে, DevTools Protocol দিয়ে (ডেস্কটপ অ্যাপ যে একই
Page.captureScreenshotব্যবহার করে) সেটি ক্যাপচার করে, তারপর ট্যাবটি বন্ধ করে যে Lolly ট্যাব অনুরোধ করেছিল তার কাছে ছবিটি ফিরিয়ে দেয়। - এটি সম্পূর্ণভাবে আপনার ব্রাউজারে, আপনার নেটওয়ার্কে চলে - তাই
localhostবা একটি অভ্যন্তরীণ সাইট ক্যাপচার করা কাজ করে। পেজটি আপনার ব্রাউজার সেশন নিয়ে লোড হয়, তাই আপনি যে পেজে সাইন-ইন করা আছেন সেটি ফলাফলে ব্যক্তিগত তথ্য দেখাতে পারে। ক্যাপচারটি নিজে কখনও কোথাও আপলোড হয় না; একমাত্র নেটওয়ার্ক ট্র্যাফিক হলো আপনার নিজের ব্রাউজার যে পেজটি শট নিতে বলা হয়েছে তা লোড করা।
একটি ক্যাপচার চলার সময় আপনি সাময়িক ট্যাবে সংক্ষিপ্তভাবে "…started debugging this browser" ব্যানার দেখতে পারেন। এটি DevTools Protocol কাজ করছে; শট শেষ হলে এটি নিজে থেকেই সরে যায়।
Brand Studio-র জন্য একটি সাইট পড়া
Brand Studio-র Website সোর্স আপনার আগে থেকে থাকা একটি সাইট থেকে একটি ব্র্যান্ড শুরু করে। Chromium-এ এক্সটেনশনটি এটি পড়ে; ডেস্কটপ অ্যাপে একটি নেটিভ ফেচ একই কাজ করে এবং এক্সটেনশনবিহীন একটি সাধারণ ব্রাউজারে টাইলটি একেবারেই প্রস্তাব করা হয় না।
এটি চাপলে যা ঘটে:
- একটি ঠিকানা, একটি পেজ। আপনি অনুমোদন করার পর এক্সটেনশনটি একই ধরনের ব্যাকগ্রাউন্ড ট্যাবে এটি খোলে, রেন্ডার করা মার্কআপ, স্টাইলশিট টেক্সট এবং কিছু আইকন ও লোগো ইমেজ পড়ে, তারপর ট্যাবটি বন্ধ করে। এটি লিংক অনুসরণ করে না এবং ক্রল করে না।
- অন্য কোথাও হোস্ট করা স্টাইলশিটও (একটি CDN, একটি ফন্ট সার্ভিস) ফেচ করা হয়, কারণ পেজের রং ও টাইপ সেগুলোতেই থাকে। ক্রস-অরিজিন রিকোয়েস্ট আপনার কুকি ছাড়াই যায়; সেম-অরিজিন রিকোয়েস্ট সেগুলো ব্যবহার করে, ঠিক যেমন পেজটি নিজে করত।
- সবকিছুর একটি সীমা আছে - শিট, ইমেজ ও বাইটের একটি সীমিত সংখ্যা - যাতে একটি ক্ষতিকর বা আধা-ভাঙা পেজ আটকে না গিয়ে আংশিক উপাদান ফেরত দেয়।
- বাইটগুলো সরাসরি সেই Lolly ট্যাবে ফিরে যায় যেটি অনুরোধ করেছিল। রং, টাইপ ও লোগোতে পার্সিং আপনার ডিভাইসেই হয়; কিছুই আপলোড হয় না।
একটি ঠিকানা পেস্ট করলে শুধু ফিল্ডটি পূরণ হয়। আপনি পড়া শুরু করে Approve once না চাপা পর্যন্ত কিছুই পড়া হয় না।
ইনস্টল করার পর
Lolly ট্যাবটি রিলোড করুন। "Get the extension" প্রম্পটটি অদৃশ্য হয়ে যায়, URL Screenshot (Utilities-এর অধীনে) ক্যাপচার একটি ফাইলে সেভ করতে পারে, এবং টুলটি Batch মোডে উপলব্ধ হয়ে ওঠে।
অনুমতি
এর manifest.json চারটি অনুমতি এবং সাইট অ্যাক্সেস ঘোষণা করে, যা এটি একটি করে সাইটের জন্য চায়:
debugger- DevTools Protocol-এর মাধ্যমে ব্যাকগ্রাউন্ড ট্যাব চালনা করা। এটিই স্ক্রিনশট নেয়।tabs- সাময়িক ব্যাকগ্রাউন্ড ট্যাব খোলা এবং পরে আবার বন্ধ করা, এবং আপনি অনুরোধ অনুমোদন করার পর Lolly পেজ বা টার্গেট পেজ কোনোটিই সরে যায়নি কিনা যাচাই করা।scripting- Brand Studio Website সোর্সের জন্য, আপনার নির্দিষ্ট করা সাইটের ভেতরে এক-পেজ রিডার চালানো।storage- এটি যে ট্যাব খুলেছিল তার id, শুধুমাত্র সেশন স্টোরেজে নোট করা, যাতে ব্রাউজার পড়ার মাঝপথে এক্সটেনশনটি সাসপেন্ড করলেও ট্যাবটি বন্ধ হয়ে যায়। পরের শুরুতে মুছে ফেলা হয়; আপনার সম্পর্কে কিছুই সংরক্ষিত হয় না।optional_host_permissions: ["http:///", "https:///"]- সাইট অ্যাক্সেস, যা ইনস্টলের সময় দেওয়া হয় না। আপনি Approve once চাপলে এক্সটেনশনটি সেই অনুরোধের একটি সাইটের জন্য Chrome-এর কাছে অ্যাক্সেস চায়, এবং Chrome প্রতিটি সাইটের জন্য প্রথমবার আপনাকে জিজ্ঞাসা করে।
এটি শুধু সেই একটি পেজই পড়ে যা আপনি অনুমোদন করেছেন, এবং এটি আপনার ব্রাউজিং ডেটা পড়ে না বা পাঠায় না - কিছুই কোথাও আপলোড হয় না।
ম্যানিফেস্টটি minimum_chrome_version: 111ও সেট করে। বর্তমান সংস্করণ 0.4.0।
সমস্যা সমাধান
- এখনও "Get the extension" দেখছেন? Lolly ট্যাবটি রিলোড করুন - সনাক্তকরণ পেজ লোডের সময় হয়।
- এই সাইটে কিছুই ঘটছে না? এক্সটেনশনটি শুধু
https://lolly.tools-এ কাজ করে, এবং ডেভেলপমেন্ট প্যাকেজেhttp://localhost:5173-এও। অন্য কোনো অরিজিন, যেমন Lolly-র একটি নিজে-হোস্ট করা কপির জন্য, এক্সটেনশনের আলাদা একটি বিল্ড লাগে যা সেই অরিজিনmanifest.jsonওpolicy.jsদুটোতেই তালিকাভুক্ত করে। শুধু ম্যানিফেস্ট এডিট করলে আর কাজ করে না। - একটি ক্যাপচার ব্যর্থ হচ্ছে? URL-টি পৌঁছানো যায় কিনা এবং
http://বাhttps://দিয়ে শুরু হয় কিনা তা যাচাই করুন। কিছু পেজ স্বয়ংক্রিয় ক্যাপচার সক্রিয়ভাবে ব্লক করে। আপনি যদি Cancel চেপে থাকেন, অনুমোদনের উইন্ডো বন্ধ করে থাকেন বা 30 সেকেন্ডের বেশি অপেক্ষা করে থাকেন, ক্যাপচারটি আবার শুরু করুন।