radkesvat / FakeTlsTunnel

Tunneling tool for custom tls handshake, with resistance against MiTM,Active detection and more!
MIT License
351 stars 45 forks source link

مشکل رم و سی پی یو #26

Open AkramiPro opened 1 year ago

AkramiPro commented 1 year ago

سرور ایران من 2 گیگ رم و 2 هسته سی پی یو داره نزدیک 100 نفر بهش وصل میشیم وقتی سرور خارج مشکل میخوره و درخواست ها خطا میخورن سرور ایران هنگ میکنه فکر کنم چون fail میشه این باگ میخوره مجبور میشم سرور ری استارت کنم

radkesvat commented 1 year ago

برسی میکنم ...

AkramiPro commented 1 year ago

خیلی ممنون تشکر بابت زحمات شما

radkesvat commented 1 year ago

خواهش میکنم

AkramiPro commented 1 year ago

الان دوباره آمپر چسبوند

image

radkesvat commented 1 year ago

رو سرور ایران حتما یه بار دستور اپدیتو بزنید احساس میکنم اپدیت نیستش نسخه جدید روش نصب باشه بعد دوباره اینجوری شد همینجا با عکس نشون بدید مثل همین

رم سرورتون چقدر هست؟

AkramiPro commented 1 year ago

اینو الان تست میکنم ولی یه مشکل دیگه هم اینه نمیتونم برنامه رو kill کنم من از 2 دستور زیر استفاده کردم ولی دوباره خودش رو ران میکنه وقتی kill میشه pkill FTT kill PID

radkesvat commented 1 year ago

به خاطر service هست اینطوری افش کنید

service (servicename) stop

AkramiPro commented 1 year ago

روی هر 2 تا سرور 10.2 هست

image

AkramiPro commented 1 year ago

اره یادم رفته بود سرویس رو حذف کنم این & حتما باید باشه ؟ image

AkramiPro commented 1 year ago

الان برای هر درخواست که سمت سرور ایران میاد یک تانل tls باز میکنه یا کلا یک تانل باز میشه همه درخواست ها ازش رد میشن ؟

AkramiPro commented 1 year ago

این مشخصات سرور ایران هست سرور خارج اصلا فشاری روش نیست فقط سرور ایران داره دست و پا میزنه بیچاره

image

radkesvat commented 1 year ago

سلام مبحث کانکشن رو ما از ورژن ۲ تا ۸ حالت های مختلفشو تست کردیم اون حالت که کانکشن هارو از یه کانشک عبور میده (mux) توی نسخه ۳ پیاده شد و خوب تست کردیم و فایروال تشخیص اش میداد و بعد از ۲ بار اسپید تست سرعت کانکشن ها به بایت میرسید

بنابر این فایروال خیلی باهوش تر از اونیه که انتظار داشتم و روشی که الان هست کانکشن ahead of time هست که میشه گفت از لحاظ هندشیک تایم با mux برابری میکنه و این خیلی خوبه

radkesvat commented 1 year ago

اون & حتما باید باشه

radkesvat commented 1 year ago

بعد داخل عکس از htop که میدید با زدن دکمه F4 سرچ کنید FTT تا ببینیم دقیقا برنامه چقدر منابع میگیره

AkramiPro commented 1 year ago

image

AkramiPro commented 1 year ago

یه داستانی که هست من قبلا از haprxy استفاده میکردم که حالت پورت فروارد داشت داخل اون میشد تنظیم کرد که درخواست ها رو روی هسته های cpu پخش کنه من الان احساس میکنم برنامه شما داره از 1 هسته cpu استفاده میکنه چون داخل عکس هم دقت کنید یه هسته فقط 100 درصد شده این میتونه دلیلش باشه ؟

AkramiPro commented 1 year ago

این تصویر haproxy هست . خط اول بهش میگفتم که کلا چند تا هسته اجازه داره استفاده کنه خط دوم هم میشد وزن هر هسته رو مشخص کرد image

AkramiPro commented 1 year ago

من حتی تعداد هسته ها هم زیاد کردم و 4 تا هسته شده الان ولی بازم همه فشار روی 1 هسته هست image

AkramiPro commented 1 year ago

نمیشه این رو با nginx هندل کنید ؟ فکر کنم خیلی بهینه بشه اگر بتونید پشت nginx ببرید

radkesvat commented 1 year ago

بله تک هسته هست یه برسی میکنم این مشکل رو همین نسخه رو به روز میکنم با یه build اپتیمایز تر

AkramiPro commented 1 year ago

خیلی ممنون از شما لطف میکنید اون nginx که گفتم شدنی نیست ؟ مشخص هست چقدر طول میکشه بیاد نسخه جدید که گفتید ؟ چون خیلی گیر هستیم سر این الان واقعا خوب داره کار میکنه از نظر اینکه شناسایی نشه . فقط همین اپتیمایز رو انجام بدید عالی میشه

radkesvat commented 1 year ago

یه نسخه تست تا ۱۰ دقیقه دیگه میفرستم تست کنید با nginx واقعیتش اخه کل کار داخل برنامه داره انجام میشه و دقیقا متوجه نشدم کودوم بخش را با ngninx میخواین هندل بشه

AkramiPro commented 1 year ago

اینکه درخواست های ورودی رو با nginx هندل کنید که دریافت کنه روی پورت 443 مثلا بعدش با reverse proxy به برنامه شما منتقل کنه این رو در اموزش های دیگه برای همین trojan هم دیدم که این کار میکنن چون من مثلا قبلا توی سرور دیدم nginx میاد برای هر درخواستی که سمتش ارسال میشه یه child process ایجاد میکنه و کلا در زمینه هندل کردن درخواست تعداد بالا بهینه هست گفتم شاید کمکی بکنه بهتون

radkesvat commented 1 year ago

FTT.zip

اینو تست کنید بخصوص مصرف CPU و بعد از اجرا از htop عکس بدین تشکر

AkramiPro commented 1 year ago

نه فرقی نکرد من به شکل زیر انجام دادم که مطمئن بشم نسخه جدید جایگزین شده rm -rf FTT wget FTT.zip unzip FTT.zip

image

AkramiPro commented 1 year ago

البته من فقط روی سرور ایران نصب کردم این رو و سرور خارج رو اپدیت نکردم اونم اپدیت کنم ؟

radkesvat commented 1 year ago

سرور خارج نیاز نیست اپدیت نکید

radkesvat commented 1 year ago

باید یکم فکر کنم ... رو سرور هایی که من دارم بسته به تعداد کانکشن پرفورمنس خوبی داشت ولی انگار بازم باید بهتر بشه از این نظر

AkramiPro commented 1 year ago

به کانفیگی که استفاده میکنم ربطی داره ؟ من trojan+tcp+tls استفاده میکنم . توی sni کانفیگ دامنه خودم وارد کردم ولی sni تانل همون چیز هایی هست که پیشنهاد دادید و سرعتش اوکی هست فقط این که 100 درصد میشه و هنگ میکنه مشکل هست . چون ssh هم نیمشه بهش زد حتی من باید از پنل وب ری استارت کنم من تاحالا ندیده بودم سرور هنگ کنه خخخ

AkramiPro commented 1 year ago

اگر بهتون کمک میکنه دسترسی ssh بدم خودتون تست کنید؟

AkramiPro commented 1 year ago

جالب اینه سمت سرور ایران فقط این مشکل هست . اگر به خاطر درخواست بالا باشه نباید سرور خارج هم مشکل بخوره ؟ نکنه این cpu های سرور من مشکل دارن ؟ 🤣

radkesvat commented 1 year ago

سرور هنگ کنه ؟! حتی اگه 100 درصد هم بشه نباید سرور هنگ کنه خیلی عجیبه اولین باره این موضوع رو میشنوم حتی اگرم ۱ هسته داشته باشین سیستم عامل اولویت بندی میکنه بین process ها

radkesvat commented 1 year ago

هنوز ایده ای ندارم که مشکل چیه باید فکر کنم چون گفتین سرور هنگ میکنه یکم عجیب شد داستان برام...

AkramiPro commented 1 year ago

به عنوان راه حل موقت به نظرتون خب هست یه اسکریپت بزنم که هر 15 دقیقه سرویس رو ری استارت کنه ؟

radkesvat commented 1 year ago

یه بار هم اینطوری اجرا کنید با این دستور

nohup ./FTT 2>&1 >/dev/null &

تکمیل کنید وسط دستورو

اینطوری دیگه لاگ نمینویسه در فایل و احتمال به پرفورمنس کمک کنه و io کمتر بشه

AkramiPro commented 1 year ago

این هنگ که گفتم برای اون تایم بود که 2 هسته بود چند بار تست کردم وقتی 100 درصد میشد بعد از چند دقیقه هیچی کار نمیکرد نمیشد ssh زد و تایم اوت میخورد حتی با vnc هم وصل میشدم دستور reboot میزدم کار نمیکرد . از پنل مجبور بودم ریبوت سخت افزاری کنم

radkesvat commented 1 year ago

ابتونتو هست ؟ نسخه چند؟ تنظیمات خاصی روش زدین ؟ اسکریپت bbr روش فعال کردین؟

AkramiPro commented 1 year ago

وای مهندس مشکل همین بود . نمیدونم چرا فکر میکردم اینو فعال کردم من همیشه کرنل xanmod نصب میکنم و bbr2 روش فعال میکنم . نمیدونم چرا روی این سرور فکر میکردم انجام دادم الان cpu دیکه 100 نمیشه الان trojan اوکی هست استفاده کنم ؟ کانفیگ پیشنهادی شما چی هست ؟

radkesvat commented 1 year ago

من خودم تروجان استفاده میکنم چون مستقیم باهاش اوکی میکردم و هسته تروجان گو ولی با این تونل فرقی نمیکنه کانفیگ چی باشه حتی بدون tls هم فرقی نداره

AkramiPro commented 1 year ago

یه مورد رو من متوجه نشدم . مگه ارتباط اولیه که بین کلاینت و سرور ایران هست نباید tls باشه که انکریپت بشه و شناسایی نشه ؟ عجیب هست برام میگید که فرقی نمیکنه چ کانفیگی باشه چون کانفیگ tcp بدون tls هم میشه درست کرد که سرعت بیشتری داره یا مثلا وب سوکت یعنی از نظر فیلتر شدن هیچ فرقی نداره چ کانفیگی استفاده کنیم با اسکریپت شما ؟ خود ایپی سرور ایران مشکل دار نمیشه اگر tls استفاده نکنم ؟

radkesvat commented 1 year ago

دیتا تا زمانی که به سرور ایران میرسه ( تا اونجایی که من میدونم ) ماهیت و پروتکلش اهمیتی نداره که tls باشه یا نباشه اما دیتا زمانی که از تونل به خارج ارسال میشه اتومات توسط برنامه رمزنگاری میشه مثل همونکاری که tls میکنه و در حقیقت شما با استفاده از tls در کانفیگ و استفاده از این تونل دیتا ۲ بار رمز میشه و اگه پروتوکل رو وی مس هم بزارید دیتا ۳ بار رمز میشه ولی ۱ بار هم کافیه واسه همین وی لس بدون tls هم جواب میده (با این تونل و نه مستقیم؛ مستقیم ریلیتی یا هدر و غیره )

AkramiPro commented 1 year ago

خیلی ممنون از توضیحات شما . پس یعنی خطری نداره من دیتا رو بدون tls تا سمت ایران بیارم حالا کدوم کانفیگ بهتر هست ؟ vless یا تروجان ؟ من خیلی خوندم توی نت . پاسخ دقیقی پیدا نکردم ولی میدونم تروجان خیلی خودش رو شبیه درخواست عادی https جا میزنه تا dpi و gfw نتونن تشخیص بدن پیشنهاد شما چیه ؟ مورد یعدی اینه که tcp بهتر هست یا ws یا h2 ? خیلی فرق میکنن ؟

radkesvat commented 1 year ago

به نظرم تروجان و وی لس خیلی شبیه هم هستن من RFC هاشونو خوندم همشون یه اتصال tls برقرار میکنن ( Vless اختیاری) و بعد دیتا رو مثل socks5 با یه سری اپشن ها مثل پسورد و غیره میفرستن و رد و بدل میشه همین ؛‌ منتهی داخل تروجان استاندارد این هست که اگه پسورد درست نباشه کانکشن منتقل میشه به ریورس پروکسی و از اینجور داستان ها خلاصه سرتونو درد نیارم

از نظر من فرق زیادی بین این ها نیست ولی بین ترسنپورت ها ترجیها tcp رو انتخاب میکنم

radkesvat commented 1 year ago

یه نکته ای هم بگم درمورد اوردن دیتا بدون tls به سرور ایران ؛ اوردن دیتا بدون tls به منظله این نیست که دیتا cleartext هست ؛ هندشیک بین کلاینت و سایت نهایی که کاربر بازدید میکنه همیشه انجام میشه و در نتیجه دیتا توسط هکر ها قابل دیتسابی نیست بخوابم دقیق تر بگم دیتا بدون tls در پروتوکل های v2ray میشه مثلا ۴۰ بایت دیتا کلیر تکسک مشخص کننده اطلاعات پروتوکل و بغیه بایت ها با پابلیک کی سیستم عامل کاربر رمز میشن اگه نگران این مورد بودین گفتم

و شاید بپرسید چرا اصلا پس tls میزنن رو کانفیگا ؟ به خاطر اون ۴۰ بایت اول که مال v2ray هست و فایروال با خوندن اون و دیدن دامنه و اطلاعات socks5 متوجه vpn بودن میشه که برای حل این مشکل یا tls یا vmess هستن...

ولی چون دیتا وارد سرور ایران میشه و تا جایی که میدونم فایروال اینجا نصب نیست پس جای نگرانی نیست که پروتوکل چی هست

AkramiPro commented 1 year ago

خیلی ممنون از توضیحات خوب شما متوجه شدم فقط این RFC ها کجا هست من بخونم ؟ من اتفاقا خیلی دوست دارم اینارو درک کنم که چطوری کار میکنن اینطوری میشه توسعه دادشون و بهترشون کرد

radkesvat commented 1 year ago

اوپن سورس هستن سورس کدهاشونو بخونید بخصوص تروجان گو که برای من جالب بوده همیشه

AkramiPro commented 1 year ago

مهندس خواستم اطلاع بدم که من تروجان بدون tls تست کردم اصلا وصل نشد فقط با tls برای من وصل میشه من shadowsocks هم تست کردم واقعا سرعت فضایی داره خیلی بهتر از تروجان هست ولی نمیدونم فیلتر میشه یا نه

radkesvat commented 1 year ago

تروجان اصلا تو استانداردش tls تعریف شده بدون tls اصلا کار نمیکنه به هیچ عنوان (تا اونجایی که من میدونم و خوندم سورس هاشو) برای بدون tls از vless استفاده کنید شدو ساکس تا وقتی دیتاش از داخل تونل رد میشه فیلتر نمیشه به نظرم

AkramiPro commented 1 year ago

من تست کردم الان vless بدون tls ساختم ولی کار نداد الان فقط ss بدون tls کار میده

radkesvat commented 1 year ago

والا vless بدون tls باید کار کنه خودم تست نکردم ولی دوسستان گفتن میکنه و البته منطقیش اینه که هرپروتوکل tcp بابد کار کنه چون تونل با خود دیتا و پروتوکل کاری نداره و دست بهش نمیزنه