tháng 8 19, 2017

Đã bao giờ bạn tự hỏi làm sao để chia sẻ những tập tin và thư mục quan trọng đến tay một ai đó một cách ẩn danh và bảo mật không? Hiện tại có nhiều cách chia sẻ dữ liệu trên Internet, các tập đoàn lớn như Microsoft, Google, Dropbox,… đều là sự lựa chọn đầu tiên của mọi người trong việc chia sẻ dữ liệu trực tuyến trên Internet. Cùng với sự xuất hiện của các ứng dụng như BitTorrent cho phép người dùng chia sẻ dữ liệu với kích thước khổng lồ. Nhưng vấn đề đặt ra là làm sao để chia sẻ dữ liệu một cách ẩn danh và bảo mật trên Internet? Vì vậy, hôm nay tôi sẽ giới thiệu đến các bạn một ứng dụng có tên là Onionshare để giúp bạn chia sẻ tập tin hoặc thư mục một cách ẩn danh và an toàn.

Onionshare là gì?

Onionshare là ứng dụng cung cấp tính ẩn danh và bảo mật trong việc chia sẻ dữ liệu. Onionshare được viết ra bởi Micah Lee. Cái tên Onionshare đã nói lên rằng ứng dụng hoạt động trong mạng lưới Tor. Onionshare là một công cụ mã nguồn mở cho phép người sử dụng mạng Tor chia sẻ dữ liệu với tính ẩn danh và bảo mật. Với Onionshare thì kích cỡ của dữ liệu không bị giới hạn trong khi chia sẻ. Đã chia sẻ trong mạng Tor thì bạn cần phải có trình duyệt Tor để có thể tải xuống các tập tin hoặc thư mục được chia sẻ bởi Onionshare.

Onionshare hoạt động bằng cách khởi động máy chủ Web và Onionshare sẽ được truy cập như là dịch vụ trong mạng Tor. Tiếp theo nó sẽ tạo ra URL không đoán được (bạn sao chép được URL này), để cho người khác truy cập và tải xuống. Đối với Onionshare thì bạn không cần phải thiết lập máy chủ hoặc dùng dịch vụ chia sẻ dữ liệu của bên thứ ba nào cả. Bạn lưu trữ tập tin/thư mục trên chính máy tính của mình và Onionshare sẽ giúp các tập tin/thư mục tạm thời được truy cập trong mạng Tor. Người khác chỉ cần dùng trình duyệt Tor để tải xuống tập tin/thư mục từ máy tính của bạn.

Vài tính năng cơ bản của Onionshare:

  • Giao diện thân thiện với việc kéo và thả (drag and drop) dễ dàng trong hệ điều hành Windows, Linux và Mac OS X.
  • Cho phép nhiều người tải xuống trong cùng một lúc.
  • Khả năng chia sẻ nhiều tập tin và thư mục trong cùng một lúc.
  • Sao chép URL vào trong bộ nhớ tạm (clipboard).
  • Hiển thị tiến trình của tập tin/thư mục được tải xuống.

Onionshare hoạt động như thế nào?

Đầu tiên là người gửi chọn tập tin/thư mục muốn chia sẻ đến người nhận. Onionshare sẽ khởi tạo máy chủ web (web server) với một cổng (port) ngẫu nhiên. Nó sẽ chọn 2 chữ trong danh sách 6800 chữ được gọi là slug, các tập tin được tải xuống sẽ ở địa chỉ http://127.0.0.1:[cổng]/[slug]/. Onionshare sẽ làm cho máy chủ web được truy cập như là dịch vụ onion trong mạng Tor, người gửi sẽ thấy URL có cấu trúc giống như sau http://[onionservice].onion/[slug]. Cuối cùng một URL của Onionshare được sinh ra sẽ trông giống như http://vmccg4qbr4rgonbl.onion/probation-dipping

Người gửi phải chịu trách nhiệm về việc chia sẻ URL đến người nhận thông qua các kênh giao tiếp, chẳng hạn như email, chat, các ứng dụng tin nhắn của Skype, Facebook, … Người nhận bắt buộc phải dùng trình duyệt Tor để tải xuống dữ liệu được chia sẻ từ phía người nhận. Khi người gửi đóng Onionshare hoặc tập tin/thư mục đã được tải xuống, máy chủ web và dịch vụ onion sẽ tắt, những gì được chia sẻ hoàn toàn biến mất khỏi Internet. Onionshare hoạt động theo thời gian thực (real time), ví dụ người gửi chạy Onionshare trên máy tính và để cho máy tính “ngủ” trước khi dữ liệu được tải xuống, ứng dụng sẽ không hoạt động cho đến khi người gửi máy tính khởi động lại và kết nối Internet.

Làm sao dùng Onionshare chia sẻ tập tin trong mạng Tor?

Đầu tiên bạn truy cập vào trang chủ của Onionshare và tải xuống. Onionshare dùng được trên Windows, Linux và MacOS X. Sau khi tải xuống thì chỉ việc chạy bộ cài đặt của Onionshare.

Bộ cài đặt Onionshare

Bạn có thể tùy chỉnh lại đường dẫn cài đặt nếu thích. Xong rồi thì nhấn Install thôi.

Cài đặt thành công Onionshare

Quá trình cài đặt diễn ra khá nhanh. Cài đặt xong thì chỉ việc nhấn Close thôi. Sau khi cài đặt xong thì bạn khởi động Onionshare. Mỗi lần khởi động thì Onionshare sẽ tự động kết nối đến mạng Tor. Các phiên bản cũ trước đây thì không có tính năng này, người dùng cần phải có trình duyệt Tor thì mới dùng được Onionshare.

Khi hoàn tất quá trình kết nối đến mạng Tor thì bạn sẽ thấy giao diện của Onionshare như sau

Giao diện chính của Onionshare

Bạn nên nhấn vào biểu tượng răng cưa (Settings) của Onionshare để xem qua một vài thiết lập cơ bản như cách kết nối mạng đến mạng Tor, thông báo cập nhật khi có phiên bản mói.

Setting của Onionshare

Trong Settings của Onionshare thì phần Sharing Options là thứ mà bạn nên để ý, vì mặc định là Onionshare sẽ ngắt kết nối sau khi lần đầu tải xuống. Vậy nếu bạn muốn cho nhiều người tải xuống thì nên bỏ chọn Stop sharing after first download. Ngoài ra, các phần còn lại trong Settings thì tốt nhất bạn nên để mặc định là đươc.

Để chia sẻ dữ liệu, bạn Add (thêm) thư mục/tập tin hoặc nếu không thích thì bạn trực tiếp kéo và thả các thư mục/tập tin vào trong Onionshare. Chọn những gì cần chia sẻ xong thì bạn nhấn Start Sharing. Lưu ý: những dữ liệu bạn chia sẻ sẽ được nén dưới định dạng zip.

Onionshare chia sẻ dữ liệu

Sau khi nhấn vào Start Sharing thì bạn sẽ nhận được 1 địa chỉ .onion, đây chính là địa chỉ để tải xuống các dữ liệu bạn đã chia sẻ. Nhấn vào Copy URL rồi bạn chỉ việc gửi địa chỉ này đến người nhận thì người ấy sẽ có thể tải được. Và người nhận bắt buộc phải dùng trình duyệt Tor để có thể tải xuống được dữ liệu của người gửi.

trình duyệt Tor

Đây là giao diện khi truy cập vào trang tải xuống của Onionshare.

Onionshare tải xuống dữ liệu

Và đây là giao diện khi người nhận bắt đầu tải xuống dữ liệu.

Nếu người nhận đã truy cập vào trang tải xuống và đã tải xuống dữ liệu mà bạn chia sẻ thì bạn sẽ nhận được thông báo ngay từ bảng điều khiển của Onionshare.

Tùy chọn "tàng hình" của Onionshare

Nếu bạn nhìn kỹ vào phần Settings của Onionshare thì bạn sẽ thấy tùy chọn Create Stealth Onion Service. Tùy chọn này khiến cho dịch vụ Onion mà bạn tạo ra sẽ bảo mật hơn nhưng người nhận cũng sẽ khó kết nối hơn.

Tính năng "tàng hình" Onionshare là gì?

Như bạn đã biết, nếu ai đó biết địa chỉ Onion của bạn thì người đó sẽ kết nối đến được. Với Onionshare, chỉ có bạn (người gửi) và người nhận biết được địa chỉ Onion. Nhưng các nút (node) độc hại trong mạng Tor vẫn có thể biết được địa chỉ Onion và sau đó sẽ cố gắng kết nối đến.

Và đây chính là những gì mà chế độ "tàng hình" của Onion bảo vệ dữ liệu của người gửi, nếu bạn dùng tính năng "tàng hình" của Onionshare và nếu có kẻ nào tò mò biết được địa chỉ Onion của bạn, hắn vẫn không thể kết nối đến được. Để kết nối thì bạn cần phải sửa tập tin cấu hình của Tor và thêm chuỗi HidServAuth vào tập tin cấu hình. Bằng cách này thì các nút độc hại trong mạng Tor không thể kết nối đến dịch vụ Onionshare của bạn. Để tận dụng hết tính năng này thì bạn tốt hơn hết nên dùng trình duyệt Tor phiên bản mới nhất.

Làm sao gửi dữ liệu với tính năng "tàng hình" của Onionshare?

Như đã nói ở trên, trước tiên cần phải vào Settings sau đó chọn Create Stealth Onion Service, như vậy là bạn đã bật tính năng "tàng hình" của Onionshare. Sau khi bạn nhấn Start Sharing thì lúc này Onionshare sẽ kèm theo một nút (button) nữa là Copy HidServAuth.

Tính năng tàng hình của Onionshare

Cụ thể hơn là bạn sẽ sao chép URL và HidServAuth:

  • URL: http://jy5bvlaexmbo5zck.onion/dropbox-babble
  • HidServAuth: HidServAuth jy5bvlaexmbo5zck.onion +XN+BYetg57gZzDyehNyJQ

Bạn bắt buộc phải gửi cả URL và HidServAuth, nếu chỉ gửi URL thì người nhận sẽ không tài nào tải được dữ liệu. Trước hết, người nhận cần phải thêm chuỗi HidServAuth vào tập tin cấu hình của trình duyệt Tor và sau đó khởi động lại trình duyệt. Như vậy thì mới truy cập được dữ liệu của người gửi.

Làm sao nhận dữ liệu với tính năng "tàng hình" của Onionshare?

Để nhận được dữ liệu thì bạn cần phải chỉnh sửa lại tập tin cấu hình của trình duyệt Tor. Hãy chắc chắn rằng bạn đã đóng trình duyệt Tor. Sau đó, bạn cần phải tìm đến tập tin torrc và có thể dùng bất kỳ trình soạn thảo nào để chỉnh sửa, ví dụ như Sublime Text. Trên hệ điều hành khác nhau thì torrc có vị trí khác nhau, ví dụ:

  • Tại MacOS X, có đường dẫn là ~/Library/Application/Support/TorBrowser-Data/Tor/torrc.
  • Tại Windows, có đường dẫn là C:\Users\[user]\Desktop\Tor Browser\Browser\TorBrowser\Data\Tor\torrc.
  • Tại Linux, có đường dẫn là ~/[path_to_tor_browser]/Browser/TorBrowser/Data/Tor/torrc.

Khi đã xác định được vị trí của tập tin torrc thì bạn thêm chuỗi HidServAuth vào cuối tập tin.

Tập tin cấu hình của trình duyệt Tor

Bây giờ lưu lại torrc và tắt trình soạn thảo, tiếp theo là khởi động lại trình duyệt Tor là bạn (người nhận) sẽ truy cập và tải được dữ liệu. Nếu đã tải xuống dữ liệu thì bạn có thể xóa dòng HidServAuth trong tập tin torrc.

Onionshare giúp bạn chống lại những gì:

  • Công ty bên thứ ba sẽ không truy cập được những tập tin bạn chia sẻ. Bởi vì tập tin được lưu trữ trực tiếp trên máy tính của người gửi, các tập tin này không hề được tải lên bất kỳ máy chủ nào. Không giống như các dịch vụ truyền thống là cần phải tải lên máy chủ rồi sau đó chia sẻ.
  • Tor sẽ bảo vệ sự ẩn danh của người gửi và người nhận. Onionshare và trình duyệt Tor bảo vệ tính ẩn danh của người dùng. Với điều kiện là người gửi cần chuyển giao URL của Onionshare một cách ẩn danh đến người nhận, người nhận và kẻ nghe trộm sẽ không thể biết danh tính của người gửi.
  • Kẻ tấn công trong mạng Tor không thể do thám các tập tin khi vận chuyển. Bởi vì kết nối của các dịch vụ Tor và trình duyệt là mã hóa cuối-đến-cuối (end-to-end encrypted). Kẻ tấn công mạng không thể nghe trộm được các tập tin chia sẻ trong lúc người nhận đang tải xuống. Nếu kẻ nghe trộm đứng tại vị trí ở giữa, thì hắn vẫn chỉ thấy lưu lượng của Tor. Nếu kẻ nghe trộm chính là nút (node) kết nối của người gửi và người nhận thì sự lưu lượng sẽ bị mã hóa bằng cách dùng khóa của dịch vụ.
  • Nếu kẻ tấn công xác định được dịch vụ Onion, các tập tin được chia sẻ vẫn an toàn. Nếu người nào đó khám phá được địa chỉ .onion của Onionshare thì họ vẫn không tài nào tải được nếu không có slug. Slug được sinh ra bằng cách chọn 2 chữ ngẫu nhiên từ danh sách 6800 chữ. Điều này có nghĩa là 6800^2 sẽ cho ra con số khoảng 46 triệu nhưng kẻ tấn công chỉ được thử và sai khoảng 20 lần trước khi Onionshare ngừng máy chủ để tự bảo vệ nó khỏi cuộc tấn công. Máy chủ OnionShare cũng kiểm tra các truy vấn URI bằng cách sử dụng một chức năng so sánh chuỗi thời gian liên tục, vì vậy các cuộc tấn công theo kiểu xác định thời gian sẽ không thể được sử dụng để đoán được slug.

Onionshare không giúp bạn chống lại những gì:

  • Việc bạn chuyển giao URL của Onionshare đến người nhận sẽ không an toàn. Người gửi phải chịu trách nhiệm về việc giao URL của Onionshare đến người nhận. Nếu họ gửi URL không được bảo mật (qua email thông thường và email này bị kẻ tấn công giám sát), kẻ nghe trộm sẽ biết được người gửi đang gửi tập tin bằng Onionshare. Nếu hắn nhanh tay dùng trình duyệt Tor để tải trước người nhận thì hắn sẽ biết tài liệu được chia sẻ.
  • Việc bạn chuyển giao URL của Onionshare đến người nhận sẽ không ẩn danh. Trong khi Onionshare và trình duyệt Tor cho phép ẩn danh gửi tập tin, nếu người gửi muốn tăng cường tính ẩn danh trong quá trình chuyển giao URL thì họ phải tự làm thêm 1 số bước cần thiết để tăng cường sự ẩn danh của mình. Ví dụ, người gửi cần dùng Tor để tạo email nặc danh hoặc một tài khoản chat, bắt buộc phải dùng Tor để truy cập và chia sẻ URL. Điều này không cần thiết trong trường hợp không cần bảo vệ tính ẩn danh, chẳng hạn như chia sẻ tài liệu với đồng nghiệp hoặc một người quen biết nào đó.

Kết luận

Onionshare là ứng dụng gọn nhẹ và chạy được trên nhiều hệ điều hành. Trong bài viết này, bạn đã biết được cách hoạt động và làm sao để chia sẻ dữ liệu với Onionshare. Với Onionshare, dữ liệu và danh tính của bạn sẽ được bảo mật và ẩn danh. Chỉ có bạn và người nhận mới biết được dữ liệu đã chia sẻ.

tháng 5 28, 2017

Nhiều người tin rằng liên kết tượng trưng (symlink) chỉ có tại hệ điều hành Linux mà không có trên hệ điều hành Windows, thực ra là Windows Vista, 7, 8 và 10 đã bổ sung liên kết tượng trưng. Trong bài này chúng ta cùng tìm hiểu làm sao để tạo liên kết tượng trưng trên Windows.

Liên kết tượng trưng là gì?

Symlink là chữ viết tắt của Symbolic Link và được dịch sang tiếng Việt là liên kết tượng trưng. Liên kết tượng trưng là đối tượng hệ thống tập tin trỏ đến đối tượng hệ thống tập tin khác, được xem như là đường tắt nâng cao (advanced shorcut). Các liên kết tượng trưng hoàn toàn vô hình đối với người dùng, Windows sẽ xem các liên kết này như là tập tin hoặc thư mục thông thường.

Có 3 dạng liên kết trên hệ thống tập tin NTFS đó là cứng (hard), mềm (soft) và cầu nối (junction). Một liên kết được tạo trên Windows chỉ có thể 1 trong 3 dạng liên kết trên.

  • Liên kết mềm (soft link) còn được gọi là liên kết tượng trưng (symbolic link). Liên kết mềm chẳng có gì khác với đường tắt (shortcut) thông thường và có thể trỏ đến bất kỳ tập tin, thư mục ở máy tính hoặc ổ đĩa mạng. Ngoài ra, liên kết mềm sẽ không chiếm dung lượng trên ổ đĩa.
  • Liên kết cứng (Hard Link) có sự khác biệt nhỏ đó là bạn không thể tạo ra một liên kết nằm ở phân vùng (partition) khác nhau. Tức là bạn không thể tạo ra liên kết từ ổ đĩa C: đến ổ đĩa E: hoặc ngược lại. Liên kết cứng không chiếm dung lượng trên ổ đĩa máy tính và rất giống các tập tin thông thường.
  • Liên kết junction (tạm dịch là cầu nối), thực ra chỉ là thư mục có một liên kết cứng sang thư mục khác vì chúng ta không thể nào tạo được liên kết cứng đến tập tin. Không giống với liên kết cứng là bạn có thể tạo ra liên kết đến các phân vùng khác nhau trên ổ đĩa. Như 2 liên kết trên, liên kết junction không hề chiếm dung lượng trên ổ đĩa. Chúng ta khó phân biệt đâu là thư mục liên kết cứng và đâu là thư mục thông thường nếu không dùng lệnh dir trong Windows.

Làm sao tạo được liên kết tượng trưng?

Chúng ta có thể tạo ra liên kết tượng trưng với lệnh mklink, mklink là chữ viết tắt của make link. Mklink là một lệnh nội trú trong hệ điều hành Windows. Để chạy lệnh mklink, chúng ta mở Command Prompt lên và nhập lệnh mklink không có tham số, lệnh này sẽ hiển thị hướng dẫn sử dụng.

Hướng dẫn sử dụng lệnh mklink

Cú pháp của lệnh mklink là:

[code]mklink <liên_kết> <mục_tiêu>[/code]

Cũng cần phải giải thích sơ qua về các tham số của lệnh mklink:

  • /D: tạo liên kết tượng trưng (liên kết mềm) thư mục. Mặc định thì sẽ tạo ra liên kết tượng trưng tập tin.
  • /H: tạo ra liên kết cứng (chỉ có hiệu lực đối tập tin).
  • /J: tạo ra liên kết cứng (chỉ có hiệu lực đối thư mục).
  • liên_kết: tên của liên kết tượng trưng.
  • mục_tiêu: chỉ ra đường dẫn (tương đối hoặc tuyệt đối) mà liên kết trỏ đến.

Ví dụ ta muốn tạo một liên kết mềm từ C:\LinkToTutorials trỏ đến D:\Tutorials, ta dùng lệnh sau:

[code]mklink /D C:\LinkToTutorials D:\Tutorials[/code]
Thư mục liên kết mềm

Sau khi dùng lệnh mklink tạo liên kết mềm, ta có thể dùng lệnh dir để kiểm tra lại, mỗi thư mục liên kết mềm đều có <SYMLINKD>.

Kiểm tra thư mục liên kết mềm

Ngoài ra, khi xem thuộc tính của C:\LinkToTutorials bạn sẽ thấy có tab Shorcut, đó là sự khác biệt giữa thư mục liên kết mềm và thư mục thông thường.

Thuộc tính thư mục liên kết mềm

Ở trên chỉ là tạo liên kết mềm thư mục, đối với tập tin thì bạn không cần dùng đến tham số /D, vì mặc định là lệnh mklink sẽ tạo tập tin liên kết mềm. Giả sử ta muốn tạo một liên kết mềm từ C:\Cpuz.zip trỏ đến D:\Software\cpu-z_1.72.1-en.zip, ta dùng lệnh sau:

[code]mklink C:\Cpuz.zip D:\Software\cpu-z_1.72.1-en.zip[/code]
Tạo tập tin liên kết mềm

Dùng lệnh dir để kiểm tra lại, mỗi tập tin liên kết mềm đều có <SYMLINK>.

Kiểm tra tập tin liên kết mềm

Đó là với liên kết mềm, còn muốn tạo một liên kết cứng từ D:\wget.exe trỏ đến D:\Software, ta dùng lệnh sau:

[code]mklink /H D:\wget.exe D:\Software\wget.exe[/code]
Tạo tập tin liên kết cứng

Bạn không thể tạo ra một liên kết cứng nếu không cùng nằm trên 1 ổ đĩa, nếu bạn vẫn cố gắng thực thi thì sẽ nhận được kết quả như sau:

Thông báo lỗi tập tin liên kết cứng

Tham số /H của lệnh mklink chỉ giúp bạn tạo được liên kết cứng cho tập tin thôi, còn nếu muốn tạo liên kết cứng cho thư mục thì bạn cần dùng đến tham số /J, giả sử bạn muốn liên kết cứng từ C:\Winrar trỏ đến D:\Software\WinRar, ta dùng lệnh sau:

[code]mklink /J C:\Winrar D:\Software\WinRar[/code]
Tạo liên thư mục liên kết cứng

Bạn sẽ khó phân biệt giữa thư mục liên kết cứng và thư mục thông thường nếu như không dùng lệnh dir.

Kiểm tra thư mục liên kết cứng

Nếu dùng lệnh dir kiểm tra thì sẽ thấy thư mục liên kết cứng đều có <JUNCTION>. Cũng phải nhắc lại là đối với thư mục liên kết cứng (dùng tham số /J) thì bạn được phép khác ổ đĩa không giống như tập tin liên kết cứng (dùng tham số /H).

Lưu ý: nếu bạn thực thi lệnh mklink mà không có quyền quản trị (Administrator) thì bạn sẽ nhận được thông báo “You do not have sufficient privilege to perform this operation”.

Làm sao xóa liên kết tượng trưng?

Việc xóa liên kết tượng trưng vô cùng đơn giản, như đã nói ở trên là Windows sẽ xem các liên kết mềm và cứng như tập tin/thư mục thông thường. Nên bạn chỉ việc xóa các liên kết này như xóa các tập tin/thư mục là được.

tháng 5 14, 2017 1

Nếu bạn muốn bước vào thế giới của lập trình web thì bạn cần phải biết JavaScript. Không giống các ngôn ngữ như C#, Python, Java thì JavaScript tương đối dễ học hơn. Vì bạn không cần có IDE hoặc máy ảo (Virtual Machine) để bắt đầu học JavaScript. Bạn chỉ cần một trình soạn thảo như Sublime Text và một trình duyệt web là được. Sau đây, tôi sẽ chia sẻ với bạn các website học JavaScript miễn phí.

#1 W3schools

10 trang web hay để học JavaScript

W3schools là một trang web tuyệt vời để bạn học Javascript trực tuyến. W3schools có nhiều bài viết từ cơ bản đến nâng cao thích hợp cho người mới học và cho người đã có kiến thức cơ bản. Mỗi bài viết đều có các ví dụ đơn giản và dễ hiểu. Ngoài ra, W3schools còn cung cấp chức năng Try it Yourself cho mỗi bài ví dụ, vì vậy bạn có thể thực hành ngay những gì mà mình đã học.

#2 JavaScript

10 trang web hay để học JavaScript

JavaScript.com là trang web dành cho cộng đồng JavaScript và được xây dựng bởi đội Code School. Khác hẳn với W3schools, JavaScript.com không hề có các bài viết riêng biệt, thay vào đó JavaScript.com sẽ từng bước hướng dẫn bạn thực hành Javascript. Bạn sẽ vừa học và vừa thực hành. Nếu bạn không vượt qua được các bài tập mà Code School giao thì bạn sẽ không được sang bài tiếp theo. Điều này có nghĩa là bạn phải hoàn toàn tập trung trong lúc học.

#3 TutorialsPoint

10 trang web hay để học JavaScript

TutorialsPoint là trang web giúp đỡ mọi người tự học lập trình. TutorialsPoint có đến 80 ngôn ngữ lập trình khác nhau. Không chỉ có lập trình, TutorialsPoint cũng có bài viết về các hệ quản trị cơ sở dữ liệu như MySQL, MongoDB, MariaDB,.. Cũng như W3schools, TutorialsPoint có chức năng Try it trong mỗi phần ví dụ. Vì vậy, bạn có thể thực hành các bài ví dụ ngay tại TutorialsPoint.

#4 Codecademy

10 trang web hay để học JavaScript

Codecademy là nơi dành cho những ai mới bắt đầu học lập trình. Codecademy có nhiều khóa học trực tuyến bao gồm cả JavaScript. Khóa học Javascript trực tuyến của Codecademy là hoàn toàn miễn phí nên bạn có thể yên tâm. Cũng như JavaScript.com, bạn sẽ được học bằng cách thực hành kèm theo lý thuyết.

#5 Mozilla Developer Network

10 trang web hay để học JavaScript

Mozilla Developer Network (MDN) là một trang web dành cho các nhà phát triển (developer), nội dung của MDN được viết bởi các tình nguyện viên trên toàn thế giới. MDN có rất nhiều tài liệu liên quan đến HTML5, JavaScript, CSS,… Nếu như bạn là một nhà phát triển Web thì nên ghé thăm MDN.

#6 Learn JS

10 trang web hay để học JavaScript

Các bài viết của Learn JS không được phong phú như W3schools và MDN. Cũng như JavaScript.com, bạn sẽ vừa học vừa thực hành. Bạn chỉ việc làm theo từng bước chỉ dẫn của Learn JS là bạn sẽ hiểu được Javascript. Learn JS không bắt buộc bạn phải học từ đầu đến cuối, bạn có thể nhảy đến bất kỳ bài nào mà bạn thích.

#7 HTML Dog JavaScript Tutorials

10 trang web hay để học JavaScript

HTML Dog JavaScript Tutorials có các bài viết vỡ lòng dành cho những ai chưa biết gì về Javascript. Các bài viết sẽ từ thấp lên cao. Mỗi bài viết về JavaScipt của HTML Dog đều được giải thích cặn kẽ và dễ hiểu.

#8 Eloquent JavaScript

10 trang web hay để học JavaScript

Eloquent JavaScript là một cuốn sách viết về JavaScript của tác giả Marijn Haverbeke. Bạn được đọc quyển sách này trực tuyến, vì vậy bạn không cần phải mua. Nếu được thì bạn có thể mua sách để ủng hộ tác giả. Quyển sách được chia làm 3 phần: Language, Browser và Node. Ngoài ra, bạn được tải cuốn sách về máy tính của mình dưới định dạng PDF, Epub và Mobi.

#9 JavaScript for Cats

10 trang web hay để học JavaScript

JavaScript for Cats đưa ra các bài học cơ bản JavaScript. Trang web này được viết bởi tác giả Max Ogden. Các bài viết của JavaScript for Cats có lối viết rành mạch, rõ ràng và không quá khó hiểu đối với những ai mới bắt đầu học JavaScript. Bạn khá dễ dàng làm theo những ví dụ trong bài viết.

#10 Speaking JS

10 trang web hay để học JavaScript

Speaking JS là một quyển sách do lập trình viên viết cho lập trình viên của tác giả Axel Rauschmayer. Đây là một quyển sách có tính phí, bạn chỉ được phép đọc trực tuyến. Speaking JS được chia thành bốn phần: JavaScript Quick Start, Background, JavaScript in Depth và Tips, Tools, and Librarie.

tháng 4 30, 2017

Các website Onion là những website có tên miền .onion thay vì .com và .net. Những website này sử dụng dịch vụ ẩn danh trong mạng Tor để lưu trữ website, đây là một dịch vụ hoàn toàn ẩn danh để lưu trữ website. Các cỗ máy tìm kiếm như Google, Bing, Yandex,... và người dùng phổ thông đều không biết đến sự tồn tại của các trang onion. Trong mạng Tor có nhiều trang web với các thông tin giả mạo, độc hại, lừa đảo hoặc chỉ là cạm bẫy để đánh lừa bọn tội phạm. Hãy thật cẩn thận khi bạn đang lướt web trong mạng Tor, bởi vì bạn có thể nhìn thấy nhiều hình ảnh gớm ghiếc.

Để có thể truy cập được các trang onion thì bạn cần phải có Tor. Nếu máy tính của bạn chưa có Tor thì bạn có tải xuống tại đây. Sau khi tải xong, bạn chỉ việc cài đặt bình thường. Tiếp theo, tìm đến đường dẫn mà bạn vừa mới cài đặt, double-click vào tập tin “Start Tor Browser.exe” là bạn đã khởi động được trình duyệt Tor rồi. Sau khi đã khởi động trình duyệt Tor, điều đầu tiên nên làm là truy cập vào trang check.torproject.org, để kiểm tra xem là bạn được ẩn danh chưa?

Khi bạn đang ở bên trong mạng Tor, xin hãy lưu ý và cẩn thận với những liên kết (link) mà bạn định click, vì trong những liên kết mà bạn định click có thể chứa những hình ảnh, nội dung đáng sợ và có thể làm bạn ám ảnh. Ngoài ra, hãy cẩn thận vì rất có thể bạn sẽ bị các website này theo dõi khi bạn truy cập vào nội dung của họ, bằng cách khiến bạn click vào những đường liên kết trong vô hại hoặc bằng những kỹ thuật tinh vi nào đó. Vì vậy, bạn nên cẩn thận với những gì bạn sẽ click.

The Hidden Wiki

Làm sao tìm được các website Onion trong mạng Tor?

Khi bạn mới dùng Tor thì bạn không hề biết đến sự tồn tại của các trang onion. Vì chính Tor cũng không hề giới thiệu cho bạn biết. Bạn chỉ dùng Tor để ẩn danh và truy cập các trang web thông thường. Để có thể truy cập được các trang onion thì bạn cần phải biết chính xác địa chỉ của chúng. Có một trang web cung cấp các địa chỉ onion cho bạn, đó chính là The Hidden Wiki. Bạn phải dùng trình duyệt Tor mới có thể truy cập được các trang onion.

TorLinks

Làm sao tìm được các website Onion trong mạng Tor?

Cũng giống như The Hidden Wiki, TorLinks cũng là nơi cung cấp các trang onion. Tất nhiên, số lượng các trang onion mà The Hidden Wiki cung cấp còn nhiều hơn cả TorLinks. The Hidden Wiki và TorLinks đều phân loại các trang onion theo danh mục riêng, dựa vào đó mà bạn có thể biết mình truy cập vào trang onion gì. Không phải tất cả những gì mà The Hidden Wiki và TorLinks cung cấp đều an toàn, bạn thật phải cẩn thận trước khi click vào một địa chỉ nào đó.

Mạng Internet có các cỗ máy tìm kiếm như Google, Bing, Yandex,.. Mạng Tor cũng có các công cụ tìm kiếm của riêng mình. Nếu nói về tính năng thì chắc chắn là các công cụ tìm kiếm trong mạng Tor khó có thể so sánh với các cỗ máy tìm kiếm bên ngoài.

Not Evil

Làm sao tìm được các website Onion trong mạng Tor?

Not Evil là trang onion có giao diện rất là đơn giản. Được xem là một cỗ máy tìm kiếm không có quảng cáo. Sau khi truy cập, bạn chỉ việc nhập từ khóa mà mình muốn tìm kiếm là được.

TORCH

Làm sao tìm được các website Onion trong mạng Tor?

TORCH là một cỗ máy tìm kiếm xuất hiện từ lâu trong mạng Tor, cũng giống như Not Evil đều không chú trọng vào giao diện thiết kế.

Ahmia

Làm sao tìm được các website Onion trong mạng Tor?

Ahmia cũng là một cỗ máy tìm kiếm mã nguồn mở dành cho các dịch vụ ẩn danh của Tor. Khác hẳn với Not Evil và TORCH, Ahmia có giao diện nổi bật hơn. Nếu như bạn có một trang onion của riêng mình và muốn xuất hiện trên Ahmia, thì có thể gửi lên cho Ahmia tại địa chỉ này. Ngoài ra, Ahmia cũng cấm các trang onion có nội dung khiêu dâm.

tháng 12 25, 2016

Tar là chữ viết tắt của chữ Tape Archive, đây là một trong những lệnh phổ biến trong Linux/Unix. Lệnh này được dùng để nén một hoặc nhiều file/folder lại với nhau thành một file duy nhất để lưu trữ hoặc để tiết kiệm không gian đĩa (bạn có thể coi nó giống file rar của Windows vậy), những file nén này được gọi là tarball hay tarfile và chúng thường có phần mở rộng là .tar, .tar.gz, .tar.bz2 (trong Windows, bạn hoàn toàn có thể dùng WinRAR, 7-Zip hoặc nếu bạn thích dùng command line thì có thể dùng TarTool để giải nén những file này). Trong bài viết này, chúng ta sẽ bàn về những cơ bản trong việc sử dụng lệnh tar để nén và giải nén file trong Linux.

#1 Nén một file/folder lại với nhau

Để nén 1 file/folder lại thành một file nén duy nhất, ta dùng lệnh như sau

[code type="Linux"]tar -czvf tên-của-file-nén.tar.gz /đường/dẫn/tới/file-hoặc-folder[/code]

nếu muốn tạo file nén gzip (sẽ tạo ra file có đuôi là .tar.gz). Hoặc

[code type="Linux"]tar -cjvf tên-của-file-nén.tar.bz2 /đường/dẫn/tới/file-hoặc-folder[/code]

nếu muốn tạo file nén bzip2 (sẽ tạo ra file có đuôi là .tar.bz2), bzip2 sẽ nén lâu hơn chút.

Các tham số lần lượt như sau:

  • -c: viết tắt của chữ Create nghĩa là tạo ra file nén.
  • -z: đại diện của gzip, nghĩa là nén file bằng gzip, bạn có thể dùng tham số tương đương là --gzip.
  • -j: đại diện của bzip2, nghĩa là nén file bằng bzip2, bạn có thể dùng tham số tương đương là --bzip2.
  • -v: viết tắt của chữ Verbose, dùng để hiển thị tiến trình nén file ra màn hình, nến bạn không muốn xem thì có thể bỏ tham số này đi.
  • -f: viết tắt của chữ file, dùng để đặt tên cho file nén.

Một vài ví dụ sau đây sẽ cho bạn thấy cách sử dụng các lệnh ở trên, giả sử bạn muốn nén 1 file tên là hello.txt và một folder tên là My Images thì bạn gõ như sau (ở đây tôi dùng gzip để nén):

[code type="Linux"]tar –czvf hello.tar.gz hello.txt[/code]
Nén 1 file bằng lệnh tar trong Linux

Lệnh trên sẽ nén file hello.txt và tạo ra một file nén tên hello.tar.gz

[code type="Linux"]tar –czvf myimages.tar.gz "My Images"[/code]
Nén 1 folder bằng lệnh tar trong Linux

Cũng tương tự như trên, nó sẽ nén cả thư mục My Images và tạo ra file nén tên là myimages.tar.gz. Lưu ý là nếu tên folder của bạn có khoảng trắng thì bạn nên bỏ nó vào trong dấu nháy đơn (') hoặc nháy kép (")

#2 Nén nhiều file/folder lại với nhau

Các lệnh trên lấy ví dụ về cách nén 1 file/folder, vậy nếu bạn muốn nén nhiều file/folder thì gõ thế nào? tương tự như vậy, để nén nhiều file hoặc folder, chỉ việc gõ tất cả tên các file/folder mà bạn muốn nén thay vì chỉ gõ tên 1 file/folder duy nhất

[code type="Linux"]tar -czvf tên-của-file-nén.tar.gz /đường/dẫn/thư-mục-1 /đường/dẫn/thư-mục-2 /tên/file-1.txt /tên/file-2.txt hoặc tar -cjvf tên-của-file-nén.tar.gz /đường/dẫn/thư-mục-1 /đường/dẫn/thư-mục-2 /tên/file-1.txt /tên/file-2.txt[/code]

#3 Giải nén file

Khi bạn đã có 1 file nén, bạn có thể dùng lệnh tar để giải nén nó ra

[code type="Linux"]nếu là file gzip tar -xvf tên-của-file-nén.tar.gz nếu là file bzip2 tar -xvf tên-của-file-nén.tar.bz2[/code]

Các tham số đều giống như trên, chỉ khác là bạn sẽ dùng tham số -x (extract) thay cho tham số -c để giải nén file. Ngoài ra bạn có thể dùng tham số -C (chữ c viết hoa) để chỉ định cần giải nén tới thư mục nào

[code type="Linux"]tar -xvf tên-của-file-nén.tar.gz -C /thư/mục/sẽ/giải/nén/file[/code]

#4 Xem nội dung trong file nén mà không cần giải nén

Giả sử như bạn muốn xem các file được nén trong file nén thì làm thế nào? Tất nhiên là không cần phải giải nén ra để xem rồi, vì như thế sẽ rất phiền phức. Để xem những file được nén đó bạn dùng lệnh sau

[code type="Linux"]tar -tvf tên-file-nén.tar.gz hoặc tar --list -vf tên-file-nén.tar.gz nếu như là file gzip tar -tvf tên-của-file-nén.tar.bz2 hoặc tar --list -vf tên-của-file-nén.tar.bz2 nếu như là file bzip2[/code]

Tham số -t trong lệnh trên dùng để liệt kê các file trong file nén, và nó có tham số tương đương là --list

tháng 10 22, 2016

Nếu bạn hay cài đặt phần mềm vào máy tính, thì rất có thể trong quá trình cài đặt bạn sẽ được một số phần mềm yêu cầu cài đặt hoặc nâng cấp .NET Framework. Vậy .NET Framework là gì và tại sao các phần mềm này lại cần nó, mời bạn đọc tiếp bên dưới để tìm hiểu.

tháng 2 04, 2016

Gzip Compression (Nén Gzip) là một công nghệ nén dữ liệu ở phía máy chủ (server) dùng để làm giảm dung lượng của trang web so với dung lượng gốc trước khi trang web được gửi đến người truy cập (nó giống như việc chúng ta dùng Winrar để nén file vậy!), sau khi trang web được nén được gửi lại trình duyệt của người truy cập thì nó sẽ tự động được giải nén và hiển thị trên trình duyệt của họ. Gzip Compression có thể làm giảm dung lượng của trang web lên tới 50% hoặc 70%, điều này có nghĩa là tốc độ tải của website của bạn sẽ nhanh hơn và sẽ giúp bạn tiết kiệm được nhiều băng thông hơn.

Bật Gzip Compression cho Apache

Đối với Apache, bạn bật Gzip bằng cách chỉnh sửa file .htacess ở trong web host/server của bạn. File .htaccess là một file quan trọng, vì vậy bạn nên sao lưu file này trước khi chỉnh sửa.

Bạn thêm đoạn code bên dưới vào file .htaccess

[code type="Apache"]<ifModule mod_gzip.c> mod_gzip_on Yes mod_gzip_dechunk Yes mod_gzip_item_include file .(html?|txt|css|js|php|pl)$ mod_gzip_item_include handler ^cgi-script$ mod_gzip_item_include mime ^text/.* mod_gzip_item_include mime ^application/x-javascript.* mod_gzip_item_exclude mime ^image/.* mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.* </ifModule>[/code]

Nếu đoạn code trên không hoạt động, bạn hãy xoá nó đi và thử đoạn code dưới đây

[code type="Apache"]AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/x-javascript[/code]

Bật Gzip Compression cho NGINX

Đối với NGINX, bạn tạo một file cấu hình mới (ví dụ gzip.conf) trong thư mục /etc/nginx/conf.d/ của NGINX, mở lên và thêm đoạn code sau vào

[code type="Nginx"]gzip on; gzip_comp_level 2; gzip_http_version 1.0; gzip_proxied any; gzip_min_length 1100; gzip_buffers 16 8k; gzip_types text/plain text/html text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript; gzip_disable "MSIE [1-6].(?!.*SV1)"; gzip_vary on;[/code]

Sau khi đã thêm đoạn code trên vào thì bạn khởi động lại máy chủ để áp dụng thay đổi. Nếu bạn dùng SSH để kết nối vào máy chủ thì có thể dùng lệnh sudo service nginx restart để khởi động lại máy chủ.

Bật Gzip Compression cho Wordpress

Mặc dù bạn có thể bật Gzip Compression bằng cách chỉnh sửa file .htaccess, nhưng Wordpress cũng cung cấp sẵn tuỳ chọn này ngay trong Dashboard.

  1. Đăng nhập vào Wordpress, sau đó truy cập vào http://<ten_mien_cua_ban>/wp-admin/options.php
  2. Tìm đến mục gzipcompression
  3. Thay đổi giá trị của mục này thành 1 để bật Gzip lên
Tăng tốc độ tải của website bằng cách bật Gzip Compression

Bật Gzip Compression cho Joomla

Giống như Wordpress, Joomla cũng cung cấp sẵn cho bạn tuỳ chọn này, để bật tuỳ chọn này trong Joomla, bạn vào Site ➜ chọn Global Configuration ➜ chuyển qua tab Server ➜ tại mục Server Settings ➜ ngay phần GZIP Page Compression chọn Yes ➜ chọn tiếp Save để lưu lại

Tăng tốc độ tải của website bằng cách bật Gzip Compression

Kiểm tra kết quả sau khi bật Gzip Compression

Sau khi đã bật Gzip Compression cho website, bạn có thể vào trang này để kiểm tra xem nó có hoạt động hay chưa.

tháng 12 14, 2015 1

IFTTT là viết tắt của chữ IF This Than That (cách phát âm của từ này giống như từ "gift" trong tiếng Anh vậy), là một ứng dụng giúp tự động hoá các thao tác online, nhiệm vụ của IFTTT là đứng giữa 2 dịch vụ để thực hiện một công việc nào đó do bạn định ra khi điều kiện thực hiện việc đó được thoả mãn, và công việc này được diễn ra liên tục một cách tự động.

Ví dụ: giả sử khi bạn post một tấm hình lên Facebook, bạn cũng muốn upload tấm hình đó vào Google Drive để tạo thêm một bản sao và cũng để dễ sau này tìm kiếm, nhưng không lẽ bạn vừa post tấm hình đó lên Facebook thì lại phải đăng nhập vào Google Drive để upload tấm hình đó thêm một lần nữa hay sao? Với IFTTT, bạn không cần phải làm như thế vì mỗi lần bạn post bất cứ tấm hình nào lên Facebook thì IFTTT đều tự động đồng bộ tấm hình vừa post vào tài khoản Google Drive cho bạn, bạn sẽ không còn phải thực hiện những bước này vì IFTTT sẽ tự động thực hiện cho bạn.

Các khái niệm chính trong IFTTT

Trong IFTTT, có những khái niệm chính sau đây:

  • Recipe: nghĩa là lệnh để thực hiện một công việc nào đó, chẳng hạn như ta có một recipe là khi post một tấm ảnh lên Facebook thì lập tức sao lưu nó vào Google Drive. Khi bạn tạo một recipe, bạn sẽ được yêu cầu kích hoạt channel của dịch vụ đó nếu như chưa kích hoạt
IFTTT là gì? Sử dụng như thế nào?
  • Channel: đây là tên gọi mà IFTTT dùng để gọi các dịch vụ mà IFTTT hỗ trợ, như Facebook, Twitter, Gmail, Email, LinkedIn, YouTube ... chẳng hạn. Bạn chỉ kích hoạt các channel 1 lần và sau này khi tạo một recipe liên quan tới channel đó thì IFTTT sẽ tự động làm việc.
IFTTT là gì? Sử dụng như thế nào?
  • Trigger: nghĩa là điều kiện để kích hoạt hành động, khi điều kiện được thoả mãn thì công việc sẽ được thực hiện
  • Action: là hành động xảy ra khi trigger được kích hoạt
[info icon="info-circle"] Về nguyên tắc thì một recipe là sự kết hợp giữa một trigger và một action [/info]

Bắt đầu tạo một Recipe của bạn

Để bắt đầu, trước tiên bạn cần tạo một tài khoản miễn phí tại IFTTT

IFTTT là gì? Sử dụng như thế nào?

Sau khi đã tạo xong tài khoản và đăng nhập, bây giờ thì đến lúc tự tạo cho riêng mình một recipe.

Từ trang tổng quan của bạn, nhấn vào nút to màu xanh dương Create a Recipe hoặc có thể click vào tên đăng nhập của bạn và chọn Create để tạo mới một recipe.

IFTTT là gì? Sử dụng như thế nào?

Bạn sẽ được đưa tới một trang gồm 4 chữ if this than that

IFTTT là gì? Sử dụng như thế nào?

Bạn click vào chữ this màu xanh gạch chân, sau đó IFTTT sẽ được yêu cầu bạn chọn một channel để làm trigger.

IFTTT là gì? Sử dụng như thế nào?

Giả sử ở đây, tôi muốn tạo một recipe là Nếu ngày mai trời mưa thì hãy gửi email thông báo cho tôi thì tại phần this tôi sẽ chọn channel là weather

IFTTT là gì? Sử dụng như thế nào?

Nếu bạn cảm thấy rối vì có quá nhiều channel thì có thể gõ tên channel muốn tìm vào khung Search Channel để IFTTT lọc ra cho bạn

IFTTT là gì? Sử dụng như thế nào?

Sau khi đã tìm được channel bạn muốn thì click chọn channel đó và IFTTT sẽ chuyển bạn xuống bước tiếp theo. Lưu ý là vì ở đây tôi đã kích hoạt channel này trước nên IFTTT không yêu cầu tôi kích hoạt nữa, nếu như bạn chọn một channel nào đó mà bạn chưa kích hoạt thì IFTTT sẽ chuyển bạn tới trang kích hoạt

Để kích hoạt một channel, bạn chỉ cần nhấn Connect và làm theo hướng dẫn của IFTTT, thường thì bạn chỉ cần đăng nhập vào tài khoản của dịch vụ đó và cấp phép truy cập cho IFTTT là được.

Bước tiếp theo, IFTTT sẽ đưa ra rất nhiều trigger liên quan đến dịch vụ mà bạn chọn, đối với ví dụ này thì tôi chọn trigger Tomorrow's forecast call for vì trigger này dùng để kiểm tra điều kiện thời tiết ngày mai, và so sánh với điều kiện thời tiết ta đưa ra, nếu khớp trigger sẽ kích hoạt hành động

IFTTT là gì? Sử dụng như thế nào?

Sau đó là chọn tiếp điều kiện thời tiết muốn so sánh, vì recipe của ta là Nếu ngày mai trời mưa thì hãy gửi email thông báo cho tôi nên tôi sẽ chọn Rain làm điều kiện thời tiết. Nhấn Create Trigger để tạo trigger

IFTTT là gì? Sử dụng như thế nào?

OK, vậy là bạn đã hoàn thành một nữa. Tiếp theo, bạn nhấn tiếp chữ that màu xanh gạch chân

IFTTT là gì? Sử dụng như thế nào?

Cũng giống như trigger, nhưng lần này IFTTT sẽ yêu cầu bạn chọn Action Channel, như ví dụ này thì tôi chọn email, hoặc chọn Gmail cũng được. Lưu ý là đối với channel email thì IFTTT mặc định sẽ lấy email lúc bạn đăng ký làm email nhận thông báo.

IFTTT là gì? Sử dụng như thế nào?

Tiếp đến là chọn hành động cho trigger, đối với email thì chỉ có một hành động là gửi email

IFTTT là gì? Sử dụng như thế nào?

Sau đó bạn có thể tuỳ chỉnh tiêu đề và nội dụng của email gửi đi. Bạn cũng có thể nhấn vào nút màu xanh bên góc phải để chỉnh sửa các tham số phù hợp với nội dung mà bạn muốn. Sau đó nhấn Create Action

IFTTT là gì? Sử dụng như thế nào?

Quản lý recipe đã tạo

Để quản lý recipe, bạn nhấn chữ My Recipe ở trên đầu trang web, tại đây liệt kê toàn bộ những recipe mà bạn đã tạo. Ở kế bên mỗi recipe có những nút chức năng để quản lý recipe đó, bên dưới các nút chức năng cũng cho ta biết được thời gian tạo, được kích hoạt cách đây bao lâu và đã kích hoạt được mấy lần.

IFTTT là gì? Sử dụng như thế nào?

Nếu muốn chỉnh sửa recipe, bạn có thể nhấn vào recipe muốn chỉnh sửa hoặc nhấn vào nút có hình bút chì kế bên recipe. Bên trong trang chỉnh sửa cũng có những nút chức năng tương tự như bên trên và còn cung cấp thêm nút Delete để bạn xoá recipe và nút Publish để bạn chia sẻ recipe của mình với cộng đồng.

IFTTT là gì? Sử dụng như thế nào?

Một số recipe hay và hữu ích

Bạn không cần phải tự mình tạo một recipe vì rất có thể recipe mà bạn muốn tạo đã có người tạo và publish để cộng đồng cùng dùng rồi, bên dưới là những recipe có thể sẽ hữu ích cho bạn

Được tạo bởi Blogger.