google chrome extension - invite - ফায়ারফক্স এক্সটেনশন। এক্সপি ফাইল কাঠামো: বিবরণ, সামগ্রী, তৈরি এবং ইনস্টলেশন




group invite all (2)

ফায়ারফক্স এক্সটেনশানটি বিকাশের সহজ উপায় অনুসন্ধানে আমি প্রচুর স্টাফ রেখেছি, তবে আমি কোনও এক্সটেনশন তৈরি করতে অক্ষম। দয়া করে আমাকে ফায়ারফক্স এক্সটেনশনের ফাইল কাঠামো এবং এক্সটেনশনটি ইনস্টল করার একটি সহজ উপায় বলুন।


একটি স্বাক্ষরিত। এক্সপি তৈরি করুন

  1. এনপিএম দিয়ে npm install --global web-ext , সম্ভবত আপনার রুট সুবিধার দরকার হবে: npm install --global web-ext
  2. https://addons.mozilla.org/es/developers/addon/api/key/ যান এবং একটি নতুন API KEY উত্পন্ন করুন।
  3. আপনার এক্সটেনশান ফোল্ডারে যান, একটি টার্মিনাল খুলুন এবং web-ext sign --api-key=$AMO_JWT_ISSUER --api-secret=$AMO_JWT_SECRET : web-ext sign --api-key=$AMO_JWT_ISSUER --api-secret=$AMO_JWT_SECRET যেখানে $ AMO_JWT_IUSSER এবং $ AMO_JWT_SECRET আপনি পূর্ববর্তী পদক্ষেপে তৈরি করেছেন keys

.xpi ফাইল ফর্ম্যাট ( এক্সটেনশন প্যাকেজিং )

মোজিলা (ফায়ারফক্স, থান্ডারবার্ড, ইত্যাদি) এক্সটেনশনের কনটেইনার হিসাবে ব্যবহৃত। .xpi ফাইলগুলি কেবল জিপ সংরক্ষণাগার যা "ডিফলেট" সংক্ষেপণ ব্যবহার করে সংরক্ষণাগারে যুক্ত ফাইলগুলির সাথে ফাইল এক্সটেনশন পরিবর্তন করে .xpi হয়েছিল, বা .xpi হয় না .xpi । আপনি "ডিফলেট", বা "স্টোর" (সঙ্কুচিত) ব্যতীত অন্য কোনও ধরণের সংক্ষেপণ ব্যবহার করেন, আপনি যেমন একটি ত্রুটি পাবেন:

This add-on cannot be installed because it appears to be corrupted

ফাইলগুলি জিপ কম্প্রেসড আর্কাইভের মূল ডিরেক্টরিতে শুরু হয় (যেমন কোনও খালি প্রথম স্তরের ডিরেক্টরি নেই যা এতে ফাইল রয়েছে))

সংরক্ষণাগারের বিষয়বস্তু যে কোনও সংখ্যক ফাইলে কয়েকটি ফাইল থাকতে পারে। যে ফাইলগুলি অন্তর্ভুক্ত থাকতে হবে তা আপনার প্যাকেজিংয়ের ধরণের অ্যাড-অনের উপর নির্ভর করে। আপনি যদি অ্যাড-অন এসডিকে ব্যবহারের পরিকল্পনা করছেন, তবে সম্ভবত আপনাকে এই ফাইলগুলির ফর্ম্যাটটি জানতে হবে না, কারণ এর বেশিরভাগটি jpm সরঞ্জাম ব্যবহার করে বিমূর্ত করা হয়েছে। আমি কী বলছি সে সম্পর্কে যদি আপনার কোনও ধারণা না থাকে তবে আপনি ফায়ারফক্সের বিভিন্ন ধরণের অ্যাড-অন ( WebExtensions , অ্যাড-অন এসডিকে , Bootstrap/Restartless এবং Overlay/Legacy/XUL ) পড়তে চাইতে পারেন।

WebExtensions:

সর্বনিম্ন, আপনার কাছে একটি মেনিফেস্ট.জসন ফাইল থাকবে যা বর্ধনের বর্ণনা দেয়। আপনার কাছে প্রায় অবশ্যই অতিরিক্ত ফাইল থাকবে। অন্যান্য প্রকারের অ্যাড-অনে ব্যবহৃত ক্রোম.ম निস্ফিট , ইনস্টল.আরডিএফ এবং প্যাকেজ.জসন ফাইলগুলি ওয়েবএক্সটেনশন অ্যাড-অনগুলিতে ব্যবহৃত হয় না । আপনার এই ফাইলগুলি থাকা উচিত নয়

অ্যাড-অন এসডিকে:

ফায়ারফক্স অ্যাড-অন এসডিকে এক্সটেনশনের জন্য। এক্সপি ফাইলটি jpm xpi তৈরি করা উচিত। অ্যাড-অন এসডিকে এক্সটেনশানগুলি একটি প্যাকেজ.জসন ফাইলে বর্ণিত। আপনি যখন jpm xpi চালান তখন আপনার অ্যাড-অনটি বুটস্ট্র্যাপ / রিস্টার্টলেস অ্যাড-অন হিসাবে অনুবাদ হয়। এটি প্যাকেজ.জসন ফাইলটি একটি ইনস্টল.আরডিএফ-তে অনুবাদ করে একটি ক্রোম.মেনিস্টিভ ফাইল তৈরি করে এবং জাভাস্ক্রিপ্টে কিছু মোড়ক সংযোজন করে তৈরি করা হয়। আপনার অ্যাড-অন কাজ করার জন্য (যা বেশ বিরল হবে) এর প্রয়োজন না হলে আপনি নিজেই এই প্রক্রিয়াটি সম্পাদন করার চেষ্টা করবেন না।

বুটস্ট্র্যাপ / পুনরায় আরম্ভ এবং ওভারলে / উত্তরাধিকার:

সর্বনিম্ন, আপনার কাছে chrome.manifest , এবং chrome.manifest ফাইল রয়েছে। বুটস্ট্র্যাপ / রিস্টার্টলেস অ্যাড-অনগুলিতে একটি বুটস্ট্র্যাপ.জেএস ফাইল থাকবে। প্রায় সবসময় অতিরিক্ত ফাইল থাকবে। এই জাতীয় অ্যাড-অনগুলি প্যাকেজ.জসন বা ম্যানিফেস্ট.জসন ব্যবহার করে না।

আমার খুব সাধারণ বুটস্ট্র্যাপ / রিস্টার্টলেস এক্সটেনশন, প্রিন্ট বোতামটি মুদ্রণ হয় (মুদ্রণ পূর্বরূপের পরিবর্তে মুদ্রণ বোতাম পরিবর্তন করে), নিম্নলিখিত কাঠামো রয়েছে:

Archive contains:
  bootstrap.js
  chrome/
  chrome/content/
  chrome/content/options.xul
  chrome/skin/
  chrome/skin/printer-typeC128.png
  chrome/skin/printer-typeC32.png
  chrome/skin/printer-typeC48.png
  chrome/skin/printer-typeC64.png
  chrome.manifest
  install.rdf
  license.txt
Total 12 entries (42360 bytes)
  • প্রয়োজনীয় chrome.manifest এবং chrome.manifest ফাইল রয়েছে।
  • Bootstrap/Restartless এক্সটেনশনের জন্য ফাইল Bootstrap/Restartless ফাইলের প্রয়োজন। এটিতে এমন কোড রয়েছে যা এক্সটেনশন ইনস্টল, মুছে ফেলা, সক্ষম, অক্ষম করা বা ফায়ারফক্স শুরু বা শাটডাউন করার পরে চালিত হয়। এই এক্সটেনশনটি যথেষ্ট সহজ যেমন সমস্ত জাভাস্ক্রিপ্ট কোড বুটস্ট্র্যাপ.জেজে থাকে
  • একটি ফাইল ক্রোম / সামগ্রী / অপশন.এক্সুল রয়েছে যা বিকল্পগুলির সংলাপের একটি XUL সংজ্ঞা।
  • লাইসেন্স . txt কেবল ব্যাখ্যা করে যে মোজিলা পাবলিক লাইসেন্স, v2.0 এর অধীনে এই এক্সটেনশনটি সম্পর্কিত হয়েছিল।
  • .png ফাইলগুলি বিভিন্ন রেজোলিউশনে এই এক্সটেনশনের আইকন।

এক্সপি ফাইল তৈরি করা হচ্ছে

আপনি .zip ফাইল তৈরি করতে ইচ্ছুক পদ্ধতিটি ব্যবহার করতে পারেন, যার নাম পরিবর্তন করে এক্সপি । প্রয়োজনীয়তার কথা মনে রাখবেন যে কেবলমাত্র সংক্ষেপণ পদ্ধতিটি সমর্থিত যা "ডিফল্ট", তবে ফাইলগুলিও সঙ্কুচিত অবস্থায় সংরক্ষণাগারে যুক্ত করা যেতে পারে। আপনার শীর্ষ স্তরের ফাইলগুলি (উদাহরণস্বরূপ যা আপনার কাছে ম্যানিফেস্ট.জসন (ওয়েবএক্সটেনশন) বা অন্য সব কিছু রয়েছে: ক্রোম.মিনিস্টিফট এবং ইনস্টল.আরডিএফ ) আর্কাইভের মূল ডিরেক্টরিতে থাকতে হবে, কোনও উপ-ডিরেক্টরিতে নয়।

.xpi ফাইল তৈরি করতে আমি একটি ব্যাচ ফাইল ব্যবহার করি, যা ডস এবং ইউনিক্স / লিনাক্সের (আসলে Cygwin ) কমান্ডের সংমিশ্রণ ব্যবহার করে:

এম কে এক্সপি.বিট :

rm -f [email protected]
zip -1 -r [email protected] * [email protected]
pause

এটি। .xpi ফাইলের কোনও পুরানো সংস্করণ সরিয়ে দেয়। এরপরে এটি নতুন- .xpi ফাইল তৈরি করে, -1 , ন্যূনতম সংক্ষেপণ (অ্যাক্সেসের গতি স্থান সংরক্ষণের চেয়ে বেশি গুরুত্বপূর্ণ), যা কেবল সংকীর্ণকে সঞ্চয় করতে বা "ডিফল্ট" ব্যবহার করে। নতুন। এক্সপিতে সমস্ত ফাইল এবং উপ-ডিরেক্টরি * তবে xpi.ignore পাঠ্য ফাইলের ( [email protected] ) সমস্ত ফাইল উপেক্ষা করে। ফাইলগুলি উপেক্ষা করা ব্যবহার করা হয় কারণ আমার ডিরেক্টরিতে অন্যান্য জিনিস রয়েছে (যেমন .git ডিরেক্টরি, .bak ফাইলগুলি সম্পাদক থেকে স্বয়ংক্রিয়ভাবে তৈরি) ইত্যাদি। একবার। .xpi ফাইল তৈরি হয়ে গেলে স্ক্রিপ্টটি pause তাই কোন ফাইলটি অন্তর্ভুক্ত ছিল তা যাচাই করতে পারি, কোনও ত্রুটি ছিল না ইত্যাদি ইত্যাদি, কেবল উইন্ডোটি অদৃশ্য হওয়ার পরিবর্তে এবং সবকিছু ঠিক আছে বলে ধরে নিই।

আমার xpi.ignore ফাইলটি কিছুটা দীর্ঘ, কারণ এটি বিভিন্ন প্রকল্প থেকে ক্রাফ্ট সংগ্রহ করে এবং খুব কমই পরিষ্কার হয়:

*.com
*.class
*.dll
*.exe
*.o
*.so
*.7z
*.dmg
*.gz
*.iso
*.jar
*.rar
*.tar
*.zip
*.log
*.sql
*.sqlite
*.svg
*/.DS_Store
*/.DS_Store?
*/._*
._*
*/.Spotlight-V100
.Spotlight-V100
*/.Trashes
.Trashes
*/ehthumbs.db
*/Thumbs.db
*.ORIG
*.bak
*OLD*
OLD/*
*/OLD/*
*.OLD
*.OLD[0-9]
*/OLD/*
*/OLD[0-9]/*
*.unknown
*.unknown[0-9]
*.updated
*.updated[0-9]
*/Copy *
*/OLD
*/OLD*
*/OLD[0-9]
*/OLD[0-9][0-9]
*/test/*
*/not in xpi/*
*/tmp
*.tmp
*/foo
*.foo
*checkpoint
.git
*/.git
.gitignore
*/.gitignore
xpi.ignore
mkclean.bat
mkclean.bat.DONTRUN
mkxpi.bat
*.xpi
*/devtools-toolbox-window.ico
*/devtools-webconsole.ico
*/JSConsoleWindow.ico
*/main-window.ico
*/places.ico
*/viewSource.ico

এক্সটেনশন ইনস্টল করা হচ্ছে

সাধারণ এক্সটেনশন হিসাবে:
ফায়ারফক্সের ব্র্যান্ডযুক্ত রিলিজ বা বিটা সংস্করণে একটি সাধারণ অ্যাড-অন হিসাবে কোনও এক্সটেনশন ইনস্টল করতে অবশ্যই এটি মজিলা দ্বারা স্বাক্ষর করা উচিত। এটি এএমওতে জমা দিয়ে করা হয় । আপনি ফায়ারফক্সের অন্যান্য সংস্করণগুলিতে স্বাক্ষরযুক্ত এক্সটেনশনগুলি ইনস্টল করতে পারেন (যেমন ফায়ারফক্স বিকাশকারী সংস্করণ , ফায়ারফক্স নাইটলি , আনব্র্যান্ডেড বিটা, বা আনব্র্যান্ডেড রিলিজ ) xpinstall.signatures.required about:config

যদি আপনি ফায়ারফক্সের একটি নির্দিষ্ট ইনস্টলেশন চয়ন করেন তবে আপনি অ্যাড-অন স্বাক্ষরকরণের প্রয়োজনীয়তা সম্পূর্ণরূপে অক্ষম করতে পারেন। আরও তথ্যের জন্য, আপনি আমার উত্তর দেখতে পারেন : ফায়ারফক্স অ্যাড-অনগুলির জন্য আমি কীভাবে স্বাক্ষর চেকিং অক্ষম করতে পারি?

কোনও এক্সটেনশন ইনস্টল করা (অর্থাত্। .xpi ফাইল) এটি আপনার প্রোফাইল ইনস্টল করার ইচ্ছায় কোনও ফায়ারফক্স উইন্ডোটিতে এটি টেনে আনতে এবং .xpi একটি সহজ বিষয় হতে পারে। development/testing , আপনি ফায়ারফক্স এক্সটেনশন প্রক্সি ফাইল ব্যবহার করে আপনার স্থানীয় ড্রাইভের একটি ডিরেক্টরিতে এক্সটেনশন থাকতে পারেন (এক্সটেনশনের <em:id> নামে একটি ফাইল তৈরি করুন (বুটস্ট্র্যাপ / রিস্টার্টলেস এবং ওভারলে / উত্তরাধিকার) প্রোফাইলের এক্সটেনশান ডিরেক্টরিতে এক্সটেনশনের ফাইলগুলি সম্বলিত ডিরেক্টরিটির সম্পূর্ণ পথ সহ এক লাইন থাকে। আপনার লক্ষ্যটি কীসের উপর নির্ভর করে (একটি প্রোফাইল, সমস্ত প্রোফাইল, সমস্ত ব্যবহারকারী, কোন ওএস, ইত্যাদি), কীভাবে এক্সটেনশানগুলি ইনস্টল করবেন সে সম্পর্কে অন্যান্য বিকল্প রয়েছে।

অস্থায়ী অ্যাড-অন হিসাবে:
কেবলমাত্র প্রকারের এক্সটেনশান যা অস্থায়ী অ্যাড-অন হিসাবে ইনস্টল করা যায় না তা হ'ল ওভারলে / লেগ্যাসি। এই জাতীয় এক্সটেনশানগুলি কার্যকর হওয়ার পূর্বে ইনস্টলের পরে ব্রাউজারটি পুনরায় চালু করা দরকার। যেমন, তারা অস্থায়ী হতে পারে না।

অস্থায়ী হিসাবে কোনও এক্সটেনশন ইনস্টল করতে, নেভিগেট করুন about:debugging । সেই পৃষ্ঠা থেকে, লোড অস্থায়ী অ্যাড-অন ক্লিক করুন, তারপরে উপযুক্ত ফোল্ডারে পপআপ নেভিগেট করুন এবং একটি। এক্সপি ফাইল বা ডিরেক্টরিতে কোনও ফাইল নির্বাচন করুন। আপনি যদি একটি। এক্সপি ফাইল ব্যতীত অন্য কোনও ফাইল নির্বাচন করেন তবে এটি ধরে নেওয়া হয় যে ডিরেক্টরিটিতে আনপ্যাক করা অ্যাড-অন ফাইল রয়েছে যা স্বয়ংক্রিয়ভাবে চিহ্নিত হয়ে যাবে।