- Ergo là một máy chủ IRC hiện đại được viết bằng Go, trước đây có tên là Oragono
- Các nguyên tắc thiết kế chính: dễ cấu hình và dễ sử dụng, tích hợp framework ircd và dịch vụ, tích hợp tính năng bouncer, hỗ trợ IRCv3, khả năng tùy biến cao thông qua tệp cấu hình YAML
- Ergo là một nhánh fork của Ergonomadic IRC daemon
Tính năng
- Dịch vụ tích hợp: cung cấp NickServ cho tài khoản người dùng, ChanServ cho đăng ký kênh và HostServ cho vanity host.
- Tính năng bouncer: lưu trữ và phát lại lịch sử, cho phép nhiều client sử dụng cùng một nickname.
- Hỗ trợ TLS/SSL, bao gồm hỗ trợ chứng chỉ client.
- Hỗ trợ IRCv3.
- Sử dụng tệp cấu hình YAML.
- Có thể cập nhật nóng cấu hình máy chủ và chứng chỉ TLS.
- Hỗ trợ xác thực SASL và LDAP.
- Hỗ trợ nhiều ngôn ngữ và có thể đặt ngôn ngữ mặc định cho mạng.
- Tùy chọn hỗ trợ nickname và tên kênh UTF-8.
- Cung cấp các tính năng bảo mật và quyền riêng tư nâng cao.
- Hệ thống phân quyền mở rộng cho IRC operator.
- Tra cứu ident cho tên người dùng.
- Tự động giới hạn kết nối client.
- Mật khẩu được lưu bằng bcrypt.
- Tính năng chặn hợp nhất thông qua hệ thống
UBAN.
- Tập trung vào phát triển tuân thủ đặc tả.
Hướng dẫn bắt đầu nhanh
- Có thể tải bản phát hành mới nhất, giải nén, chỉnh sửa tệp cấu hình rồi chạy máy chủ
- Gói Ergo đang được duy trì trên Arch Linux AUR và Gentoo Linux.
- Cung cấp Dockerfile và ví dụ recipe docker-compose
- Build từ mã nguồn
- Cần bản phân phối Go mới nhất; sau khi checkout branch hoặc tag mong muốn, có thể build bằng lệnh
make.
Cấu hình
- Tệp cấu hình mặc định
default.yaml giải thích ý nghĩa của từng tùy chọn và các thay đổi.
- Theo mặc định, log chỉ được gửi tới stderr; cũng có thể gửi vào tệp hoặc dùng systemd để chuyển tới system journal.
Mật khẩu
- Mật khẩu được lưu bằng bcrypt và có thể dùng subcommand
genpasswd để tạo chuỗi đã mã hóa.
Đăng ký nickname và kênh
- Thông qua tài khoản người dùng, nhiều client có thể dùng cùng một nickname và có thể đăng ký nickname với tài khoản qua NickServ.
- Sau khi đăng ký nickname, có thể đăng ký kênh.
4 bình luận
Tùy mục đích sử dụng, đôi khi Slack/Discord vốn cần tài khoản các kiểu có thể trở thành gánh nặng, nhưng vì nó cũng hỗ trợ web client khá tốt nên tôi muốn thử triển khai một lần.
Ồ, có vẻ sẽ rất thú vị thật đấy.. Lại có thêm một kênh để lướt việc ở công ty...
Ồ.. nếu có kênh IRC của GeekNews thì sẽ vui đấy
Bình luận trên Hacker News
Tôi đã dùng Ergo trong suốt một năm qua để chat với bạn bè và gia đình. Nó dễ host, yêu cầu tài nguyên thấp, đồng thời cung cấp một giao thức và codebase dễ hiểu, dễ debug
IRC thường được nhìn bằng lăng kính lãng mạn, nhưng khi làm việc với đặc tả giao thức thì định dạng thông điệp phi cấu trúc gây ra vấn đề
Thật tốt khi thấy có nhiều lựa chọn ngoài Slack và Discord
Tôi tò mò liệu Ergo có thể kết nối với các máy chủ IRC khác hay không. Tôi muốn thử nối với ngircd hiện có
Đây là thời điểm phù hợp để đưa hoạt động chat về on-premise. Các lệnh và log chat rất hữu ích
Hy vọng nó có thể thay thế phần mềm kiểu như Slack
Một năm trước tôi đã dùng một máy chủ tên là Oragono cho bạn bè, và tôi khuyên dùng nó
Tôi muốn biết liệu có thể gửi webhook tới một kênh cụ thể hay không
Việc IRC thiếu lịch sử chat/backlog thường xuyên được nhắc tới, nhưng tôi cho rằng backlog là một anti-feature đối với cộng đồng