اگر هنگام وبگردی مقاله، تصویر یا ویدئویی پیدا میکنید که میخواهید بعداً به آن برگردید، Readeck میتواند گزینه مناسبی برای ذخیره و خواندن دوباره محتوا باشد. این ابزار یک برنامه وب متنباز و خودمیزبان (Self-hosted) برای ذخیره، سازماندهی و مطالعه محتوای وب است.
در ادامه میخواهیم ببینیم Readeck چیست، چه کاری انجام میدهد، چه قابلیتهایی دارد، برای اجرای آن به چه منابعی نیاز است و چطور میتوان آن را روی سرور راهاندازی کرد.

Readeck چیست؟
Readeck یک سرویس Read Later یا «بعداً بخوان» است که روی سرور شخصی یا سازمانی اجرا میشود. شما لینک یک محتوای وب را به آن میدهید و برنامه تلاش میکند بخش خواندنی صفحه را استخراج و ذخیره کند.
تفاوت مهم Readeck با یک بوکمارک معمولی همینجا مشخص میشود؛ چون هدف آن فقط نگهداشتن URL نیست، بلکه محتوای قابلخواندن صفحه را نیز ذخیره میکند.
Readeck چه کاری انجام میدهد؟
Readeck برای ذخیره و مطالعه دوباره محتوای وب طراحی شده است. با ذخیره یک لینک، برنامه محتوای قابلخواندن صفحه را استخراج میکند و آن را در فضای ذخیرهسازی خود نگه میدارد. به این ترتیب، میتوانید یک آرشیو شخصی از مقالهها و دیگر محتواهای وب داشته باشید و هر زمان که خواستید به آنها برگردید.
محتواهای ذخیرهشده را میتوانید با برچسبها، علاقهمندیها، آرشیو و مجموعهها سازماندهی کنید تا بعدها پیدا کردن آنها سادهتر باشد. جستوجوی تماممتن هم کمک میکند بدون اینکه لازم باشد تکتک صفحات را بررسی کنید، مقاله یا بخش موردنظر خود را پیدا کنید. در صورت نیاز، میتوانید یک مقاله یا مجموعه را در قالبهایی مثل EPUB یا PDF نیز دریافت کنید.
Readeck را علاوه بر ذخیره مقالههای متنی میتوانید برای تصاویر و ویدئوها هم استفاده کنید. اگر متن ویدئو در دسترس باشد، امکان ذخیره آن برای مطالعه بعدی وجود دارد.
از آنجا که Readeck خودمیزبان است، اطلاعات شما به سرویس شخص ثالث وابسته نیست و میتوانید آن را روی زیرساختی که خودتان کنترل میکنید اجرا کنید.

قابلیتهای Readeck را بشناسید!
Readeck قابلیتهای مختلفی برای ذخیره، سازماندهی و مطالعه محتوای وب را در یک محیط واحد دارد که باعث میشود فقط یک ابزار ساده برای ذخیره لینک نباشد. برای مثال:
- ذخیره و آرشیو محتوای خواندنی صفحات وب
- سازماندهی محتوا با برچسب، علاقهمندی، آرشیو و مجموعه
- جستجوی تماممتن در محتوای ذخیرهشده
- هایلایت کردن بخشهای مهم و افزودن حاشیهنویسی
- پشتیبانی از مقاله، تصویر و ویدئو
- ذخیره متن ویدئو در صورت وجود
- دریافت خروجی EPUB برای یک مقاله یا مجموعه
- ارائه کاتالوگ OPDS برای کتابخوانها و نرمافزارهای سازگار
- افزونه مرورگر برای ذخیره سریع صفحات
- تنظیم فونت، اندازه متن و فاصله خطوط
- حفظ تنظیمات مطالعه برای دفعات بعد
- API مبتنی بر HTTP
- اشتراکگذاری عمومی موقت محتوا
- چاپ یا خروجی PDF
- برنامههای موبایل برای خواندن و ذخیره نشانک
- پشتیبانی از چند زبان
در ادامه سه قابلیت مهم Readeck را بهطور کاملتر بررسی میکنیم.
ذخیره محتوای صفحه بهجای لینک
یکی از مهمترین ویژگیهای Readeck، تمرکز روی حفظ محتوای وب است. در یک بوکمارک معمولی، اگر صفحهای حذف شود یا محتوای آن تغییر کند، لینک ذخیرهشده الزاماً دیگر ارزش سابق را ندارد. Readeck تلاش میکند محتوای خواندنی صفحه را استخراج و نسخهای از آن را در فضای ذخیرهسازی شما نگه دارد.
البته این فرایند برای همه صفحات به یک شکل انجام نمیشود. امکان دارد دسترسی سرور به بعضی صفحات مسدود شده باشد، صفحه برای نمایش محتوا به JavaScript نیاز داشته باشد یا ساختار آن برای استخراج خودکار مناسب نباشد. صفحات پشت Paywall نیز بهطور کامل ذخیره نمیشوند.
در چنین شرایطی، افزونه مرورگر Readeck کاربرد مهمی دارد. افزونه میتواند محتوای در دسترس صفحه را مستقیماً برای Readeck ارسال کند و امکان انتخاب دقیقتر محتوای موردنظر را در اختیار کاربر بگذارد.
سازماندهی و مطالعه محتوا
بعد از ذخیره محتوا، میتوانید آن را با برچسبها، علاقهمندیها، آرشیو و مجموعهها مدیریت کنید. جستجوی تماممتن نیز پیدا کردن یک مقاله یا بخش خاص از محتوای ذخیرهشده را سادهتر میکند.
برای مطالعه طولانی، تنظیمات ظاهری خواندن نیز قابل شخصیسازی است. کاربر میتواند فونت، اندازه متن و فاصله خطوط را تغییر دهد و Readeck این ترجیحات را برای استفادههای بعدی به خاطر میسپارد.
اگر از Readeck میخواهید بهعنوان آرشیو مطالعاتی استفاده کنید، قابلیت هایلایت و حاشیهنویسی هم کاربردی است. به این شکل میتوانید بخشهای مهم یک مطلب را مشخص کنید و هنگام مراجعه دوباره، سریعتر به قسمتهای موردنظر برسید.
خروجی EPUB، PDF و OPDS
Readeck فقط یک محیط برای خواندن آنلاین نیست. میتوانید یک مقاله یا حتی یک مجموعه را به شکل EPUB خروجی بگیرید و آن را در کتابخوان یا نرمافزارهای سازگار مطالعه کنید.
پشتیبانی از OPDS نیز باعث میشود محتوای کتابمانند ذخیرهشده در Readeck از طریق کتابخوانها و برنامههایی که این استاندارد را پشتیبانی میکنند، قابل دسترسی باشد.
برای برخی محتواها امکان اشتراکگذاری عمومی موقت نیز وجود دارد. لینک اشتراکگذاری بهصورت پیشفرض برای مدت محدودی، یعنی ۲۴ ساعت، در دسترس است و میتوان در صورت نیاز لینک جدیدی برای آن ایجاد کرد. این ابزار همچنین قابلیت خروجی گرفتن یا چاپ محتوا به شکل PDF را دارد تا بتوانید آن را خارج از محیط Readeck نیز مطالعه یا نگهداری کنید.
Readeck چه معماری و فناوری دارد؟
Readeck بهصورت خودمیزبان طراحی شده است. یکی از مزیتهای آن این است که میتوان برنامه را به شکل یک فایل اجرایی مستقل اجرا کرد و برای اجرای آن به مجموعهای از وابستگیهای پیچیده نیاز نیست. همچنین میتوانید آن را بهصورت یک تصویر کانتینری روی محیطهایی مانند Docker اجرا کنید که برای استقرار در سرورهای ابری یا زیرساختهای کانتینری کاربردی است.
Readeck از یک پایگاه داده سبک داخلی استفاده میکند تا اطلاعات و محتوای ذخیرهشده را مدیریت کند.
از نظر معماری پردازنده، Readeck روی سیستمهای ۶۴بیتی x86-64 و ARM قابل اجرا است و میتوان آن را روی چند سیستمعامل رایج سروری و دسکتاپ اجرا کرد.
این پروژه متنباز با مجوز AGPLv3 منتشر میشود. در نتیجه، علاوه بر امکان استفاده از نرمافزار، کد آن نیز در چارچوب این مجوز در دسترس است.
حداقل منابع مورد نیاز Readeck
Readeck برای اجرا به سختافزار قدرتمندی نیاز ندارد و حتی روی سیستمهای قدیمی و کممصرف نیز قابل استفاده است. در جدول زیر نیاز تقریبی منابع آن را میبینید:
|
منبع |
نیاز تقریبی |
|
پردازنده |
۶۴بیتی x86-64 یا ARM |
|
حافظه RAM |
حدود ۵۱۲ مگابایت |
|
فضای اولیه |
حدود ۲۰۰ مگابایت |
|
فضای هر نشانک |
حدود ۳۰۰ کیلوبایت |
|
سیستمعامل |
چند سیستمعامل رایج سروری و دسکتاپ |
۵۱۲ مگابایت RAM برای اجرای Readeck کافی است، ولی ممکن است هنگام پردازش تصاویر این میزان بیشتر شود. فضای اولیه حدود ۲۰۰ مگابایت است و هر نشانک ذخیرهشده نیز بهطور تقریبی ۳۰۰ کیلوبایت فضا نیاز دارد.
اگر سیستمعامل مورد استفاده مستقیماً پشتیبانی نشود، در برخی شرایط امکان کامپایل دستی برنامه وجود دارد.

آموزش نصب و راهاندازی Readeck
برای اجرای Readeck دو روش اصلی وجود دارد: استفاده از کانتینر و اجرای فایل اجرایی مستقل.
در روش کانتینری، برنامه را میتوان با اتصال پورت ۸۰۰۰ و تعریف یک Volume برای دادههای پایگاهداده و فایلهای نشانک اجرا کرد. این روش برای محیطهایی که زیرساخت کانتینری دارند، ساده است.
در روش فایل اجرایی، ابتدا فایل مناسب سیستم را دریافت میکنید، اجازه اجرای آن را میدهید و برنامه را با دستور serve اجرا میکنید. بعد از راهاندازی اولیه، محیط Readeck از طریق localhost:8000 در دسترس خواهد بود.
اجرای Readeck روی سرور
اگر میخواهید Readeck را روی یک سرور اجرا کنید و از طریق اینترنت به آن دسترسی داشته باشید، چند تنظیم اصلی لازم است. کافی است مراحل زیر را بهترتیب انجام دهید.
۱. یک کاربر اختصاصی برای Readeck بسازید
Readeck را مستقیماً با کاربر root اجرا نکنید. بهتر است یک کاربر و گروه سیستمی جداگانه برای آن بسازید تا در صورت بروز مشکل، دسترسی برنامه به بخشهای دیگر سرور محدود بماند.
۲. محل ذخیره اطلاعات را مشخص کنید
Readeck اطلاعاتی مانند مقالههای ذخیرهشده، تنظیمات و دادههای برنامه را روی سرور نگهداری میکند. بنابراین باید یک پوشه مشخص برای دادههای آن در نظر بگیرید و مطمئن شوید کاربر Readeck به این پوشه دسترسی دارد.
۳. Readeck را بهعنوان یک سرویس اجرا کنید
بهتر است اجرای Readeck را به سرویس مدیریت سیستم بسپارید. به این ترتیب، برنامه میتواند هنگام راهاندازی سرور بهصورت خودکار اجرا شود و در صورت توقف نیز دوباره راهاندازی شود.
۴. دسترسی Readeck را از طریق دامنه فراهم کنید
اگر قرار است Readeck از اینترنت در دسترس باشد، یک دامنه برای آن تنظیم کنید و گواهی TLS/HTTPS بگیرید. این کار باعث میشود ارتباط کاربران با Readeck رمزنگاری شود. در صورتی که Readeck فقط در شبکه داخلی استفاده میشود، میتوانید بدون دامنه عمومی و گواهی TLS هم آن را اجرا کنید.
۵. یک Reverse Proxy جلوی Readeck قرار دهید
در حالت معمول بهتر است کاربران مستقیماً به Readeck وصل نشوند. یک Reverse Proxy مانند Nginx یا Caddy میتواند درخواستها را دریافت و به Readeck منتقل کند.
در این حالت، Readeck را روی localhost اجرا کنید تا مستقیماً از اینترنت قابل دسترسی نباشد.
سپس در تنظیمات Readeck، دو مورد مهم را مشخص کنید:
- allowed_hosts: دامنههایی که اجازه دسترسی به Readeck را دارند.
- trusted_proxies: پروکسیهایی که Readeck باید به آنها اعتماد کند.
این تنظیمات کمک میکنند Readeck درخواستهای ورودی را به شکل درست پردازش کند.
۶. هدر امنیتی اضافی به Readeck اضافه نکنید
اگر از Reverse Proxy استفاده میکنید، امکان دارد بخواهید هدرهای امنیتی مختلفی به درخواستها اضافه کنید. در مورد Readeck این کار را بدون نیاز انجام ندهید؛ چون خود برنامه سیاست امنیتی موردنیازش را مدیریت میکند و اضافه کردن هدرهای سفارشی باعث اختلال در عملکرد آن میشود.
اگر از CDN یا Tunnel استفاده میکنید
Readeck را میتوان پشت CDN یا سرویسهای Tunnel هم قرار داد، اما این روش برای همه سرویسها بهطور کامل آزمایش و تضمین نشده است. بنابراین اگر چنین ساختاری دارید، تنظیمات سرویس موردنظر را با دقت بررسی کنید.
در یک استقرار معمول، مسیر کلی به این شکل است:
کاربر ← دامنه و HTTPS ← Reverse Proxy ← Readeck ← دادههای ذخیرهشده روی سرور
نکات امنیتی هنگام اجرای Readeck
یکی از اصول مهم در استقرار Readeck این است که برنامه نباید با کاربر root یا کاربر ممتاز اجرا شود.
بهتر است یک کاربر اختصاصی برای سرویس ایجاد شود و قابلیتها و فراخوانیهای غیرضروری سیستم تا حد امکان حذف شوند.
در تصویر کانتینری، کاربر پیشفرض مشخصی تعریف نشده و برنامه داخل کانتینر با کاربر root اجرا میشود. برای کاهش این ریسک میتوان هنگام اجرای کانتینر کاربر مشخصی را با گزینه –user تعیین کرد؛ برای مثال:
- –user 1000:1000
در محیطهای کانتینری بدون root نیز اگر مالکیت فایلها اهمیت داشته باشد، مدیریت subuid و subgid باید در نظر گرفته شود. در صورت مشاهده آسیبپذیری امنیتی، بهتر است جزئیات آن به شکل عمومی منتشر نشود و از مسیر ایمیل امنیتی پروژه گزارش شود.
دستورات مدیریتی مهم Readeck
Readeck چند دستور مدیریتی برای اجرای سرور، مدیریت کاربران و دادهها دارد:
|
دستور |
کاربرد |
|
serve |
اجرای سرور HTTP و تعیین تنظیمات فایل، میزبان و پورت |
|
cleanup |
پاکسازی نشانکهای در حال بارگذاری و فایلهای آرشیوی بدون مالک |
|
user |
ساخت یا بهروزرسانی کاربران |
|
export |
برونبری کاربران و دادهها در فایل ZIP |
|
import |
درونریزی دادههای برونبریشده |
|
config |
نمایش تنظیمات به شکل JSON |
با user میتوان کاربر ایجاد یا بهروزرسانی کرد. این دستور گزینههایی مانند detach، dry-run، email، group، json، password، remove-totp و username دارد. رمز عبور نیز میتواند بهصورت متن ساده، مقدار هششده یا متغیر محیطی دریافت شود.
آیا Readeck برنامه موبایل دارد؟
بله. کاربران موبایل هم میتوانند از Readeck روی Android و iOS استفاده کنند. برنامه رسمی Readeck برای Android یک کلاینت بومی است که امکان ذخیره مقاله، ویدئو و تصویر را روی سرور شخصی Readeck فراهم میکند و میتوانید آنها را در گوشی یا تبلت با یک محیط ساده و بدون حواسپرتی بخوانید.
برای کاربران iPhone، iPad و Mac نیز برنامه بومی Readeck ارائه شده است. در نسخه iOS میتوانید لینکها را از برنامههای دیگر با قابلیت Share به Readeck بفرستید، آنها را با برچسب سازماندهی کنید و برای مطالعه آفلاین ذخیره کنید.
چرا بعضی لینکها در Readeck کامل ذخیره نمیشوند؟
Readeck نمیتواند تضمین کند که محتوای تمام صفحات وب را بهصورت کامل استخراج کند. چند عامل رایج باعث ناقص بودن یا شکست استخراج میشوند:
- صفحه پشت Paywall قرار دارد.
- نمایش محتوا به JavaScript وابسته است.
- سرور مقصد دسترسی Readeck را مسدود کرده است.
- ساختار صفحه برای استخراج خودکار مناسب نیست.
- خطایی در فرایند استخراج محتوا رخ داده است.
در این شرایط، افزونه مرورگر راهکار اصلی است. افزونه میتواند محتوای قابل مشاهده را مستقیماً برای Readeck ارسال کند و به کاربر اجازه دهد محتوای دقیقتری را برای ذخیره انتخاب کند.

آیا Readeck API دارد؟
بله. Readeck یک API مبتنی بر HTTP دارد و مستندات آن نیز در محیط برنامه در دسترس است.
این API امکان یکپارچهسازی Readeck با ابزارهای دیگر را فراهم میکند. برای نمونه، ابزارهای استخراج تکفایل میتوانند HTML و URL را به API ارسال کنند و با استفاده از Token و فیلدهایی مانند html و url، محتوا را وارد Readeck کنند.
تفاوت Readeck با بوکمارک معمولی چیست؟
بوکمارک معمولی در اصل برای ذخیره و سازماندهی لینک طراحی شده است؛ اما ابزارهای Read Later تمرکز بیشتری روی ذخیره و نمایش خود محتوا دارند.
در جدول زیر تفاوت اصلی این دو را میبینید:
|
Readeck |
بوکمارک معمولی |
|
تمرکز روی ذخیره محتوای خواندنی |
تمرکز روی ذخیره URL |
|
مناسب برای مطالعه بعدی |
مناسب برای نگهداری و سازماندهی لینک |
|
استخراج و آرشیو محتوای صفحه |
نگهداری آدرس صفحه |
|
امکانات مطالعه، هایلایت و حاشیهنویسی |
امکانات مدیریتی وابسته به ابزار |
|
قابلیت خروجی EPUB و OPDS |
چنین تمرکزی ندارد |
Readeck در مقایسه با ابزارهای مشابه
Readeck تنها گزینه برای مدیریت و حفظ محتوای وب نیست. در این حوزه سرویسهای مختلفی وجود دارند که میتوانند برای مدیریت بوکمارک، ذخیره و آرشیو لینک، نگهداری مجموعههای شخصی یا خواندن دوباره محتوای وب استفاده شوند. تفاوت اصلی Readeck در ترکیب خودمیزبانی، متنباز بودن و تمرکز روی خواندن و حفظ محتوای وب است.
آیا Readeck برای شما مناسب است؟
اگر میخواهید صرفاً هر از چند گاهی چند URL را ذخیره کنید، یک سرویس بوکمارک معمولی کافی است. اما اگر میخواهید محتوای وب را حفظ کنید، آن را روی زیرساخت خودتان نگه دارید، امکان جستجو و سازماندهی داشته باشید و بعداً در یک محیط خواندن اختصاصی به آن برگردید، Readeck گزینه مناسبتری است.
برای اجرای Readeck روی یک سرور، کافی است منابع موردنیاز، روش استقرار، امنیت سرویس و نحوه دسترسی عمومی را از ابتدا درست طراحی کنید. در چنین شرایطی، زیرساخت ابری میتواند راهی ساده برای اجرای یک سرویس Self-hosted باشد؛ بدون اینکه لازم باشد مدیریت سختافزار فیزیکی را بر عهده بگیرید.

جمعبندی
بنابراین در پاسخ به سؤال Readeck چیست؟ میتوان گفت که این ابزار یک برنامه متنباز و خودمیزبان برای ذخیره، آرشیو و خواندن بعدی محتوای وب است. تفاوت اصلی آن با بوکمارک کردن این است که Readeck تلاش میکند محتوای خواندنی صفحه را استخراج و نسخهای از آن را در فضای ذخیرهسازی شما نگه دارد. پس از ذخیره محتوا میتوانید با برچسبگذاری، علاقهمندی، آرشیو و مجموعهها آن را سازماندهی کنید و با جستجوی تماممتن، هایلایت و حاشیهنویسی، استفاده از آرشیو مطالعاتی خود را سادهتر کنید.
اگر برای اجرای Readeck به یک زیرساخت ابری ساده نیاز دارید، چابکان میتواند این بخش را برای شما سادهتر کند. با استفاده از هاست ابری چابکان میتوانید سرویسهای Self-hosted خود را روی زیرساخت ابری اجرا کنید و بدون درگیر شدن با مدیریت سختافزار، منابع موردنیاز سرویس را در اختیار داشته باشید. با اعتبار رایگان شروع کنید.
سوالات متداول (FAQ)
1. آیا Readeck رایگان است؟
Readeck یک نرمافزار متنباز با مجوز AGPLv3 است، اما برای اجرای نسخه Self-hosted باید هزینه زیرساختی مانند سرور یا هاست را در نظر بگیرید.
2. دادههای ذخیرهشده در Readeck کجا قرار میگیرند؟
در نسخه Self-hosted، دادهها و محتوای ذخیرهشده روی زیرساختی قرار میگیرند که Readeck را روی آن اجرا کردهاید.
3. آیا میتوان Readeck را روی سختافزار ضعیف اجرا کرد؟
بله، Readeck به منابع زیادی نیاز ندارد و با حدود ۵۱۲ مگابایت RAM و حدود ۲۰۰ مگابایت فضای اولیه قابل اجرا است.