Alist giúp chúng ta tạo 1 trang index, download hỗ trợ rất nhiều dịch vụ storage, khá tương tự Google Drive Directory Index, nhưng các tùy biến, phân quyền mạnh mẽ hơn, một trong các tính năng mà mình rất ấn tượng là dùng Cloudflare Workers để làm proxy khi download, nhờ thế, kể cả có rất nhiều người cùng download, nó vẫn có thể đáp ứng được, giải pháp đơn giản mà cực kì hiệu quả
Tác giả đã tính toán nhiều thứ khi sử dụng thực tế, cụ thể về vấn đề API Google Drive, chúng ta sẽ có 10.000 – 20.000 lượt trong 100s, thường sẽ thừa dùng cho phần lớn các nhu cầu cá nhân, nhưng nếu các file của bạn quá nhiều, bạn làm cho cả trường vào download thì sao?
1 thư mục có 100 file, mỗi user vào F5 1 phát là dùng hết 100 request API, 100 user vào F5 1 phát là hết 10,000 request 😀
Alist mặc định khi bạn cấu hình, tác giả đã duy trì cache trong 30 phút, nôm na trong 30 phút đó, user vào xem thư mục sẽ tự load cache cũ ra, không phải load lại từ đầu, vừa tăng tốc cho hệ thống, vừa giảm tải tài nguyên API sử dụng, thậm chí bạn có thể làm thủ công, set cache thời gian dài hơn, khi nào upload file mới thì tự clear cache cũ đi, giúp hạn chế tối đa chuyện dùng quá nhiều tài nguyên API
Alist còn có rất nhiều tính năng khác, thậm chí mình cũng không có nhu cầu dùng tới 😀 ấy thế mà cứ ít tuần tác giả lại cập nhập, sửa chữa 1 rừng các tính năng mới, lâu lâu vào xem lại, đọc ta nói lú hết cả người :]]
Đây là 1 sản phẩm tình cờ mình xem trên facebook, thấy thành viên trong Nhóm Hỗ Trợ VPS Hosting giới thiệu mới biết, chứ tự search theo nhu cầu bằng các từ khóa kiểu google index hay gì chắc không ra được 😀
Cá nhân thì mình chỉ cần tạo 1 trang index các file từ Google Drive, bao gồm 2 thư mục, public
ai cũng có thể xem và download …. private
thì cần tài khoản (hoặc password)
Vấn đề này thì Alist làm rất tốt, dùng thử ít ngày mình thấy rất ổn, nên giới thiệu cho bà kon nào có cùng nhu cầu 😀
Trong trường hợp bạn đọc tới đây vẫn chưa hiểu Alist là gì thì có thể vào file.bibica.net để xem, các thư mục, file bạn thấy được load ra từ tài khoản Google Drive của mình
Cài đặt Alist
curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s install
Nếu dùng Ubuntu Oracle thì tắt firewall đi
sudo apt remove iptables-persistent -y && sudo ufw disable && sudo iptables -F
Sau khi cài đặt xong, truy cập vào theo đường dẫn
http://YOUR_IP:5244/
Tài khoản quản trị thì sau khi cài đặt xong sẽ thấy
admin user's info: username: admin password: Yw8doHRU
Sử dụng Cloudflare Tunnels để đổi YOUR_IP:5244 thành file.bibica.net
Lúc này bạn có thể login vào admin, đổi lại user, password
https://file.bibica.net/@manage/
Do Alist liên thông với khá nhiều tài khoản, để tăng 1 chút bảo mật, có thể bật 2FA lên
Cá nhân thì mình dùng Google Drive nên ở bài này chỉ hướng dẫn cấu hình trên Google Drive, các storage khác như OneDrive,
Add Storages Google Drive
Làm theo hướng dẫn của tác giả thì an toàn nhất, mỗi cái nhìn nhức hết cả đầu, viết lại chắc dài như tờ sớ 😀 dùng cách có sẵn cho nhanh
Bước 1: Truy cập vào GDIndex Code Builder của HashHackers
Login vào tài khoản Google của bạn, cấp quyền để gdi.js.org sẽ có thể xem, chỉnh sửa, tạo và xóa tất cả tệp của bạn trên Google Drive
Bước 2: Đặt bừa tên Site Name bất kì ấn Next để sang bước 3 😀
Bước 3: lấy 3 giá trị từ đoạn code được tạo ra là client_id, client_secret và refresh_token
Điền vào bên trong AList Manage Storages
- Mount Path: đặt 1 đường dẫn tùy ý
- WebDAV policy: dùng native proxy như mặc định
- Root folder id: mặc định điền sẵn root là hiện tất cả file, thư mục
Sau đó ấn Add để tạo Storages Google Drive này
Lặp lại bước này nhiều lần để add nhiều tài khoản khác hoặc dùng lại client_id, client_secret và refresh_token để tạo các thư mục riêng biệt tùy nhu cầu sử dụng
Để xem ID của 1 thư mục cụ thể bên trong Google Drive thì bạn ấn vào thư mục đó, ID là phần link phía sau folders
Điền giá trị này vào Root folder id bên trong AList Manage Storages
Như trên thì mình tạo thêm 1 thư mục là Public đi tới thư mục Google Drive bibica.net (public)
Lúc này, mình đã add vào 2 thư mục, Private và Public
Trong đó Private là thư mục root ở tài khoản Google Drive
Public là 1 thư mục nhỏ nằm bên trong tài khoản Google Drive
Nhu cầu sử dụng thông thường, thư mục Public sẽ để mọi người có thể xem và download các file bên trong, thư mục Private chỉ ai có tài khoản mới có thể thấy, lúc này bạn có thể phân quyền các tài khoản để xử lý chuyện này
Đi tới Users, sẽ thấy tài khoản guest, ấn vào Edit
- Base path: chọn đường dẫn tới thư mục Public
- Access without password: bật tùy chọn này
- Disabled: tắt tùy chọn này
Sau đó ấn Save
Lúc này, nếu truy cập vào file.bibica.net, mặc định bạn sẽ thấy các thư mục và file được share 😀 khi log vào tài khoản quản trị, sẽ thấy thêm thư mục Private
Tính tùy biến của Alist khá mạnh, bạn có thể add thêm các nhiều tài khoản Google Drive khác vào thư mục Public này, để tài khoản Guest có thêm các thư mục mới, ai vào trang file.bibica.net đều có thể thấy được
Khá là hài lòng với sự tùy biến mạnh mẽ này 😀 cá nhân mình cũng chỉ cần tới thế
Tốc độ download
Thử nghiệm tới phần tốc độ download thì đúng là sock văn hóa với khả năng code và tư duy của mí anh Trung Quốc, quá khủng khiếp
native proxy, dùng trực tiếp VPS làm proxy để download, dù con VPS này ở US West (San Jose) nhưng tốc độ download cũng được ~ 10MB/s
use proxy URL
Chế độ này thực sự gây socks, vì tác giả tích viết sẵn tính năng dùng Cloudflare Workers để làm proxy
Cấu hình rất đơn giản, bạn chỉ cần chép nội dung file alist-proxy.js vào Cloudflare Workers, sửa lại 2 dòng bên dưới
var ADDRESS = "YOUR_ADDRESS"; var TOKEN = "YOUR_TOKEN";
Trong đó YOUR_ADDRESS là domain chạy Alist
YOUR_TOKEN thì lấy ở Settings -> Other -> Token
Như của mình thì sửa 2 dòng này thành như thế
var ADDRESS = "https://file.bibica.net"; var TOKEN = "alist-1190f12a-e9cd-484c-8e47-DZ9izFLGT5VAQzzyQGtnH0R9VfB2";
Bên trong cấu hình storages thêm vào đường dẫn proxy vừa tạo
Phần cấu hình Cloudflare Workers làm proxy chỉ thế thôi
Thử download từ Cloudflare Workers proxy thì hết hồn, tốc độ ~ 30 MB/s luôn
Thực tế mình download hết cỡ từ Google Drive cũng chỉ 15-20Mb/s là kịch, không hiểu cơ sở hạ tầng của Cloudflare thần thánh cỡ nào luôn :]]
Viết tới đây cũng cảm giác hơi lú người, nếu Cloudflare cho phép kiểu này, ai có nhu cầu làm thành 1 trang download, bỏ ra $5 / 1 tháng cho Workers quá là xứng đáng
Dùng cá nhân thì 100.000 lượt requests mỗi ngày cũng đủ dùng 😛
Alist còn khá nhiều tính năng khác, nhưng tạm thì mình chưa ngó tới, vì cũng nhu cầu cũng chỉ dùng như trong bài viết thôi 😀
Quota exceeded
Thi thoảng mình gặp thông báo quota exceeded for quota metric ‘queries’ and limit ‘queries per minute’, google thì thấy lỗi này là do dùng quá nhiều trong ngày hoặc 1 thời gian nhất định
Thử tạo 1 API trên tài khoản Google cá nhân để xem thì thấy giới hạn 20.000 lượt trong 100s lận, khả năng do GDIndex Code Builder từ HashHackers nhiều người dùng quá thật :]]
Bạn nào dùng mà thấy văng lỗi Quota exceeded thì tạo riêng Google Drive API dùng cho đỡ phiền 😛
Upload File lên Alist qua WebDav
Nếu bạn chỉ dùng 1 tài khoản Google Drive trên Alist, thì vấn đề quản lý file, upload file khá đơn giản, vào thẳng Google Drive upload file lên là xong, Alist lúc này chỉ đơn giản là 1 trang index
Nếu bạn add vào 5-10 tài khoản, ở 3-5 dịch vụ khác nhau, nếu upload file qua dịch vụ storages thì sợ nhớ không nổi tài khoản nào ở thu mục nào luôn ấy
Sau khi đọc thêm file help của họ, thì có thể quản lý upload, chỉnh sửa file thông qua WebDav
Trên Windows có thể dùng 1 app có hỗ trợ WebDav như RaiDrive
Việc cấu hình cũng rất đơn giản, điền domain với user + pass của bạn vào, thêm đường dẫn tới thư mục /dav là xong
Lúc này trên Windows của bạn đã có ổ đĩa WebDAV với đầy đủ cấu trúc thư mục y chang như trên web
Bạn có thể copy, xóa hay edit file trực tiếp tất cả các thư mục từ rất nhiều storages qua ổ đĩa WebDAV
Thử nghiệm sơ bộ thì trừ các storages dạng Object Storage, chép file qua WebDAV hơi chậm, còn các storages khác như Google Drive thì bình thường
Upload File lên Alist qua trình duyệt
Khi bạn vào trang chủ của Alist, sẽ thấy 1 icon menu 3 dấu chấm nhỏ ở bên dưới góc phải màn hình, ấn vào sẽ thấy các icon như Upload hay tạo xóa thư mục, file …. ấn vào icon Upload để tới phần Upload
Có thể kéo thả trực tiếp các file muốn upload lên
Một điểm hơi củ chuối, nếu bạn dùng Cloudflare Tunnels để làm proxy custom domain như mình làm ở đầu bài, thì bị giới hạn upload file < 100MB của Cloudflare 😀
Để không bị vấn đề này thì bạn có thể cài đặt Alist theo bài này
Lỗi?
Dù Alist được tác giả viết như thần, nhưng nó cũng đi kèm rất nhiều lỗi khá là củ chuối 😀 kiểu bản cũ bạn dùng không thấy lỗi, update lên bản mới hơn lại …. văng lỗi 😀
Cụ thể là bản v3.25.1 chạy Cloudflare Workers proxy bị lỗi, dùng bản cũ hơn 1 chút là v3.24.0 thì chạy bình thường
Nếu thấy lỗi gì thì cứ mạnh dạn report, tác giả sẽ cập nhập, sửa lỗi sớm 😛
Phiên bản mới nhất v3.26.0 vừa ra mắt vào 21/08/2023 đang chạy ổn định, không có lỗi gì
Kết luận
Alist cực mạnh, nếu bạn lưu trữ dữ liệu từ 5-10 tài khoản hay 5-10 dịch vụ, thì có thể dùng Alist để tạo 1 trang để quản lý, thêm sửa xóa gì đó trực tiếp qua Alist
Alist hỗ trợ cả FPT, S3 …. nên có thể áp dụng rất nhiều thứ vào thực tiễn
Tạm thì rất hài lòng với các tính năng và hiệu năng Alist mang lại, xuất sắc
Chính sách bình luận: Chúng tôi rất trân trọng các bình luận của bạn và cảm ơn thời gian bạn dành để chia sẻ ý tưởng và phản hồi.
Ghi chú: Những bình luận được xác định là spam hoặc chỉ mang tính quảng cáo sẽ bị xóa.
• Để cải thiện trải nghiệm bình luận, chúng tôi khuyến khích bạn tạo một tài khoản Gravatar. Thêm avatar vào tài khoản Gravatar sẽ giúp bình luận của bạn dễ nhận diện hơn đối với các thành viên khác.
• ✂️ Sao chép và 📋 Dán Emoji 💪 giúp bình luận thêm sinh động và thú vị!