بایگانی دسته: آموزش

آموزش

ترکوندن رم و سی پی یو با یه بش اسکریپت

کلا از وقتی با بش اسکریپت آشنا شدم به طور کل دارم یه جور دیگه با کامپیوتر کار میکنم 😀 یه بش ساده نوشتم که هیچ کار انجام نمیده جز اینکه رم و سی پی یو رو تا ته پر میکنه و خودم که بعد از اجرای این بش مجبور شدم سخت افزاری سیستمم رو ری‌استارت کنم. برای نوشتن این بش اومدم به تعداد هسته‌های سی پی یو حلقه بینهایت درست کردم (البته میشه بیشتر هم حلقه درست کرد ولی حداقل تعداد حلقه‌ها باید به تعداد هسته‌های سی پی یو باشه) و اسکریپت رو به شکلی تنظیم کردم که حلقه‌ها رو به صورت موازی اجرا کنه و به این شکل هرکدوم از حلقه‌ها روی یکی از هسته‌های سی پی یو انجام میشه و لود اون هسته رو به صد درصد میرسونه. اما برای رم کاری که کردم این بود که یه متغییر تعریف کردم و گفتم که تو هر بار اجرا شدن این حلقه‌ها اون متغییر رو چندبار دوباره تو خودش بریزه. کد نهایی هم برای سیستم من که سی پی یوم دو هسته داره این شد:

z=q
while true; do
	z=$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z
done &
while true; do
	z=$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z
done

 

که این کد رو تو یه فایل با پسوند sh ذخیره کردم و با دستور

chmod +x file.sh

 

بهش قابلیت اجرایی دادم و با دستور

./file.sh

 

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

z=$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z

 

باید بگم که این خط وظیفه پر کردن رم رو داره. چون در ابتدای کد تو متغییر z فقط کاراکتر q رو قرار دادیم ولی به محض اینکه به حلقه میرسه ۲۲تا کاراکتر q توی متغییر z ذخیره میشن و تو بار دوم اجرا شدن حلقه ۴۸۴تا کاراکتر q توی متغییر z ذخیره و میشن و الی آخر. حالا این رو هم درنظر بگیرین که دوتا حلقه به صورت همزمان و چندصد بار در ثانیه دارن اجرا میشن! با این کار رم به سرعت پر میشه 🙂 تو آخر خط ۴ هم یک کاراکتر & قرار داره که باعث میشه دوتا حلقه به صورت موازی اجرا بشن و اگه اون کاراکتر & رو نذاریم فقط یک هسته سی پی یو لودش میره رو صد. اگه میخواین این کد رو رو روی سیستمی مثلا با سه هسته پردازش اجرا کنین (البته با مسئولیت خودتون!) باید خط‌های دو و سه و چهار رو کپی کنید و آخر خط چهار پیست کنید تا سه‌تا حلقه به صورت موازی اجرا بشن و هر سه هسته لودشون بره رو صد.

z=q
while true; do
	z=$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z
done &
while true; do
	z=$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z
done &
while true; do
	z=$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z
done

 

آپدیت:

برای اینکه مجبور نشین تو یه فایل جداگانه دستورات رو قرار بدین، میتونین دستورات رو توی یک خط بنویسین و مستقیم تو ترمینال وارد کنید تا سیستم بترکه. برای مثال رو سیستم من دستور به این شکل میشه:

z=q && while true; do z=$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z; done & while true; do z=$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z$z; done

 

ساخت لیستی از پسوردهای هش شده

حوصلم سر رفته بود گفتم یه اسکریپت بنویسم که یه سری پسورد بهش بدیم و هششون رو بهمون بده! البته اگه سایت قابل قبولی دیتابیسش رو بدست آوردین دنبال این نباشین که با این روش بتونید پسوردهای هش نشده رو بدست بیارین چون سایت‌های درست حسابی از الگوریتم سالت هم استفاده میکنن که کار رو حسابی سخت میکنن! البته اگه به دیتابیس فیس نما دسترسی پیدا کردین راحت میتونین با این روش به اصل پسوردها برسین :)) خب بریم سراغ اسکریپت! کاری که این اسکریپت میکنه خیلی سادست! به اسکریپت یه فایل میدیم که تو هر خطش یه پسورد و جود داره و اسکریپت دونه دونه پسوردها رو میخونه و هششون میکنه و هش رو به همراه اصل پسورد درکنار هم در یک فایل جدید ذخیره میکنه 🙂 کد اسکریپت اینه، که من فرض میکنم شما اون رو با اسم md5.sh در پوشه home ذخیره کردین.

 

declare -i n
n=1
while [ $n -lt 11 ]; do
        a="$(head -n $n passwords.txt | tail -1 | tr -d '\n' | md5sum)"
        a=$a"$(head -n $n passwords.txt | tail -1)"
        echo $a >> md5_hashed_pass.txt
        n=n+1
done

 

بعد از ذخیره کردن اسکریپت با این کد بهش قابلیت اجرایی میدیم:

chmod +x md5.sh

 

قبل از اجرا کردن اسکریپت نیاز داریم تا یه سری پسورد داشته باشیم. من برای تولید پسورد تصادفی از این سایت استفاده کردم و باهاش ۱۰تا پسورد تصادفی تولید کردم. اینم لیست پسوردها:

dATbiRfe3A
qv1jc3nrL1
D3KE0l4hXK
ZdKNZYiPdV
RuUDqMPdeb
BCsymPThp3
fRcMg90R9Q
XXwhBHsc52
M4ptoRQ2sn
jMcmOMPn5O

 

و این پسوردها رو در پوشه home در فایلی به اسم passwords.txt ذخیره کردم. حالا اسکریپت رو با دستور

./md5.sh

اجراش میکنم و خروجی اسکریپت تو یه فایل به اسم md5_hashed_pass.txt ذخیره میشه. برای ۱۰تا پسورد من محتوای فایل خروجی این هست:

6987404a8b25b210092d34d3a4099128 -dATbiRfe3A
94112bbf50b7c5221d283a812bc4416f -qv1jc3nrL1
c911472169610dc0eb1a883b5ad33148 -D3KE0l4hXK
65ca15681092ff48f82881d041be99c4 -ZdKNZYiPdV
64aa4dc460ccea292d0513aae8e099bd -RuUDqMPdeb
61203cf80c95f56293e38075cd746407 -BCsymPThp3
ad9648522a71fb8d43654dfc03a26098 -fRcMg90R9Q
0ac7e69b159016281db5882cef1822a9 -XXwhBHsc52
caf660424941472f5a16bbc79cf42772 -M4ptoRQ2sn
78814e5c3333e0530c849a08b35a0763 -jMcmOMPn5O

 

همونطور که میبینین در هر خط ابتدا هش شده پسورد که با الگوریتم md5 تولید شده قرار داره و بعد از اون هم خود پسورد. اما ببینیم هر خط این اسکریپت چیکار میکنه!

 

declare -i n: متغییر n رو به عنوان یک متغییر عددی تعریف میکنیم.

 

n=1: و داخل این متغییر مقدار 1 رو ذخیره میکنیم.

 

while [ $n -lt 11 ]; do: یه حلقه درست میکنیم تا ۱۰بار عملیات خوندن خطوط رو انجام بده و درواقع ۱۰بار کدهای بین این خط و خط آخر یعنی done رو انجام میده. دقیق کنید که حلقه while تا زمانی که شرط جلوش درست باشه انجام میشه! و اینجا شرطش این هست که محتوای متغییر n کوچکتر از 11 باشه. و با توجه به اینکه n برابر با 1 هست و در انتهای هر بار انجام شدن حلقه (خط n=n+1) یک واحد به متغییر n اضافه میشه پس این حلقه ۱۰ بار انجام میشه. اگه خواستین تعداد بیشتری پسورد رو هش کنید حتما مقدار 11 رو تغییر بدید. مثلا اگه خواستید ۲۰تا پسورد رو هش کنید مقدار 11 رو به 21 تغییر بدین.

 

a=”$( )”: این خط میاد میگه خروجی دستورات داخل پرانتز رو داخل متغییر a بریز. اما دستورات داخل پرانتز چیکار میکنن؟ head -n $n passwords.txt | tail -1 میاد میگه خط nام فایل پسوردهارو برو بخون. اما هربار که یک پسورد از فایل پسوردها خونده میشه یک کاراکتر \n هم اضافی خونده میشه. برای حذف این کاراکتر اضافی خروجی رو با | به tr -d ‘\n’ میدیم تا اون کاراکتر اضافه آخری را پاک کنه و مجددا با | خروجی رو به دستور md5sum میدیم تا پسورد رو برامون هش کنه! و اگه نفهمیدین چی شد این خط میاد خط nام فایل پسوردها رو میگیره و هش شدش رو تو متغییر a میریزه!

 

a=$a”$()”: این میاد میگه درانتهای متغییر a که حاوی هش هست خود پسورد رو هم قرار بده.

 

echo $a >> md5_hashed_pass.txt: حالا ما پسورد و هشش رو در متغییر a داریم و با این دستور محتوای متغییر a رو تو فایل خروجی ذخیره میکنیم.

 

خب این توضیحات به نظرم کافیه! اگه قسمتیش رو خوب متوجه نشدین حتما کامنت بذارید 🙂

آموزش نصب Deluge روی سرور اوبونتویی

اگر اهل کار با تورنت باشین حتما میدونین که با توجه به شرایط اینترنت ایران کار کردن با فایل‌های تورنت مقداری سخته! اما اگه فایل‌های تورنت رو روی سرور شخصیمون دانلود کنیم و بعد هم با لینک مستقیم فایل‌ها رو از رو سرور شخصیمون دانلود کنیم چطور؟ مسلما این کار معقولانه‌تره تو بسیاری از مواقع!! خب برای این که ببنیم چطور میشه سرورمون رو برای دانلود تورنت‌ها آماده کنیم این آموزش رو ببینین 🙂 یا اگه اون لینک کار نمیکنه ادامه مطلب رو ببینین 😀

ادامه خواندن آموزش نصب Deluge روی سرور اوبونتویی

آموزش ساخت سایت به صورت ناشناس در شبکه تور

هرگونه استفاده از این مطلب به عهده خود فرد هست و من فقط این آموزش رو صرفا جهت افزایش اطلاعات افراد نوشتم.

 

 

اینترنت جای فوق‌العاده جالبیه! ولی مشکلی که هست اینه که ردگیری افراد که توی این شبکه چیکار میکنن هم کار سختی نیست! اما راه پنهان موندن هم کم نیست 🙂 یکی از راه‌های خیلی خوب برای پنهان موندن توی این شبکه استفاده از TOR  (تور در ویکی پدیا فارسی) هست! تور یک قابلیت خیلی جالبی که داره این هست که میشه درونش سایت بالا آورد به شکلی که اون سایت قابل ردگیری نباشه و نشه دقیقا فهمید صاحب سایت کیه و یا ای پی سرور اون سایت چیه و فقط اون سایت در شبکه تور قابل دسترسی باشه. توی این آموزش میخوام بهتون نشون بدم که اگه بخوایم یک سایت رو تحت شبکه تور روی سروری که CentOS 6 روش نصب هست بالا بیاریم چیکار باید بکنیم 🙂  قبل از شروع کار لازمه که تور رو روی سیستم خودمون داشته باشیم که به راحتی میشه از سایتش دانلودش کرد. حالا برای اینکه مطمئن بشیم تور به خوبی کار میکنیم به این آدرس میریم:

http://duskgytldkxiuqc6.onion/

این سایت در حالت عادی رو هیچ مرورگری باز نمیشه مگر اینکه اون مرورگر از شبکه تور استفاده کنه! و با باز کردین این آدرس اطمینان پیدا میکنیم که به شبکه تور متصل شدیم:

t_example

 

 

حالا میریم سراغ سرور! اول از همه لازم داریم که روی سرور هم تور رو نصب کنیم. برای این کار اول باید RPMForge رو روی سرور فعال کنیم که البته نحوه فعال کردنش روی سیستم عامل ۲۳بیتی و ۶۴بیتی با هم فرق داره و من هردوتاش رو براتون میذارم:

 

32bit: rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686.rpm

64bit: rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

 

حالا هم باید تور رو نصب کنیم پس:

 

yum install tor -y

 

 

حالا باید وب سرور رو نصب کنیم. باتوجه به مطالبی که من خوندم بهترین وب سرور برای کار ما وب سرور thttpd هست. چون این وب سرور کوچیک هست و همین باعث میشه احتمال آشکار شدن آی پی سرور اصلی پایین بیاد. برای نصب این وب سرور باید اول مخازن epel رو به سرور اضافه کنیم. پس:

 

rpm -i http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

 

و حالا باید وب سرور رو نصب کنیم. پس:

 

yum install thttpd -y

 

باید وب سرور رو هم اجرا کنیم، پس:

 

service thttpd start

 

و بعد هم آی پی سرور رو توی مرورگر میزنیم و با باز شدن این صفحه از صحت کار کرد وب سرور اطمینان پیدا میکنیم:

 

thttpd_working

 

 

پوشه پیشفرض thttpd برای قراردادن اطلاعات هم این پوشه هست:

 

/var/www/thttpd

 

 

حالا باید به تور بفهمونیم که قراره روی شبکه تو یک سایت بالا بیاریم پس فایل تنظیمات تور رو باز میکنیم:

 

nano /etc/tor/torrc

 

در انتهای این فایل این عبارات رو وارد میکنیم:

 

HiddenServiceDir ~/                       
HiddenServicePort 80 127.0.0.1:80

 

اون 80 در آخر خط دوم پورتی هست که وب سرور روش داره کار میکنه و به صورت پیشفرض همون 80 هست. اگر خواستیم پورت وب سرور رو عوض کنیم میتونیم فایل /etc/thttpd.conf رو ویرایش کنیم. حالا با زدن Ctrl + X و Y و Enter تغییرات رو ذخیره میکنیم. باید تور رو روی سرور ری‌استارت کنیم تا تغییرات رو متوجه بشه، پس:

 

service tor restart

 

خب حالا به تور فهموندیم قراره که یک سایت رو برای ما اجرا کنه. اما آدرس سایتمون چی هست؟ برای اینکه آدرس سایتمون رو بدونیم آین دستور رو میزنیم:

 

cat /var/lib/tor/~/hostname

 

حالا میبینیم که یک آدرس با پسوند onion برای ما نمایش داده میشه که آدرس سایتمون هست و فقط از شبکه تور قابل دسترسی هست. حالا اون آدرس رو توی مرورگری که به شبکه تور متصل هست میزنیم و با باز شدن صفحه پیشفرض وب سرور اطمینان پیدا میکنیم که همه چی به خوبی پیش رفته!

 

thttps_on_t

 

 

حالا حداقل امکانات لازم رو برای راه انداختن سایتمون به صورت ناشناس داریم! البته دقت کنید که با این کارها نمیشه با اطمینان کامل گفت که سایتمون کاملا امن و غیرقابل ردیابی هست. بهتون توصیه میکنم برای اینکه بتونین امنیتتون رو بالاتر ببرین حتما مستندات تور رو مطالعه کنین.

محاسبه حداکثر مقدار دانلود شبانه با بش اسکریپت

همیشه واسم سوال بود که من چقدر توی یک شب میتونم دانلود کنم… چون عملا تا حالا نشده که دانلودم تا صبح تموم نشه! خب راه معمولی اینه که تا میتونم فایل بذارم برای دانلود و صبح ببینم چقدرش دانلود شده. ولی اگه مثل من هاردتون تا خرخره پر بود چیکار میکردین؟ احتمالا میگفتین یه فایل کم حجم رو بذارم برای دانلود و ببینم چقدر طول میکشه تا دانلود بشه بعد حساب کنم که تا صبح چقدر میتونم دانلود کنم… ولی اصلا با این راه حل حال نمیکنم!!! به همین خاطر تصمیم گرفتم یه بش اسکریپت بنویسم که به صورت تقریبی محاسبه کنه چقدر توی یک شب میتونم دانلود کنم. اول قدم اینه که با روشی که من فایل‌هام رو دانلود میکنم آشنا بشین، پس این تاپیک تو انجمن اوبونتو فارسی رو اول بخونید تا با روش دانلود من آشنا بشین. خب حالا که میدونید قراره چجوری دانلود بکنم میریم سراغ اسکریپت :)) تو پوشه Home یه فایل به اسم dl.sh ایجاد میکنیم و داخلش این کدها رو قرار میدیم:

 

declare -i n
n=0
while true; do
	aria2c -c -x16 -s16 -k 1M -m10000 --retry-wait=1 http://cachefly.cachefly.net/100mb.test
	n=n+100
	a=$n"MB"
	echo $a > size.txt
	rm 100mb.test
done

 

 

حالا باید به این اسکریپت قابلیت اجرا شدن بدیم. پس ترمینال رو باز میکنیم و این دستور رو توش میزنیم:

 

chmod +x dl.sh

 

و برای اینکه این اسکریپت اجرا بشه تو کرون تب در زمانی که شبانه شروع میشه این دستور رو میزنیم:

 

./dl.sh

 

خب کار تموم شد و صبح که بیدار بشیم تو پوشه Home یه فایل به اسم size.txt قرار داره که توش نوشته شده شب گذشته چقدر تونستیم دانلود کنیم 😀 ولی یه نگاهی هم بندازیم که این بش اسکریپت دقیقا چیکار میکنه…

 

declare -i n: میگیم متغییر n رو به عنوان یک متغییر عددی بشناس که روش میشه عملیات ریاضی انجام داد. (خودمم شاخ در آوردم که میشه تو بش اسکریپت متغییر تعریف کرد!)

 

n=0: توضیح نداره دیگه!

 

while true; do: با این دستور ما یک لوپ یا حلقه بینهایت درست میکنیم و دستوراتی که بین این خط تا خط آخر یعنی done قرار دارن بینهایت بار اجرا میشن.

 

aria2c: درواقعی خطی که این عبارت آغازش هست وظیفه اصلی رو به عهده داره! تو این بش من درواقع اومدم و با دانلود چند باره یک فایل محاسبه کردم که توی یک شب چقدر میشه دانلود کرد. فقط مساله اینه که از چه لینکی استفاده کردم؟ من از فایل‌هایی که cachefly قرار داره تا دانلود کنیم و سرعت دانلودمون رو محاسبه کنیم استفاده کردم. کش فلای سه فایل با سایزهای یک مگ، ده مگ و صد مگ رو قرار داده برای تست سرعت. من از فایل صد مگی استفاده کردم. چون من تقریبا همیشه فایل‌هایی که دانلود میکنم بالای صد مگ هست (۹۰٪ من فیلم دانلود میکنم) و ساختار aria2c هم تو این بش اینه که هرچی حجم یک فایل بیشتر بود کانکشن بیشتری بساز وسرعت بالاتری داشته باش پس انتخاب این فایل صد مگی کاملا معقول بود.

 

n=n+100: خب بعد از اتمام دانلود ما تونستیم صد مگ فایل رو دانلود کنیم پس به متغییر n صد واحد اضافی میکنیم که نشون میگه صد مگ دانلود علاوه بر دانلودهای قبلی با موفقیت به انجام رسیده.

 

a=$n”MB”: با این دستور میگیم محتویات متغییر n رو بریز توی متغییر a و آخرش هم عبارت MB رو اضافه کن. چی شد!

 

echo $a > size.txt: با این دستور اگه فایلی به اسم size.txt وجود نداشته باشه ایجاد میشه و محتویاتش از بین میره و مقدار متغییر a داخلش قرار میگیره.

 

rm 100mb.test: فایلی رو که دانلود کردیم پاک میکنه چون قراره دوباره دانلود بشه 😀 یکی دیگه از دلایل که از فایل صدمگی استفاده کردم این دستور بود. چون این دستور زمان میبره حالا هر چقدر هم کم باشه (فکر کنم نزدیک به یک ثانیه زمان میبره) و خب اگه فایل یک مگابایتی میذاشتیم برای دانلود این دستور ممکن بود هزار بار و یا بیشتر اجرا بشه و این یعنی از دست دادن هزار ثانیه که تقریبا میشه یک ربع و این دقت کارمون رو میاره پایین.

 

done: که همونطور که گفتم میگه دوباره برو حلقه رو از اول اجرا کن 🙂

 

اما نتیجه این دستورات زیبا روی سیستم خودم… دیشب این بش اسکریپت رو گذاشتم اجرا بشه و نتیجش این فایل شد:

 

bash_dl

 

 

بعله… من دیشب تونستم ۴/۷ گیگ دانلود کنم. ولی تو پوشه Home یه فایل تست بود که کامل دانلود نشده بود برای اینکه ببینم چقدرش دانلود شده ترمینال رو باز کردم و کد زیر رو زدم تا دوباره دانلودش شروع بشه و ببینم چقدرش دانلود شده:

 

aria2c -c http://cachefly.cachefly.net/100mb.test

 

و دیدم نوشته که ۹۶مگابایت از این فایل صد مگابایتی دانلود شده. پس من این رو تقریبا صد مگابایت در نظر میگیرم و این یعنی من شب گذشته ۴/۸گیگ دانلود کردم :)) ولی یه نکته دیگه! من در عمل فایل‌های بالای صد مگ دانلود میکنم و چندتا فایل رو هم به صورت همزمان دانلود میکنم و این یعنی سرعت دانلود بیشتر. پس میتونم راحت بگم من میتونم شبی ۵گیگ دانلود کنم… 😀 تا دیداری دگر بدرود :))

آموزش نصب رپیدلیچ روی cPanel

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

زمان بندی سرور برای آپدیت اتوماتیک و ارسال لاگ از طریق ایمیل

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

ادامه خواندن زمان بندی سرور برای آپدیت اتوماتیک و ارسال لاگ از طریق ایمیل

حل مشکل لیست نشدن آهنگ ها در Google Play Music

فکر کنم یه چیزی حدوده ۶گیگ آهنگ رو گوشیم دارم و یه مشکلی باهاشون داشتم که خیلی رو اعصاب بود! آهنگ‌ها همشون تو Google Play Music لیست نمیشدن… پلیرهای دیگه‌ای مثل musiXmatch یا Walkman رو هم امتحان کردم ولی مشکل حل نشد. ولی در نهایت ساعاتی قبل با کمک یکی از دوستانم مشکل حل شد 🙂 فولدری رو که آهنگ‌های داخلش ایندکس نمیشدن رو انتقال دادم به یه مکان دیگه رو مموری و بعدش دیدم آهنگ‌ها ایندکس شدن. بعد از ایندکس شدن آهنگ‌ها دوباره فولدر حاوی آهنگ‌ها رو به محل قبلیش برگردوندم و هنوز هم آهنگ‌ها ایندکس شده باقی موندن و راحت میتونم تو Google Play Music ببینمشون.

هیچ کامنتی برای این پست تایید نمیشه

آموزش نصب LAMP بر روی اوبونتو ۱۴/۰۴

تا حالا تصمیم گرفتین با سرور کار کنین؟ حتما بعد از شنیدن جملاتی مثل نداشتن محیط گرافیکی و نیاز به آشنایی با دستورات ترمینال و یه سری حرفای مشابه منصرف شدین! اما نترسین! میخوام با یک آموزش ساده اصول اولیه آماده سازی سرور رو بهتون یاد بدم. ولی قبل از شروع یک نکته رو بگم، در هرصورت برای کار با سرور لینوکس نیاز دارین تا با دستورات ترمینال آشنا باشین، ولی نیاز نیست روی این مورد خیلی خودتون رو اذیت کنین 🙂 کافیه از دانای اعظم جناب گوگل برای یافتن دستورات مورد نیازتون استفاده کنین. کاری که خودم هم همیشه انجام میدم 😀

 

خب برای شروع کار نیاز به یک عدد سرور مجازی با سیستم عامل اوبونتو ۱۴/۰۴ دارید که با اندکی جستجو یکی رو میتونید پیدا کنید. اگر هم نمیخواید پول رو سرور بدید هیچ نگرانی وجود نداره! میتونید رو سیستمتون اوبونتو ۱۴/۰۴ نصب کنید. بعد از تهیه این مورد باید ببینیم که قصد نصب چه چیزهایی رو داریم. من میخوام LAMP رو نصب کنم که مخفف کلمات Linux و Apache و MySQL و PHP هست. خب لینوکسش که معلومه چیه. اما بقیه موارد چی هستن؟

ادامه خواندن آموزش نصب LAMP بر روی اوبونتو ۱۴/۰۴

دانلود از اینستاگرام بدون نرم افزار

خب نیازی به توضیح نیستش که اینستاگرام چیه. اما چیزی که درباره اینستاگرام وجود داره اینه که امکان دانلود ازش به طور مستقیم وجود نداره و باید از نرم افزارهایی که برای این کار هست استفاده کرد ولی خب… کی حال استفاده از نرم افزارهای دیگه رو داره؟!؟! میخوام با یه ترفند خیلی ساده بهتون نشون بدم که چجوری میتونین مثل آب خوردن عکس‌ها و ویدئوهای اینستاگرام رو دانلود کنین. اول از همه لینک عکس یا ویدئو رو لازم داریم. برای اینکه لینک رو بگیریم رو اون سه تا نقطه عمودی پایین عکس (بهشون چی میگن؟!؟!) میزنیم و بعد هم گزینه Copy Share URL رو انتخاب میکنیم.

 

Screenshot_2014-12-03-20-47-43

 

 

حالا که لینک رو داریم رو گوشی مرورگر کروم رو باز میکنیم و لینک رو پیست میکنیم. اما اول لینک و قبل از http عبارت view-source: رو مینویسیم و حالا لینک رو باز میکنیم. با همچین صحنه مواجه میشیم:

 

Screenshot_2014-12-03-20-58-02

 

 

حالا منوی کروم رو باز میکنیم و گزینه Find in page رو میزنیم. حالا تو کادر مشخص شده مینویسیم jpg تا بتونیم لینک دانلود عکس رو پیدا کنیم ولی اگه بخوایم کلیپی رو دانلود کنیم مینویسیم mp4 و میبینیم اولین نتیجه پیدا میشه. اگه دقت کنین نتیجه جستجو در واقع یک لینک هست.

 

Screenshot_2014-12-03-21-03-59

 

 

که تو مثال ما لینک این میشه:

http://photos-c.ak.instagram.com/hphotos-ak-xaf1/10817800_1517735365154962_91672527_n.jpg

 

تمام 😀 لینک دانلود عکس رو داریم و میتونیم عکس رو دانلود کنیم. اگر هم mp4 سرچ کرده باشین اتفاقات به همین شکل هست. بعد از جستجو اولین عبارت پیدا شده لینک دانلود کلیپ هست. اما یه نکته جالب! این عملیات روی کامپیوتر هم شدنیه 🙂  کافیه لینک رو تو مرورگرهای کروم یا فایرفاکس باز کنیم و البته اول لینک‌ها باید عبارت view-source: رو بنویسیم. بعد هم برای باز شدن کادر جستجو کلید F3 رو میزنیم و با جستجوی عبار jpg یا mp4 میتونیم لینک دانلود عکس یا کلیپ مورد نظرمون رو پیدا کنیم.

 

Screenshot from 2014-12-03 21:14:46