kiến thức Tổng hợp những addon chất cho Firefox / Chromium

Con script này ngon quá, càng ngày xem yt bằng mpv càng tiện rồi. Càng dễ dụ người mới dùng mpv để xem yt
vxE8C4d.png
Vẫn còn chút vấn đề khi search trên m.youtube.com (chưa test ở các trang khác), không hiểu sao MutationObserver lại không sửa link, hóng xem có cách khắc phục không.

Video: https://streamable.com/6scr4m
 
dạo này họ nhà foxie cứ thích xua đuổi mình

flop 11.4 thì mất nút full screen trên toolbar trong khi phím f11 thì mình đã để làm việc khác

tete thì không có trang about performance

mercury với waterfox thì không biết build kiểu gì mà sửa file omni.ja không thấy có tác dụng :LOL:
Ủa, nút fullscreen em thấy vẫn ở đó mà
 
Chửi những tên như ở trang Rách Nát này này, vì chúng mà giờ giọt nước tràn mợ nó ly rồi, nằng nặc nằng nặc đòi xóa, mất tính năng này rồi sao mình chứng minh cho người khác một addon chiếm bao nhiêu RAM nữa:


Nguyên nhân:
Bọn Reddit chửi page vô dụng đòi thêm tính năng xong dev xoá page (vì bọn nó thêm about: processes) thì đâu phải lỗi cộng đồng
 
Trên lý thuyết thì Dark Reader sẽ cho hiệu năng tốt nhất nếu:
  • Không dùng CSS filter để đảo ngược màu trang web (nặng nhất, hay khiến trình duyệt crash) (Filter)
  • Không dùng Javascript để kiểm tra từng thớ màu trên trang web (Dynamic)
  • Chỉ dùng CSS đổi màu trang web (Static)
  • Chính bản thân Firefox tạo ra màu đen (Native, tuy nhiên không có built-in mà gần nhất chính là tắt Document Color trong Settings đi tuy nhiên nó vẫn chưa thể gọi là Dark Reader, hiệu năng #1)
Cái thứ 4 bạn có thể thử bằng cách chọn như sau:

View attachment 1828267

Phần Background chỉnh thành Đen, phần Text chỉnh thành Xám hoặc Trắng. Kết quả sẽ như sau, chú ý đây không phải là Dark Reader nên nó sẽ rất không hoàn thiện:

View attachment 1828271

Dark Reader nó có cái Static, cái đó là nhẹ nhất và là cái thứ 3. Bạn thử dùng xem có ưng ý không ?

Tất nhiên tất cả mọi thuật toán Dark Reader bên trên sẽ không thể nào sánh bằng built-in Dark Reader được vì nó dùng luôn WebRender để tạo ra màu đen nghĩa là khi Firefox render trang web, Firefox hoàn toàn biết màu sắc của trang web ra sao, nếu chính bản thân Firefox tạo ra màu đen thì không addon hay script nào sánh bằng về cả hiệu năng lẫn độ chính xác, tuy nhiên hiện tại Firefox chưa có native Dark Reader.

Cập nhập bài Dark Reader nửa mùa cho những ai khẩm dô Android như @shenzero999 mà vẫn muốn native Dark Reader cho Firefox (Beta, Nightly, Fennec, Mull, IceRaven).

Đọc thêm bài này để tắt màu link, khiến Dark Mode nửa mùa chạm tới một cảnh giới hoàn hảo hơn:
Và tất nhiên bài này áp dụng cho PC được và với những ai thạo dùng about:config thì sẽ nhanh hơn trong việc thực hiện thao tác nhé.
Cài addon để tắt bật Dark Mode nửa mùa trong 1 click cho tiện.


Chỉnh trong about:config thôi, ezpz, tìm browser.display. (chú ý: chỉnh browser.display.document_color_use cuối cùng nhé kẻo nó lỗi font trắng xóa hoặc nền đen xì không nhìn thấy gì đâu):
browser.display.use_system_colorsfalse
browser.display.background_color#121212
browser.display.foreground_color#ffffff
browser.visited_color#cc99ff
browser.anchor_color#ffcc99
browser.display.document_color_use2

Bên trên là nền đen, chữ trắng, nếu muốn tự chỉnh xem tiếp.

Code mảng màu (lấy phần HEX kiểu #abcxyz ấy) để đổi màu tùy ý:

1695651204979.png

Nếu muốn dùng Dark Mode nửa mùa nền đen chữ trắng cho Sidebery:

Nếu đã kéo tới tận đây rồi thì bonus, trường phái Dark Reader bảo vệ mắt (nền xám, chữ đen):
browser.display.use_system_colorsfalse
browser.display.background_color#c0c0c0
browser.display.foreground_color#000000
browser.anchor_color
#800040
browser.visited_color#aa3700
browser.display.document_color_use2

1702263782613.png


Trước mình có đọc một chủ đề về Dark Reader thì thấy có người nói rằng thật ra nền đen chữ trắng không thực sự tốt cho mắt, nhưng nền xám chữ đen thì lại tốt.

Đơn giản vì khi để nền đen chữ trắng sẽ khiến mắt bị yếu với ánh sáng, khi đột nhiên gặp ảnh sáng sẽ gây choáng mắt, còn nền xám chữ đen thì lại luôn mơ hồ giữ trắng và đen, nên mắt làm quen với cả hai màu cùng lúc => tốt hơn.


Các trường phái khác tham khảo thêm:
 
Last edited:
ngoài việc ko sync đc thì còn đỡ hơn bọn ungoogled rồi
:shame:
T đang nghịch add user script vào Cờ rồ mai mà vẫn thấy nó tù vler so với Firefox.

Nhân tiện hỏi ngài biết cách nào để chỉnh được tab view giống tablet cho Firefox Android không? Script hoặc addon đều được.
 
Cái vozfapp của lão ndqtrx sau vụ hư db hôm qua xong thì nó méo login vô dc nữa, cái app đó nó có chức năng up ảnh lên tiện vãi, còn bản browser trên android thì useless méo up ảnh được. Ngài @toi la gay :sosad: có giải pháp nào ko ngài :ah: ei
 
Cái vozfapp của lão ndqtrx sau vụ hư db hôm qua xong thì nó méo login vô dc nữa, cái app đó nó có chức năng up ảnh lên tiện vãi, còn bản browser trên android thì useless méo up ảnh được. Ngài @toi la gay :sosad: có giải pháp nào ko ngài :ah: ei
Nhờ ngài @Fioren kiểm tra hộ xem, chưa thử up ảnh với Firefox Android bao giờ, mà đây là Mull hả sợ nó chặn mất quyền mở tệp nên không up được ảnh chứ vài hôm trước có bạn nói là up được mà: https://voz.vn/t/tong-hop-nhung-addon-chat-cho-firefox-pc-mobile.682181/post-27749501

Còn app thì liên hệ ngài nào đó quản app là xong thôi, hình như là ngài @B.G.F
 
Bọn chromium/ungoogle-chromium như brave vs cromite có cái group tabs theo website tiện vãi, qua trên mull vs fennec thì chán luôn:amazed:
Firefox Android còn chưa có Container nữa kìa, chắc phải đợi trường kỳ đó, cái tính năng này thì bó tay 100% luôn.

Lặn lội thân cò vào Android ảnh này vừa up từ Firefox Android đây, không cần quyền gì cả cũng được.
 

Attachments

  • Screenshot_20230925-211055.png
    Screenshot_20230925-211055.png
    306.9 KB · Views: 28
bác @toi la gay :sosad: xem giúp em cái file user.js này chặn cái gì của zalo mà em vào zalo web nó đen sì không có gì hết với
Code:
//
/* You may copy+paste this file and use it as it is.
 *
 * If you make changes to your about:config while the program is running, the
 * changes will be overwritten by the user.js when the application restarts.
 *
 * To make lasting changes to preferences, you will have to edit the user.js.
 */

/****************************************************************************
 * Betterfox                                                                *
 * "Ad meliora"                                                             *
 * version: 109                                                             *
 * url: https://github.com/yokoffing/Betterfox                              *
****************************************************************************/

/****************************************************************************
 * SECTION: FASTFOX                                                         *
****************************************************************************/
// user_pref("nglayout.initialpaint.delay", 0);
// user_pref("nglayout.initialpaint.delay_in_oopif", 0);
user_pref("content.notify.interval", 100000);
user_pref("browser.startup.preXulSkeletonUI", false);

/** EXPERIMENTAL ***/
user_pref("layout.css.grid-template-masonry-value.enabled", true);
user_pref("layout.css.animation-composition.enabled", true);
user_pref("dom.enable_web_task_scheduling", true);

/** GFX ***/
user_pref("gfx.webrender.all", true);
user_pref("gfx.webrender.precache-shaders", true);
user_pref("gfx.webrender.compositor", true);
user_pref("layers.gpu-process.enabled", true);
user_pref("media.hardware-video-decoding.enabled", true);
user_pref("gfx.canvas.accelerated", true);
user_pref("gfx.canvas.accelerated.cache-items", 32768);
user_pref("gfx.canvas.accelerated.cache-size", 4096);
user_pref("gfx.content.skia-font-cache-size", 80);
user_pref("image.cache.size", 10485760);
user_pref("image.mem.decode_bytes_at_a_time", 131072);
user_pref("image.mem.shared.unmap.min_expiration_ms", 120000);
user_pref("media.memory_cache_max_size", 1048576);
user_pref("media.memory_caches_combined_limit_kb", 2560000);
user_pref("media.cache_readahead_limit", 9000);
user_pref("media.cache_resume_threshold", 6000);

/** BROWSER CACHE ***/
user_pref("browser.cache.memory.max_entry_size", 153600);

/** NETWORK ***/
user_pref("network.buffer.cache.size", 262144);
user_pref("network.buffer.cache.count", 128);
user_pref("network.dnsCacheExpiration", 3600);
user_pref("network.dnsCacheExpirationGracePeriod", 240);
user_pref("network.ssl_tokens_cache_capacity", 32768);

/****************************************************************************
 * SECTION: SECUREFOX                                                       *
****************************************************************************/
/** TRACKING PROTECTION ***/
user_pref("browser.contentblocking.category", "strict");
user_pref("privacy.trackingprotection.emailtracking.enabled", true);
user_pref("urlclassifier.trackingSkipURLs", "*.reddit.com, *.twitter.com, *.twimg.com, *.tiktok.com");
user_pref("urlclassifier.features.socialtracking.skipURLs", "*.instagram.com, *.twitter.com, *.twimg.com");
user_pref("privacy.query_stripping.strip_list", "tduid gci pk_vid famad_xuid twclid erid cx_click cx_recsOrder cx_recsWidget mkt_tok mindbox-message-key kx s_cid awc __hsfp __hssc __hstc _hsenc hsa_acc hsa_ad hsa_cam hsa_grp hsa_kw hsa_la hsa_mt hsa_net hsa_ol hsa_src hsa_tgt hsa_ver hsCtaTracking ysclid yclid aiad_clid _sgm_campaign _sgm_source _sgm_action mc_eid maf _clde _cldee wt_mc oprtrack msclkid vero_conv vero_id itm_source itm_medium itm_campaign itm_content itm_term utm_ad utm_affiliate utm_brand utm_campaign utm_campaignid utm_channel utm_cid utm_content utm_creative utm_emcid utm_emmid utm_id utm_keyword utm_medium utm_name utm_place utm_product utm_pubreferrer utm_reader utm_referrer utm_serial utm_session utm_siteid utm_social utm_social-type utm_source utm_supplier utm_swu utm_term utm_umguk utm_userid utm_viz_id gbraid wbraid gclsrc gclid usqp dpg_source dpg_campaign dpg_medium dpg_content admitad_uid gps_adid unicorn_click_id adjust_creative adjust_tracker_limit adjust_tracker adjust_adgroup adjust_campaign bsft_clkid bsft_eid bsft_mid bsft_uid bsft_aaid bsft_ek mtm_campaign mtm_cid mtm_content mtm_group mtm_keyword mtm_medium mtm_placement mtm_source pk_campaign pk_medium pk_source _branch_match_id vc_lpp ml_subscriber ml_subscriber_hash rb_clickid oly_anon_id oly_enc_id ebisAdID wickedid irgwc fbclid adfrom nx_source _zucks_suid cmpid asgtbndr guccounter guce_referrer guce_referrer_sig _openstat action_object_map action_ref_map action_type_map fb_action_ids fb_action_types fb_comment_id fb_ref fb_source __s dclid igshid oft_c oft_ck oft_d oft_id oft_ids oft_k oft_lk oft_sk brave-campaign-id brave-creative-id brave-creative-set-id mc_cid ss_campaign_id ss_campaign_name ss_campaign_sent_date ss_source gs_l os_ehash _ga _gl __twitter_impression wtrid Echobox spm tracking_source ceneo_spo logTag ref_src ref_url afid WebSiteMapNodeID tt_content tt_medium scid dTribesID exta ranMID ranEAID ranSiteID ranPublisherID ranLinkID ranLinkTypeID ransiteID pdpClick LGWCODE lgw_code xtor SRC coagent cotracking ectrans dartycid bbaid ppid unptid unp_tpcid pgrp mchn IPID draftsforfriends widget-ref taid eblink refd referringSource im_edp im_company source_location psf_variant es_id tracking_type tracking_user bxid cndid hasha hashb hashc ito rlz pcampaignid ext_source iradid irpid iradtype irmptype mp_value1 email_work_card scrolla smtyp tpcc onetime_FromEmail itid full_trSrc cmpg_for_af afftag referralCode LSNPUBID traffic_type traffic_id dcmp clickOrigin clickSR istCompanyId istFeedId istItemId istBid CMP irclickid irclicid intcmp affiliates_ad_id wmlspartner wpa_bd wpa_pg_seller_id wpa_ref_id wpa_tag wpa_aux_info wpa_pos wpa_plmt wpa_aduid sscid rmmds act_poa utmid pjxsource pjxaffiliate_id pjxclick_id litb_from adw_src_id ggsub ggntk ggcid ggpos ggdev ggdevm ggplm ggtgt ftag custlixnkid akmClientCountry hss_channel mktids mc_tc ns_mchannel ns_source ns_campaign ns_linkname ns_fee zanpid wgu wgexpiry fsrc Referrer ad_pvid algo_pvid algo_expid btsid ws_ab_test spLa affTrack shrsl_analytics_sscid shrsl_analytics_sstid SSAID tblci wdorigin twitchReferral elqTrackId tctx ad_medium ads_name ad_type CAWELAID partition_id adgroup_id rlsatarget targetid elqCampaignId dc_campid dc_adgroupid adgroupid AFFNAME ACRID ASUBID ASID cm_sp cm_re mkref refer_code acampID pj_creativeid pj_publisherid track_campaignid track_adgroupid track_keyword cmt extcmp at_gd gtmtrack vifAdCount vifNav afcode _source_page vfadid orig_referrer AgentCode AgencyNbr agentcodeweblink ncid adcid Osocial adxnnl adxnnlx ampcid affname nr_email_referer in_source srnd as_src edsacid elq elqaid elqat elqah elqcst elqcsid _hsmi dgcid gws_rd sr_share Adposition adposition cvosrc ads_params recurring_goal_id CJPIXEL LSNPUBNAME affiliate_id affiliate_location_id afn_sr cjdata cjeventid cjpixel click_id cm_soc o_lid o_sch o_xid wtExtndSource CAID FpAffiliate FpSub rfsn bclid bcpid bctid strackid afsrc lctid usource cjbatcheventid cjpid c3ch c3nid om_mmc trackingCode k_clickid CJURL affiliateCustomId CJAID CJCID CJSID irmpname REFERRAL_ID impradid impradname cm_type HACMP affil cjid cl_crtv cl_camp cl_pub cl_str cl_aid cl_vend cl_ch irsharedid hvarAID sv_affiliate_id sv_campaign_id LSNSUBSITE afd_number subacctid subacctname afflid fcref mclk mrnd maid mpty exactag_uk stpcjid LSID affuid icid2 refclickid XCID irclid sp_source sp_medium sp_campaign cjReq mms_chref ir_cid rmtsref p_aid p_sid p_link p_tok _nc_vts_prog depth_1-utm_source cmp_id adg_id ldtag_cl a_aid otracker otracker1 ft_source ft_medium ref_source ref_medium ref_campaign spMailingID spUserID spJobID spReportId track_click actId actCampaignType actSource _branch_referrer aff_network cj_affid cj_affiliate cj_affname cj_cid cj_event cj_link_id cj_link_name cj_linkd cj_pub_sid cj_publisher cj_webid adj_campaign adj_adgroup adj_creative _vsrefdom afftrack atid cuid data2 data3 effi_id effi_id2 fobs pubref sub1 sub3 sub4 sub5 tid1 tid2 tid3 tid4 avad ckmc ckmsc mktc cm_ven cm_cat cm_pla cm_ite cm_lm cm_ainfo CSID kpartnerid cnxclid sClickID paid pacid pa-partnerid 2p_affiliate_id 2p_click_token mktgcampaignp thg_ppc_campaign adtype tmad tmcampid tmplaceref tmclickref s_afcid n_cid int_cmpid awid szredirectid porc af_ad af_ad_id af_ad_type af_adset af_adset_id af_c_id af_channel af_click_lookback af_cost_model af_force_deeplink af_keyword af_keywords af_prt af_referral_type af_referrer_customer_id af_referrer_name af_referrer_uid af_siteid af_sub_siteid is_retargeting shortlink deep_link_sub1 ClickThruEmail ClickThruCustomerNumber affc byp455 detail_from sub_aff_id tg_ref dt_dapp dt_platform i_cid waad af-campaign _gac af_medium af_source af_campaign effect_medium effect_source effect_campaign aftr aftr_source ko_click_id rbx_source rbx_medium rbx_campaign a_fid mr%3AtrackingCode mr%3AreferralID mr%3Adevice mr%3AadType mr:trackingCode mr:referralID mr:device mr:adType mr:ad mr:keyword mr:match mr:tid mr:ploc mr:iloc mr:store mr:filter mr:adGroup mr:placement mr:ext nrtv_cid nrtv_as_src trk_ref ircid cf_affiliate_id rndad ad_config_id amp_device_id awinaffid cje removedParams iclid _bta_tid _bta_c trk_contact trk_msg trk_module trk_sid gdfms gdftrk gdffi redirect_log_mongo_id redirect_mongo_id sb_referer_host mkwid pcrid ef_id s_kwcid dm_i epik pk_content pk_kwd pk_keyword ig_mid asclid au_advert_id au_car_id ads_adid ads_cmpid ads_creative ads_matchtype ads_network ads_targetid elqTrack mindbox-click-id dtpid tj tagtag_uid afCampaignId afCreativeId affiliateCode affcode ref_lp cx_testId cx_testVariant cx_artPos belboon channable int_source int_medium int_content int_campaign sudaref pm_source pm_medium pm_campaign x_tr_pto oref gaa_at gaa_n gaa_ts gaa_sig amp_gsa vgo_ee rpcid sap-outbound-id analyticsCorrelationId Affiliate_id Cvosrc adobe_mc omnisendContactID trco_id nosto_source nosto af_id affi_id retailAttributionToken trafficSource is_pocket app_clickref as_campaign as_camptype as_channel as_source qq-pf-to mibextid li_source li_medium src_content src_custom _mak_partner_campaign pr_prod_strat pr_rec_id pr_rec_pid pr_ref_pid pr_seq recs_source cpa-perf marketing_id tracelog cardId aff_fcid aff_fsk aff_platform aff_trace_key fromRankId wx_header wx_navbar_hidden wx_navbar_transparent ignoreNavigationBar wx_statusbar_hidden tmLog aem_p4p_detail algo_exp_id scm_id scm scm-url share_app_id share_item_id share_link_id share_ab_group u_code is_copy_url is_from_webapp sender_device sender_web_id fir sxsrf tbas gs_lcp cshid biw bih cp_ksver _ft _rdr dti fref privacy_mutation_token settings_tracking sfnsn rpp_cid googleloc _from sacat _trkparms _trksid hvadid hvpos hvnetw hvrand hvpone hvptwo hvqmt hvdev hvdvcmdl hvlocint hvlocphy hvtargid adgrpid hvbmt hvexid cstrackid");
user_pref("browser.uitour.enabled", false);

/** OCSP & CERTS / HPKP ***/
user_pref("security.OCSP.enabled", 0);
user_pref("security.remote_settings.crlite_filters.enabled", true);
user_pref("security.pki.crlite_mode", 2);
user_pref("security.cert_pinning.enforcement_level", 2);

/** SSL / TLS ***/
user_pref("security.ssl.treat_unsafe_negotiation_as_broken", true);
user_pref("browser.xul.error_pages.expert_bad_cert", true);
user_pref("security.tls.enable_0rtt_data", false);

/** RFP ***/
user_pref("browser.startup.blankWindow", false);
user_pref("browser.display.use_system_colors", false);

/** DISK AVOIDANCE ***/
user_pref("browser.cache.disk.enable", false);
user_pref("browser.privatebrowsing.forceMediaMemoryCache", true);
user_pref("browser.sessionstore.privacy_level", 2);
user_pref("browser.pagethumbnails.capturing_disabled", true);

/** SHUTDOWN & SANITIZING ***/
user_pref("privacy.history.custom", true);

/** SPECULATIVE CONNECTIONS ***/
user_pref("network.http.speculative-parallel-limit", 0);
user_pref("network.dns.disablePrefetch", true);
user_pref("network.dns.disablePrefetchFromHTTPS", true);
user_pref("browser.urlbar.speculativeConnect.enabled", false);
user_pref("browser.places.speculativeConnect.enabled", false);
user_pref("network.prefetch-next", false);
user_pref("network.predictor.enabled", false);
user_pref("network.predictor.enable-prefetch", false);

/** SEARCH / URL BAR ***/
user_pref("browser.search.separatePrivateDefault.ui.enabled", true);
user_pref("browser.urlbar.update2.engineAliasRefresh", true);
user_pref("browser.search.suggest.enabled", false);
user_pref("browser.urlbar.suggest.quicksuggest.sponsored", false);
user_pref("browser.urlbar.suggest.quicksuggest.nonsponsored", false);
user_pref("network.IDN_show_punycode", true);

/** HTTPS-ONLY MODE ***/
user_pref("dom.security.https_only_mode", true);
user_pref("dom.security.https_only_mode_error_page_user_suggestions", true);

/** DNS-over-HTTPS (DOH) ***/
user_pref("network.dns.skipTRR-when-parental-control-enabled", false);

/** PROXY / SOCKS / IPv6 ***/
user_pref("network.proxy.socks_remote_dns", true);
user_pref("network.file.disable_unc_paths", true);
user_pref("network.gio.supported-protocols", "");

/** PASSWORDS AND AUTOFILL ***/
// user_pref("signon.formlessCapture.enabled", false);
// user_pref("signon.privateBrowsingCapture.enabled", false);
// user_pref("signon.autofillForms", false);
// user_pref("signon.rememberSignons", false);
// user_pref("editor.truncate_user_pastes", false);

/** ADDRESS + CREDIT CARD MANAGER ***/
user_pref("extensions.formautofill.addresses.enabled", false);
user_pref("extensions.formautofill.creditCards.enabled", false);
user_pref("extensions.formautofill.heuristics.enabled", false);
user_pref("browser.formfill.enable", false);

/** MIXED CONTENT + CROSS-SITE ***/
user_pref("network.auth.subresource-http-auth-allow", 1);
user_pref("pdfjs.enableScripting", false);
user_pref("extensions.postDownloadThirdPartyPrompt", false);
user_pref("permissions.delegation.enabled", false);

/** HEADERS / REFERERS ***/
user_pref("network.http.referer.XOriginTrimmingPolicy", 2);

/** CONTAINERS ***/
user_pref("privacy.userContext.ui.enabled", true);

/** WEBRTC ***/
user_pref("media.peerconnection.ice.proxy_only_if_behind_proxy", true);
user_pref("media.peerconnection.ice.default_address_only", true);

/** SAFE BROWSING ***/
user_pref("browser.safebrowsing.blockedURIs.enabled", true); // reset pref; remove in v.110
user_pref("browser.safebrowsing.malware.enabled", true); // reset pref; remove in v.110
user_pref("browser.safebrowsing.phishing.enabled", true); // reset pref; remove in v.110
user_pref("browser.safebrowsing.downloads.enabled", true); // reset pref; remove in v.110
user_pref("browser.safebrowsing.downloads.remote.enabled", false);

/** MOZILLA ***/
user_pref("accessibility.force_disabled", 1);
user_pref("identity.fxaccounts.enabled", false);
user_pref("browser.tabs.firefox-view", false);
//user_pref("dom.push.enabled", true); // reset pref; remove in v.110
user_pref("permissions.default.desktop-notification", 2);
user_pref("permissions.default.geo", 2);
user_pref("geo.provider.network.url", "https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%");
user_pref("geo.provider.ms-windows-location", false); // WINDOWS
user_pref("geo.provider.use_corelocation", false); // MAC
user_pref("geo.provider.use_gpsd", false); // LINUX
user_pref("geo.provider.use_geoclue", false); // LINUX
user_pref("permissions.manager.defaultsUrl", "");
user_pref("webchannel.allowObject.urlWhitelist", "");

user_pref("dom.push.enabled", false); // reset pref; remove in v.110
user_pref("dom.push.connection.enabled ", false);
user_pref("dom.push.serverURL", "about:blank");

/** TELEMETRY ***/
user_pref("toolkit.telemetry.unified", false);
user_pref("toolkit.telemetry.enabled", false);
user_pref("toolkit.telemetry.server", "data:,");
user_pref("toolkit.telemetry.archive.enabled", false);
user_pref("toolkit.telemetry.newProfilePing.enabled", false);
user_pref("toolkit.telemetry.shutdownPingSender.enabled", false);
user_pref("toolkit.telemetry.updatePing.enabled", false);
user_pref("toolkit.telemetry.bhrPing.enabled", false);
user_pref("toolkit.telemetry.firstShutdownPing.enabled", false);
user_pref("toolkit.telemetry.coverage.opt-out", true);
user_pref("toolkit.coverage.opt-out", true);
user_pref("datareporting.healthreport.uploadEnabled", false);
user_pref("datareporting.policy.dataSubmissionEnabled", false);
user_pref("app.shield.optoutstudies.enabled", false);
user_pref("browser.discovery.enabled", false);
user_pref("breakpad.reportURL", "");
user_pref("browser.tabs.crashReporting.sendReport", false);
user_pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false);
user_pref("captivedetect.canonicalURL", "");
user_pref("network.captive-portal-service.enabled", false);
user_pref("network.connectivity-service.enabled", false);
user_pref("default-browser-agent.enabled", false);
user_pref("app.normandy.enabled", false);
user_pref("app.normandy.api_url", "");
user_pref("browser.ping-centre.telemetry", false);
user_pref("browser.newtabpage.activity-stream.feeds.telemetry", false);
user_pref("browser.newtabpage.activity-stream.telemetry", false);

/****************************************************************************
 * SECTION: PESKYFOX                                                        *
****************************************************************************/
/** MOZILLA UI ***/
user_pref("layout.css.prefers-color-scheme.content-override", 2);
user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);
user_pref("app.update.suppressPrompts", true);
user_pref("browser.compactmode.show", true);
user_pref("browser.privatebrowsing.vpnpromourl", "");
user_pref("extensions.getAddons.showPane", false);
user_pref("extensions.htmlaboutaddons.recommendations.enabled", false);
user_pref("browser.shell.checkDefaultBrowser", false);
user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", false);
user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", false);
user_pref("browser.preferences.moreFromMozilla", false);
user_pref("browser.tabs.tabmanager.enabled", false);
user_pref("browser.aboutwelcome.enabled", false);
user_pref("findbar.highlightAll", true);
user_pref("middlemouse.contentLoadURL", false);
user_pref("browser.privatebrowsing.enable-new-indicator", false);

/** FULLSCREEN ***/
user_pref("full-screen-api.transition-duration.enter", "0 0");
user_pref("full-screen-api.transition-duration.leave", "0 0");
user_pref("full-screen-api.warning.delay", 0);
user_pref("full-screen-api.warning.timeout", 0);

/** URL BAR ***/
user_pref("browser.urlbar.suggest.engines", false);
user_pref("browser.urlbar.suggest.topsites", false);
user_pref("browser.urlbar.suggest.calculator", true);
user_pref("browser.urlbar.unitConversion.enabled", true);

/** NEW TAB PAGE ***/
user_pref("browser.newtabpage.activity-stream.feeds.topsites", false);
user_pref("browser.newtabpage.activity-stream.feeds.section.topstories", false);

/*** POCKET ***/
user_pref("extensions.pocket.enabled", false);

/** DOWNLOADS ***/
user_pref("browser.download.useDownloadDir", false);
user_pref("browser.download.alwaysOpenPanel", false);
user_pref("browser.download.manager.addToRecentDocs", false);
user_pref("browser.download.always_ask_before_handling_new_types", true);

/** PDF ***/
user_pref("browser.download.open_pdf_attachments_inline", true);

/** TAB BEHAVIOR ***/
user_pref("browser.link.open_newwindow.restriction", 0);
user_pref("dom.disable_window_move_resize", true);
user_pref("browser.tabs.loadBookmarksInTabs", true);
user_pref("browser.bookmarks.openInTabClosesMenu", false);
user_pref("dom.popup_allowed_events", "click dblclick");
user_pref("layout.css.has-selector.enabled", true);

/****************************************************************************
 * SECTION: SMOOTHFOX                                                       *
****************************************************************************/
// visit https://github.com/yokoffing/Betterfox/blob/master/Smoothfox.js
// Enter your scrolling prefs below this line:

/****************************************************************************
 * START: MY OVERRIDES                                                      *
****************************************************************************/
// Enter your personal prefs below this line:

/****************************************************************************
 * END: BETTERFOX                                                           *
****************************************************************************/

user_pref("browser.search.region", "VN");
user_pref("intl.locale.requested", "vi-VN");
user_pref("browser.cache.disk.enable", false);
user_pref("browser.cache.memory.enable", true);
user_pref("browser.cache.memory.capacity", 1048576);
user_pref("browser.cache.memory.max_entry_size", 512000);
user_pref("network.dns.disablePrefetch", true);
user_pref("network.dns.force_use_https_rr", true);
user_pref("network.dns.force_waiting_https_rr", true);
user_pref("network.dns.echconfig.enabled", true);
user_pref("network.dns.echconfig.fallback_to_origin_when_all_failed", false);
user_pref("network.dns.http3_echconfig.enabled", true);
user_pref("security.tls.ech.disable_grease_on_fallback", false);
user_pref("security.tls.ech.grease_http3", true);
user_pref("security.tls.ech.grease_probability", 100);
// user_pref("network.dns.disableIPv6", true);
user_pref("dom.security.https_first", true);
user_pref("network.dns.port_prefixed_qname_https_rr", true);
user_pref("network.dns.upgrade_with_https_rr", true);
user_pref("network.dns.use_https_rr_as_altsvc", true);
user_pref("network.dns.use_https_rr_as_altsvc", true);
user_pref("network.dns.skipTRR-when-parental-control-enabled", false);
user_pref("network.http.altsvc.enabled", true);
user_pref("network.http.altsvc.oe", true);
user_pref("network.http.altsvc.proxy_checks", true);
user_pref("network.http.http3.alt-svc-mapping-for-testing", 'doh3.dns.nextdns.io;h3=":443"; quicv="6b3343cf,1"');
user_pref("network.http.http3.send_background_tabs_deprioritization", true);
user_pref("network.http.http3.version_negotiation.enabled", true);
user_pref("network.http.speculative-parallel-limit", 0);
user_pref("network.predictor.enabled", false);
user_pref("network.prefetch-next", false);
user_pref("network.trr.async_connInfo", true);
user_pref("network.trr.confirmation_telemetry_enabled", false);
user_pref("network.trr.bootstrapAddress", "9.9.9.11");
user_pref("network.trr.confirmationNS", "skip");
user_pref("network.trr.custom_uri", "https://doh3.dns.nextdns.io/47d74e/kingsmanvn-firefox-win");
user_pref("network.trr.default_provider_uri", "https://doh3.dns.nextdns.io/47d74e/kingsmanvn-firefox-win");
user_pref("network.trr.disable-ECS", false);
user_pref("network.trr.early-AAAA", true);
user_pref("network.trr.enable_when_nrpt_detected", true);
user_pref("network.trr.enable_when_proxy_detected", true);
user_pref("network.trr.enable_when_vpn_detected", true);
user_pref("network.trr.mode", 3);
// user_pref("network.trr.send_user-agent_headers", true);
user_pref("network.trr.uri", "https://doh3.dns.nextdns.io/47d74e/kingsmanvn-firefox-win");
user_pref("network.trr.wait-for-A-and-AAAA", false);
user_pref("network.dnsCacheEntries", -1);
user_pref("nglayout.initialpaint.delay", 2000);
user_pref("nglayout.initialpaint.delay_in_oopif", 2000);
user_pref("content.notify.backoffcount", 0);
user_pref("content.notify.interval", 2000000);
user_pref("content.notify.ontimer", true);
user_pref("browser.newtab.url", "https://www.bing.com/");
user_pref("browser.display.use_document_fonts", 0);
user_pref("layout.css.overflow-overlay.enabled", true);
user_pref("network.early-hints.enabled", true);
user_pref("network.early-hints.preconnect.enabled", true);
user_pref("network.early-hints.preconnect.max_connections", 20);
user_pref("network.cookie.cookieBehavior", 5);
user_pref("fission.autostart", true);
user_pref("gfx.webrender.all", true);
user_pref("xpinstall.signatures.required", false);
 
Cập nhập bài Dark Reader nửa mùa cho những ai khẩm dô Android như @shenzero999 mà vẫn muốn native Dark Reader cho Firefox (Beta, Nightly, Fennec, Mull, IceRaven).

Chỉnh trong about:config thôi, ezpz, tìm browser.display. (chú ý: chỉnh browser.display.document_color_use cuối cùng nhé kẻo nó lỗi font trắng xóa hoặc nền đen xì không nhìn thấy gì đâu):
browser.display.background_color#000000
browser.display.foreground_color#ffffff
browser.display.document_color_use2

Bên trên là nền đen, chữ trắng, nếu muốn tự chỉnh xem tiếp.

Code mảng màu (lấy phần HEX kiểu #abcxyz ấy): https://htmlcolorcodes.com/

Mở rộng thêm:
Màu link đã mở:
browser.visited_color#tự_thêm

Màu link mặc định:
browser.anchor_color#0080ff

Kết đau đớn và lõa lồ nhé:
View attachment 2092054


Nếu đã kéo tới tận đây rồi thì bonus, trường phái Dark Reader bảo vệ mắt (nền xám, chữ đen):
browser.display.background_color#c0c0c0
browser.display.foreground_color#000000
browser.anchor_color
#ff8000
browser.display.document_color_use2
Damn nếu làm theo các bước này thì khỏi cần cài Dark Reader cũng có dark mode on site đúng ko thầy ơi>?
 
Bọn chromium/ungoogle-chromium như brave vs cromite có cái group tabs theo website tiện vãi, qua trên mull vs fennec thì chán luôn:amazed:
Mình cũng hay dùng tính năng này, nhất là khi đang lướt voz muốn rep một ai mà ko muốn bị mất dấu page đang đọc
 
Damn nếu làm theo các bước này thì khỏi cần cài Dark Reader cũng có dark mode on site đúng ko thầy ơi>?
Cũng ngon tuy là có vài nhược điểm như không cho tắt đi trên những trang không đẹp (y hệt Chrome thôi chỉ là mình yêu cầu cao luôn phải có khả năng tắt/bật), nói chung là đây là native, nó dùng WebRender của Firefox để tạo đen nên nó nhanh thậm chí hơn của Chrome đó.
 
bác dùng ff nào thế, fennec à hay cái nào chứ em up 1 cái ảnh nó đòi lắm quyền lắm, tắt đi thì ko đc
Firefox Beta mới nhất, có thể do hệ điều hành Android vì mỗi hệ điều hành là là một bản mod kèm với các luật rừng, sưu thuế của riêng họ, của mình dùng Pixel 12.
 
Back
Top