chrome.privacy

توضیحات

از API chrome.privacy برای کنترل استفاده از ویژگی‌هایی در کروم که می‌توانند بر حریم خصوصی کاربر تأثیر بگذارند، استفاده کنید. این API برای دریافت و تنظیم پیکربندی کروم، به نمونه اولیه ChromeSetting از نوع API متکی است.

مجوزها

privacy

برای استفاده از API، باید مجوز "privacy" را در فایل manifest افزونه خود اعلام کنید. برای مثال:

{
  "name": "My extension",
  ...
  "permissions": [
    "privacy"
  ],
  ...
}

مفاهیم و کاربردها

خواندن مقدار فعلی یک تنظیم کروم ساده است. ابتدا باید ویژگی مورد نظر خود را پیدا کنید، سپس تابع get() را روی آن شیء فراخوانی کنید تا مقدار فعلی و سطح کنترل افزونه خود را بازیابی کنید. به عنوان مثال، برای تعیین اینکه آیا ویژگی تکمیل خودکار فرم کارت اعتباری کروم فعال است یا خیر، باید بنویسید:

chrome.privacy.services.autofillCreditCardEnabled.get({}, function(details) {
  if (details.value) {
    console.log('Autofill is on!');
  } else {
    console.log('Autofill is off!');
  }
});

تغییر مقدار یک تنظیم کمی پیچیده‌تر است، زیرا ابتدا باید تأیید کنید که افزونه شما می‌تواند آن تنظیم را کنترل کند. اگر افزونه شما تنظیمی را تغییر دهد که یا توسط سیاست‌های سازمانی به مقدار خاصی قفل شده باشد ( levelOfControl روی "not_controllable" تنظیم می‌شود)، یا اگر افزونه دیگری مقدار را کنترل کند ( levelOfControl روی "controlled_by_other_extensions" تنظیم می‌شود)، کاربر هیچ تغییری در تنظیمات خود نخواهد دید. فراخوانی set() موفقیت‌آمیز خواهد بود، اما تنظیم بلافاصله لغو می‌شود. از آنجایی که این ممکن است گیج‌کننده باشد، توصیه می‌شود وقتی تنظیماتی که کاربر انتخاب کرده است عملاً اعمال نمی‌شوند، به او هشدار دهید.

این یعنی شما باید از متد get() برای تعیین سطح دسترسی خود استفاده کنید، و سپس فقط در صورتی که افزونه شما بتواند کنترل تنظیمات را در دست بگیرد، set() را فراخوانی کنید (در واقع اگر افزونه شما نمی‌تواند تنظیمات را کنترل کند، احتمالاً ایده خوبی است که این ویژگی را به صورت بصری غیرفعال کنید تا از سردرگمی کاربر جلوگیری شود):

chrome.privacy.services.autofillCreditCardEnabled.get({}, function(details) {
  if (details.levelOfControl === 'controllable_by_this_extension') {
    chrome.privacy.services.autofillCreditCardEnabled.set({ value: true }, function() {
      if (chrome.runtime.lastError === undefined) {
        console.log("Hooray, it worked!");
      } else {
        console.log("Sadness!", chrome.runtime.lastError);
      }
    });
  }
});

اگر به تغییرات در مقدار یک تنظیم علاقه‌مند هستید، یک شنونده به رویداد onChange آن اضافه کنید. در میان کاربردهای دیگر، این به شما امکان می‌دهد در صورتی که افزونه‌ای که اخیراً نصب شده است کنترل یک تنظیم را در دست بگیرد، یا اگر سیاست سازمانی کنترل شما را نادیده بگیرد، به کاربر هشدار دهید. به عنوان مثال، برای گوش دادن به تغییرات در وضعیت تکمیل خودکار کارت اعتباری، کد زیر کافی است:

chrome.privacy.services.autofillCreditCardEnabled.onChange.addListener(
  function (details) {
    // The new value is stored in `details.value`, the new level of control
    // in `details.levelOfControl`, and `details.incognitoSpecific` will be
    // `true` if the value is specific to Incognito mode.
  }
);

مثال‌ها

برای امتحان کردن این API، نمونه‌ی رابط برنامه‌نویسی کاربردی حریم خصوصی را از مخزن chrome-extension-samples نصب کنید.

انواع

IPHandlingPolicy

کروم ۴۸+

سیاست مدیریت IP در WebRTC

شمارشی

"پیش‌فرض"

"رابط‌های_عمومی_و_خصوصی_پیش‌فرض"

"فقط رابط_عمومی_پیش‌فرض"

"غیرفعال کردن_udp_بدون_پروکسی"

خواص

network

تنظیماتی که به طور کلی بر نحوه مدیریت اتصالات شبکه توسط کروم تأثیر می‌گذارند.

نوع

شیء

خواص

  • پیش‌بینی شبکه فعال شد

    در صورت فعال بودن، کروم تلاش می‌کند با پیش‌پردازش ورودی‌های DNS و باز کردن پیشگیرانه اتصالات TCP و SSL به سرورها، سرعت مرور وب شما را افزایش دهد. این ترجیح فقط بر اقدامات انجام شده توسط سرویس پیش‌بینی داخلی کروم تأثیر می‌گذارد. این ترجیح بر پیش‌پردازش‌ها یا پیش‌اتصال‌های آغاز شده توسط صفحه وب تأثیری ندارد. مقدار این ترجیح یک مقدار بولی است و به طور پیش‌فرض روی true تنظیم شده است.

  • سیاست مدیریت وبRTCIPH
    کروم ۴۸+

    به کاربران اجازه دهید تا بده‌بستان‌های عملکرد/حریم خصوصی رسانه را که بر نحوه مسیریابی ترافیک WebRTC و میزان افشای اطلاعات آدرس محلی تأثیر می‌گذارد، مشخص کنند. مقدار این ترجیح از نوع IPHandlingPolicy است و به طور پیش‌فرض روی default تنظیم شده است.

services

تنظیماتی که ویژگی‌هایی را فعال یا غیرفعال می‌کنند که به سرویس‌های شبکه شخص ثالث ارائه شده توسط گوگل و ارائه دهنده جستجوی پیش‌فرض شما نیاز دارند.

نوع

شیء

خواص

  • alternateErrorPagesEnabled

    در صورت فعال بودن، کروم از یک سرویس وب برای کمک به رفع خطاهای ناوبری استفاده می‌کند. مقدار این ترجیح یک مقدار بولی است و به طور پیش‌فرض روی true تنظیم شده است.

  • تکمیل خودکارآدرسفعال
    کروم ۷۰+

    در صورت فعال بودن، کروم پیشنهاد می‌دهد که آدرس‌ها و سایر داده‌های فرم را به طور خودکار پر کند. مقدار این ترجیح یک مقدار بولی است و به طور پیش‌فرض روی true تنظیم شده است.

  • تکمیل خودکارکارت اعتباریفعال
    کروم ۷۰+

    در صورت فعال بودن، کروم پیشنهاد می‌دهد که فرم‌های کارت اعتباری را به طور خودکار پر کند. مقدار این تنظیمات یک مقدار بولی است و به طور پیش‌فرض روی true تنظیم شده است.

  • تکمیل خودکار فعال
    از کروم ۷۰ منسوخ شده است

    لطفاً از privacy.services.autofillAddressEnabled و privacy.services.autofillCreditCardEnabled استفاده کنید. این موارد برای سازگاری با نسخه‌های قبلی در این نسخه باقی مانده و در آینده حذف خواهند شد.

    در صورت فعال بودن، کروم پیشنهاد می‌دهد که فرم‌ها را به صورت خودکار پر کند. مقدار این تنظیمات یک مقدار بولی است و به طور پیش‌فرض روی true تنظیم شده است.

  • autofillOtherDatatypesEnabled
    در حال بررسی

    در صورت فعال بودن، کروم پیشنهاد می‌دهد که سایر انواع داده‌ها را به طور خودکار پر کند. این شامل اسناد سفر و هویت می‌شود. مقدار این تنظیمات یک مقدار بولی است و به طور پیش‌فرض روی true تنظیم شده است.

  • ذخیره رمز عبور فعال شد

    در صورت فعال بودن، مدیر رمز عبور از شما می‌پرسد که آیا می‌خواهید رمزهای عبور را ذخیره کنید یا خیر. مقدار این ترجیح یک مقدار بولی است و به طور پیش‌فرض روی true تنظیم شده است.

  • مرور ایمن فعال شد

    در صورت فعال بودن، کروم تمام تلاش خود را می‌کند تا از شما در برابر فیشینگ و بدافزار محافظت کند. مقدار این ترجیح یک مقدار بولی است و به طور پیش‌فرض روی true تنظیم شده است.

  • مرور ایمنگسترشگزارش‌دهیفعال

    در صورت فعال بودن، کروم هنگام مسدود کردن یک صفحه توسط SafeBrowsing، اطلاعات اضافی مانند محتوای صفحه مسدود شده را به گوگل ارسال می‌کند. مقدار این تنظیمات یک مقدار بولی است و به طور پیش‌فرض روی false تنظیم شده است.

  • جستجوپیشنهادفعال

    در صورت فعال بودن، کروم متنی را که در Omnibox تایپ می‌کنید به موتور جستجوی پیش‌فرض شما ارسال می‌کند، که پیش‌بینی‌هایی از وب‌سایت‌ها و جستجوهایی را ارائه می‌دهد که احتمالاً تکمیل‌کننده‌ی آنچه تاکنون تایپ کرده‌اید هستند. مقدار این تنظیمات یک مقدار بولی است و به طور پیش‌فرض روی true تنظیم شده است.

  • spellingServiceEnabled

    در صورت فعال بودن، کروم از یک سرویس وب برای کمک به اصلاح خطاهای املایی استفاده می‌کند. مقدار این ترجیح یک مقدار بولی است و به طور پیش‌فرض روی false تنظیم شده است.

  • translationServiceEnabled

    در صورت فعال بودن، کروم پیشنهاد می‌دهد صفحاتی را که به زبانی که شما می‌خوانید نیستند ترجمه کند. مقدار این ترجیح یک مقدار بولی است و به طور پیش‌فرض روی true تنظیم شده است.

websites

تنظیماتی که تعیین می‌کنند کروم چه اطلاعاتی را در اختیار وب‌سایت‌ها قرار دهد.

نوع

شیء

خواص

  • اندازه‌گیری فعال شده توسط adMeasurement
    کروم ۱۱۱+

    در صورت غیرفعال بودن، API گزارش‌دهی نسبت‌دهی و API تجمیع خصوصی غیرفعال می‌شوند. مقدار این ترجیح از نوع بولی است و مقدار پیش‌فرض آن true است. افزونه‌ها فقط می‌توانند با تنظیم مقدار false این APIها را غیرفعال کنند. اگر سعی کنید این APIها را روی true تنظیم کنید، خطایی رخ می‌دهد.

  • doNotTrackEnabled
    کروم ۶۵+

    در صورت فعال بودن، کروم هدر «ردیابی نشود» ( DNT: 1 ) را به همراه درخواست‌های شما ارسال می‌کند. مقدار این ترجیح از نوع بولی است و مقدار پیش‌فرض آن false است.

  • fleegeEnabled
    کروم ۱۱۱+

    در صورت غیرفعال بودن، Fledge API غیرفعال می‌شود. مقدار این ترجیح از نوع بولی است و مقدار پیش‌فرض آن true است. افزونه‌ها فقط می‌توانند با تنظیم مقدار false این API را غیرفعال کنند. اگر سعی کنید این API را روی true تنظیم کنید، خطایی رخ می‌دهد.

  • hyperlinkAuditingEnabled

    در صورت فعال بودن، کروم پینگ‌های حسابرسی را در صورت درخواست یک وب‌سایت ( <a ping> ) ارسال می‌کند. مقدار این ترجیح از نوع بولی است و مقدار پیش‌فرض آن true است.

  • محتوای محافظت‌شدهفعال

    فقط در ویندوز و ChromeOS موجود است : در صورت فعال بودن، Chrome یک شناسه منحصر به فرد به افزونه‌ها ارائه می‌دهد تا محتوای محافظت‌شده را اجرا کنند. مقدار این ترجیح از نوع بولی است و مقدار پیش‌فرض آن true است.

  • ارجاع‌دهندگانفعال

    در صورت فعال بودن، کروم هدرهای referer را به همراه درخواست‌های شما ارسال می‌کند. بله، نام این تنظیمات با هدر اشتباه تایپی مطابقت ندارد. خیر، ما آن را تغییر نخواهیم داد. مقدار این تنظیمات از نوع بولی است و مقدار پیش‌فرض آن true است.

  • relatedWebsiteSetsفعال شد
    کروم ۱۲۱+

    اگر غیرفعال باشد، مجموعه‌های وب‌سایت مرتبط غیرفعال می‌شوند. مقدار این ترجیح از نوع بولی است و مقدار پیش‌فرض آن true است. افزونه‌ها فقط می‌توانند با تنظیم مقدار روی false ، این API را غیرفعال کنند. اگر سعی کنید این API را روی true تنظیم کنید، خطایی رخ می‌دهد.

  • کوکی‌های شخص ثالث مجاز

    اگر غیرفعال باشد، کروم سایت‌های شخص ثالث را از تنظیم کوکی‌ها منع می‌کند. مقدار این ترجیح از نوع بولی است و مقدار پیش‌فرض آن true است. افزونه‌ها ممکن است این API را در حالت ناشناس فعال نکنند، جایی که کوکی‌های شخص ثالث مسدود شده‌اند و فقط در سطح سایت مجاز هستند. اگر سعی کنید این API را در حالت ناشناس روی درست تنظیم کنید، خطایی رخ می‌دهد.

    توجه: سایت‌های شخصی ممکن است همچنان بتوانند به کوکی‌های شخص ثالث دسترسی داشته باشند، حتی زمانی که این API مقدار false برمی‌گرداند، اگر معافیت معتبری داشته باشند یا از API دسترسی به فضای ذخیره‌سازی استفاده کنند.

  • موضوعاتفعال
    کروم ۱۱۱+

    اگر غیرفعال باشد، API موضوعات غیرفعال می‌شود. مقدار این ترجیح از نوع بولی است و مقدار پیش‌فرض آن true است. افزونه‌ها فقط می‌توانند با تنظیم مقدار روی false ، این API را غیرفعال کنند. اگر سعی کنید این API را روی true تنظیم کنید، خطایی رخ می‌دهد.