3 điểm bởi GN⁺ 2024-01-15 | 1 bình luận | Chia sẻ qua WhatsApp

AsmBB là gì?

  • AsmBB là một công cụ diễn đàn web rất nhanh và gọn nhẹ do JohnFound viết.
  • Toàn bộ được viết bằng ngôn ngữ Assembly và sử dụng SQLite làm backend cơ sở dữ liệu.
  • Có thể hoạt động ngay cả trên môi trường hosting yếu, đồng thời xử lý nhiều khách truy cập mà không bị trễ.
  • Nhờ thiết kế nội bộ và việc giảm thiểu phụ thuộc, đây là một ứng dụng web rất an toàn.
  • Hỗ trợ cơ sở dữ liệu mã hóa để tăng cường bảo mật.
  • Yêu cầu môi trường chạy rất thấp: máy chủ Linux x86 (32-bit hoặc 64-bit đều được), không cần thư viện cài sẵn đặc biệt.
  • Hoạt động tốt ngay cả trên VPS nhỏ và rẻ nhất, đồng thời có thể dùng trên shared hosting hỗ trợ FastCGI.
  • Cần máy chủ web hỗ trợ giao diện FastCGI, đã được thử nghiệm với Nginx, Apache, Lighttpd, Hiawatha và RWASA.
  • Dễ tùy biến nhờ sử dụng hệ thống template mạnh mẽ, cho phép tùy chỉnh diễn đàn dễ dàng mà không cần sửa trực tiếp mã nguồn.

Tải xuống, cài đặt và hack

  • Tải trực tiếp gói nhị phân: asmbb.tar.gz (liên kết này luôn trỏ đến phiên bản gói nhị phân mới nhất).
  • Theo dõi tiến độ, báo lỗi và clone mã nguồn: kho mã nguồn AsmBB
  • Cài đặt trên máy chủ của bạn để có diễn đàn nhanh nhất: hướng dẫn cài đặt với NGINX và systemd
  • Cài đặt bằng RWASA trong chưa đầy 2 phút: video hướng dẫn cũng có thể xem trên YouTube

Ý kiến của GN⁺:

  • AsmBB là một công cụ diễn đàn web hiệu năng cao được viết bằng ngôn ngữ Assembly, với điểm cốt lõi là mang lại tốc độ nhanh và độ bảo mật cao ngay cả trên máy chủ cấu hình thấp.
  • Điểm hấp dẫn là người dùng có thể tùy biến dễ dàng và nó tương thích với nhiều máy chủ web khác nhau.
  • Công nghệ này đưa ra một lựa chọn thay thế thú vị cho các nhà phát triển muốn xây dựng dịch vụ web hiệu quả trong môi trường có tài nguyên hạn chế.

1 bình luận

 
GN⁺ 2024-01-15
Ý kiến trên Hacker News
  • Hoài nghi về tính bảo mật của AsmBB

    • Bày tỏ góc nhìn hoài nghi trước tuyên bố rằng AsmBB rất an toàn nhờ thiết kế nội bộ và việc giảm phụ thuộc.
    • Nhấn mạnh giá trị của việc sử dụng các phụ thuộc đã được kiểm thử kỹ lưỡng, đồng thời chỉ ra rằng phần mềm phức tạp viết bằng assembly có thể phát sinh lỗi.
    • Đặc biệt là trong xử lý chuỗi.
  • Khen ngợi việc dùng ngôn ngữ assembly và ý kiến về bảo mật

    • Dù đánh giá tích cực việc sử dụng ngôn ngữ assembly, vẫn cho rằng giảm phụ thuộc không đồng nghĩa với bảo mật.
    • Chỉ ra rằng việc giảm phụ thuộc có thể làm giảm các lỗ hổng tiềm ẩn, nhưng bản thân assembly không đảm bảo an toàn bộ nhớ nên có thể làm tăng rủi ro.
    • Bày tỏ sự yêu thích với các ứng dụng viết bằng assembly, đồng thời nêu ý kiến rằng sẽ rất hay nếu có thêm bản chuyển sang aarch64 để chạy trên Pi-Zero hoặc Pi-W.
  • Nghiên cứu về diễn đàn phân tán

    • Đang nghiên cứu về diễn đàn phân tán, và nhắc đến việc sau khi Usenet suy tàn, các phần mềm diễn đàn như phpBB đã trở nên phổ biến.
    • Đề cập nhu cầu về một diễn đàn mới kết hợp giữa tính năng phân tán, sao chép và trải nghiệm người dùng.
    • Cảm thấy hứng thú với những thách thức của một hệ thống phân tán, như đang giải một câu đố.
  • Thời gian xử lý và tầm quan trọng của CDN

    • Chỉ ra rằng thời gian xử lý rất nhanh, nhưng việc truyền tài liệu đến Đan Mạch lại mất 500-1000ms.
    • Nhận xét rằng trong trường hợp này, CDN có thể hiệu quả hơn mã nguồn có hiệu năng tốt.
  • Thắc mắc về cách kết nối cơ sở dữ liệu bằng mã assembly

    • Bày tỏ sự tò mò về cách kết nối tới cơ sở dữ liệu bằng mã assembly.
    • Cho rằng về mặt lý thuyết thì hiểu được, nhưng để viết ra những tác vụ đơn giản có lẽ sẽ tốn công sức khổng lồ.
  • Viết mã assembly dùng SQLite làm backend

    • Nhắc rằng dự án được viết bằng assembly nhưng sử dụng SQLite làm backend.
    • Chỉ ra rằng trong nhiều ứng dụng, I/O có nhiều khả năng là điểm nghẽn hơn CPU.
  • Yêu cầu giải thích về hỗ trợ ký tự emoji Unicode

    • Muốn biết thêm chi tiết về tuyên bố hỗ trợ ký tự emoji Unicode theo "cách thực sự native".
  • Ý kiến về nút tắt thông báo trực tiếp và việc công khai danh sách người dùng

    • Nhắc rằng có nút để tắt thông báo trực tiếp.
    • Đặt câu hỏi liệu việc hiển thị danh sách người dùng diễn đàn cho người chưa đăng nhập có phải là một ý hay không, và liệu điều đó có thể cấu hình được hay không.
  • Yêu cầu giới hạn tốc độ cho thông báo trực tiếp

    • Nhận xét rằng thông báo trực tiếp xuất hiện quá thường xuyên, nên cần có cơ chế giới hạn tần suất.
  • Chỉ ra sự thiếu thông tin về ngôn ngữ assembly và hệ điều hành

    • Chỉ ra rằng tiêu đề không nêu rõ loại assembly được dùng hay hệ điều hành mà nó chạy trên đó.
  • Khả năng triển khai tương tự bằng C và động cơ dùng assembly

    • Nhắc rằng có thể làm điều tương tự bằng ngôn ngữ C mà không dùng thư viện chuẩn.
    • Cho rằng ngoài system call ra thì gần như không có phụ thuộc, và việc dùng assembly không có nhiều lý do ngoài một bài tập trí tuệ.