Random shi- tutorials – Telegram
Random shi- tutorials
210 subscribers
229 photos
27 videos
12 files
546 links
محتوای مفید برنامه نویسی و لینوکسی از سراسر دنیا ✍️
جوین شدن شما موجب شادی روح و روان ما میگردد😗
Download Telegram
چطور اکانت گیتهابم رو حفظ کنم؟ مروری بر 2FA و اهمیت مدیریت دسترسی‌ها 🔥

چند روز پیش یک مشکلی با سیستم 2FA داشتم که خیلی به موقع خودش رو نشون داد. به اپ 2FA در گوشیم دسترسی نداشتم و از اون بدتر، ریکاوری کدهایی که باید ذخیره می‌کردم رو اصلاً نداشتم! (که خب معمولاً خیلیا همینطوری هستن). این شد که یک وضعیت بحرانی پیش اومد و من به از تمام اکانت‌های گیت‌هابم اومده بودم بیرون. تنها راه دسترسی به اکانتم هم یه PAT یا (Personal Access Token) بود که به سختی ساعت‌ها گشتم تا پیداش کنم و در نهایت تونستم وارد بشم. ولی این اتفاق به من یادآوری کرد که چقدر مهمه چند تا نکته امنیتی ساده رو برای اکانت گیت‌هابمون فعال کنیم تا مثل من یهو از زندگی ناامید نشین!

1- سیو کردن ریکاوری کدها
اولین و مهم‌ترین چیزی که باید انجام بدید اینه که ریکاوری کدها رو دانلود کنید و حتما یه جایی ذخیره کنید. نوشتن اونا توی جایی که به راحتی بهش دسترسی داشته باشید (مثلاً یه فایل امن یا یه اپ مخصوص ذخیره‌سازی پسورد) خیلی می‌تونه کمک‌کننده باشه. این کار رو حتما انجام بدید که اگر روزی روزگاری به اپ 2FA دسترسی نداشتید، راحت بتونید وارد بشید.

2- فعال کردن SSH
یکی دیگه از کارهایی که به شدت توصیه می‌کنم، فعال کردن SSH برای اکانت گیت‌هاب هست. این کار کمک می‌کنه که بدون نیاز به وارد کردن پسورد یا توکن، بتونید به راحتی به گیت‌هاب دسترسی پیدا کنید.

نحوه فعال سازی SSH:
- ابتدا باید یک کلید SSH بسازید (با استفاده از ssh-keygen در ترمینال).
- بعد از ساخت کلید، باید اون رو به گیت‌هاب اضافه کنید از طریق تنظیمات SSH Keys در گیت‌هاب.

3- اکسس توکن (PAT)
همچنین به جای استفاده از پسورد برای احراز هویت، می‌تونید از اکسس توکن‌ها (PAT) استفاده کنید. این توکن‌ها برای ارتباط امن‌تر با گیت‌هاب خیلی مفید هستند.

نحوه فعال سازی PAT:
- به تنظیمات اکانت گیت‌هاب برید.
- در قسمت Developer Settings، گزینه Personal Access Tokens رو پیدا کنید.
- توکن جدید بسازید و سطوح دسترسی مورد نظر رو انتخاب کنید.

مهم:
اگر هیچ کدوم از این روش‌ها رو برای اکانتتون فعال نکردید، گیت‌هاب هیچ تضمینی نمیده که بتونید اکانتتون رو بازیابی کنید. نهایتاً ممکنه مجبور میشید ایمیل رو unlink کنید و یه اکانت جدید بسازید، ولی حتی در این صورت هم تاریخچه کامیت‌ها و اطلاعات دیگه رو ممکنه از دست بدید.

#github
@CodeModule
Forwarded from Linuxor ?
یکی از روش هایی که می‌تونین کد رو کنار متن بنویسید مارکدونه این ادیتور بهتون یه محیط پیشرفته می‌ده که باهاش می‌تونین تقریبا هر چیزی رو نوت برداری کنید کد یا عکس یا جدول و فرمول داخلش بزارید :

https://github.com/marktext/marktext


@Linuxor
Forwarded from Ninja Learn | نینجا لرن (Denver)
خب خب خب، ‏Background Task ها توی FastAPI🚀
گاهی اوقات نیاز داریم که یه کاری بعد از ارسال پاسخ به کاربر انجام بشه. مثل ارسال ایمیل خوشامد گویی، ثبت لاگ یا آمار توی دیتابیس، پردازش فایل آپلود شده و .... توی این شرایط میتونیم از Background Task ها استفاده کنیم، اینجوری میتونیم بدون معطل کردن کاربر اون کارهارو جداگانه انجام بدیم.

استفاده از Background Task ها🛠
خب اول باید کلاس BackgroundTasks رو ایمپورت کنیم و یه پارامتر از همین نوع برای فانکشن route بنویسیم.
from fastapi import BackgroundTasks, FastAPI

app = FastAPI()


def write_notification(email: str, message=""):
with open("log.txt", mode="w") as email_file:
content = f"notification for {email}: {message}"
email_file.write(content)


@app.post("/send-notification/{email}")
async def send_notification(email: str, background_tasks: BackgroundTasks):
background_tasks.add_task(write_notification, email, message="some notification")
return {"message": "Notification sent in the background"}

حالا FastAPI میاد یه آبجکت با نوع BackgroundTasks برامون ایجاد میکنه و به اون پارامتر پاس میده.
بعد از اینکه فانکشن تسکمون رو ایجاد کردیم میتونیم با استفاده از متود ()add_task از همون پارامتر اون فانکشن رو به صف اجرا اضافه کنیم. همچنین میتونیم آرگومان های مورد نیازمون رو هم با استفاده از همین متود به تسکمون پاس بدیم.

‏Background Tasks و Dependency injection💉
‏Background Tasks به خوبی با سیستم تزریق وابستگی FastAPI سازگاره. میتونیم توی سطح های مختلف برنامه(فانکشن route، یه وابستگی و...) از Background Task استفاده کنیم.
from typing import Annotated

from fastapi import BackgroundTasks, Depends, FastAPI

app = FastAPI()


def write_log(message: str):
with open("log.txt", mode="a") as log:
log.write(message)


def get_query(background_tasks: BackgroundTasks, q: str | None = None):
if q:
message = f"found query: {q}\n"
background_tasks.add_task(write_log, message)
return q


@app.post("/send-notification/{email}")
async def send_notification(
email: str, background_tasks: BackgroundTasks, q: Annotated[str, Depends(get_query)]
):
message = f"message to {email}\n"
background_tasks.add_task(write_log, message)
return {"message": "Message sent"}

توی این مثال بعد از اینکه پاسخ به کلاینت ارسال شد، یه تسک میاد ایمیل کاربر رو توی فایل log.txt مینویسه. اگه یه کوئری پارامتر هم به API ارسال بشه یه تسک دیگه اون رو هم توی فایل مینویسه.

نکته مهم⚠️
این ابزار فقط برای کارهای سبک وسریع مناسبه. مثل همین لاگ نوشتن، ارسال ایمیل یا پردازش های خیلی کوچیک و سبک. برای کارهای سنگین تر مثل پردازش تصویر بهتره که از سیستم هایی مثل Celery استفاده بشه.

جمع بندی✍️
‏Background Task یه ابزار ساده ولی کاربردیه. میتونه توی پروژه هایی که تسک های سنگینی ندارن از Celery بی نیازتون کنه و کارهارو بعد از پاسخ دهی به صورت غیرهمزمان انجام بده.

#️⃣ #fastapi #python #backend


🥷🏻 CHANNEL | GROUP
Forwarded from تهلاگ / Tehlug
جامعه‌ی تهلاگ با کمک‌های داوطلبانه‌ی اعضاش زنده‌ست؛ حمایت شما می‌تونه تأثیر زیادی تو رشد و پیشرفت این جمع دوست‌داشتنی داشته باشه. از طریق فرم زیر می‌تونید آمادگی خودتون رو برای کمک اعلام کنید.

🔗 tally.so/r/wA0aLy

@TehranLUG
اگر عزیزی پستی رو جایی منتشر کرده که این حجم ممبر اومده
نهایت تشکر رو میکنم😁❤️
😁3
لیست 15 نکته مهم حین کار با GIT
زیاد دیدم از اینا ترجیح دادم مواردی رو که خودم بهتر درک میکنم رو اینجا بنویسم

1. بگو چرا این کار رو انجام دادی
ننویس اضافه کردن endpoint
بنویس اضافه کردن endpoint برای اینکه کاربران بتونن سوابق خریدشون رو دانلود کنن

2. فقط بگو چی کار می‌کنه، نه چطوری
ننویس رنگ دکمه رو با تغییر فایل CSS عوض کردم
بنویس رنگ دکمه اصلی رو برای Contrast بهتر عوض کن

3. از زمان حال استفاده کن و به شکل دستور بده
ننویس حذف کردم
بنویس حذف کن

4. لینک آیتم کار رو اضافه کن
ننویس باگ ورود رو وقتی کاربر غیرفعال باشه تعمیر کن
بنویس d342da: باگ ورود رو وقتی کاربر غیرفعال باشه تعمیر کن

5. نام فایل‌ها رو ننویس، چون تو جزئیات Git هستن
ننویس وابستگی‌ها رو در package.json به‌روزرسانی کن
بنویس وابستگی‌ها رو برای حل مشکلات امنیتی به‌روزرسانی کن

6. توضیح بده که این تغییر چطور به پروژه کمک می‌کنه
ننویس اضافه کردن فیلد جدید به فرم
بنویس اضافه کردن فیلد جدید به فرم برای بهبود تجربه کاربری

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

8. اگر تغییرات چندگانه داری، کامیت‌ها رو جدا جدا بنویس
ننویس همه چیز رو به‌روزرسانی کردم
بنویس به‌روزرسانی عملکرد جستجو و به‌روزرسانی رنگ دکمه‌ها

9. اگر تغییرات مربوط به یک ایشو خاصه، اون رو مشخص کن
ننویس باگ رو تعمیر کردم
بنویس d1234: باگ رو تعمیر کردم

10. سعی کن کامیت‌هات کوتاه و واضح باشن
ننویس یک تغییر خیلی بزرگ و پیچیده انجام دادم که توضیحش سخته
بنویس به‌روزرسانی عملکرد اصلی برنامه برای بهبود کارایی

11. از استفاده از کلمات عام و کلی خودداری کن
ننویس تغییرات انجام دادم
بنویس به‌روزرسانی عملکرد جستجو برای بهبود سرعت

12. کامیت‌ها رو به زبان سوم شخص ننویس
ننویس او باگ رو تعمیر کرد
بنویس باگ تعمیر شد

13. از استفاده از علائم تعجب یا خنده در کامیت‌ها خودداری کن
ننویس باگ رو تعمیر کردم!!!
بنویس باگ تعمیر شد

14. کامیت‌ها رو به صورت سوال ننویس
ننویس آیا باگ رو تعمیر کردم؟
بنویس باگ تعمیر شد

15. از استفاده از عبارات طولانی و پیچیده در کامیت‌ها خودداری کن
ننویس یک تغییر بسیار پیچیده و مهم انجام دادم که توضیحش خیلی طولانیه
بنویس به‌روزرسانی عملکرد اصلی برنامه برای بهبود کارایی

منتظر پیشنهادات شما هستم، اگر با توضیحات بالا هم موافق نیستید شما ایده آل خودتون رو بنویسید

کانال تلگرامی ارتقای برنامه نویسی:
https://news.1rj.ru/str/webinar_farsi
اجرای کانتینر بدون داکر! | تبدیل Docker Image به فایل اجرایی با dockerc .

‏dockerc

یه ابزار متن بازه که تصاویر داکر رو به فایل اجرایی مستقل تبدیل میکنه ؛ بدون نیاز به نصب داکر یا دسترسی root . این ابزار اجرای کانتینرها رو بسیار ساده‌تر و قابل‌حمل‌تر میکنه .

آپشن هایی که بهتون میده :
تبدیل Docker Image به فایل اجرایی (standalone)
اجرا بدون نیاز به داکر یا دسترسی root
پشتیبانی از معماری‌های x86_64 و ARM64
قابل اجرا روی لینوکس، مک و ویندوز
امکان تعریف متغیر محیطی و Mount کردن ولو

یه مثال اولیه :
dockerc --image docker://oven/bun --output bun


نحوه نصب با استفاده از zig :
git clone --recurse-submodules https://github.com/NilsIrl/dockerc.git
cd dockerc
zig build -Doptimize=ReleaseSafe -Dtarget=x86_64-linux-musl


ریپو پروژه :
https://github.com/NilsIrl/dockerc


#tools
#dockerc
#byteforge
@byteforge_chan 🛸
🔥1
Forwarded from Datafog
‏Web Check چیست؟

‏Web Check یک ابزار رایگان و آنلاین است که به شما امکان میدهد در مدت زمانی کوتاه، اطلاعات فنی و امنیتی کاملی از هر وب‌سایتی به دست آورید. تنها کافیست آدرس سایت مورد نظر را وارد کنید و این ابزار، گزارش جامعی را برای شما تولید میکند.

مواردی که بررسی میکنه :
آدرس IP و تنظیمات DNS
گواهی‌نامه‌های SSL و نسخه‌های TLS
پورت‌های باز و مسیر شبکه (Traceroute)
تنظیمات ایمیل دامنه (MX Record)
فایل‌های robots.txt و sitemap.xml
کوکی‌ها و هدرهای HTTP
فناوری‌ها و فریم‌ورک‌های استفاده‌شده در سایت
اطلاعات دامنه (WHOIS) و رتبه جهانی سایت
بررسی وجود سایت در لیست‌های سیاه امنیتی
وضعیت هدایت (ریدایرکت) و در دسترس بودن سایت

نحوه تست و استفاده :
وارد سایت web-check.as93.net بشید
آدرس وب‌سایت مورد نظرتونو وارد کنید


اینجا میتونه مفید واقع بشه :
بررسی امنیت و تنظیمات فنی سایت خود یا مشتری
تحلیل ساختار سایت رقبا
جمع‌آوری اطلاعات برای پروژه‌های تحلیل اطلاعات (OSINT)
یادگیری مفاهیم امنیت وب برای دانشجویان و علاقه‌مندان به حوزه سایبری



#cybersecurity #osint #public_data #webcheck

@datafogg
🔥1
Forwarded from Datafog
اوسینت یا Open Source Intelligence به معنی :

جمع‌آوری اطلاعات از منابع باز و عمومی‌ست. این یعنی بدون نیاز به هک یا دسترسی‌های خاص، فقط با استفاده از چیزهایی که برای همه در دسترسه مثل سایت‌ها، شبکه‌های اجتماعی، اخبار، عکس‌ها و حتی ویدیوهای منتشرشده میشه اطلاعات بسیار دقیقی بدست آورد. این روش توی حوزه‌هایی مثل امنیت سایبری، پلیس، روزنامه‌نگاری تحقیقی و حتی تحلیل‌های تجاری کاربرد داره. مثلا ممکنه یه نفر فقط با بررسی پست‌های اینستاگرام یه فرد، بفهمه کجا زندگی میکنه، با کیا در ارتباطه، یا حتی برنامه روزانه‌ش چیه؛ بدون اینکه هیچ قانون یا حریم خصوصی‌ای رو نقض کنه.

اوسینت هنر دیدن چیزهایی‌هستش که جلوی چشمهامونه، ولی بقیه نمی بیننشون.



#cybersecurity #osint #public_data


@datafogg
👍1
Forwarded from تهلاگ / Tehlug
ثبت‌نام رویداد ۲۷۹ تهلاگ آغاز شد! 🎉

رویداد شماره ۲۷۹ تهلاگ با حمایت نوبیتکس و افراشاپ، روز پنجشنبه ۲۵ اردیبهشت‌ماه از ساعت ۱۲ تا ۱۸ در دانشگاه صنعتی امیرکبیر برگزار می‌شود.

اطلاعات بیشتر و ثبت‌نام:

🔗 evand.com/events/tehlug279

🐧 @TehranLUG
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Forwarded from Linuxor ?
یه ریپو هم هست به اسم Vuls که کارش اسکن آسیب‌پذیری توی سرورهای لینوکسیه، روی تک سرور هم کار می‌کنه ولی ایده‌ش اینه که وقتی کلی سرور داری، نخوای بری دونه‌دونه چک کنی چی آسیب‌پذیره. Vuls این کارو اتومات می‌کنه و گزارش نسبتا قابل فهمی هم می‌ده. اگه دنبال یه راه آسون و سبک برای کنترل وضعیت امنیت سرورات هستی، یه نگاه بهش بنداز یه لیست عظیمی از آسیب پذیری هارو چک ‌می‌کنه.

github.com/future-architect/vuls

@Linuxor