دیوونه بازی با پایتون قسمت چهارم : نشون دادن پروژه های طراحی وب بدون دامین و هاست؟؟؟+چتروم خارج از شبکه با پایتون!!!

دیوونه بازی با پایتون قسمت چهارم : نشون دادن پروژه های طراحی وب بدون دامین و هاست؟؟؟+چتروم خارج از شبکه با پایتون!!!

سلاممممم :)خوب قسمت چهارم از این دوره آمورشی هستیم. بیشتر تو این قسمت میخواستم یه معرفی ساده و صرفا پایتونیش رو انجام یدم. ولی… به گفته یکی از دوستان تصمیم گرفتم این رو هم بهش اضافه کنم ؛)خوببببب قضیه از چه قراره؟؟ فرض کنین شما یه سایت خفن زدین که رو لوکاله و نمیشه به دوستتون یا کارفرماتون که تو یه جای دیگه هست نشونش بدید. باید چیکار کنین؟؟؟ زایع بشین؟؟ کارتونو از دست بدید یا به کلی زحمت بندازیدش رو یه دامین و کلی پول خرج کنین؟؟؟جواب من به شما اینه :نوشتن پست با گوشی خیلی سخته :/ چه جوابی :/ ولی خداوکیلی پورت فرواردینگ… درمان درد شماس…عاقا بفرمایید یه لینک ngrok 🙂 #کسری_لینک_مخرب 😈😈😈😈شما‌میتونین‌با‌ngrok‌یدونه‌پورت‌رو‌روی‌سیستمتون‌شیر‌کنین::::)))))ینی چی؟ ینی من میام میگم ngrok بیا این آورس یا این پورت رو برای من به این روش شیر کن، ngrok میگه باشه عاقااا!! اینم یه لینک بر اساس پروتوکولی که شما به من دادی مخصوص پورت شما :)یک لحظه تفکر… انصافا… عالی نمیشه شما یه اسکریپت سوکتی رو خارج از شبکه ران کنین؟ هیجان انگیز نیستتتت؟؟؟؟؟ یا اینکه میتونین یه سایت رو بزنین که یه بد افزار آپلود کنه !!! و اونو شیرش کنین و لینکشو بفرستید برا یه بد بختی و وقتی باز میکنه… بای بای، ما رفتیم =)ما آدمای خوبیییی هسسستیییمممممبرا همین صرفا یه چت روم درست میکنیم خارج از شبکه و یه سایت و یه آدرس رو برای شما داخل کامپیوتر عمومیش میکنیم بسم الله بریم سر کاررررخب، اولین چیزی که نیاز داریم ngrok هست :)اما چطوری باید ازش استفاده کنیم؟؟اول باید برید داخل سایتش و اونجا ثبت نام کنید. لازم به ذکره که احتمالا نیاز به یه قندشکن مشتی دارین :/بعد از ثبت نام و وارد شدن به سایت همچین صفحه ای برای شما میادکه باید چیزی که دورش فلش کشیدم رو کلیک کنید یا از همون جا سمت راست نسخه مورد نظرتونو دانلود کنیدبعد از اینکه دانلود شد داخل مسیر مشخصی مثلا دسکتاپ، میایم اکسترک یا آنزیپش میکنیم و بعد از اون توی همون مسیر کامندلاینمونو باز میکنیمبعد از اون کدی که اینجا مشخص شده داخل سایت، توی قسمت دوم رو عینا کپی میکنیم و بعد پیستش میکنیمفقط اگه از cmd استفاده میکنین عوض./ngrokبنویسیدngrok.exeبعد از اون ngrok.exe help رو بزنین و لذت ببرید :)مرحله دومNAME: ngrok – tunnel local ports to public URLs and inspect trafficDESCRIPTION: ngrok exposes local networked services behinds NATs and firewalls to the public internet over a secure tunnel. Share local websites, build/test webhook consumers and self-host personal services. Detailed help for each command is available with ‘ngrok help <command>’. Open http://localhost:4040 for ngrok’s web interface to inspect traffic.EXAMPLES: ngrok http 80 # secure public URL for port 80 web server ngrok http -subdomain=baz 8080 # port 8080 available at baz.ngrok.io ngrok http foo.dev:80 # tunnel to host:port instead of localhost ngrok http https://localhost # expose a local https server ngrok tcp 22 # tunnel arbitrary TCP traffic to port 22 ngrok tls -hostname=foo.com 443 # TLS traffic for foo.com to port 443 ngrok start foo bar baz # start tunnels from the configuration fileVERSION: 2.3.35AUTHOR: inconshreveable – <[email protected]>COMMANDS: authtoken save authtoken to configuration file credits prints author and licensing information http start an HTTP tunnel start start tunnels by name from the configuration file tcp start a TCP tunnel tls start a TLS tunnel update update ngrok to the latest version version print the version string help Shows a list of commands or help for one commandالان help رو دارید مشاهده میکنیدولی مساله اینه که چطوری باید استفاده کنیم؟؟ببینید داخل ngrok پروتوکول های ما 3 تا هستند : http tcp tlsباید از همینا استفاده بکنیم بر اساس اون چیزی که خودمون میخوایمو نحوه کار هم به این شکله :ngrok.exe protocol etcکه عوض پروتوکول باید یکی از اون 3 تا و عوض etc چیزایی که خدمتتون عرض میکنم رو بزاریدبرای پروتوکول http :عوض etc میتونید یک آدرس مثلfile:///C:/Users/username/Desktop/Capture.PNGیا یک پورت مثل 2020 قرار بدیدفرض کنید من یه پروژه api نوشتم و میخوام دوستم تستش کنهروی لوکالهاستم رو پورت 1166 ران میشهلینکی که خودم استفاده میکنم تو سیستم خودم اینه : http://localhost:1166/api/v2مثلا :)حالا میتونیم از 2 راه لینکش رو بفرستیمراه اول، استفاده از آدرس :دیدیم که آدرس کلی ما این بود : http://localhost:1166/با این دستور میایم منتشرش میکنیم :ngrok.exe http http://localhost:1166/راه دوم، استفاده از پورت :پورتی که ما استفاده کردیم، 1166 بود. پس با این دستور میایم این پورت رو شیر میکنیم :)(shir نه share)ngrok.exe http 1166بعد از استفاده از اینا یه لینک بهتون میده که میدید به دوستتون تا استفاده کنهنکته کنکوری : میتونین یه صفحه بسازید که هر کس بیاد بازش کنه اطلاعاتش سیو بشه یا یه چیزی براش آپلود شه یا یه صدای قشششنگ براش پخش شه :)ما همگی آدمای خیییلییی خووووبببیییی هسسستتتییییممممم😈خب :)از آدم خوب بودن بگذریم، بپردازیم به بحث دوم، یعنی :خب، مساله شیشیه؟ ببینید دوستان، با سوکت خیلی کار های خوب و غلط های بد رو به راحتی میشه انجام داد. یعنی همونطوری که میشه یه چت روم با سوکت نوشت، یکم تغییرش بدیم میشه تبدیلش کنیم به یه شل که دستورات سیستمی رو از ما میگیره و اجرا میکنه و اوتپوت رو برمیگردونهما میخوایم یه مثال عملی انجام بدیم. برای همین میایم یه چتروم با سوکت مینویسیم و میخوایم عوض اینکه عین اسکولا (اشتباه نکنین. منظورم اینه : schools) تو شبکه رانش کنیم و مثلا با کامپیوتری که به روتر ما یا وایفای ما وصل شده حرف بزنیم، بندازیمش برا اون رفیقی که تو فلان دوره آنلاین آیپیش روپیدا کردیم و یکم باهاش بصحبتیم :)برای همین نرم افزار رو مینویسمزاارت زوورت زاارت زوورت(صدای ساخت نرم افزار :/ ایده دیگه ای برای صداش به ذهنم نرسید چون معمولا بیصداست :|)نرم افزار ساخته شدددددد یههههههههههههههههاهم اهم :|خب، ما 2 تا فایل داریم. یکی server.py یکی هم client.pyاگه سوکت نویسی بلد باشید جز از بحث ریورز نویسی، اول باید سرور ران شه بعد کلاینت تا کلاینت بتونه به سرور وصل بشهکد های سرور و کلاینت :#server.py
import sockets = socket.socket()ip = ‘127.0.0.1’port = 9999s.bind((ip,port))print (‘server is created. waiting for connecting a client’)s.listen(1)c , addr =s.accept()print (‘a client is joinded to server’)class color : GREEN = ‘33[92m’ RED = ‘33[91m’ WHITE = ‘33[0m’while True : msg = input(color.RED + ‘your_message: ‘) c.send(msg.encode()) print(color.GREEN + c.recv(1024).decode())

#################################################################

#client.py
import socketimport oss=socket.socket()ip=input(&quotEnter the server IP: &quot)port=int(&quotEnter the server port&quot)s.connect((ip,port))print(‘you are connected to the server. wait for reciving a msg from server to start’ )class color : GREEN = ‘33[92m’ RED = ‘33[91m’ WHITE = ‘33[0m’while True: print(color.RED + s.recv(1024).decode()) msg = input(color.GREEN + ‘Your_message: ‘) s.send(msg.encode())
حالا اگه این سرور و کلاینت رو ران کنیم در حال عادی، سرور روی پورت 9999 ران میشه و کلاینت از ما آیپی سرور(که 127.0.0.1 یا سیستم خودمون هست) به همراه پورتش(تو سرور تعیین شده 9999) رو از ما میگیره و بهش وصل میشه و ایزی ایزی تامام تامام یه چت کوشولو موشولو داریم :)ولی ما خیلیم کوشولو موشولو نیستیم =) مشکل این چت اینه که تو شبکه داخلی فقط ران میشهچطوری تو اینترنت جهانی رانش کنیم؟؟ بسم رب السازنده ngrok (یعنی به نام خداوند خالق ngrok 😐 اصلا زبانو میبینید؟ من باید مترجم سازمان ملل میشدم :/)میایم در ابتدا، سرور رو شیر(بازم میگم، share نه shir) میکنیم.به چه شکل؟؟ آها =) ببینید، ما نرم افزارمونو به صورت tcp زدیم. udp نیست و البته نیازیم بهش نیست فعلابرای همین میایم داخل cmd میزنیم : ngrok.exe tcp 9999الان باید یه لینکی به شما بدهمثلا برای من اینو داد : tcp://4.tcp.ngrok.io:12913لینک اینه : tcp://4.tcp.ngrok.io:12913 و تونل tcp ماست برای ارتباط با سرورخب، از لینک میتونیم بفهمیم پورتش 12913 هست و آدرس لینکش هم 4.tcp.ngrok.ioولی ما که نمیتونیم اینو توی کلاینت بزنیم؟! برای همین باید آیپیش رو بگیریمجلدی یه cmd دیگه باز میکنیم و توش مینویسیمping 4.tcp.ngrok.ioو بعد آیپی رو برمیداریم. که اینجا مشخصش کردمبه همین سادگی و خوشمزگی تونستیم آیپی رو بدست بیاریممم :)حالا میایم کلاینت و سرور رو دوباره ران میکنیم. سرور که چیزی نیاز نداره برای تغییر، ولی کلاینت چرا. موقعی که کلاینت ران میشه، به عنوان آیپی، عوض آیپی سیستم خودمون باید آیپی اون لینکه و عوض پورت سیستم خودمون پورتی که تو اون لینکه مشخص شده رو بدیمو اینطوری میتونین خیلی ساده کارای خیلی خیلی باحالی انجام بدین و حالشو ببرین :)امیدوارم از این آموزش بهره کافی رو برده باشید، ضمن اینکه استفاده بد هم نکرده باشید :/ چون هرگونه استفاده بد از این قضیه گردن خودتونه و به ما مربوطی نمیشهههه :|مارو یه لیوان قهوه نوش جون کنید با دونیت کردن 🙂 تا آموزشای بعدی، خدانگهداررررر 🙂

Author: admin

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *