- Hệ thống phân phối website không cần máy chủ trung tâm bằng mạng ngang hàng dựa trên WebTorrent
- Người dùng có thể tải lên bằng cách kéo và thả thư mục website, rồi chia sẻ qua liên kết PeerWeb duy nhất
- Có thể duy trì lưu trữ liên tục bằng cách giữ mở tab trình duyệt hoặc dùng ứng dụng desktop
- Tăng cường an toàn và tốc độ nhờ lọc bảo mật dựa trên DOMPurify, chạy trong sandbox, smart caching
- Được chú ý như một mô hình lưu trữ web phi tập trung với khả năng chống kiểm duyệt, giảm chi phí, phân tán toàn cầu
Tổng quan về PeerWeb
- PeerWeb là hệ thống lưu trữ website không cần máy chủ trung tâm bằng công nghệ WebTorrent
- Website được lưu trữ phân tán qua mạng ngang hàng, giúp đạt được khả năng chống kiểm duyệt và luôn sẵn sàng
- Người dùng có thể tải lên website tĩnh gồm HTML, CSS, JavaScript...
- Sau khi tải lên, bất kỳ ai cũng có thể truy cập thông qua hash duy nhất và URL PeerWeb được tạo ra
Cách tải lên và lưu trữ
- Chỉ cần kéo và thả thư mục website là hệ thống sẽ tự động xử lý và hoàn tất tải lên
- Sau khi tải lên, hash và URL PeerWeb được tạo ra để có thể chia sẻ ngay lập tức
- Nếu giữ mở tab trình duyệt, tab đó sẽ đóng vai trò là nút lưu trữ
- Miễn là không đóng tab, người dùng khác vẫn có thể truy cập website
- Khi dùng ứng dụng desktop (Windows, macOS, Linux), có thể lưu trữ liên tục mà không cần mở tab
Cách sử dụng
- ① Tạo website tĩnh bằng HTML/CSS/JS
- ② Kéo và thả thư mục vào trang PeerWeb để tải lên
- ③ Chia sẻ liên kết duy nhất được tạo ra
- ④ Duy trì tab trình duyệt hoặc chạy client để tiếp tục lưu trữ
Tải website có sẵn
Tính năng cho nhà phát triển
- Thêm
&debug=true vào URL để chuyển sang chế độ debug và hiển thị chi tiết tiến trình
- Có thể trực tiếp tạo file torrent bằng trình tạo torrent nâng cao
- Cung cấp tính năng xóa cache và cài đặt nâng cao
Smart caching
- Lưu các website đã truy cập vào IndexedDB để hỗ trợ tải lại ngay lập tức
- Cache sẽ tự động bị xóa sau 7 ngày
- Chỉ lưu nội dung đã được làm sạch bằng DOMPurify
- Có thể truy cập các website đã được cache ngay cả khi offline
Tính năng bảo mật
- Tích hợp DOMPurify để làm sạch toàn bộ HTML và ngăn chặn tấn công XSS
- Thực hiện loại bỏ tag và thuộc tính nguy hiểm, chạy sandbox iframe, xác minh tài nguyên
- Mọi file đều được chạy trong môi trường cô lập để tăng cường bảo mật
Yêu cầu đối với website
- Bắt buộc phải có index.html trong thư mục gốc hoặc thư mục con
- Mọi tài nguyên phải dùng đường dẫn tương đối
- Chỉ nội dung tĩnh được phép (HTML, CSS, JS, hình ảnh, font...)
- Khuyến nghị thiết kế responsive
- Nội dung sẽ tự động được xử lý làm sạch bảo mật
Ưu điểm chính
- Chống kiểm duyệt: Không có máy chủ trung tâm nên khó bị chặn
- Giảm chi phí: Không có phí hosting
- Phân tán toàn cầu: Tự động phân phối giữa các peer trên toàn thế giới
- Luôn sẵn sàng: Có thể truy cập miễn là còn peer online
- Bảo mật: Chạy trong sandbox và có bảo vệ XSS
- Tải nhanh: Có thể truy cập lại gần như ngay lập tức nhờ smart caching
- Cấu trúc URL đơn giản: Có thể truy cập chỉ bằng torrent hash
- Khả năng truy cập offline: Website đã được cache vẫn hoạt động khi không có Internet
Kết luận
- PeerWeb là nền tảng lưu trữ web phi tập trung dựa trên WebTorrent,
mang đến một phương thức phân phối web mới đồng thời cung cấp khả năng chống kiểm duyệt, hiệu quả chi phí và bảo mật
3 bình luận
IPFS chẳng phải là thứ này sao??
Tôi từng làm một thứ dùng cái này để phát video trực tuyến. Nó khá hiệu quả.
Ý kiến trên Hacker News
Năm 2020 tôi từng làm một PoC host·phân phối bản phân phối Linux bằng WebTorrent; dù bản thân giao thức có thiết kế thực sự xuất sắc, gần đây nó gần như rơi vào trạng thái đình trệ
Chỉ còn lại vài tracker dựa trên WebRTC hoạt động ổn định
Có thể xem dự án liên quan tại LinuxExchange
Nếu trình duyệt hỗ trợ torrent client thực sự thì thế giới đã hoàn toàn khác
Do các ràng buộc của WebRTC, những vấn đề cũ vẫn chưa thể được giải quyết
Nó dùng tính năng thử nghiệm libdweb nhưng giờ đã bị loại bỏ
Khi đó có thể mở trực tiếp URL như
wtp://tomjwatson.com/blogtrong trình duyệtVí dụ tôi đã học được điều mới khi đọc WebTorrent FAQ
Tôi không rõ nó khác biệt thế nào so với chính WebTorrent, nhưng chỉ riêng việc nó tồn tại cũng đã thấy thú vị
Tôi không thật sự hiểu nó có lợi ích gì so với việc dùng torrent client hiện có
Có lẽ một ngày nào đó, khi bớt bug hơn, nó sẽ trở nên dùng được
Tôi đang thiết kế giao thức anti-abuse phi tập trung, ưu tiên phân phối các tệp phổ biến, streaming UGC API cho phép chia sẻ ngay cả khi vẫn đang upload, tích hợp tự nhiên với URL của site, và tính năng tự động chuyển sang CDN theo độ trễ, v.v.
Trước đây tôi đã dừng nó lại, nhưng sắp tới sẽ tiếp tục
Hiện tại nó bị kẹt ở “Connecting to peers…” nên chưa chạy được
Tôi thường thấy các dự án làm bằng Claude dùng những bảng màu tương tự
Frontend của Lovable cũng cho cảm giác tương tự
Khi tạo lặp lại bằng cùng một prompt, kết quả thường có xu hướng giống nhau
Đây cũng là một trong những nguyên nhân tạo ra sự đơn điệu của phong cách ‘vibecoded’
Khi dùng AI, tôi cũng luôn chỉnh lại những phần như vậy
Chỉ cần dùng iframe sandbox thôi cũng đủ, và lý tưởng nhất là dùng torrent hash làm subdomain để tận dụng same-origin policy
Nếu gắn thêm frontend JS để host site theo kiểu P2P, càng nhiều lưu lượng thì có lẽ hiệu quả chống DDoS cũng càng cao
Mức độ ẩn danh càng cao thì càng thành vấn đề, và đây cũng là lý do YouTube giữ vị thế độc quyền
Có thể mọi thứ sẽ khá hơn khi công nghệ kiểm duyệt dựa trên AI tiến bộ hơn
Một fork vẫn còn được duy trì hiện nằm ở zeronet-conservancy
MDwiki là một tệp HTML đơn, tải Markdown bằng AJAX rồi render bằng JS
Có thể xem kết quả tại liên kết này