DevOps / Backend Developer
Clubhouse و مشکلات جدیدش
کلاب هاوس در April سال ۲۰۲۰ راهاندازی شد درست در زمانی که شیوع کرونا روز به روز افزایش مییافت و افراد بیشتری دورکار یا در قرنطینه قرار میگرفتند. این شبکه یک ماه بعد در ماه May توانست ۱۰ میلیون دلار سرمایه اولیه و با خرید ۲ میلیون دلاری سهام موجود از شرکت خطرپذیر اندریسن هورویتس محبوبیت قابل توجهی پیدا کند و براساس اطلاعاتی که در بخش ویکیپدیای این شبکه اجتماعی دیده میشود ، از دسامبر سال ۲۰۲۰ ، این برنامه ۶۰۰ هزار کاربر ثبت شده داشت که فقط با دعوتنامه برای کاربران سیستم عامل iOS در دسترس بود. البته همچنان هم اپلیکیشن این شبکه اجتماعی در اختیار کاربران سیستم عامل iOS قرار دارد و به گفته صاحبان این شبکه اجتماعی بزودی نسخه اندروید آن هم روانه بازار میشود. ( خبرآنلاین )
تا حالا خیلی از شماها که آیفون / آیپد دارید با این شبکه اجتماعی کار کردید. البته خب نسخه های غیررسمی اندروید این شبکه اجتماعی هم موجوده و شاید نیم نگاهی بهش انداخته باشید. ولی بیاید راجع به مسائل دیگه ای صحبت کنیم. در بحث کاربردی بودن این شبکه اجتماعی جدید هیچ شکی نیست ولی مانند خیلی نمونه های قدیم و جدید دیگه ای ، مشکلات زیادی هم پشت سرش درست میشه.
چند وقت بعد از اینکه نسخه های نهایی برنامه منتشر شد ، مسابقه ای هم بین توسعه دهنده های کل دنیا شروع شد ! مسابقه برای ساخت نسخه های غیر رسمی برای پلتفرم های دیگه ! در اولین مرحله هم نسخه iOSبرنامه و درخواست های شبکه اش آنالیز شد و نتیجه اش شد به دست آمدن لیست API های این شبکه اجتماعی و جزئیات کامل اون. اینجا بود که نسخه های جدید Clubhouse شکل گرفت. یکی از این نسخه ها که اوایل محبوبیت زیادی هم پیدا کرد Open Clubhouse بود ؛ یک برنامه تحت وب که تقریبا تمامی قابلیت های نسخه رسمی رو داشت ولی Clubhouse پنج روز بعد حساب کاربری توسعه دهنده رو مسدود کرد ! این پروژه الان متوقف شده ولی ریپازیتوری اون هنوز موجوده :
از سمت دیگه مشکلاتی برای اتاق های باز ( Public ) این شبکه اتفاق افتاد. در بازه کوتاهی پس از انتشار برنامه ، اتاق ها و گفتگوهای حساس سیاسی شکل گرفت که اکثرا در Taiwan و Xinjiang بود. از اونجایی که فضای مجازی چین به شدت سانسور میشه ( مثلا ما خودمون خیلی آزادیم ? ) خیلی از کاربر ها از شنود صحبت هاشون توسط پلیس و عواقبش ترسیدن. گرچه هنوز گزارش پیگیری به طور رسمی منتشر نشده ولی مقامات چین این برنامه رو از تاریخ 8 فوریه ممنوع کردن و کلی بحث های مختلف در خبرگزاری های چین منتشر شد و امنیت این برنامه زیر سوال رفت.
تجربیات شخصی
من هم مانند خیلی های دیگه ، ابتدا کاربر عادی بودم تا اینکه نسخه های غیر رسمی Clubhouse رو دیدم و لیست API اون هم به دست آوردم. به هم ریختگی ها و مشکلات زیادی اینجا وجود داره ؛ بعضی ها خنده دار و بعضی ها مشکل ساز. بیاید از استراق سمع شروع کنیم.
بریم سراغ کمی صحبت های فنی ! اینجا سرویسی به اسم Agora وجود داره ، یک پلتفرم ارتباط Real-time که Clubhouse هم از ویژگی Live Audio Streaming اون استفاده میکنه.
روش کار به این صورته که وقتی کاربر به یه اتاق می پیونده درواقع درخواست های متعددی به زیرساخت های Agora ارسال میشه تا این ارتباط برقرار بشه. گرچه به هنگام ثبت نام Token های مختلفی جهت اعتبارسنجی ساخته میشه و در هر درخواست از اونها استفاده میشه ولی مشکل جای دیگه است !
استراق سمع وقتی اتفاق میوفته که این ارتباط مداوم بین Agora و Clubhouse قطع میشه. وقتی Session مربوطه به اتمام برسه Clubhouse شما رو از اتاق بیرون میندازه ولی همچنان کانال صوتی Agora فعاله ! کمی فکر کنید ! با این روش افراد مختلف میتونن همچنان به مکالمات گوش بدن در صورتی که مشخصات اون ها در اعضای کانال ( اتاق ) وجود نداره و این یعنی استراق سمع ! یا اصطلاح انگلیسی Ghost listening که خب خودم به شخصه تستش کردم و از این قضیه مطمئن شدم.
حالا بماند که وقتی با استفاده از این API ها و ارتباط مستقیم با Agora میشه تمام مکالمات رو ضبط کرد ، اگه کمی بهش فکر کنید همین مورد خودش جنبه های امنیتی مختلفی داره.
این مشارکت با Agora باعث بروز نگرانی های دیگه ای هم شده. این شرکت که عمدتا در چین و آمریکا فعالیت میکنه در اعلامیه IPO خودش اعلام کرده که داده هاش ممکنه تحت قانون امنیت سایبری چین باشه و به اپراتور های شبکه کمک کنه تا به تحقیقات پلیس بپیوندند. البته این احتمال منوط به اینه که Clubhouse داده هاش رو در چین ذخیره کنه. گرچه همچنان این برنامه در چین ممنوع هست ولی پروژه های غیر رسمی زیادی ازش ساخته شده که با یه جستجو ساده می تونید بهش دسترسی پیدا کنید.
اگر شماهم برنامه نویس هستید و میخواید تو این مسابقه شرکت کنید سری به این ریپازیتوری که آماده کردم بزنید و شروع به کار کنید.
لینک مستقیم Collection :
توجه
- تقریبا هیچ Rate limit سنگینی وجود نداره پس خیالتون راحت باشه ?
- در صورت ارسال زیاد کد تایید برای چند دقیقه شماره تون بلاک میشه
- پیشنهاد میکنم اگر تا حالا حساب کاربری Clubhouse ندارید از این API استفاده نکنید چون بلافاصله شماره موبایلتون بلاک میشه ?
- خیلی از بخش های API در حال حاضر Optional حساب میشه و حتی چندتا از Endpoint ها رو به این لیست اضافه نکردم چون آزمایشی بودن و خود Clubhouse ازشون استفاده نمیکنه. فقط گزینه اش رو گذاشته برای آینده !!!!! ?
- سعی کنید برای تست از یه شماره دیگه استفاده کنید. حساب کاربری جدید بسازید چون ممکنه بلاک بشید. وضعیت بلاک بودن با درخواست Check در Authentication مشخص میشه.
- توسعه دهنده های خوبی باشید و سواستفاده نکنید ?
مطلبی دیگر از این انتشارات
سرویس های ابری : شریک یا فروشنده ؟
مطلبی دیگر از این انتشارات
مانیتورینگ 200 هزار درخواست DNS در ثانیه
مطلبی دیگر از این انتشارات
بومی سازی سیستم مانیتورینگ - بخش اول