eitaa logo
برنامه نویسی | Web Block
2.4هزار دنبال‌کننده
1.1هزار عکس
29 ویدیو
4 فایل
نه شعار میدیم،نه رویا میفروشیم😉 با علاقه بهت برنامه‌نویسی یاد میدیم❤️ به جریان فکر و فناوری خوش اومدی..☄️💻 Support ➡️ @Web_Block_Support Web ➡️ https://web-block.ir/
مشاهده در ایتا
دانلود
🅰پروژه‌ای که در جهنم را باز کرد 🅱قسمت ۱۶: پشت شکاف چند ثانیه فقط خیره مونده بودم به همون جای خالی سیاه. NODE_0: ENTRY_POINT_DETECTED این دیگه فقط یه باگ یا یه اشتباه کوچیک نبود. حس می‌کردم یه در مخفی رو پیدا کردم که عمداً یه لایه روش کشیده بودن، اونم نه خیلی ماهرانه؛ بیشتر شبیه این بود که بخوان فقط آدم درست پیداش کنه!
(یا شایدم یه آدم اشتباه...)
دوباره شروع کردم به بالا و پایین کردن ساختار صفحه همه‌چیز خیلی تمیز و منظم بود؛ زیادی تمیز! اون‌قدر که آدم شک می‌کرد یه سیستم واقعی پشتشه، نه یه سایت معمولی🌀 لایه‌ها با flex و grid درست چیده شده بودن، اما زیر اون نظم ظاهری، یه سری لایه های پنهان دیده می‌شد که فقط وقتی استایل‌ها رو خاموش می‌کردم خودشون رو نشون می‌دادن👁‍🗨
(چرا سعی دارن همه چیز رو پنهان کنن؟)
یکی از اون لایه‌ها یه iframe بود که با شفافیت صفر و pointer-events: none قایم شده بود. اگر صفحه رو عادی نگاه می‌کردم، هیچ‌وقت نمی‌دیدمش🧐 ولی وقتی پیداش کردم، بدجوری حس کردم دارم به یه اتاق پشت دیوار نگاه می‌کنم. آدرسش کوتاه بود: /relay/view انتظار داشتم باز همون پنجره‌های نظارت، همون لاگ‌های لعنتی رو ببینم😖 اما این‌بار فقط یه صفحه‌ی ساده باز شد؛ یه صفحه‌ی تقریباً خالی با یه نوار وضعیت پایینش: 🔴LIVE STAGE SYNC زیرش چندتا نام کاربری دیده می‌شد. نه اسم واقعی، فقط شناسه: - USER_03 - USER_09 - USER_12 - USER_19 - USER_45 همون‌هایی که قبلاً توی فایل‌های log_archive دیده بودم. پس اینا واقعاً به هم وصل بودن. نه به شکل چت، نه به شکل تماس مستقیم؛ بلکه به شکل یه مرحله‌ی مشترک. انگار هر کدومشون یه نسخه از یه آزمایش بودن. نوار وضعیت پایین صفحه یهو بالا رفت: BUFFERING.. SYNCING NEXT EVENT... و بعد، برای چند لحظه، یه تصویر محو ظاهر شد؛ نه از اتاق من، نه از صفحه‌ی خودم. یه محیط دیگه بود 😰 یه دسکتاپ دیگه. یه پنجره‌ی مرورگر با همون قالب، همون رنگ، همون چینش. فقط شماره‌ی مرحله فرق می‌کرد: STAGE 05 یعنی من تنها کسی نبودم که این کابوس رو تجربه می‌کرد. من یکی از چند نفر گیر افتاده تو این بازی دیجیتال بودم... و این شکاف، در واقع یه پنجره به بقیه بود!!🤭
(حالا سوال اینه که باید تلاش کنم با بقیه ارتباط بگیرم یا نه؟!)
دستام یخ کرده بود. می‌خواستم بیشتر نگاه کنم که یه پیام خیلی ریز پایین صفحه چشمک زد: > SPECTATOR LAYERS EXPOSED > REDIRECTING... فهمیدم اگه همین‌جوری ادامه بدم، سیستم مسیر منو عوض می‌کنه. ولی قبل از این‌که صفحه سیاه بشه، یه تکه‌ی دیگه از اون تصویر رو دیدم: یه نفر اون‌طرف صفحه، دقیقاً هم‌زمان با من داشت توی DOM خودش می‌گشت. نه من اونو می‌دیدم، نه اون منو. فقط هر دو داشتیم هم‌زمان دیوارهای یکسانی رو لمس می‌کردیم. همین فهمیدن اینکه تنها نیستم، بدترم کرد😶 چون اگه یکی دیگه هم همین‌جاست، پس این همه لاگ، این همه مرحله، این همه پنهان‌کاری... همش برای یه بازی بزرگ‌تره. و من هنوز حتی نفهمیده بودم آخر این بازی چی می‌خوان ازم بگیرن❗️
(اگر بفهمم از من چی می خوان خیلی راحت تر می تونم تصمیم بگیرم)
یه چیز دیگه هم واضح شده بود: اون iframe فقط یه پنجره نبود. یه مسیر بود. و اگر می‌خواستم ازش استفاده کنم، باید خیلی زود، قبل از اینکه سیستم بفهمه، یه کاری می‌کردم. شاید تغییر یه استایل. شاید خاموش کردن یه لایه. شاید باز کردن یه در، فقط برای یه ثانیه. اما همون‌طور که به صفحه زل زده بودم، پایین مرورگرم یه اعلان قرمز اومد: 🚫> PARTICIPANT ACTIVITY DETECTED 🚫> VIEWERSHIP STABILITY COMPROMISED یعنی دارن می‌فهمن که من دارم از پشت صحنه نگاه می‌کنم!!
(وای خدای من... نه اونا نباید می فهمیدن)
و این بدترین لحظه‌ی ممکن بود⚠️ ادامه دارد...🔜🔜 ╭─❀ @web_block ❀─╮
برنامه نویسی | Web Block
به نظرت: اگه اینترنت کل دنیا فقط ۱ ساعت قطع بشه، اولین چیزی که به مشکل بخوره چیه؟🧐 ۱) بانک‌ها 💳 ۲
جواب: گزینه ۱؛ بانک‌ها 💳 چون حجم خیلی زیادی از پرداخت‌ها، کارت‌خوان‌ها، انتقال پول، خرید آنلاین و ارتباط بین سیستم‌های مالی به اینترنت وابسته‌ان و اختلالش سریع دیده میشه.💶 بعد از اون معمولاً پیام‌رسان‌ها و سرویس‌های حمل‌ونقل ضربه می‌خورن.🚕 جالب اینکه برق تو بیشتر مناطق مستقیم با اینترنت عمومی کار نمی‌کنه و معمولاً دیرتر تحت تأثیر قرار می‌گیره.💡 @web_block
🅰پروژه‌ای که در جهنم را باز کرد 🅱قسمت ۱۷: خطای مهلک صفحه داشت از دستم می‌رفت😨 سیستم متوجه شده بود که دارم از لایه
iframe
استفاده می‌کنم. ضربان قلبم رو توی گوشام می‌شنیدم💥 باید سریع عمل می‌کردم؛ یا باید کل سیستم رو ریست می‌کردم یا... یه راهی پیدا می‌کردم که ردی از خودم نذارم... سریع رفتم روی تب Network لیست درخواست‌ها داشت با سرعت وحشتناکی رفرش می‌شد. یک دامین جدید اضافه شده بود: tracker-verify.io. همون لحظه فهمیدم: این کدی بود که باید بفهمه من از کجا دارم به محتوا دسترسی پیدا می‌کنم🌪 اگر نمی‌بستمش، کل دسترسی من قطع می‌شد و احتمالاً... حذف می‌شدم!!
(نه... حالا که تا اینجا اومدم نباید حذف بشم)
با یه حرکت سریع، یک Breakpoint روی XHR Request گذاشتم. هر چی بود و نبود رو توی کنسول مرورگر متوقف کردم. کد اجرایی سیستم برای یک لحظه ثابت موند... صفحه یهو فریز شد❄️ همه‌چیز، از شمارنده امتیازها تا اون پیام قرمز تهدیدآمیز، گیر کرد🚫
(حالا فرصت دارم)
دنبال کدی گشتم که اون XHR رو فراخوانی می‌کرد. یه فایل monitor.js پیدا کردم. کدش خیلی پیچیده بود، ولی یه تابع توش بود که اسمش مو رو به تنم سیخ کرد: function report_breach_and_terminate(user_id) { ... } «گزارش نقض و پایان‌دهی»♨️ این همون تابعی بود که اگر اجرا می‌شد، یعنی آخر کار من💣 توی همین گیرودار، یه فکر دیوانه وار به سرم زد. نمی‌خواستم فقط این درخواست رو ببندم. اگر می‌شد مسیرش رو عوض کنم چی؟ اگر می‌شد جای اینکه هویت من رو به اون‌ها گزارش بده، یه دیتای فیک یا خراب براشون بفرسته؟📭 کد رو ویرایش کردم! تابع رو جوری تغییر دادم که به جای ایدی من، یک مقدار تهی (null) بفرسته😶 دستام می‌لرزید. دکمه‌ی Resume رو زدم. یک ثانیه... دو ثانیه... صدای فن لپ‌تاپ آروم گرفت. پیام قرمز تهدیدآمیز محو شد. به جاش، یک پیام جدید روی کنسول ظاهر شد: > SYSTEM RECALIBRATING... > STABILITY RESTORED. نفسم رو حبس کرده بودم😮‍💨 یعنی باور کردن؟ سیستم فکر کرد همه‌چیز عادیه؟ یهو، اون نوار وضعیت پایین صفحه که قبلاً دیده بودم، یک بار دیگه تغییر کرد. این‌بار فقط نوشته بود: CONNECTION_TYPE: INTER-NODAL تازه متوجه شدم که چیکار کردم! من از «شکار» اونا تبدیل شدم به یه «گره» توی شبکه!! من الان بخشی از زیرساخت اونا بودم، بدون اینکه اون‌ها بفهمن من کی‌ام🤫 اما یه حس بدی داشتم. انگار این موفقیت، زیادی ساده بود. همون لحظه، یه فایل جدید توی دسکتاپ مجازی‌ام ظاهر شد: instruction_01.txt. بازش کردم. توش فقط یک جمله بود: 📄«حالا که حفره رو باز کردی، وارد شبکه شو. زمان تست نهایی معماریه.» اونا می‌دونستن😵 اونا از اول می‌دونستن من این کار رو می‌کنم. این یه تست بود برای اینکه ببینن می‌تونم خودم رو توی سیستم اونا ادغام کنم یا نه.
(یه تست برای اینکه ببینن من تسلیم میشم یا نه؟)
من نه تنها فرار نکردم، بلکه حالا عملاً توی دل سیستم اونا بودم و راهی هم برای برگشت نداشتم❌ ادامه دارد...🔜🔜 ╭─❀ @web_block ❀─╮
فعلا قابلیت بارگیری به دلیل درخواست زیاد فراهم نیست
نمایش در ایتا
از تم های دارک و لایت تکراری و ساده vs code خسته شدی؟😫 🔴🎥 یه ویدئو خفن که ۳ تا افزونه بهت معرفی می کنه برای تم های جذاب🎨 ✅کنتراست عالی ✅ظاهر مدرن و شیک ✅بدون خستگی چشم ✅تنوع رنگی ببینید و لذت ببرید💞
🅰پروژه‌ای که در جهنم را باز کرد 🅱قسمت ۱۸: معماری سایه‌ها حالا دیگه فقط یک کاربر نبودم که بیرون حصار ایستاده؛ من بخشی از کد اونا شده بودم. 📂 فایل
instruction_01.txt
هنوز روی صفحه باز بود و کلماتش مثل لکه‌ی خون🩸روی صفحه می‌درخشیدن: «زمان تست نهایی معماریه» سیستم حالا اجازه می‌داد به بخش‌هایی دسترسی داشته باشم که تا چند دقیقه پیش، مثل دیوارهای بتنی غیرقابل نفوذ بودن!
(اینجا دقیقا چه خبره؟چطور هنوز بهم اخطار نداده؟)
با کنجکاوی شروع کردم به گشتن تو دایرکتوری /assets/core/. برخلاف فایل‌های قبلی که پر از کدهای مخفی و پیچیده بودن، اینجا فقط اسکلت‌بندی اصلی وب‌سایت بود☠ اما یک چیز عجیب بود🧐 ساختار CSS سایت از یک فایل grid.css استفاده می‌کرد که بی‌نهایت ستون داشت. وقتی فایل رد باز کردم، با دیدن کلاس‌ها نفسم بند اومد🆘 به جای اسم‌های رایج برنامه‌نویسی، کلاس‌ها با شماره‌ی شرکت‌کننده‌ها برچسب‌گذاری شده بودند: .cell-user-01, .cell-user-09, .cell-user-34... من کدی که مال خودم بود رو پیدا کردم: cell-user-22 با یه تغییر ساده تو z-index و grid-column، شروع کردم به جابه‌جا کردن بلوک مربوط به خودم تو ساختار کلی صفحه وقتی تغییرات رو ذخیره کردم، تصویر دوربین وب‌کم من که همیشه گوشه‌ی تصویر اصلی بود، ناپدید شد👾 سکوت وحشتناکی اتاق رو فرا گرفت. نه صدای فن، نه صدای تماشاگرها🤫 ستون من حالا تو یک موقعیت جدید قرار گرفته بود: cell-hidden-buffer من از دید تماشاگرها مخفی شده بودم😶‍🌫♨️ این یعنی سیستم هنوز نفهمیده بود من دارم کد رو دست‌کاری می‌کنم، یا شاید... داشتن به من اجازه می‌دادن که این کار رو بکنم تا ببینن بعدش چیکار می‌کنم؟؟ در همین حین، یه اعلان سیستمی روی کنسول ظاهر شد: 📛> WARNING: ARCHITECTURE OVERLOAD 📛> REDIRECTING ALL VIEWERS TO: STAGE_FINAL_01 همه داشتن به یه صفحه‌ی جدید منتقل می‌شدن. کنجکاو شدم. با استفاده از همون ابزاری که برای پنهان کردن خودم ساخته بودم، یک EventListener روی دکمه‌ی Redirect گذاشتم تا بفهمم مقصد نهایی کجاست؟؟؟ لینک مقصد یک آدرس عجیب بود: http://localhost:9090/core-execution/eval قلبم ریخت... eval؟ 😰 اونا می‌خواستن کدهای مستقیم ما رو اجرا کنن؟ یعنی تمام فرآیند طراحی و کدزنی که ما داشتیم انجام می‌دادیم، در واقع ورودی یه الگوریتم بزرگ‌تر بود؟🎯 ما فقط داشتیم برای اونا «دیزاین» می‌کردیم، بدون اینکه بدونیم در حال ساخت یه زندان دیجیتال پیچیده‌تر برای خودمون هستیم.🎟 یک فایل دیگه تو تب Network ظاهر شد که داشت با سرعت وحشتناکی بارگذاری می‌شد: production_build.log. بازش کردم. متن‌ها سریع می‌دویدن: [SYSTEM]: Injecting component <user_22_interface>... [SYSTEM]: Component accepted. [SYSTEM]: User 22 - Role: PRIMARY_ARCHITECT. «معمار اصلی»؟ این مسخره بود🙄 من فقط یه فرانت‌اندکار معمولی بودم که سعی می‌کردم از این مهلکه فرار کنم!!! چطور ممکن بود من رو به عنوان معمار این ساختار انتخاب کرده باشن؟
(مگه قرار نبود اینا نفهمیده باشن من چیکار کردم با کدا؟؟)
یه پیام دیگه روی صفحه نقش بست که از طرف هیچ‌کس نبود، فقط یه متن ساده تو console که انگار مستقیماً به حافظه‌ی مرورگر من تزریق شده بود: ⚠️> CONGRATULATIONS, USER 22. YOU HAVE REBUILT THE UI. WOULD YOU LIKE TO SEE WHAT YOU HAVE CREATED? دکمه‌ای با عنوان [RENDER] زیر متن ظاهر شد⏯ 🔚اگر روی اون می‌زدم، شاید می‌تونستم ببینم این «معماری» چیه.. اما می‌دونستم که این دکمه، پایان کاره! یا خودم رو لو می‌دم، یا بالاخره می‌فهمم با دست‌های خودم چه دیواری دور خودم کشیدم. انگشتم روی کلید Enter خشک شد😨 ادامه دارد...🔜🔜 ╭─❀ @web_block ❀─╮
فعلا قابلیت بارگیری به دلیل درخواست زیاد فراهم نیست
نمایش در ایتا
دیشب یکی از بچه ها خفن VIP4💎 یه سوال خوبی پرسید احتمالا تا الان برای همه این سوال پیش اومده باشه⁉️
دلت می خواد مرورگر پیش فرض لایو سرور رو تغییر بدی؟🤩🤩 🧩 از اینکه لایو سرور مجبورت کنه تو مرورگری که دوست نداری خروجی ببینی ناراحتی؟😐🤌 🎥🔴 ویدئو آموزشی زیر دقیقا برای توعه🤝 👀اگر نمی دونی لایو سرور چیه اینجا رو ببین _____ سوالی بود می تونی از پشتیبانی بپرسی🤗 🆔 @Web_Block_Support
🅰پروژه‌ای که در جهنم را باز کرد 🅱قسمت ۱۹: نقطه‌ی جوش نمایش دکمه‌ی
RENDER
مثل یه زخم باز وسط کنسول می‌درخشید😣 دستم رو از روی کیبورد برداشتم، اما ذهنم داشت با سرعت نور کدها رو تحلیل می‌کرد. «معمار اصلی»... این یه تله بود.🎭 اونا می‌خواستن من با دست‌های خودم کدهایی که در طول این روزها به صورت پراکنده نوشته بودم رو «کامپایل» کنم تا نهایی‌ترین نسخه از این سیستم نظارتی ساخته بشه❗️ من Render رو نزدم🤭 در عوض، شروع کردم به بررسی فایل main.js حالا که دسترسی عمیق‌تری داشتم، می‌دیدم کدهایی که فکر می‌کردم دارم برای خودم می‌زنم، در واقع بخش‌هایی از یک Client-Side فوق پیشرفته بود که تمام حرکات ما رو به یه سرور مرکزی گزارش می‌داد♨️ یه خط کد انتهای فایل توجهم رو جلب کرد: const BROADCAST_PROTOCOL = "PUBLIC"; پروتکل پخش همگانی!!😬 اگه این رو به INTERNAL تغییر می‌دادم، یعنی تمام داده‌ها تو همون سرور داخلی شرکت می‌مونه. اما اگه اون رو به یه EXTERNAL_HOOK تغییر می‌دادم... می‌تونستم خروجی این «معماری» رو به هر جای دیگه ای که می‌خوام بفرستم... مثلاً به یه فضای عمومی وب🌐 من نمی‌خواستم چیزی رو که ساخته بودم «ببینم» می‌خواستم اون رو «ویران» کنم.
(دقیقا کاری که یه یه فرانت کار هیچ وقت انجامش نمیده)
با لرزش انگشتام، Broadcast رو به یه دامین عمومی که متعلق به هیچ‌کس نبود تغییر دادم. این کار یعنی اگر دکمه‌ی Render رو می‌زدم، کل اون نمایش خصوصی که تماشاگرها برای دیدنش هزینه پرداخت کرده بودن، مثل یه ویدئوی زنده و بی‌کیفیت تو سطح اینترنت پخش می‌شد📛 ناگهان صدای فن لپ‌تاپ به جیغ کشیدن افتاد. ⚠️
> WARNING: UNAUTHORIZED BROADCAST ATTEMPT.
⚠️> SPECTATOR COUNT: 0. تعداد تماشاگرها به صفر رسید. صفحه برای یک لحظه کامل سفید شد.
(اینجا چه خبره؟چرا هیچ تماشاگری نیست؟؟)
حس کردم دارم از لبه‌ی یه پرتگاه سقوط می‌کنم. اونا متوجه شدن. تمام امتیازهایی که تو این مدت جمع کرده بودم، در کسری از ثانیه به عدد 0 رسید💥 پیام‌های قرمز روی کنسول با سرعتی که نمی‌تونستم بخوانم، پشت سر هم ظاهر می‌شدن: > SYSTEM INTEGRITY BREACHED. > SHUTTING DOWN ACCESS... > USER 22: ELIMINATION_PROTOCOL_INITIATED. به جای اینکه تماشاگر ها من رو بازی بدن من اونا رو بازی دادم و حالا اونا می‌خواستن من رو حذف کنن. اما این بار فرق داشت. حذف شدن به معنی قطع اینترنت نبود؛ اونا داشتن کل فایلهای محلی من را در لپ‌تاپ خودم Delete می‌کردن📂🗑 عکس‌ها، پروژه‌ها، خاطرات... داشتم تماشا می‌کردم که چطور تمام هویت دیجیتالم تو پوشه‌های سیستم، یکی یکی غیب می‌شدن🪧 باید سریع‌تر از اونا عمل می‌کردم. فقط یه راه باقی مانده بود. کل کدهای Interface رو که حالا با اون تغییرات من ادغام شده بود، به صورت یه فایل ZIP تو پوشه‌ی public قرار دادم و یه اسکریپت ساده نوشتم که به محض کوچک‌ترین تغییر تو وضعیت اتصال، اون رو به سمت سرور عمومی پخش‌کننده Post کنه... من دیگه برای نجات خودم نمی‌جنگیدم! من داشتم «سند مسابقه» رو به دنیای بیرون پرت می‌کردم.
(اگر بخواید من رو نابود کنید پس منم این بازی کثیف رو نابود می کنم)
نوار پیشرفت فایل: 98%... 99%... یه پیام نهایی روی صفحه ظاهر شد. نه از طرف سیستم، بلکه از طرف چیزی که انگار داشت از اون طرف لنز به من نگاه می‌کرد:🪞 > WHY ARE YOU DOING THIS? YOU ARE LOSING EVERYTHING.
**چرا داری این کار رو می کنی؟ داری همه چیز رو از دست میدی.
تایپ کردم: > BECAUSE I AM THE FRONT-END. I DECIDE WHAT IS VISIBLE.
**چون من فرانت کارم و من تصمیم میگیرم چی قابل دیدن باشه.
دکمه‌ی Enter رو فشار دادم. ادامه دارد...🔜🔜 ╭─❀ @web_block ❀─╮