Alist - A file list program that supports multiple storage - Tuyệt vời

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

2023-08-02_21-00-26

Lúc này bạn có thể login vào admin, đổi lại user, password

https://file.bibica.net/@manage/

2023-08-03_2-26-26

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

2023-08-02_21-34-05

  • 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

2023-08-03_2-14-49

Để 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

2023-08-02_21-41-59

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)

2023-08-02_21-45-50

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

2023-08-02_21-49-50

Đi tới Users, sẽ thấy tài khoản guest, ấn vào Edit

2023-08-02_21-51-14

  • 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

2023-08-02_21-58-07

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

2023-08-02_22-15-07

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

2023-08-09_18-30-32

Phần cấu hình Cloudflare Workers làm proxy chỉ thế thôi

2023-08-03_1-38-07

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

2023-08-06_2-44-59

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

alist- 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

2023-08-09_7-51-14

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

2023-08-10_8-21-21

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

2023-08-10_8-24-40

Có thể kéo thả trực tiếp các file muốn upload lên

2023-08-10_8-31-37

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

Comment policy: We love comments and appreciate the time that readers spend to share ideas and give feedback.
Notes: However, those deemed to be spam or solely promotional will be deleted.

You can create a Gravatar account, add avatar, then use that email to comment here, your account will have a more beautiful Avatar, easier to recognize with other members.

Please use real emails, you can receive notifications when comments are replied