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

Ờ thời điểm hiện tại có thể dùng Chunk Rust hoặc Demergi, nên thử Demergi vì nếu đã từng làm ProxySwitchy cho Chunk Rust thì cái này hoạt động ngay tắp lự, chỉ việc bật lên vì nó dùng cùng port với Chunk Rust nhưng thuật toán có vẻ khác đôi chút nên cũng đáng vài giây cuộc đời thử nghiệm nó: https://github.com/hectorm/demergi

Mình test thì ok nhé, vào được tất Bon, Medium, Xvid, Pastebin:

View attachment 1870529
Cái này được ngay tắp lự luôn này bác, ngon
 
Cái này được ngay tắp lự luôn này bác, ngon
Thuật toán nhiều hơn Chunk Rust, ví dụ happy-eyeballs là thuật toán đảo qua lại giữa IPv4 và IPv6 để vượt cạn, cơ mà cái gì không hỏng thì không nên sửa.

Ngoài ra nó có thể băm ClientHello kỹ hơn Chunk Rust, Chunk Rust chắc bị chặn bởi FPT do nó băm đúng 1 phát.

Ví dụ:
  • Chunk Rust: Bonhup.com -> Bon + hup.com
  • Demergi: Bonhup.com -> Bo + n + hu + p.c + m
 
Thuật toán nhiều hơn Chunk Rust, ví dụ happy-eyeballs là thuật toán đảo qua lại giữa IPv4 và IPv6 để vượt cạn, cơ mà cái gì không hỏng thì không nên sửa.

Ngoài ra nó có thể băm ClientHello kỹ hơn Chunk Rust, Chunk Rust chắc bị chặn bởi FPT do nó băm đúng 1 phát.
cái này với goodbyedpi thì sao thím, em toàn để goodbyedpi chạy ngầm
 
Đúng rồi, quan trọng nhất là Nhật Bổn vì ngôn ngữ này rất nhiều người thích học để đọc truyện tranh. Sắp rồi (hy vọng): https://github.com/mozilla/firefox-translations/issues/714

Họ sẽ dùng mô hình Jparacrawl để dạy tiếng Nhật cho con AI của Firefox: http://www.kecl.ntt.co.jp/icl/lirg/jparacrawl/

Thêm OCR nữa thì căng đét, OCR chính ra mới là tạo ra sự khác biệt vì nhiều khi xem tranh ảnh có vài chữ nước ngoài muốn dịch cho hiểu nghĩa, hiện tại Search By Image dùng cũng ok :D
tiếng nhật thì em không cần lắm vì chỉ cần sub hay em nghe cũng hiểu được đại khái, nhưng bọn nhật này bị cái diễn phim hay lồng tiếng giọng chúng nó rất khó nghe, khác hẳn với lúc nói chuyện ngoài đời. Chắc train AI cũng nhanh thôi :v, wibu là trên đỉnh chuỗi thức ăn rồi
 
  • cái DOQ hơn gì DOH3 mà nhiều người sống mái với nó thế bác?
DOQ nhanh hơn DOH3 một chút tuy nhiên dùng nhiều CPU hơn so với DOT, và đương nhiên vẫn chậm hơn DOQ2 mà ở thread này Firefox có thể làm được và nếu mình không lầm hiện tại mỗi Firefox làm được thì phải.
Tierlist tốc độ:
QUICv2 > QUIC > DOH3 > DOT > DOH
 
DOQ nhanh hơn DOH3 một chút tuy nhiên dùng nhiều CPU hơn so với DOT, và đương nhiên vẫn chậm hơn DOQ2 mà ở thread này Firefox có thể làm được và nếu mình không lầm hiện tại mỗi Firefox làm được thì phải.
Tierlist tốc độ:
QUICv2 > QUIC > DOH3 > DOT > DOH
Em test trên test.nextdns.io thì của em là DOH chứ không phải DOQ, em làm sai gì rồi ta?
 
Em test trên test.nextdns.io thì của em là DOH chứ không phải DOQ, em làm sai gì rồi ta?
DOH3 chứ nhỉ ? Nếu ra DOH3 mà làm cái altsvc thì nghĩa là QUICv2 rồi, tại trang NextDNS nó không hiển thị.

Còn QUIC chay thì phải dùng DNSProxy/DNSCrypt/YogaDNS/NextDNSClient và không đặt DNS mã hóa trong Firefox, cơ mà làm vậy không nên.
 
DOH3 chứ nhỉ ? Nếu ra DOH3 mà làm cái altsvc thì nghĩa là QUICv2 rồi, tại trang NextDNS nó không hiển thị.

Còn QUIC chay thì phải dùng DNSProxy/DNSCrypt/YogaDNS/NextDNSClient và không đặt DNS mã hóa trong Firefox, cơ mà làm vậy không nên.
1685634600746.png

đây bác ơi, bác cần file user.js của em thì đây ạ
 

Attachments

  • user.zip
    3 KB · Views: 26
View attachment 1870608
đây bác ơi, bác cần file user.js của em thì đây ạ
Đoạn user_pref("network.http.http3.alt-svc-mapping-for-testing", doh3.dns.nextdns.io/4fbd58;h3=":443"; quicv="6b3343cf,1"); bị sai nha, phải là user_pref("network.http.http3.alt-svc-mapping-for-testing", "doh3.dns.nextdns.io;h3=\":443\"; quicv=\"6b3343cf,1\"");

1685635281939.png


Ngoài ra, chỉnh ở đây nữa cho dễ: about:preferences#general

1685635059582.png
 
userChromeJS scripts
Giải thích ngắn gọn: Inject code JavaScript, chạy trên ngữ cảnh của Firefox browser. Tức là can thiệp trực tiếp vào code logic của FIrefox.
Để so sánh thì các script chạy trên *monkey chỉ hoạt động trên ngữ cảnh của trang web, không tác động được vào browser.
Các Addon thì chỉ sử dụng những API mà Firefox expose ra, nên tác động hạn chế.

Về cơ bản các userChromeJS script sẽ không có hạn chế gì cả. Tác động được vào tất cả các phần viết bằng JavaScript của Firefox (còn các phần khác viết bằng C++ hay các ngôn ngữ khác thì không được). Ngoài ra các script này còn có toàn quyền đọc/ghi trên ổ cứng của bạn. Cực kỳ nguy hiểm. Phải kiểm tra rất cẩn thận trước khi sử dụng.

Có 3 bộ autoconfig để load userChromeJS mà theo mình là đáng chú ý:
1. firefox-scripts của xiaoxiaoflood
2. fx-autoconfig của MrOtherGuy, cũng là tác giả của nhiều tweak css. Có nhiều scripts dựa trên loader này nằm trên repo uc.css.js của aminomancer.
3. userChrome.js của alice0775, người Nhật nên đọc comment code cũng vất vả xíu.

Script viết theo loader 2 và 3 khá tương thích với nhau, còn bộ loader số 1 của xiaoxiaoflood cần viết theo cấu trúc khác hẳn. Nhưng nói chung nếu bỏ công sức ra thì cũng port qua lại được.

Dự định của mình là viết một scripts làm vertical tab cho FIrefox, giống kiểu của Edge (có bật/tắt autohide). Các giải pháp sử dụng addon (Tree Style Tab, Sidebery, etc.) + CSS không thể bật tắt autohide được. Tiện tay thì vertical tab này sẽ dùng native tab (thay đổi vị trí ngang/dọc) thay vì clone lại tab vào sidebar.
Cơ mà đấy là dự định, làm còn lâu mới xong.

Giờ share 2 script vừa và nhỏ:
1. URLBar show domain:
Cũng không có gì đặc biệt. Gọt hết phần protocol (https://) và www. và path (t/tong-hop-nhung-addon-chat-cho-firefox-pc-mobile.682181/), chỉ để lại subdomain.domain
Nói chung là bắt chước URLBar của Safari.

2. Sidebar easy switch:
Nói chung là bắt chước side panel của Vivaldi.
  • Bỏ giới hạn chiều rộng tối thiểu/tối đa của sidebar.
  • Các options trong dropdown chọn sidebar được đưa ra một panel bên ngoài. Tiết kiệm 1 click và vài cm kéo chuột chọn.
  • Thu gọn/phóng to sidebar.
Ai dùng nhiều sidebar khác nhau sẽ thấy tiện hơn chút. Tất nhiên cái này không tương thích với ai đang dùng các giải pháp autohide sidebar bằng CSS.

À quên, mình dùng fx-autoconfig, nên cách cài cũng tương tự như aminomancer hướng dẫn.
 
Ờ thời điểm hiện tại có thể dùng Chunk Rust hoặc Demergi, nên thử Demergi vì nếu đã từng làm ProxySwitchy cho Chunk Rust thì cái này hoạt động ngay tắp lự, chỉ việc bật lên vì nó dùng cùng port với Chunk Rust nhưng thuật toán có vẻ khác đôi chút nên cũng đáng vài giây cuộc đời thử nghiệm nó: https://github.com/hectorm/demergi

Mình test thì ok nhé, vào được tất Bon, Medium, Xvid, Pastebin:

View attachment 1870529
Thím có hướng dẫn từng bước làm cái dermegi này đk nạ?
 
Vụ translate của Firefox thì mình coi như một option, không hâm mộ lắm vụ "offline" này vì cá nhân mình thấy sẽ nặng đầu local user, với translate thì gọi API online là tối ưu nhất.
Hôm trước đọc thì thấy bên CEO mozilla cũng đang đú AI - browser quan tâm privacy user mà đòi làm AI cần collect data thì mình thấy sai sai.
Chỉ hy vọng định hướng lại với phát triển đầu:
Desktop: cạnh tranh với Chrome, về perf, về feature như Edge chẳng hạn. Thời nay user chả quan tâm so bì CPU hay RAM tiêu thụ nhiều, phần lớn quan tâm nhiều trải nghiệm - mình nói thật.
Mobile: quan tâm nhiều hơn về perf. Hiện tại mình sài Desktop mình chuyển qua sài firefox là chính nhưng mobile thì vẫn Chrome. Không hiểu team Firefox code kiểu gì mà mình thấy browser mobile nặng nề với không đạt perf như Chrome mặc dù size app hiện tại đang x3 ( Android).
Cuối cùng là hy vọng các bố bên Mozilla bỏ tiền cho những thím như chủ thớt này để cộng đồng còn biết các tips mà sài.

https://genk.vn/khon-nhu-google-bo-...an-tinh-het-suc-cao-tay-20230507113046304.chn
 
userChromeJS scripts
Giải thích ngắn gọn: Inject code JavaScript, chạy trên ngữ cảnh của Firefox browser. Tức là can thiệp trực tiếp vào code logic của FIrefox.
Để so sánh thì các script chạy trên *monkey chỉ hoạt động trên ngữ cảnh của trang web, không tác động được vào browser.
Các Addon thì chỉ sử dụng những API mà Firefox expose ra, nên tác động hạn chế.

Về cơ bản các userChromeJS script sẽ không có hạn chế gì cả. Tác động được vào tất cả các phần viết bằng JavaScript của Firefox (còn các phần khác viết bằng C++ hay các ngôn ngữ khác thì không được). Ngoài ra các script này còn có toàn quyền đọc/ghi trên ổ cứng của bạn. Cực kỳ nguy hiểm. Phải kiểm tra rất cẩn thận trước khi sử dụng.

Có 3 bộ autoconfig để load userChromeJS mà theo mình là đáng chú ý:
1. firefox-scripts của xiaoxiaoflood
2. fx-autoconfig của MrOtherGuy, cũng là tác giả của nhiều tweak css. Có nhiều scripts dựa trên loader này nằm trên repo uc.css.js của aminomancer.
3. userChrome.js của alice0775, người Nhật nên đọc comment code cũng vất vả xíu.

Script viết theo loader 2 và 3 khá tương thích với nhau, còn bộ loader số 1 của xiaoxiaoflood cần viết theo cấu trúc khác hẳn. Nhưng nói chung nếu bỏ công sức ra thì cũng port qua lại được.

Dự định của mình là viết một scripts làm vertical tab cho FIrefox, giống kiểu của Edge (có bật/tắt autohide). Các giải pháp sử dụng addon (Tree Style Tab, Sidebery, etc.) + CSS không thể bật tắt autohide được. Tiện tay thì vertical tab này sẽ dùng native tab (thay đổi vị trí ngang/dọc) thay vì clone lại tab vào sidebar.
Cơ mà đấy là dự định, làm còn lâu mới xong.

Giờ share 2 script vừa và nhỏ:
1. URLBar show domain:
Cũng không có gì đặc biệt. Gọt hết phần protocol (https://) và www. và path (t/tong-hop-nhung-addon-chat-cho-firefox-pc-mobile.682181/), chỉ để lại subdomain.domain
Nói chung là bắt chước URLBar của Safari.

2. Sidebar easy switch:
Nói chung là bắt chước side panel của Vivaldi.
  • Bỏ giới hạn chiều rộng tối thiểu/tối đa của sidebar.
  • Các options trong dropdown chọn sidebar được đưa ra một panel bên ngoài. Tiết kiệm 1 click và vài cm kéo chuột chọn.
  • Thu gọn/phóng to sidebar.
Ai dùng nhiều sidebar khác nhau sẽ thấy tiện hơn chút. Tất nhiên cái này không tương thích với ai đang dùng các giải pháp autohide sidebar bằng CSS.

À quên, mình dùng fx-autoconfig, nên cách cài cũng tương tự như aminomancer hướng dẫn.
Cái vertical tab của ông aminomancer đang bị lỗi với FF 113 thì phải, pin thì dùng bình thường nhưng để autohide thì nó bị hiện từ phải qua trái thành ra chẳng thấy gì luôn. còn cái của ông alice0775 thì không có auto hide. Cái em cần nhất là chuột giữa để mở và đóng tab thì 2 ông này đều không có. Vẫn yên vị với sidebery đợi code của bác xem sao
ShmSpiw.png
 
userChromeJS scripts


À quên, mình dùng fx-autoconfig, nên cách cài cũng tương tự như aminomancer hướng dẫn.

Đã cho lên #2 phần Tùy biến Firefox, cảm ơn bạn đã chia sẻ, chủ đề này đúng là rất khó viết :D

Chà tính năng cái Vertical Tab tuyệt vời thật, chuyển qua trái phải, thu gọn khi nháy chuột/toggle, đổi màu theo giao diện và còn là native userChrome.js, đúng là phải hóng luôn rồi :D

Tiện đây mình cũng giới thiệu một cái userChrome.js cũng là của aminomancer bên trên, nó dành cho những ai muốn phát triển addon/chỉnh sửa giao diện Firefox, hỗ trợ mở Developer Toolbox/Web Developer, đó là Toolbox Button:

Đường dẫn dự án: https://github.com/aminomancer/uc.css.js#toolbox-button


Cái userChrome.js này hỗ trợ Pin contextmenu khi ấn chuột giữa vào nút của nó trên toolbar, giúp mở hàng trăm cái contextmenu+submenu sau đó Inspect và sửa bằng Developer Toolbox:
1685637524726.png


prev-popup-autohide.webp


1685637498227.png
 
Back
Top