تبدیل کوکی Netscape به JSON: روش تبدیل و ایمپورت کوکی‌های X

Digital Account Market

· آخرین به‌روزرسانی:

فایل cookies.txt دارید، اما افزونه یا ابزار اتوماسیونی که می‌خواهید استفاده کنید فقط آرایهٔ کوکی با فرمت JSON را می‌پذیرد. تبدیل کوکی Netscape به JSON کار کوچکی است، به شرطی که بدانید هر ستون فایل چه معنایی دارد؛ و اگر از مبدلی استفاده کنید که دقیقاً بگوید کدام خط‌ها را نتوانسته بخواند، فقط چند ثانیه طول می‌کشد.

این راهنما قالب فایل کوکی Netscape را توضیح می‌دهد، نشان می‌دهد سمت JSON چه شکلی است، ابزار رایگان تبدیل را قدم‌به‌قدم مرور می‌کند و بعد به ایمپورت خروجی در یک ویرایشگر کوکی و بررسی کارکرد واقعی نشست X می‌پردازد. همچنین با چند اشتباه پیست که باعث بیشتر خطاها می‌شوند آشنا می‌شوید و می‌فهمید وقتی ابزاری به‌جای JSON، Base64 می‌خواهد چه باید کرد.

کوکی Netscape به JSON: هفت ستون جداشده با Tab

فایل کوکی Netscape یک متن ساده است که در هر خط یک کوکی دارد. هر خط هفت فیلد دارد که با یک نویسهٔ Tab از هم جدا شده‌اند و ترتیبشان همیشه یکسان است. curl، wget و بیشتر افزونه‌های خروجی‌گرفتن کوکی در مرورگر همین ساختار را می‌نویسند.

  • دامنه (Domain): جایی که کوکی در آن اعمال می‌شود، مثلاً .x.com. نقطهٔ ابتدایی یعنی زیردامنه‌ها هم شامل می‌شوند.
  • پرچم زیردامنه: مقدار TRUE یا FALSE که مشخص می‌کند آیا زیردامنه‌ها هم می‌توانند کوکی را دریافت کنند.
  • مسیر (Path): معمولاً فقط یک اسلش، یعنی کل سایت.
  • Secure: اگر کوکی فقط روی HTTPS ارسال شود، مقدارش TRUE است.
  • انقضا: برچسب زمانی Unix بر حسب ثانیه. صفر یعنی کوکی نشست که با بسته‌شدن مرورگر تمام می‌شود.
  • نام: نام کوکی، مثل auth_token یا ct0.
  • مقدار: خود مقدار کوکی که بخش محرمانه است.

دو حالت خاص زیاد پیش می‌آید. خط‌هایی که با علامت هش شروع می‌شوند توضیح هستند و نادیده گرفته می‌شوند، با یک استثنا: خطی که با پیشوند #HttpOnly_ شروع شود یک کوکی واقعی است که دامنه‌اش بعد از پیشوند می‌آید و به‌عنوان HTTP-only علامت خورده است. بعضی خروجی‌گیرها مقدار آخر را هم خالی می‌گذارند، پس ردیفی با شش فیلد ممکن و همچنان معتبر است.

قالب JSON کوکی که افزونه‌ها انتظار دارند

ایمپورت کوکی به‌صورت JSON معمولاً آرایه‌ای از اشیاست؛ برای هر کوکی یک شیء، با یک کلید برای هر فیلد. مبدل رایگان این سایت کلیدهایی با نام‌های domain، includeSubdomains، path، secure، expires، name، value و httpOnly تولید می‌کند. یعنی هفت ستون را منعکس می‌کند، به‌علاوهٔ پرچمی برای پیشوند HTTP-only.

توجه کنید که افزونه‌ها کاملاً یکسان نیستند. APIهای افزونه‌های مرورگر اغلب فیلد انقضا را به‌جای expires، expirationDate می‌نامند و بعضی کلیدهایی مثل hostOnly یا sameSite اضافه می‌کنند. پیش از انتقال یک دستهٔ بزرگ، یک کوکی را از افزونه‌ای که قصد ایمپورت در آن را دارید خروجی بگیرید و نام کلیدهایش را با خروجی مبدل مقایسه کنید. اگر نام‌ها فرق داشتند، معمولاً یک جایگزینی سریع نام کلید مشکل را حل می‌کند.

تبدیل cookies.txt به JSON با ابزار رایگان

سریع‌ترین راه ابزار تبدیل کوکی Netscape به JSON است. این ابزار داخل مرورگر شما اجرا می‌شود، بنابراین متنی که پیست می‌کنید به سرور فرستاده یا روی آن ذخیره نمی‌شود. با این حال با محتوا مثل رمز عبور رفتار کنید، چون مقدار کوکی‌ها اعتبارنامهٔ زندهٔ نشست هستند.

  • کل cookies.txt را با خط‌های توضیح پیست کنید. لازم نیست قبلاً چیزی را تمیز کنید.
  • سه شمارنده را بخوانید: کوکی‌های معتبر، خط‌های معیوب و خط‌های ردشده. خط‌های ردشده توضیح‌ها و ردیف‌های خالی هستند که طبیعی است.
  • اگر خط معیوب ظاهر شد، فهرست خط‌های ناخوانا را باز کنید. هر مورد شمارهٔ خط و دلیل را نشان می‌دهد.
  • وقتی تعداد کوکی‌های معتبر با انتظارتان برابر بود، فهرست JSON را کپی کنید.

اگر مطمئن نیستید چه نوع فایلی به شما داده‌اند، ابتدا چند خط را در تشخیص‌دهندهٔ قالب پیست کنید. فایل تحویلی با خط‌های حساب که با دونقطه جدا شده‌اند چیزی متفاوت از فایل کوکی جداشده با Tab است، و راهنمای ما دربارهٔ بررسی ساختار فایل تحویلی پیش از استفاده از ابزار قالب توضیح می‌دهد چطور آن‌ها را از هم تشخیص دهید.

ایمپورت JSON در ویرایشگر کوکی و بررسی نشست

وقتی JSON را داشتید، آن را در افزونهٔ ویرایشگر کوکی، داخل پروفایل مرورگری که برای همین کار استفاده می‌کنید، ایمپورت کنید.

  • ابتدا x.com را در همان پروفایل باز کنید تا افزونه صفحه و دامنه‌ای برای اتصال کوکی‌ها داشته باشد.
  • گزینهٔ ایمپورت افزونه را باز کنید و آرایهٔ JSON را پیست کنید.
  • صفحه را دوباره بارگذاری کنید و دنبال تایم‌لاین خانهٔ واردشده به‌جای صفحهٔ ورود بگردید.

برای ورود به X، مهم‌ترین کوکی‌ها auth_token است که نشست را حمل می‌کند و ct0، توکن همراهی که سایت در درخواست‌ها به کار می‌برد. بررسی کنید دامنهٔ آن‌ها .x.com باشد (یا .twitter.com قدیمی‌تر، اگر خروجی شما از آن استفاده می‌کند)، مسیر یک اسلش باشد و انقضا تاریخی در آینده باشد. برچسب زمانی منقضی رایج‌ترین دلیل شکست ایمپورتی است که در بقیهٔ موارد بی‌نقص به نظر می‌رسد. اگر تصویر کامل ورود مبتنی بر توکن را می‌خواهید، نحوهٔ ورود به توییتر با auth token را بخوانید.

خطاهای رایج تبدیل: Tab، خط‌های #HttpOnly_ و توضیح‌ها

بیشتر شکست‌ها از چند اشتباه ساده می‌آید و فهرست خطای مبدل مستقیم به آن‌ها اشاره می‌کند.

  • Tab به فاصله تبدیل شده: کپی از پنجرهٔ چت، واژه‌پرداز یا بعضی صفحات وب ممکن است نویسه‌های Tab را با فاصله عوض کند. آن‌وقت ابزار به‌جای هفت فیلد یک فیلد بلند می‌بیند. به‌جای آن، از فایل اصلی در یک ویرایشگر متن ساده کپی کنید.
  • تعداد فیلد اشتباه: هر ردیف باید شش یا هفت فیلد داشته باشد. ردیفی که درون مقدارش فاصلهٔ اضافه دارد یا یک ستونش افتاده با شمارهٔ خطش گزارش می‌شود.
  • دامنه یا نام خالی: ردیفی که دامنه یا نام کوکی‌اش خالی است قابل استفاده نیست، پس ابزار به‌جای حدس‌زدن آن را فهرست می‌کند.
  • انقضای غیرعددی: فیلد پنجم باید فقط ارقام باشد. تاریخی که به‌صورت متن نوشته شده یا یک نویسهٔ اضافه رد می‌شود.
  • سردرگمی با توضیح‌ها: خط‌هایی که با علامت هش شروع می‌شوند رد می‌شوند، اما خط‌های #HttpOnly_ کوکی واقعی‌اند. اگر شمارش کمتر از انتظار بود، بررسی کنید که یک مرحلهٔ پاک‌سازی قبلی آن‌ها را حذف نکرده باشد.

بعد از اصلاح منبع، دوباره پیست کنید و تعداد کوکی‌های معتبر را با تعداد مورد انتظار مقایسه کنید. مبدلی که هر خط ناخوانا را گزارش می‌کند بهتر از مبدلی است که بی‌صدا آن‌ها را دور می‌ریزد.

تبدیل بعدی به Base64 وقتی ابزاری می‌خواهد

بعضی پنل‌ها و فرم‌های ایمپورت آرایهٔ کوکی را به‌صورت یک رشتهٔ Base64 می‌خواهند، نه JSON خوانا. JSON را در ابزار JSON به Base64 پیست کنید و خروجی فشردهٔ تک‌خطی را انتخاب کنید، مگر اینکه مقصد تورفتگی بخواهد. برای بررسی یا اشکال‌زدایی یک رشتهٔ Base64 موجود، جهت معکوس در رمزگشایی داده‌های کوکی Base64 به JSON توضیح داده شده است.

cookies.txt اصلی خود را به‌عنوان منبع اصلی نگه دارید، چون نسخه‌های JSON و Base64 را همیشه می‌شود از روی آن دوباره ساخت. وقتی آمادهٔ اضافه‌کردن حساب‌ها به روند کارتان بودید، دستهٔ حساب‌های قدیمی را ببینید و بعد با ابزارهای رایگان بالا قالبی را که ابزارتان لازم دارد آماده کنید.

پرسش‌های متداول

تفاوت قالب کوکی Netscape و JSON چیست؟

فایل Netscape متن ساده‌ای است با هفت ستون جداشده با Tab در هر خط. JSON آرایه‌ای ساختاریافته است که هر کوکی در آن شیئی با کلیدهای نام‌دار است. هر دو یک اطلاعات را حمل می‌کنند، پس تبدیل بین آن‌ها چیدمان را عوض می‌کند، نه داده‌های کوکی را.

چرا cookies.txt پیست‌شدهٔ من صفر کوکی نشان می‌دهد؟

معمولاً هنگام کپی، Tabها با فاصله عوض شده‌اند و در نتیجه هر خط تعداد فیلد اشتباه دارد. مستقیم از فایل اصلی در یک ویرایشگر متن ساده کپی کنید و دوباره پیست کنید. فایلی که فقط توضیح یا خط خالی دارد هم صفر کوکی می‌دهد.

خطی که با #HttpOnly_ شروع می‌شود توضیح است یا کوکی واقعی؟

کوکی واقعی است. پیشوند فقط آن را HTTP-only علامت می‌زند و دامنه بلافاصله بعد از آن شروع می‌شود. خط‌های معمولی که با علامت هش شروع می‌شوند توضیح هستند و رد می‌شوند.

کدام فیلدهای کوکی برای ورود به X مهم‌ترند؟

نام و مقدار auth_token و ct0 مهم‌ترین‌اند، همراه با دامنهٔ درست مثل .x.com، مسیری به شکل یک اسلش و تاریخ انقضایی که هنوز نگذشته باشد. فیلدهایی مثل پرچم زیردامنه وقتی این‌ها درست باشند، به‌ندرت مشکل می‌سازند.

می‌توانم بعداً JSON را به Netscape یا Base64 برگردانم؟

Base64 با ابزارهای JSON به Base64 و Base64 به JSON در هر دو جهت کار می‌کند. سایت مبدل JSON به Netscape ندارد، پس اگر ممکن است دوباره به آن قالب نیاز پیدا کنید، cookies.txt اصلی را نگه دارید.

ابزارها

دسته‌های محبوب

پشتیبانیکانال