oOo VnSharing oOo

Go Back   Diễn đàn > VnSharing School > IT - Information Technology >

Trả lời
Kết quả 1 đến 10 của 1365
 
  • Công cụ
  • Hiển thị
    1. #1
      Tham gia ngày
      13-11-2014
      Bài viết
      732
      Cấp độ
      8
      Reps
      302

      Privoxy - Chặn quảng cáo, bảo mật, tăng tốc lướt web cho người dùng nâng cao



      Tổng hợp các chỉ mục trong topic do bạn songoku làm (nên đọc):


      Thông báo:

      Hiện mình rất hy vọng có nhiều bạn sẽ đứng ra phát triển topic Privoxy này vì thời gian tới mình sẽ rất bận, không thể phát triển thêm filter được nữa cũng như các dự định hiện tại đã phải dẹp sang một bên.

      Với những filter mình chia sẻ trong topic này thì chỉ cần dựa vào và sửa lại, thêm mắm muối chút các bạn sẽ có được một proxy giúp trình duyệt nhanh hơn, nhẹ hơn và bảo mật hơn.

      Các bạn có thể tốt nhất là phát triển luôn tại box IT này, còn không thì đem đi nơi khác cũng được. Chỉ vậy thôi.
      May mà tìm lại được cache nên mình tạo version 2.

      Privoxy là phần mềm chặn quảng cáo hoạt động như một web proxy tại máy đang sử dụng, nó có thể chặn hoặc thậm chí thay đổi nội dung trang web tuỳ theo ý muốn. Ưu điểm của Privoxy so với AdBlock Plus:
      - Chặn 100%, không phải là ẩn đi như Element Hiding Helper (dùng CSS và display:none để ẩn), Privoxy xoá hoàn toàn code nếu muốn, thậm chí thích thì hoàn toàn có thể giả lập Element Hiding Helper đơn giản là dùng thẻ <style> nhúng vào trang.
      - Rất nhanh về tốc độ lọc, CPU và RAM cực thấp. Privoxy load toàn bộ filter lên trên RAM, và xử lý bằng càng nhiều thread càng tốt dựa trên độ mạnh của CPU và RAM đồng thời Privoxy sử dụng engine RegEx NFA nên tối ưu cho tốc độ, có thể yêu tâm rằng với Privoxy bạn có thể tạo hàng tỉ filter dạng global mà không lo chậm.
      - Dùng được trên tất cả mọi trình duyệt

      Tuy nhiên nó cũng hơi khó dùng khi mới bắt đầu sử dụng. Nhưng hướng dẫn của mình + tool mình share sẽ khiến việc sử dụng nó dễ dàng hơn nhiều.

      Tóm tắt những thứ cần làm nếu không muốn đọc bên dưới:
      Trích dẫn Gửi bởi nvtrung88 Xem bài viết
      Bạn Cattlaya có thể up cho mình 1 bản nào dạng mì ăn liền được không,đọc hướng dẫn mà ko hiểu lắm.Cho mình bản nào dạng portble nhé,chỉ cần bật lên và set proxy cho trình duyệt là block luôn cả http và https ấy @@.
      Thanks trước
      Mình chỉ có thể hướng dẫn, bạn có thể tự phát triển thành bản mì ăn liền và share cũng như hỗ trợ, topic này là nền móng, mình chỉ share filter, giải đáp.

      Ngắn gọn dễ hiểu là bạn tải bản này: https://drive.google.com/file/d/0B-M...kwamdhc0k/view - Đặt trình duyệt thành HTTP 127.0.0.1:8118. Mở.
      Rồi này: http://vnsharing.site/forum/showthre...857#post182857 - 127.0.0.1:8079 - Thiết lập như post đó - Import cert. Mở.
      Thiết lập tất cả rồi bạn tìm post về convert2privoxy mới nhất của mình rồi tạo file mới tên convert2privoxy.ahk, cài Autohotkey, rồi mở file ahk đó lên, copy nội dung file hosts ( http://winhelp2002.mvps.org/hosts.txt ) vào rồi Hosts2Privoxy là có ngay một filter chặn 90% quảng cáo, hay kiếm cái EasyList ( https://easylist-downloads.adblockplus.org/easylist.txt ) của Firefox rồi cũng AdBlock2Privoxy rồi copy vào là xong.

      Mình bê post này lên post 1, ai cũng có thể có mì ăn liền trong vài phút.
      Download:
      Bản đầy đủ cho ai cài mới, tuyệt đổi không dùng bản này nếu như đang xài sẵn Privoxy, vì sẽ bị ghi đè các file filter, hoặc sử dụng file Update hoặc là backup file filter rồi mới ghi đè vào:


      Cách lọc HTTPS cho Privoxy:
      http://vnsharing.site/forum/showthre...1781#post21781
      Bonus thêm update mới nhất cho cách lọc HTTPS, patch PrivHTTPSProxy bản mới nhất: http://vnsharing.site/forum/showthre...537#post139537

      Tiêu chí của mình là không làm ảnh hưởng tới những người đang xài nên mình không bao giờ thêm filter vào bản mới mà sẽ share trong topic thôi. Vì vậy các bạn chịu khó lội trang topic và update các filter do mình share, thấy cái nào thích thì thêm vào. [/TD]
      [/TR]
      [/TABLE]

      Cách thiết lập để sử dụng Privoxy cho trình duyệt:
      Vào phần đổi proxy của trình duyệt và đặt IP là 127.0.0.1 port là 8118
      Mở Privoxy lên.

      Có những file cần chú ý là:
      specificsite.filter - chặn sử dụng code từ convert2privoxy
      custom.filter - filter chặn bằng cách xóa code trang
      filter.action - chặn bằng filter xóa code trang
      block.action - chặn kết nối
      config.txt - file thiết lập, quan trọng là học cách thêm actionsfile và filterfile vào file này để sử dụng adblock2privoxy thôi.

      Và khi mình bảo edit (chỉnh sửa file) nghĩa là mở nó lên bằng Notepad hay Notepad++.. Khi edit không cần tắt Privoxy đi, edit xong Privoxy tự detect và load lại filter.

      Đặc biệt chú ý bên trong có 2 tool adblock2privoxy và convert2privoxy rất hữu dụng sau này.
      Với adblock2privoxy thì mình không khuyến khích xài, nó đơn giản là biến các filter chặn của AdBlock Plus thành của Privoxy và sử dụng luôn. Đơn giản là mở lên -> chọn list -> Process thôi. Sau đó copy các file được tạo ra trong thư mục adblock2privoxy có đuôi .filter và .action vào folder Privoxy, rồi mở file config.txt lên thêm 2 dòng:

      actionsfile tên file có đuôi .action
      filterfile tên file có đuôi .filter

      Là xong.

      Còn convert2privoxy thì cứ View Source trang web, tìm code quảng cáo xong copy vào -> Remove là nó sẽ convert sang code chặn. Tạo một filter trong file specificsite.filter dạng:

      FILTER: tên filter
      code chặn

      Sau đó mở file filter.action lên, thêm:

      {+filter{tên filter}}
      trang web cần chặn, ví dụ vnsharing thì là vnsharing.net, còn .vnsharing.net sẽ hoạt động trên cả truyen.vnsharing.net, vietsub.vnsharing.net vv...

      Hướng dẫn từng bài:


      Sửa lần cuối bởi Cattleya; 31-03-2016 lúc 20:48.
      Trả lời kèm trích dẫn

    2. #2
      Tham gia ngày
      13-11-2014
      Bài viết
      732
      Cấp độ
      8
      Reps
      302
      Bài 1: Match nguyên 1 thẻ tag kèm một đặc trưng của nó


      Khi tạo một filter từ một file .filter mà sau đó muốn sử dụng file đó thì vào file .action và thêm đoạn code để filter đó hoạt động trên trang mình muốn vào, ví dụ:

      Trích:
      Ở file .filter tạo rule chặn:
      FILTER: blockads
      s@<script>(?![^>]*?<script>).*?ads.*?<\/script>@<!-- Removed by blockads -->@gis
      g = match nhiều lần
      i = match kiểu không cần chính xác, nghĩa là sẽ match cả <SCRIPT> khi in hoa
      s = match được nhiều dòng, mặc định Privoxy match 1 dòng 1 nghĩa là chỉ match <script></script> khi nó cùng trên 1 dòng. Một cách khác để không cần xài "s" là sử dụng [\s\S]*?

      Filter trên sẽ loại bỏ toàn bộ thẻ script chứa từ khóa ads bên trong, thay thế nó bằng <!-- Removed by blockads --> (View Source search "Removed" để rõ thêm, tất nhiên là phải test trên trang nào có ads rồi), Ví dụ như thế này là bị tóm và loại bỏ:

      <script>
      this ads will hurt
      </script>

      Sau đó là thêm filter đó vào file .action
      {+filter{blockads}}
      /
      .vnsharing.net
      vnsharing.net
      .jmarshall.com #để test, chi tiết bên dưới

      / là hoạt động trên tất cả các trang, cố gắng sử dụng càng ít / càng tốt vì nó sẽ lọc quá nhiều trang không cần thiết. Nên sử dụng giống dòng 3,4,5.

      Muốn test thì vào trang này, copy code ads trên vào và sẽ thấy Privoxy xử nó: http://www.jmarshall.com/easy/html/testbed.html


      Sau khi nghiên cứu một thời gian dài thì cách thức tuyệt vời nhất để match một thẻ tag chứa ads là cách sau đây:

      Code:
      <script>(?![^>]*?<script>).*?abc.*?<\/script> và gis
      Thay đổi tùy ý, thay abc bằng một từ khóa đặc trưng của code ads, ví dụ với VnSharing thì block popup như sau với filter như sau

      Code:
      <script>

      $('body').click(function(e){
      btpop();
      });

      function _cookie(_name, _value, _days) {// xx3004 - Extended based on Open Sources
      if (_value != undefined && _name != undefined) {
      if (_days) {
      var date = new Date();
      date.setTime(date.getTime() + (_days * 24 * 60 * 60 * 1000));
      var _expires = "; expires=" + date.toGMTString();
      }
      else var _expires = "";
      document.cookie = _name + "=" + _value + _expires + "; path=/";
      } else if (_name != undefined && !_value) {
      var nameEQ = _name + "=";
      var ca = document.cookie.split(';');
      for(var i=0; i < ca.length; i++) {
      var c = ca[i];
      while (c.charAt(0)==' ') c = c.substring(1, c.length);
      if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
      }
      return null;
      } else if (_name != undefined && _value === null) {
      _cookie(_name, "", -1);
      }
      }
      function popunder1() {
      if (!_cookie('btpop1')) {
      _cookie('btpop1', 'btpop1 Popunder', 1/4);
      pop = window.open("http://mangadaichien.com/landingpage?ba=MjEw&utm_source=vnsharingnetforum", 'windowpop1');
      pop.blur();
      window.focus();
      }
      }

      function popunder2() {
      if (!_cookie('btpop2')) {
      _cookie('btpop2', 'btpop2 Popunder', 1/4);
      pop = window.open("http://imgs.somo.vn/vnsharing/sieu-pham-webgame.html", 'windowpop2');
      pop.blur();
      window.focus();
      }
      }

      function randnum() {
      var MAX = 2;
      var rand = Math.floor((Math.random() * MAX) + 1);
      return rand;
      }

      function btpop() {
      var x = randnum();
      if (x == 1) { popunder1();popunder2();}
      if (x == 2) { popunder2();popunder1();}
      }

      </script>
      Code:
      FILTER: blockpopupvnsharing
      s@<script>(?![^>]*?<script>).*?popunder.*?<\/script>@<!-- Removed by blockpopupvnsharing -->@gis

      Và thêm cái này vào action:
      {+filter{blockpopupvnsharing}}
      .vnsharing.net
      Lưu ý đây chỉ là ví dụ thôi, mặc định Privoxy mình share đã chặn popup từ VnSharing với filter noopenpopup, chí tiết xem kỹ trong file custom.filter và filter.action, cứ trang nào có popup thì thêm trang đó vào filter noopenpopup, hoặc muốn block tất thì thêm / vào là không bao giờ còn popup nữa, tuy nhiên nó ảnh hưởng tới một số trang.

      Theo mình cách tốt nhất cho người lười là sử dụng / sau đó đặt ngoại lệ:
      Trích:
      {+filter{noopenpopup}}
      /

      Đặt ngoại lệ

      {-filter{noopenpopup}}
      trang bị ảnh hưởng.

      Sau đó loại bỏ filter {ads} trong filter.action đi để tránh trùng lặp, thêm # vào đầu dòng là biến nó thành comment:

      #{ads}
      #.vnsharing.net
      #.playpark.
      #.manga24h.com

      {ads} là filter kết hợp giữa noopenpopup và socialbutton, socialbutton là chặn các nút Like của các trang mạng xã hội và comment của Facebook

      Mình thấy {ads} là một filter hữu ích đó, nếu muốn hay sử dụng nó với / và đặt ngoại lệ, nó rất nhẹ nên không ảnh hưởng tới hiệu năng nhiều. Nhưng mà bản mình share mình chưa cải tiến tới mức nó có thể đặt ngoại lệ cho {ads}, mod lại như sau và xóa dòng ads = dưới {{alias}} đi:

      +ads = +filter{noopenpopup} +filter{socialbutton}
      -ads = -filter{noopenpopup} -filter{socialbutton}

      Cách thức:
      {+ads}
      /

      Đặt ngoại lệ:

      {-ads}
      ví dụ là vnsharing.net
      ví dụ là ghacks.net
      ví dụ là .example.com
      ví dụ là .howtogeek.


      Thực tế mình sẽ bật mí thêm về khả năng của Privoxy, Privoxy sử dụng multi-thread chạy song song
      và thực hiện hàng nghìn lệnh RegEx cùng lúc tùy theo CPU và RAM,
      mọi filter load hết lên RAM nên kể cả có làm 1 triệu hay 1 tỉ filter sử dụng / đi thì cũng vẫn nhanh. = ))

      Sau bài học này bạn phải chắc chắn bạn thu được những kinh nghiệm sau, nếu không hãy tiếp tục đọc lại:
      Trích:
      - Cách thêm filter
      - Cách tạo filter xoá quảng cáo bởi các tag <script><div><iframe> bằng cách thay đổi filter mẫu của mình
      - Cách vô hiệu hoá code sử dụng #.
      - Cách đặt ngoại lệ
      - Ngoài ra không yêu cầu cho lắm, cái này đặc biệt không cần lưu tâm, học được thì tốt không được cũng không sao là cách sử dụng aliases để tạo combo filter giống {ads} bên trên.



      Sửa lần cuối bởi Cattleya; 15-11-2014 lúc 14:50.
      Trả lời kèm trích dẫn

    3. #3
      Tham gia ngày
      13-11-2014
      Bài viết
      732
      Cấp độ
      8
      Reps
      302
      Tốc độ vào forum quá chậm ? Sử dụng filter sau sẽ dùng server nén cực mạnh của Google nên vào forum nhanh hơn nhiều:


      CODE MỚI:
      Code:
      {+hide-user-agent{User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2050.0 Iron/38.0.2150.0 Safari/537.36} +add-header{Chrome-Proxy: ps=1420987502-546517608-558432295-268915145, sid=d919f41084c068ec9a38b1fb67a48b15, b=2050, p=0, c=win} +forward-override{forward proxy.googlezip.net:80}}
      /
      CODE CŨ:
      Code:
      {+hide-user-agent{User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) coc_coc_browser/42.0 CoRom/36.0.1985.144 Chrome/36.0.1985.144 Safari/537.36} +add-header{Chrome-Proxy: ps=1411056558-440091239-440091239-440091239, sid=b2d9d034708a10be17a19bf64fe4959f, v=0, c=webview} +forward-override{forward proxy.googlezip.net:80}}
      /
      Sửa lần cuối bởi Cattleya; 11-01-2015 lúc 20:49.
      Trả lời kèm trích dẫn

    4. #4
      Tham gia ngày
      13-11-2014
      Bài viết
      7
      Cấp độ
      0
      Reps
      5
      Bác Cat vừa kêu bên kia là mất data về đây đã lưu cache được à. Làm cách nào hay vậy d(^_o)
      Trả lời kèm trích dẫn

    5. #5
      Tham gia ngày
      13-11-2014
      Bài viết
      222
      Cấp độ
      11
      Reps
      546
      ^ Dùng Google cache, hoặc có những thứ dc lưu sẵn trong máy.....
      Trả lời kèm trích dẫn

    6. #6
      Tham gia ngày
      14-11-2014
      Bài viết
      123
      Cấp độ
      4
      Reps
      192
      Up cho chủ thread
      Trả lời kèm trích dẫn

    7. #7
      Tham gia ngày
      11-11-2014
      Bài viết
      93
      Cấp độ
      1
      Reps
      1
      Mong thím Cat làm 1 bài tương tự vậy bên vOz f14 để thay cái FMFS của lão Kam T.T
      Trả lời kèm trích dẫn

    8. #8
      Tham gia ngày
      13-11-2014
      Bài viết
      732
      Cấp độ
      8
      Reps
      302
      Hiện mình đã nghiên cứu xong tất cả mọi tính năng của Privoxy, còn nhiều hơn cả bản Privoxy gốc của tác giả, và hiện tại thậm chí có thể xóa quảng cáo dùng Javascript nhưng không lo tốn bandwidth do quảng cáo load xong.
      Trả lời kèm trích dẫn

    9. #9
      Tham gia ngày
      11-11-2014
      Bài viết
      93
      Cấp độ
      1
      Reps
      1
      Trích dẫn Gửi bởi Cattleya Xem bài viết
      Hiện mình đã nghiên cứu xong tất cả mọi tính năng của Privoxy, còn nhiều hơn cả bản Privoxy gốc của tác giả, và hiện tại thậm chí có thể xóa quảng cáo dùng Javascript nhưng không lo tốn bandwidth do quảng cáo load xong.
      Tức là privoxy chặn thẳng ads mà không như thằng ADB là vẫn phải load ads à thím?
      Định nghiên cứu nhưng có mấy cái dẫn về forum cũ, mong thím inbox mình mấy cái tài liệu đó.
      Sửa lần cuối bởi tuanden0; 14-11-2014 lúc 19:53.
      Trả lời kèm trích dẫn

    10. #10
      Tham gia ngày
      13-11-2014
      Bài viết
      732
      Cấp độ
      8
      Reps
      302
      Cách nghiên cứu tốt nhất lúc này chắc là mình phải làm sao backup lại tất cả post ở forum cũ đã, còn share filter mỳ ăn liền xong ai cũng có thể chặn, tuy nhiên block bằng Javascript thì chậm hơn so với Privoxy và phức tạp hơn nhiều lần, cơ chế:


      - Dùng Privoxy loại bỏ các thứ sử dụng attribute src hay href để không bị load ngầm, ví dụ sửa src và href thành srcondemand và hrefondemand
      - Sử dụng Javascript lọc và xóa các element là quảng cáo sau khi trang load xong
      - Dùng tiếp javascript sửa lại các tag attribute src, href.

      Rất là khả quan dù rắc rối, tuy nhiên nó vượt xa khả năng của Element Hiding Help kể cả có cách dùng nguyên code của EHH với SelectorAll javascript.
      Sửa lần cuối bởi Cattleya; 14-11-2014 lúc 20:38.
      Trả lời kèm trích dẫn

    Tag của Chủ đề này

    Đánh dấu

    Quyền viết bài

    • Bạn không thể đăng chủ đề mới
    • Bạn không thể gửi trả lời
    • Bạn không thể gửi đính kèm
    • Bạn không thể sửa bài
    •  

    Theo giờ GMT +7. Bây giờ là 09:35.

    Powered by vBulletin.
    Copyright© 2024 vBulletin Solutions, Inc. All rights reserved.
    Board of Management accepts no responsibility legal of any resources which is shared by members.