Redlib是一個尊重使用者隱私的Reddit替代前端。
之所以想裝這個,如果不登入Reddit帳號,就會無法瀏覽NSFW sub。是否為NSFW看Mod決定,不論內容是否真的為NSFW。但Reddit逼你下載客戶端的行為,看上去很惱人!
所以我決定自己架設一個瀏覽Reddit的前端,使用開源社群製作的專案:Redlib。
Redlib舊稱libreddit,這個前端能做到免登入帳號,瀏覽Reddit大多數sub的貼文,包括啟用NSFW的sub,這樣就不用怕瀏覽紀錄被站方追蹤了。並且可以透過自訂環境變數的方式,訂閱特定的sub並顯示在首頁,達成類似Reddit Custom Feed的體驗。
它還提供隱藏Upvote與Downvote分數的功能,還你一個乾淨的瀏覽體驗。網頁版面簡潔,會跟著螢幕大小自動變化,提供多種內建主題。
自從2023年Reddit官方對第三方API收費之後,這個專案一度沉寂了下來,後來社群找到了破解方法!
雖然Redlib有很多公共站台可以用,但是大部分都在外國,瀏覽速度很慢,不如我自己裝設一個就好了吧。
1. 用Docker部署Redlib#
以下內容參考Github說明
在Linux安裝Docker
新增資料目錄
mkdir ~/redlib
cd redlib
touch docker-compose.yml
touch .env
- 編輯docker-compose,填入以下內容。Redlib本身不用任何volume儲存資料。
services:
redlib:
image: quay.io/redlib/redlib:latest
restart: always
container_name: "redlib"
ports:
- 8080:8080 # 左邊是暴露的通訊埠,若使用反向代理,改成`127.0.0.1:8080:8080`
user: nobody
read_only: true
security_opt:
- no-new-privileges:true
cap_drop:
- ALL
env_file: .env
networks:
- redlib
healthcheck:
test: ["CMD", "wget", "--spider", "-q", "--tries=1", "http://localhost:8080/settings"]
interval: 5m
timeout: 3s
networks:
redlib:
- 編輯環境變數
.env
,啟用以下幾個我覺得有必要開啟的選項,其餘維持預設值。
# 啟用NSFW
REDLIB_SFW_ONLY=off
# 自訂標題
REDLIB_BANNER=Redlib
# 禁止搜尋引擎索引
REDLIB_ROBOTS_DISABLE_INDEXING=on
# 關閉劇透模糊
REDLIB_DEFAULT_BLUR_SPOILER=off
# 顯示NSFW貼文
REDLIB_DEFAULT_SHOW_NSFW=on
REDLIB_DEFAULT_BLUR_NSFW=off
# 使用HLS播放高畫質影片
REDLIB_DEFAULT_USE_HLS=on
# 顯示在首頁的訂閱sub,用+號分隔
REDLIB_DEFAULT_SUBSCRIPTIONS=linuxmemes+goodanimemes+china_irl
# 在首頁封鎖的sub
REDLIB_DEFAULT_FILTERS=politics+memes+taiwanese
# 顯示獎勵數量
REDLIB_DEFAULT_HIDE_AWARDS=off
# 顯示Upvote與Downvote數
REDLIB_DEFAULT_HIDE_SCORE=off
- 啟動容器
docker compose up -d
使用瀏覽器打開
http://Linux伺服器IP:8080
存取網頁。如果有必要的話,可以使用內網穿透軟體從外網存取。
順帶一提,如果架設Redlib公共站台要避免被濫用的話,可以將其接在Cloudflare或Techaro Anubis後面,對來訪者做人機驗證。
2. 如何訂閱sub#
訂閱的sub會顯示在首頁左上角的Feed按鈕。
可以在Redlib的環境變數REDLIB_DEFAULT_SUBSCRIPTION=
裡面定義要訂閱的sub。
或者手動在Redlib網頁進入Sub,點選subscribe。不過,這個訂閱紀錄是存在瀏覽器cookie裡面的,要備份不方便,得手動在右上角的Settings底部匯出。
殂果是自己要用的而已,建議直接在Redlib的環境變數裡面定義。