منبع اصلی نوشتار زیر در این لینک قرار دارد

Termux, Tor, Android

برای استفاده از Tor در آندروید، به اون صورتی که ما در اپ های مختلف بتونیم با تنظیم 127.0.0.1:9050 بهش وصل بشیم، یک راهی پیدا کردم که باهاتون به اشتراک میذارم. ما باید با استفاده از یک شبیه ساز ترمینال لینوکس (مثلا در اینجا Termux) این کار رو انجام بدیم… ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

استفاده از Google Keep برای یادداشت برداری در پلتفرم های مختلف

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

منبع اصلی نوشتار زیر در این لینک قرار دارد

آموزش نصب نرم افزار مسنجر wire در فدورا لینوکس

نرم افزار wire یک برنامه جهت گفتگوی آنلاین می باشد که به وسیله آن می توان به راحتی با دوستان خود چت کرد.یکی از مهمترین مزیت های نرم افزار وایر امنیت و رمزنگاری کامل آن می باشد. نرم افزار Wire یک نرم افزار Open Source می باشد قابل نصب بر روی اکثر سیستم عامل ها […] ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

برگزاری سومین همایش Coder Conf

کدرکانف نام همایشی است که هر ساله برگزار می شود و امسال سومین دوره از آن می باشد. Coder Conf 3 شامل بوردهای DevOps,PHP و Android می باشد.از این رو … ادامه

مطالب مرتبط :

  1. همایش برنامه نویسی Coder Conf
  2. ثبت نام در همایش برنامه نویسی CoderConf
  3. آموزش نصب Intellij IDEA در فدورا لینوکس
  4. آموزش سریع git با cheat sheet

ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

منبع اصلی نوشتار زیر در این لینک قرار دارد

اسکریپت افزودن دسته‌ای مخاطبین اندروید

این اسکریپت رو امروز برای اضافه کردن مخاطبین به گوشیم نوشتم. اول شماره ها رو توی یه فایل (هر شماره در یک خط) بنویسید و بعد گوشی رو به سیستم وصل کنید و اسکریپت رو اجرا کنید.

 

#!/usr/bin/bash

IFS=$'\n'

list=`cat ~/shop-contacts`

index=1

for number in $list; do
    contact_name="shop_$index"
    adb shell am start -a android.intent.action.INSERT -t vnd.android.cursor.dir/contact -e name $contact_name -e phone $number
    adb shell input keyevent 4
    adb shell input keyevent 4
    adb shell input keyevent 4
    wait $pid
    ((index++))
    adb shell input keyevent 4
done

 

فایل حاوی شماره ها:

list=`cat ~/shop-contacts`

 

 

ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

مدیر بارگیری uGet: این بار، اندروید!

در پست قبل٬ مدیر بارگیری آریا۲ رو معرفی کردم و راه نصبش رو توضیح دادم. اگر خیلی با رابط متنی راحت نیستید یا به هر دلیلی ترجیح نمی‌دید که ازش استفاده کنید، راه بهتری هم وجود داره: مدیر بارگیری uGet. این نرم‌افزار ذاتا یک رابط گرافیکی برای دیگر دانلود منیجرهاست و «خودش» چیزی رو دانلود نمی‌کنه.

بریم برای نصب!

نصب

در صورتی که آریا۲ رو نصب نداشته باشید، uGet از curl استفاده می‌کنه و برای دانلودهای ساده و کم‌حجم کافیه. ولی اگر احتیاج به قابلیت هایی مثل بارگیری چند رشته‌ای دارید، می‌تونید uGet رو برای استفاده از آریا۲ پیکربندی کنید.

برای نصب، مثل همه‌ی برنامه‌های اندروید می‌تونید بسته‌ی اندروید رو دریافت و نصب کنید.

پیکربندی(اختیاری)

بعد از نصب، برنامه رو باز کنید، روی منو(Menu) بزنید و تنظیمات(…Settings) رو بیارید. بخش «Aria2 plug-in options» رو باز کنید و گزینه‌ی «Run aria2 in this device» رو فعال کنید. مسیر کامل باینری آریا۲ رو توی قسمت «Path» وارد کنید.

اگر به روش روت آریا۲ رو نصب کردید، می‌تونید با این دستور مسیر کامل باینریش رو ببینید:

$ which aria2c

و اگر به روش بدون دسترسی روت این کار رو انجام دادید، مسیر کامل می‌شه این:

/data/local/tmp/aria2c

بقیه‌ی تنظیمات مثل تعداد اتصال و غیره رو هم بهتره تنظیم کنید که سلیقه‌ای هستن و بستگی داره که اتصالتون چقدر ذغالی باشه 😁

ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

مدیر بارگیری آریا۲: این بار، اندروید!

از عنوان مطلب مشخصه که این مدیر بارگیری قدرتمند، حالا نسخه‌ی اندروید داره و تمام ویژگی‌هاش رو هم به اندروید میاره.

نصب

بسته به این که دیوایس شما روت شده باشه یا نه، محل نصب فرق می‌کنه. نصب با روش دسترسی روت این خوبی رو داره که باینری برنامه توی $PATH شما قرار می‌گیره و نیازی به وارد کردن مسیر کامل ندارید؛ ولی در این صورت باید توی پارتیشن سیستم بنویسید که ممکنه علاقه‌ای به این کار نداشته باشید. در هر صورت، نتیجه‌ی نهایی یکیه. تمام دستورها روی گوشی اجرا می‌شن. هم می‌تونید از adb shell استفاده کنید و هم از یک برنامه‌ی شبیه‌ساز ترمینال.

با دسترسی روت

امیدوارم که روی گوشیتون، busybox نصب داشته باشید؛ چون ممکنه باینری mount خود گوشی مشکل ایجاد کنه.

پارتیشن سیستم رو برای خارج کردن از حالت فقط خواندنی، دوباره سوار می‌کنیم:

$ su -c 'busybox mount -o remount,rw /'

حالا، پرونده‌ی فشرده‌ی برنامه رو دریافت کنید و باینری aria2c رو ازش استخراج کنید و منتقلش کنید به گوشی، مثلا /sdcard/. با بقیه‌ی محتویات پرونده‌ی فشرده کاری نداریم، می‌تونید پاکش کنید.

باینری aria2c رو به یکی از مسیرهایی که توی متغیر محیطی PATH هستن کپی می‌کنیم، معمولا /system/bin توی این متغیر هست. بعدش بهش دسترسی‌های لازم رو می‌دیم و سیستم رو به حالت فقط خواندنی برمی‌گردونیم.

$ su
# cp /sdcard/aria2c /system/bin/aria2c
# chmod 755 /system/bin/aria2c
# mount -o remount,ro /
# ^D
$ rm /sdcard/aria2c

بدون دسترسی روت

مثل روشی که دسترسی روت نیاز داشت، پرونده‌ی فشرده رو دریافت و باینری رو استخراج کنین و به گوشی کپی کنین. مثلا /sdcard/.

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

$ cp /sdcard/aria2c /data/local/tmp/aria2c
$ chmod 755 /data/local/tmp/aria2c
$ rm /sdcard/aria2c

استفاده

اگر با دسترسی روت نصب کردید، فقط بزنید aria2c و برنامه رو به کار بگیرید. در غیر این صورت، هر بار باید مسیر کامل رو وارد کنید، مگر این که پوشه‌ی حاوی باینری رو به PATH اضافه کنید:

$ /data/local/tmp/aria2c
# OR
$ export PATH= /data/local/tmp/:$PATH
$ aria2c

دانلود خوبی داشته باشید :))

ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

ماونت کردن فایل سیستم داخل شبکه در اوبونتو

از زمانی که تکنولوژی پیشرفت کرده و شبکه های بی‌سیم (wireless) جایگزین شبکه های کابلی شدن، زندگی ما هم راحت تر شده. راه های زیادی هست که بتونیم دستگاه های مختلف رو از طریق شبکه ی بی‌سیم به هم وصل کنیم و فایل هاشون رو به اشتراک بذاریم. روش هایی مثل FTP یا NFS و […] ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

دبیان بر بستر اندروید: پیش به سوی جسی!(قسمت دوم)

در قسمت قبل بسته‌ها بارگیری و به پوشه‌ی debroot منتقل شدند. حالا ادامه‌ی مراحل را انجام می‌دهیم.

۳. ساخت تصویر توزیع

یک ایمیج خالی با استفاده از dd درست می‌کنیم:

root@host:~# dd if=/dev/zero of=Debian.img count=0 bs=1M seek=1K

حجم ایمیج ساخته‌شده ۱گیگابایت خواهد بود. برای داشتن اندازه‌ی دلخواهتان مقدار seek را بر حسب مگابایت تغییر دهید.
آن را فرمت می‌کنیم:

root@host:~# mkfs.ext4 -F -L Debian Debian.img

و سپس سوار می‌کنیم:

root@host:~# mount -t ext4 -o loop,rw Debian.img /mnt

حالا همه‌ی بسته‌های بارگیری شده را به ایمیج کپی می‌کنیم:

root@host:~# cp -r debroot/* /mnt/; sync

و ایمیج را جدا:

root@host:~# umount /mnt

حالا ما یک ایمیج از توزیع‌مان داریم ولی هنوز آماده نیست. از این‌جا دیگر به پوشه‌ی debroot نیاز نداریم.

۴. انتقال توزیع به اندروید

مهم نیست که ایمیج کجا کپی می‌شود، ولی باید قابل دسترس باشد و فضای کافی داشته باشد. مثلا ایمیج من در /storage/sdcard1/Disks/ قرار دارد. پس از انتقال ایمیج، دیگر کاری با ماشین گنو/لینوکسی نداریم.
توجه! در مرحله‌ی بعد به BusyBox نیاز خواهیم داشت. اگر هنوز آن را روی اندروید نصب نکرده‌اید، همین حالا نصب کنید.

۵. نصب توزیع

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

root@android:~# mkdir /data/debian
root@android:~# busybox mount -o loop,rw -t ext4 <IMAGE> /data/debian

یادتان نرود که در کدهای گفته شده، <IMAGE> را با مسیر ایمیجی که کپی کردیم عوض کنید. وارد توزیع می‌شویم:

root@android:~# export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
root@android:~# export USER=root
root@android:~# export HOME=/root
root@android:~# busybox chroot /data/debian /bin/bash
root@localhost:/#

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

root@localhost:/# /debootstrap/debootstrap --second-stage

debootstrap شروع به نصب سیستم می‌کند.

تبریک! توزیع ما آماده است؛ ولی هنوز کارهای کوچکی باقی‌مانده که می‌تواند کار ما را راحت‌تر کند. مثلا با اسکریپت زیر، هربار توزیع آماده و اجرا می‌شود و پس از اتمام کار خودبه‌خود جدا می‌شود. من این اسکریپت را در مسیر system/bin/debian/ قرار دادم.

 1 export DEBMNT=/data/debian
 2 busybox mount -t ext2 <IMAGE> $DEBMNT
 3 busybox mount -t proc none $DEBMNT/proc
 4 busybox mount -t sysfs none $DEBMNT/sys
 5 busybox mount -o bind /dev $DEBMNT/dev
 6 busybox mount -t devpts none $DEBMNT/dev/pts
 7 unset LD_PRELOAD
 8 LAST_PATH=$PATH
 9 export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
10 export USER=root
11 export HOME=/root
12 export TERM=linux
13 busybox chroot $DEBMNT /bin/bash
14 export PATH=$LAST_PATH
15 sync
16 busybox umount $DEBMNT/dev/pts
17 busybox umount $DEBMNT/dev
18 busybox umount $DEBMNT/proc
19 busybox umount $DEBMNT/sys
20 busybox umount $DEBMNT || sh -c "busybox umount -l $DEBMNT && echo 'Force unmounted!'"

۶. تنظیم apt

لازم است که تغییراتی در sources.list مربوط به مدیر بسته‌ی apt به‌وجود آوریم تا بتوانیم بسته‌های مورد نیازمان را نصب کنیم.

root@localhost:/# vi /etc/apt/sources.list

توجه! به جای ویرایش‌گر vi، هر ویرایشی که با آن راحت‌تر هستید استفاده کنید. nano به‌طور پیش‌فرض نصب است.
خطوط زیر را به آن اضافه کنید یا فایل آماده را دریافت کنید.

1 deb http://ftp.ir.debian.org/debian/ jessie contrib main non-free
2 deb-src http://ftp.ir.debian.org/debian/ jessie contrib main non-free
3 
4 deb http://ftp.ir.debian.org/debian/ jessie-backports contrib main non-free
5 deb-src http://ftp.ir.debian.org/debian/ jessie-backports contrib main non-free
6 
7 deb http://ftp.ir.debian.org/debian/ jessie-updates contrib main non-free
8 deb-src http://ftp.ir.debian.org/debian/ jessie-updates contrib main non-free

و در آخر،‌ برای به‌روزرسانی کَش apt:

root@localhost:/# apt-get update

توجه! فرمان بالا نیاز به اتصال اینترنت دارد.
اکنون توزیع شما دقیقا مانند یک توزیع گنو/لینوکس عادی رفتار می‌کند.

در قسمت بعد به نصب محیط گرافیکی(به هر دو روش framebuffer و VNC) خواهیم پرداخت.

ادامه مطلب