
اگرچه می گوییم که "جادو و تکشاخ ها در قلب R.O.B.E.R.T" هستند ، از نظر فنی صحیح نیست. در واقعیت ، هیچ شکاری وجود ندارد ، اما یک جادو وجود دارد.
R.O.B.E.R.T. یک پروکسی DNS سفارشی است که در Go نوشته شده است. R.O.B.E.R.T. باینری در هر سرور VPN مستقر می شود ، و جلوی سرور بازگشتی DNS قرار می گیرد و پرس و جوهای DNS را به نمایندگی از همه کاربران متصل ارائه می دهد.
فاز 1 – اتصال به سرور VPN
هنگامی که دکمه ON را در برنامه های ما فشار می دهید ، یا اتصال به یک سرور VPN را به صورت دستی آغاز می کنید ، مجموعه ای از اعتبارات را با تلاش برای اتصال تهیه می کنید. اعتبار اطمینان حاصل می شود تا اطمینان حاصل شود که اجازه دسترسی به سرور را دارید. یک IP RFC1918 به هر کاربر متصل اختصاص داده می شود.
تنظیمات مرحله 2 – واکشی
اتصال اتصال یک درخواست به API می دهد ، و با گرفتن R.O.B.E.R.T. تنظیمات مربوط به کاربر تازه متصل پس از دریافت تنظیمات ، R.O.B.E.R.T. مطلع شده است که یک مشتری جدید متصل شده است ، و تنظیمات + قوانین سفارشی را به آدرس IP خاص LAN که در فاز 1 اختصاص داده شده است اعمال می کند. اکنون برنامه باید وصل شود.
این قوانین در حافظه ROBERT ذخیره می شوند تا اجازه دهند برای جستجوی سریع سرعت ، از آنجا که برای هر پرس و جو DNS ، جستجو باید انجام شود و هر میکروثانیه حساب می شود. ما توانسته ایم با دستیابی به 20،000 پوند در هر ثانیه ، با میانگین زمان جستجو 5 میکرو ثانیه از یک نمونه از ROBERT
فاز 3 – عملیات
شما درخواست بارگیری کنید. reddit.com رایانه شما باید آدرس IP وب سایت را بداند ، بنابراین یک پرس و جو DNS را از طریق تونل به ROBERT می فرستد
از دید ROBERT ، تمام نمایش داده های DNS از آدرس های IP IP تصادفی سرچشمه می گیرند که هنگام اتصال کاربر اختصاص می یابد ، نه از ROBERT با IP منبع واقعی WAN که عاملی نیست ، اشتباه گرفته شود به آن دسترسی ندارد.
R.O.B.E.R.T. تنظیمات بلاک لیست در حافظه را جستجو می کند تا ببیند آیا قوانینی برای این دامنه وجود دارد یا خیر. اگر یک قانون BLOCK وجود دارد ، R.O.B.E.R.T. پاسخ را خراب می کند و 0.0.0.0 و :: / 0 (معادل ipv6) را برمی گرداند. مرورگر شما سعی می کند به آدرس IP وصل شود ، که انجام نشد. بلوک اجرا می شود!
اگر برای این دامنه هیچ قاعده تطبیقی وجود ندارد ، در لیست های بلوک خانه ها ، لیست های بلوک های سفارشی ، یا اینکه لیست سفید خود را انتخاب کرده اید ، R.O.B.E.R.T. پرس و جو DNS را در بالادست ، به حلال DNS (BIND) که در همان دستگاه کار می کند ، پروکسی می کند. به صورت بازگشتی دامنه را از سرورهای معتبر برطرف می کند و با آدرس IP (های) دامنه پاسخ می دهد. سپس سیستم عامل / مرورگر شما اتصال به IP را آغاز می کند و محتوا را بارگیری می کند.
فاز 4 – به روزرسانی های تنظیمات زنده
وقتی تغییر در R.O.B.E.R.T. تنظیمات ، آنها در پایگاه داده ما ذخیره می شوند. هرگونه تلاش اتصال بعدی آنها را واکشی می کند و آنها را در طی فرآیند اتصال به کار می گیرد. اما چگونه می توانید آنها را در زمان واقعی برای تمام اتصالات خود در آن حرکت دقیق به روز کنید؟ این جایی است که جادو وارد می شود.
اگر خط مشی رازداری ما را به خاطر می آورید ، به خاطر می آورید که ما تعداد اتصالات موازی شما را در هر حرکتی ذخیره می کنیم (این شامل منبع IP شما نیست). این داده ها برای جلوگیری از سوءاستفاده ، مانند اشتراک گذاری حساب ، استفاده می شود ، اما این به ما امکان می دهد برخی از کارهای زیبا و مرتب را انجام دهیم ، مانند فوراً R.O.B.E.R.T.
بعد از ایجاد تغییرات در وب سایت ، نوار پاورقی (به دلایلی در واقع اسنک بار است) از شما می پرسد که آیا می خواهید برای اعمال تغییرات بلافاصله. این به API ما ضربه می زند ، که درخواستی را به R.O.B.E.R.T ارسال می کند. روی تمام سرورهایی که در حال حاضر به آنها متصل هستید و تنظیمات جدید را ارائه می دهد. R.O.B.E.R.T. فروشگاه داخلی حافظه داخلی خود را به روز می کند و اجرای قوانین جدید را شروع می کند. بسته به فاصله سرور از API مرکزی ما ، این فرایند بین 50ms و 300ms طول می کشد.