Academy and Foundation unixmens | Your skills, Your future
2.28K subscribers
6.65K photos
1.36K videos
1.23K files
5.97K links
@unixmens_support
@yashar_esm
unixmens@gmail.com
یک کانال علمی تکنولوژی
فلسفه متن باز-گنو/لینوکس-امنیت - اقتصاد
دیجیتال
Technology-driven -بیزینس های مبتنی بر تکنولوژی
Enterprise open source
ارایه دهنده راهکارهای ارتقای سازمانی - فردی - تیمی
Download Telegram
ابزار curl ابزای قدرتمند جهت تست و فراتر از آن
ابزار curl یک ابزار قدرتمند برای کسب اطلاعات و ... می باشد و نمونه ای از ابزار قدر تمندی هست در زیر به چند مثال کاربردی خواهیم پرداخت :

در شرح curl می خوانیم :

curl is a tool to transfer data from or to a server, using one of the supported protocols (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3,
POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET and TFTP). The command is designed to work without user interaction.

curl offers a busload of useful tricks like proxy support, user authentication, FTP upload, HTTP post, SSL connections, cookies, file transfer resume, Metalink, and
more. As you will see below, the number of features will make your head spin!

curl is powered by libcurl for all transfer-related features. See libcurl(3) for details.



curl {{http://example.com}} -o {{filename}}
//دانلود محتوای وب سایت
curl -I http://example.com // کسب اطلاعات هدر وب سایت
برای نمونه :

HTTP/1.1 200 OK
Date: Sun, 16 Oct 2016 23:37:15 GMT
Server: Apache/2.4.23 (Unix)
X-Powered-By: PHP/5.6.24
Connection: close
Content-Type: text/html; charset=UTF-8

curl -v google.com
//اطلاعات post و get و دیتا وب سایت

* Rebuilt URL to: google.com/
* Trying 216.58.210.14...
* TCP_NODELAY set
* Connected to google.com (216.58.210.14) port 80 (#0)
> GET / HTTP/1.1
> Host: google.com
> User-Agent: curl/7.53.1
> Accept: */*
>
< HTTP/1.1 301 Moved Permanently
< Location: http://www.google.com/
< Content-Type: text/html; charset=UTF-8
< Date: Sat, 19 May 2018 09:11:28 GMT
< Expires: Mon, 18 Jun 2018 09:11:28 GMT
< Cache-Control: public, max-age=2592000
< Server: gws
< Content-Length: 219
< X-XSS-Protection: 1; mode=block
< X-Frame-Options: SAMEORIGIN
<
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.com/">here</A>.
</BODY></HTML>
* Connection #0 to host google.com left intact





curl -T file.zip ftp://ftp.domain.com/ --user username:password
// آپلود فایل به اف تی پی سرور
curl -O -L -C - {{http://example.com/filename}}

// following [L]ocation redirects, and automatically [C]ontinuing (resuming) a previous file transfer
curl -d {{'name=bob'}} {{http://example.com/form}} // Send form-encoded data (POST request of type application/x-www-form-urlencoded):
curl -H {{'X-My-Header: 123'}} -X {{PUT}} {{http://example.com}} // Send a request with an extra header, using a custom HTTP method:
curl -d {{'{"name":"bob"}'}} -H {{'Content-Type: application/json'}} {{http://example.com/users/1234}} // Send data in JSON format, specifying the appropriate content-type header:
curl -u myusername:mypassword {{http://example.com}}
curl --cert {{client.pem}} --key {{key.pem}} --insecure {{https://example.com}} // Pass client certificate and key for a resource, skipping certificate validation:
#curl #linux #command #bash @unixmens
منظور از Cloud-init چیست؟
به زبانی ساده cloud-init مجموع ه‏ای از اسکریپت ‏های پایتون برای اجرای سفارشی ‏سازی‏ هایی روی ماشین ‏های مجازی است.
برخی از قابلیت‏ های cloud-init عبارتند از:

setting hostname
ساخت SSH private keys
افزودن کلیدهای SSH
افزودن ephemeral mount points
پیکربندی قسمت‏های شبکه ‏ای
رفتار cloud-init و تغییرات و تنظیماتی که اجرا خواهد کرد از طریق user-data قابل پیکربندی است. user-data یکی از انواع metadata در OpenStack است. به طور کلی چهار نوع metadata در OpenStack وجود دارد که عبارتند از:

Meta-Data, User-Data, Vendor-Data, and Network-Data

که Meta-data به صورت مقادیر key=value هستند که از طریق CLI یا داشبورد می‏توان روی ماشین مجازی تعریف کرد

و Meta-data را می‏توان در زمان بوت ماشین مجازی یا حتی پس از بوت، روی ماشین مجازی تعریف کرد.


اما user-data اسکریپت‏ هایی هستند که می‏توانند به صورت مستقیم تایپ شوند یا به صورت فایلی باشند که هنگام راه‏ اندازی ماشین مجازی توسط cloud-ini استفاده خواهد شد. این اسکریپت ‏ها می‏توانند به زبان‏ هایی مانند پایتون یا shell باشند یا از فرمتی که شبیه به فایل‏های yaml و مختص cloud-config است، استفاده کنند.

در واقع user-data از داخل ماشین مجازی با دستور #curl ۱۶۹,۲۵۴.۱۶۹.۲۵۴/openstack/latest/user_data قابل دسترسی است. می‏توان اسکریپت ‏ها را طوری نوشت که خروجی آن در مسیری در داخل ماشین ‏مجازی نیز ذخیره شود. به صورت پیش‏فرض این اسکریپت ‏ها فقط در اولین بوت ماشین مجازی اجرا می‏شوند، البته راهکارهایی برای اجرای مجدد اسکریپت‏ ها در زمان‏های مختلف از چرخه حیات (lifecycle) ماشین مجازی نیز وجود دارند.

برخی از کاربردهای cloud-init:

تعریف کاربران و گروه‏ها
افزودن یک ریپازیتوری yum
پیکربندی فایل resolv.conf یک ماشین مجازی
نصب و اجرای chef
افزودن ریپازیتوری‏های apt
اجرای دستوراتی در بوت ماشین مجازی
نصب پکیج‏های موردنظر
اجرای upgrade با apt یا yum




اسکریپت ‏های user-data به زبان پایتون در پایگاه‏ داده کد می‏شوند. می‏توان این اسکریپت ‎های کدشده را decode کرد. برای اطلاعات کامل درباره cloud-init می‏توان به سایت رسمی آن مراجعه کرد:

http://cloudinit.readthedocs.io/en/latest/index.html

و metadata با استفاده از neutron metadata agent یا config drive قابل دسترسی هستند. دسترسی از طریق config drive پیچیدگی ‏های دسترسی از طریق neutron metadata agent را ندارد. با استفاده از آپشن config-drive، metadata به صورت یک درایو مجازی نزدیک ماشین مجازی قرار می‏گیرد و قابل mount یا unmount است.
#cloud_init #linux #virtualization @unixmens
Forwarded from Academy and Foundation unixmens | Your skills, Your future (yashar esmaildokht 🐧)
منظور از Cloud-init چیست؟
به زبانی ساده cloud-init مجموع ه‏ای از اسکریپت ‏های پایتون برای اجرای سفارشی ‏سازی‏ هایی روی ماشین ‏های مجازی است.
برخی از قابلیت‏ های cloud-init عبارتند از:

setting hostname
ساخت SSH private keys
افزودن کلیدهای SSH
افزودن ephemeral mount points
پیکربندی قسمت‏های شبکه ‏ای
رفتار cloud-init و تغییرات و تنظیماتی که اجرا خواهد کرد از طریق user-data قابل پیکربندی است. user-data یکی از انواع metadata در OpenStack است. به طور کلی چهار نوع metadata در OpenStack وجود دارد که عبارتند از:

Meta-Data, User-Data, Vendor-Data, and Network-Data

که Meta-data به صورت مقادیر key=value هستند که از طریق CLI یا داشبورد می‏توان روی ماشین مجازی تعریف کرد

و Meta-data را می‏توان در زمان بوت ماشین مجازی یا حتی پس از بوت، روی ماشین مجازی تعریف کرد.


اما user-data اسکریپت‏ هایی هستند که می‏توانند به صورت مستقیم تایپ شوند یا به صورت فایلی باشند که هنگام راه‏ اندازی ماشین مجازی توسط cloud-ini استفاده خواهد شد. این اسکریپت ‏ها می‏توانند به زبان‏ هایی مانند پایتون یا shell باشند یا از فرمتی که شبیه به فایل‏های yaml و مختص cloud-config است، استفاده کنند.

در واقع user-data از داخل ماشین مجازی با دستور #curl ۱۶۹,۲۵۴.۱۶۹.۲۵۴/openstack/latest/user_data قابل دسترسی است. می‏توان اسکریپت ‏ها را طوری نوشت که خروجی آن در مسیری در داخل ماشین ‏مجازی نیز ذخیره شود. به صورت پیش‏فرض این اسکریپت ‏ها فقط در اولین بوت ماشین مجازی اجرا می‏شوند، البته راهکارهایی برای اجرای مجدد اسکریپت‏ ها در زمان‏های مختلف از چرخه حیات (lifecycle) ماشین مجازی نیز وجود دارند.

برخی از کاربردهای cloud-init:

تعریف کاربران و گروه‏ها
افزودن یک ریپازیتوری yum
پیکربندی فایل resolv.conf یک ماشین مجازی
نصب و اجرای chef
افزودن ریپازیتوری‏های apt
اجرای دستوراتی در بوت ماشین مجازی
نصب پکیج‏های موردنظر
اجرای upgrade با apt یا yum




اسکریپت ‏های user-data به زبان پایتون در پایگاه‏ داده کد می‏شوند. می‏توان این اسکریپت ‎های کدشده را decode کرد. برای اطلاعات کامل درباره cloud-init می‏توان به سایت رسمی آن مراجعه کرد:

http://cloudinit.readthedocs.io/en/latest/index.html

و metadata با استفاده از neutron metadata agent یا config drive قابل دسترسی هستند. دسترسی از طریق config drive پیچیدگی ‏های دسترسی از طریق neutron metadata agent را ندارد. با استفاده از آپشن config-drive، metadata به صورت یک درایو مجازی نزدیک ماشین مجازی قرار می‏گیرد و قابل mount یا unmount است.
#cloud_init #linux #virtualization @unixmens
Forwarded from Academy and Foundation unixmens | Your skills, Your future (yashar esmaildokht 🐧)
منظور از Cloud-init چیست؟
به زبانی ساده cloud-init مجموع ه‏ای از اسکریپت ‏های پایتون برای اجرای سفارشی ‏سازی‏ هایی روی ماشین ‏های مجازی است.
برخی از قابلیت‏ های cloud-init عبارتند از:

setting hostname
ساخت SSH private keys
افزودن کلیدهای SSH
افزودن ephemeral mount points
پیکربندی قسمت‏های شبکه ‏ای
رفتار cloud-init و تغییرات و تنظیماتی که اجرا خواهد کرد از طریق user-data قابل پیکربندی است. user-data یکی از انواع metadata در OpenStack است. به طور کلی چهار نوع metadata در OpenStack وجود دارد که عبارتند از:

Meta-Data, User-Data, Vendor-Data, and Network-Data

که Meta-data به صورت مقادیر key=value هستند که از طریق CLI یا داشبورد می‏توان روی ماشین مجازی تعریف کرد

و Meta-data را می‏توان در زمان بوت ماشین مجازی یا حتی پس از بوت، روی ماشین مجازی تعریف کرد.


اما user-data اسکریپت‏ هایی هستند که می‏توانند به صورت مستقیم تایپ شوند یا به صورت فایلی باشند که هنگام راه‏ اندازی ماشین مجازی توسط cloud-ini استفاده خواهد شد. این اسکریپت ‏ها می‏توانند به زبان‏ هایی مانند پایتون یا shell باشند یا از فرمتی که شبیه به فایل‏های yaml و مختص cloud-config است، استفاده کنند.

در واقع user-data از داخل ماشین مجازی با دستور #curl ۱۶۹,۲۵۴.۱۶۹.۲۵۴/openstack/latest/user_data قابل دسترسی است. می‏توان اسکریپت ‏ها را طوری نوشت که خروجی آن در مسیری در داخل ماشین ‏مجازی نیز ذخیره شود. به صورت پیش‏فرض این اسکریپت ‏ها فقط در اولین بوت ماشین مجازی اجرا می‏شوند، البته راهکارهایی برای اجرای مجدد اسکریپت‏ ها در زمان‏های مختلف از چرخه حیات (lifecycle) ماشین مجازی نیز وجود دارند.

برخی از کاربردهای cloud-init:

تعریف کاربران و گروه‏ها
افزودن یک ریپازیتوری yum
پیکربندی فایل resolv.conf یک ماشین مجازی
نصب و اجرای chef
افزودن ریپازیتوری‏های apt
اجرای دستوراتی در بوت ماشین مجازی
نصب پکیج‏های موردنظر
اجرای upgrade با apt یا yum




اسکریپت ‏های user-data به زبان پایتون در پایگاه‏ داده کد می‏شوند. می‏توان این اسکریپت ‎های کدشده را decode کرد. برای اطلاعات کامل درباره cloud-init می‏توان به سایت رسمی آن مراجعه کرد:

http://cloudinit.readthedocs.io/en/latest/index.html

و metadata با استفاده از neutron metadata agent یا config drive قابل دسترسی هستند. دسترسی از طریق config drive پیچیدگی ‏های دسترسی از طریق neutron metadata agent را ندارد. با استفاده از آپشن config-drive، metadata به صورت یک درایو مجازی نزدیک ماشین مجازی قرار می‏گیرد و قابل mount یا unmount است.
#cloud_init #linux #virtualization @unixmens