تفعيل فديو HTML5 في فيرفوكس على اللينكس

في بعض توزيعات اللينكس مثل فيدورا نجد أن بعض مشغلات أو مرمزات الفيديو معطلة بشكل افتراضي إما لكونها لا تزال في مراحل التطوير أو بسبب المخاوف من حقوق التسجيل وبراءات الاختراع. مهما كانت الأسباب فانك ستجد أن تشغيل مقاطع الفيديو التي تستخدم تلك التراميز في بعض المواقع غير ممكن حتى لو كنت قد جملت جميع حزم التراميز المطلوبة (مثل تراميز gstreamer وغيرها).

من اهم المواقع المختصة بالفيديو موقع يوتيوب حيث يوفر خاصية استخدام مشغل أفلام يعمل بتقنية HTML5 الحديثة بدلا من الفلاش إذ إنها اكثر أمنا واسرع واخف على المعالج من مشغلات الفلاش وحيث إن الفلاش يستخدم في الغالب من قبل شركات الإعلانات في تعقب تنقلاتك وعرض الإعلانات لك وكذلك من قبل الهاكرز في استغلال ثغراته. عند زيارة صفحة اليوتيوب https://www.youtube.com/html5 الخاصة بتفعيل مشغل HTML5 تقوم الصفحة بفحص المتصفح لمعرفة التراميز التي يدعمها وكانت الصفحة تظهر لي بالشكل التالي:

Firefox on Linux Youtube HTML5 Player

فالعناصر باللون الأحمر تعني أن تلك المرمزات غير متوفرة مما جعل مشغل HTML5 يعرض الفديوات بوضوح محدود في بعض الأحيان مثلا دقة 720HD كحد أقصى أو أن لا تكون الفديوات متوفرة بدون تلك التراميز.

الحل كان سهلا جدا فجميع حزم التراميز قد قمت بتثبيتها سابقا من مخازن RPM Fusion الخاصة بتوزيعة فيدورا وكنت في حاجة لتفعيلها في فيرفوكس فقط، خطوات التفعيل سهلة اذ عليك زيارة صفحة إعدادات فيرفوكس المتقدمة وذلك عن طريق كتابة about:config في حقل عناوين الإنترنت والضغط على مفتاح الإدخال (قد تحتاج إلى ضغط زر “I’ll be careful, I promise!” إذا ظهرت صفحة التنبيه).

في صفحة الإعدادات ستجد شريط بحث في الأعلى يساعد على إيجاد الإعدادات بسهولة. فقم بكتابة “h264″ في ذلك الشريط للبحث عن الإعدادات المتعلقة بذلك الترميز ثم قم بتفعيلها كما هو موجود في الصورة التالية:

Firefox H264 decoder settingsقم بعد ذلك بالبحث عن الإعدادات المتعلقة ب “mp4″ وفعلها كالصورة التالية:

firefox mediasource settingsأخيرا ابحث عن إعدادات “mediasource” وفعلها كالتالي:firefox mp4 settingsبعد الانتهاء من الإعدادات قم بزيارة صفحة اليوتيوب الخاصة بمشغل فيدو HTML5 و إذا كانت التغييرات صحيحة مع توفر المرمزات المطلوبة ستكون بالشكل التالي:

firefox youtube html5

الآن يمكنك تفعيل المشغل بشكل افتراضي والاستمتاع بيوتيوب اسرع مع القدرة على تشغيل الفديوات بجميع التراميز.

HTML5 and H264 for Firefox on Linux

In some Linux distributions such as Fedora the amazing browser Firefox will ship with some of the video decoders turned off by default, some of it is due to the decoder being in unstable stage or due to some copyrights/patents concerns. In either way trying to play videos that uses one of these formats won’t work even if you have all the packages installed (such as the good, the bad and the ugly gstreamer plugins).

I wanted to make youtube use the HTML5 player instead of the old flash player which is mostly used to track you, show ads and by hackers. Visiting the youtube html5 player page https://www.youtube.com/html5 used to be like this:

Firefox on Linux Youtube HTML5 PlayerThe items in red means they are missing which caused some youtube videos not be available in HTML5 player, or for the resolution to be limited mostly to a maximum of 720 or lower.

The solution is very simple after installing all needed packages, I got all my decoders for Fedora from RPM Fusion repos, and it is under the Firefox low level configuration page which you can get to by typing about:config in the URL box + Enter (click on the button “I’ll be careful, I promise!” if you see a warning page).

In the configuration page there is a search box at the top that makes it easy to find the settings which you need to change. So first type in “h264″ and enable the disabled settings as you see in the picture below:

Firefox H264 decoder settingsThen type in “mp4″ and do the same as the picture below:

firefox mediasource settingsFinally, search for “mediasource” and enable it as follows:firefox mp4 settingsWhen you are done with the settings revisit the youtube html5 page and it should look like this:

firefox youtube html5Now you can enable the HTML5 player as a default player and enjoy a faster youtube thanks to HTML5 and have the ability to play all videos in all formats.

Robo RC

When my son wanted me to buy him a toy robot I asked him if he would like to build one with me instead, he was so interested so I told him that it will be a car robot with two motorized wheels controlled from the phone over bluetooth and he needs to sketch the design then build it using Lego blocks.

IMG_20150110_115340 IMG_20150110_115358 IMG_20150110_115409IMG_20150301_184414 IMG_20150301_184527 IMG_20150301_184516 IMG_20150301_184501 IMG_20150301_184432 device-2015-03-07-210547

While he was busy with the sketches I started looking for parts, so I went to eBay and found these wheels


They come in two speeds, I ordered the slower one since it has more torque.
These wheel will need something to control them since the Arduino micro-controller is not strong enough to drive them with enough current so wanted to build an H-bridge using transistors (which I have already) but I found  a module based on the L298 chip  which is very cheap and has a voltage regulator too, awesome.

Next was the bluetooth module, and I went for the HC-06 which is easy to use and also cheap.

Bluetooth HC06-2And finally is of course the Arduino board, I got the Arduino Pro Mini for its small size and low cost.

arduino_miniEven though I actually used the Arduino Uno for the development since it is much easier to upload the code and fix mistakes.

I got them all from eBay with the cheapest price I can get so some took about a month to arrive and I wasn’t in a hurry:

2x Car Robot Wheels: $6.00
L298N Dual H Bridge: $3.00
HC-06 Bluetooth Module: $4.00
Arduino Pro Mini: $2.60
40pin Dupont Wires: $1.50
Total = about $17

You will also need an Android Phone or tablet, any with Android 3.0 and up should do. Lego blocks or anything to use for the car body.

Here is a video we made showing how to use the app and explaining the car we built and its main parts:

To get the Andriod app click on the Google play icon below:
Android-app-on-google-play

for the Android source code click here
and for the Arduino code click here

Inside a fake ELM 327

I got myself on of those cheap Bluetooth OBDII dongles but it didn’t work in my car (2005 Dodge), it simply couldn’t detect the protocol which is SAE J1850 VPW used on most Chrysler/Dodge I believe before 2008. So I took it apart and as you can see in the picture it has two stacked circuit boards the one of top has a bluetooth chip (BEKEN BK3231Q) and a CAN protocol transceiver from NXP (TJA1040)

Fake ELM327

The flip side of the top board contains a CAN controller (MCP2515) from Microchip.

CAM controller MCP2515

However, and what is surprising is the bottom board which contains only voltage regulators for 5v and 3.3v and most of the OBD-II pins are not even connected!
OBD-II connectionsLet’s compare  the connected pins to the pinout of the OBD-II connector in the image below

OBD2_pinoutSo the 12v VCC (pin 16 in red) is connected and the two ground pins (pin 4 & 5 in gray). How about the different OBD2 protocols? let’s see:

  • CAN  (ISO15765) used pin 6 & 14 (green color) and they are connected.
  • ISO9141/14230 uses pin 7 & 15 (yellow color) and they are connected.
  • J1850 PWM uses pin 2 & 10 (blue color) and they are NOT connected.
  • J1850 VPW uses only pin 2 (blue color) and it is NOT connected.

So it is clear that this will not support any of the J1850 protocols which are used by most old American car makers (Chrysler/Dodge/Jeep, Ford, GM), luckily I think all new cars (2008+) are using the CAN protocol which is the newest among the others.

فلسفة لنكساوية

بعد مخالطة الكثير من اللينكساويين وجدت أن الأغلب متمسك بتوزيعة أو بأخرى لسبب ما، بعض الأسباب تقني وبعضها شخصي. لكني لمست عند الكثير من الدبيانيين (مستخدمي توزيعة ديبيان) نوع قد يكون فريد من القناعة بكون تلك التوزيعة تتفوق على غيرها وهو الثبات. فعندما يبدأ حوار التوزيعات تجد احد الديبيانيين يقاطع الجميع ويبدأ بالحديث وكأن ما يتلوه هو قرآن لا يحتمل النقاش فيذكر ثبات ديبيان واستقرارها وأنها لا يعلوها احد ويذكر أمجادها حتى يضن السامع أن من يستخدم غير الديبيان إنما هو ضال لم ير سبيل الرشاد بعد!. لحظة قد لا يكونون لهذه الدرجة من التعصب اللينكساوي لكن تجد فيهم نفحات منه.

هدفي من هذه المقالة هو توعية بعض من يجهل عن احد اهم الأسباب التي تكمن وراء كون ديبيان توزيعة مستقرة، وذلك السبب يعود لوجود توزيعات أخرى مثل فيدورا وما شابهها. نعم فيدورا، الكثير من الناس ينعتون فيدورا بكونها فأر تجارب لريدهات لاختبار الإصدارات الحديثة من النواة وبرامج اللينكس ويتناسون أن فأر التجارب ذاك كان سببا بعد الله في اكتشاف الكثير من الأدوية والعقاقير لأمراض عدة. وإن كانت فيدورا فأر التجارب فإن مستخدميها هم العلماء الذي يكتشفون الأمراض والعلل ليتم علاجها وتفاديها قبل أن تصيب بقية الناس.

وبعد أن يتم تطهير النواة والبرامج من غالب العلل يهرع مطورو التوزيعات المستقرةبتبنيها ودمجها في إصداراتهم المستقبلية ولا ضير في ذلك، إنما الضير في تناسي واجحاف جهود من سبقهم من مستخدمي فيدورا وما شابهها من التوزيعات المتطورة من اكتشاف للثغرات والعلل والمساهمة في حلها.

تخصيص دقة الشاشة في لينكس

في بعض الأحيان قد يفشل نظام اللينكس في التعرف على بعض أنماط أو دقة شاشة العرض والأسباب قد تعود إلى مشاكل في معرفات كرت الشاشة أو مشاكل في الشاشة نفسها و أحيانا تكون بسبب كبل الشاشة خصوصا عند استخدام التقنيات التماثلية مثل VGA. التقنيات الرقمية مثل HDMI و DisplayPort اقل عرضة بكثير لمثل هذه المشاكل.

في هذا الموضوع سوف اشرح طريقة إضافة نمط مدعوم من قبل الشاشة لكن لم يستطع النظام التعرف عليه [* هذه الطريقة لن تسمح باستخدام دقة أعلى أو اقل مما تدعمه الشاشة لان تلك حدود مصنعية]. لنفرض أن شاشتك تدعم دقة عرض [1920×1080]  وتسمى Full HD و FHD واحيانا 2K ولكن عند تشغيل النظام لم تعرف عليها واستخدم دقة اقل مثلا [1280×1024]. قم أولا بتنفيذ أمر xrandr لعرض الأنماط التي تعرف عليها:

$ xrandr 
Screen 0: minimum 320 x 200, current 1280 x 1024, maximum 1280 x 1024
VGA1 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 510mm x 287mm
   1280x1024     75.02    60.02* 
   1024x768      75.08    60.00  
   800x600       75.00    60.32  
   640x480       75.00    60.00  
HDMI1 disconnected (normal left inverted right x axis y axis)
DP1 disconnected (normal left inverted right x axis y axis)

في الخرج السابق نجد انه لم يتعرف على النمط المطلوب مع أن الشاشة تدعمه وكذلك تعرفنا على أن الشاشة متصلة عن طريق منفذ VGA1 وان النمط الافتراضي (انظر إلى علامة النجمة *) هو [1280×1024].

نقوم بعدها بإضافة النمط المطلوب:
أولا نقوم باستخراج إعدادات الشاشة المطابقة لذلك النمط باستخدام أمر cvt مع الدقة المطلوبة، نفذ التالي:

$ cvt 1920 1080
# 1920x1080 59.96 Hz (CVT 2.07M9) hsync: 67.16 kHz; pclk: 173.00 MHz
Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync

السطر الثاني هو المهم و ما بين علامتي التنصيص “1920x1080_60.00″ هو اسم النمط ويمكن تغييره (بل انصح بتغييره إلى “1920×1080″ وذلك بحذف الجزء الأخير المتعلق بتردد الشاشة لكي لا يسبب مشكلة لاحقا)

بعد ذلك نقوم بإضافة النمط الجديد باستخدام الناتج من السطر الثاني أعلاه لكن بدون كلمة Modeline مع تغيير الاسم ثم ربطة مع منفذ الشاشة التي نستخدمها:

$ xrandr --newmode "1920x1080" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync

$ xrandr --addmode VGA1 "1920x1080"

لو ظهرت رسالة خطا فتأكد من صحت البيانات المدخلة وان الشاشة تدعم هذا النمط، أما إذا لم تظهر أي رسائل فالخطوة التالية هي تجربة النمط الجديد والتحقق من صلاحيته مع الشاشة بالأمر التالي:

$ xrandr --output VGA1 --mode "1920x1080"

بعد تنفيذ الأمر السابق هناك احتمالان، الأول هو أن تعمل الشاشة بشكل سليم مع النمط الجديد وتستطيع استكمال العمل أما الاحتمال الثاني فهو أن لا تكون الشاشة متوافقة مع النمط الجديد فتظهر الشاشة سوداء أو صورة غير مقروءة فهنا يلزم إعادة تشغيل الواجهة الرسومية أو إعادة تشغيل الجهاز. توجد طريقة أخرى لتجنب إعادة التشغيل وهي تجربة الأمر السابق ثم الانتظار لبعض الوقت ثم إعادة الشاشة لنمط معروف توافقه مسبقا كالتالي (ثلاث أوامر في سطر واحد):

$ xrandr --output VGA1 --mode "1920x1080" ; sleep 5 ; xrandr --output VGA1 --mode "1280x1024"

الأمر الأول ينفذ النمط الجديد التجريبي، والأمر الثاني ينتظر 5 ثواني خلالها تستطيع الحكم إذا كان النمط في الأمر الأول ناجحا أم لا والأمر الأخير يعيد النمط الافتراضي (راجع أول المقالة بخصوص النمط الافتراضي) لكي لا نضطر لإعادة التشغيل في حال كان النمط غير مناسب للشاشة.

في حال نجح الأمر السابق وعملت الشاشة مع النمط الجديد فيجب إضافته إلى إعدادات النظام لكي يعمل حتى بعد إعادة التشغيل، حيث إن الأمر السابق لا يحفظ الإعدادات الا في حال كان الاستخدام مؤقتا كربط الحاسوب مع جهاز عرض “بروجيتور”. في حال الرغبة في تثبيت الامر بالإمكان جمع الأوامر السابقة في ملف script وجعلها تنفذ بعد تشغيل الواجهة الرسومية لكن لا انصح بها او اتبعاع الطريقة الصحيحة وهي باضافة ملف يالنمط الجديد لمجلد اعدادات X11.

قم بانشاء ملف باسم “10-monitor.conf” تحت مجلد
/etc/X11/xorg.conf.d/
(تحتاج صلاحيات روت للكتابة في ذلك المجلد) واكتب بداخل الملف التالي:

Section "Monitor"
    Identifier             "Monitor0"
    Modeline "1920x1080"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
EndSection

Section "Screen"
    Identifier             "Screen0"
    Device                 "VGA1"
    Monitor                "Monitor0"
    DefaultDepth           24
    SubSection             "Display"
        Depth              24
        Modes              "1920x1080"
    EndSubSection
EndSection

يجب مراعاة تغيير النمط “1920×1080″ واسم منفذ الشاشة “VGA1″ لما يناسبك ثم قم بإعادة التشغيل. في حال وجود مشكلة بعد إعادة التشغيل ادخل على النظام من الطرفية “Terminal” واحذف الملف السابق.

الخدمات الممكن الاستغناء عنها في فيدورا

عند تركيب فيدورا على الجهاز فان هناك عدد من الخدمات التي تعمل بشكل افتراضي، بعضها ضروري وتعطيلها قد يسبب مشاكل للنظام ولكن بعضها الآخر إما اختياري أو لا فائدة منه و بالإمكان تعطيله بدون مشاكل.

ما الفائدة من تعطيل الخدمات؟… الخدمات الغير مستخدمة تستهلك بعض موارد الجهاز كالذاكرة والمعالج وكذلك تبطئ عملية الإقلاع وتعطيلها يوفر تلك الموارد ويجعل النظام يقلع بشكل اسرع، سأقوم بسرد الخدمات التي يمكن تعطيلها مع شرح بسيط لها.
أولا توزيعة فيدورا تستخدم systemd لإدارة الخدمات و هناك عدة طرق لمعرفة الخدمات التي تعمل أثناء الإقلاع منها تنفيذ امر systemctl حيث سيعرض قائمة طويلة بجميع الخدمات وحالتها. لكن الطريقة الاسهل هي عن طريق فتح مجلد /etc/systemd/system/ حيث ان داخل هذا المجلد عدد من المجلدات والملفات وكل ملف من هذه الملفات يمثل خدمة محددة ولتعطيل الخدمة تنفذ التالي من سطر الاوامر:

sudo systemctl disable <اسم الخدمة>

وبالإمكان إدراج اكثر من خدمة في نفس السطر

sudo systemctl disable الخدمة3 الخدمة2 الخدمة1

والآن مع قائمة الخدمات وشرحها بالعربي:

abrtd.service خدمة التبليغ عن أخطاء النظام
abrt-ccpp.service تابع لخدمة التبليغ عن أخطاء النظام
abrt-oops.service تابع لخدمة التبليغ عن أخطاء النظام
abrt-vmcore.service  تابع لخدمة التبليغ عن أخطاء النظام
abrt-xorg.service تابع لخدمة التبليغ عن أخطاء النظام
atd.service خدمة تشغيل البرامج بشكل تلقائي في أوقات محددة
auditd.service خدمة متقدمة لمراقبة احداث النظام من النواة مباشرة
avahi-daemon.service خدمة التعرف على الأجهزة الأخري في الشبكة كالطابعات
avahi-daemon.socket تابع لخدمة Avahi للتعرف على الأجهزة
bluetooth.service البلوتوث، لا فائدة منها في الأجهزة التي لا تحتوي عليه
crond.service خدمة تشغيل البرامج بشكل تلقائي في أوقات محددة
dmraid-activation.service خاص بتفعيل RAID البرامجي الخاص بالاقراص (لا تقم بتعطيلها في حال كنت تستخدم Software RAID)
dm-event.socket تابع لخدمة RAID
iscsi.service بروتوكول خاص بوحدات التخزين عبر الشبكة
iscsid.socket تابع لبروتوكول وحدات التخزين عبر الشبكة
iscsiuio.socket تابع لبروتوكول وحدات التخزين عبر الشبكة
lvm2-monitor.service نظام تقسيم القرص lvm، لا تقم بتعطيله في حال اخترت التقسيم التلقائي
lvm2-lvmetad.socket نظام تقسيم القرص lvm، لا تقم بتعطيله في حال اخترت التقسيم التلقائي
mdmonitor.service خدمة RAID البرامجي الخاص بالأقراص (لا تقم بتعطيلها في حال كنت تستخدم Software RAID)
ModemManager.service خدمة الاتصال بالإنترنت عن طريق استخدام شبكة الجوال
multipathd.service خدمة تعدد المسارات (تستخدم غالبا مع الخوادم الكبيرة)
nfs-lock.service بروتوكول مشاركة الملفات عبر الشبكة بنظام NTS
nfs.target بروتوكول مشاركة الملفات عبر الشبكة بنظام NTS
pcscd.service خدمة البطاقات الذكية (تتطلب قارئ بطاقات خاص)
pcscd.socket تابع لخدمة البطاقات الذكية
remote-fs.target خاص بوحدات الأقراص عبر الشبكة (نظام ملفات عن بعد)
rngd.service خدمة توليد الأرقام العشوائية، تعمل فقط مع المعالجات الحديثة ولا تعمل داخل الوهمي
rpcbind.service خاص ببروتوكولات مشاركة الملفات عبر الشبكة
rpcbind.socket تالع لبروتوكولات مشاركة الملفات عبر الشبكة
spice-vdagentd.service خدمة التحكم بالطرفيات عن بعد باستخدام Spice
sshd.service خدمة الدخول الآمن للطرفية (خدمة مفيدة جدا لكن ينصح بتعطيلها في حال عدم استخدامها)
vmtoolsd.service أدوات خاصة بالوهمي عند استخدام VMware

 

ولتعطيل الخدمات المذكورة جميعها بعد التأكد من عدم حاجتك لها نفذ الأمر التالي:

sudo systemctl disable abrt-ccpp.service abrtd.service abrt-oops.service abrt-vmcore.service abrt-xorg.service atd.service auditd.service avahi-daemon.service bluetooth.service crond.service dmraid-activation.service dm-event.socket iscsi.service iscsid.socket iscsiuio.socket lvm2-lvmetad.socket lvm2-monitor.service mdmonitor.service ModemManager.service multipathd.service nfs-lock.service nfs.target sshd.service pcscd.service pcscd.socket remote-fs.target rpcbind.service spice-vdagentd.service vmtoolsd.service

ثم قم بإعادة تشغيل الجهاز، وفي حال وجود مشكلة او احتجت لتشغيل احد تلك الخدمات فقم بتفعيلها هكذا:

sudo systemctl enable <اسم الخدمة>

ولتشغيلها:

sudo systemctl start <اسم الخدمة>

وللاستعلام عن حالة الخدمة:

systemctl status <اسم الخدمة>

** ملاحظة: قد لا تكون جميع الخدمات تلك ظاهرة لديك إذ أنها تعتمد على حزم البرامج المحملة على النظام، لكني حاولت إدراج اكبر قدر ممكن من الخدمات التي تأتي مع Fedora 20 و التي اعتقد أنها غير ضرورية لعمل النظام ومن الممكن الاستغناء عنها.

Telegram Ultra

** Due to the irresponsible behavior and awkward policy of Telegram company, and after they have taken my username @Fahad and given it to someone else without even asking me or notifying me I decided to delete my telegram account and stop the development of Telegram Ultra. And whoever was contacting me through that username should stop since it is not me anymore!

** بعد التصرف الغير منطقي و السياسة المتخلفة من شركة تيليقرام حيث قامو بسحب اسم المستخدم  @Fahad مني ومنحة لشخص اخر بدون حتى سؤالي او تنبيهي قررت حذف حساب التيليقرام وايقاف تطروير نسخة الترا. وعلى من كان يتواصل معي بالاسم ان يتوقف لانه ليس انا

التيليقرام عبارة عن برنامج للمحادثة يشابه برامج كثيرة مثل الواتساب ولاين ولكنه يتميز بكونه مفتوح المصدر فبإمكان أي مستخدم تعديل البرنامج حسب ما يناسبه.
لن أتحدث عن امن البرنامج ومقارنته بالبرامج الأخرى، ففي نظري جميع البرامج غير امنه وخصوصا انك لا تعرف ما يحدث فعليا في خوادم الشركات لذلك يجب استخدامها في المراسلات العادية والتي لا تخشى من تسربها أو اطلاع الغير عليها.
المهم، قمت بنسخ مصدر البرنامج من موقع Github واضفت له تعديلات وتطويرات ثم رفعت تلك التغيرات على حسابي في Github على الرابط التالي:

https://github.com/fduraibi/Telegram

بالامكان تحميل احدث اصدارة من متجر قووقل (قووقل بلاي)

Get it on Google Play

التغيرات التي قمت بها هي التالي مع تعديلات المطور: (ساقوم بتحديث هذه القائمة عند اصدار تحديثات جديدة تحت تاريخ التعديل)

Continue reading

تصنيع قالب النحاس (Stencil) لمعجون اللحام

اذا كنت تصنع لوح دوائر اليكترونية بكميات كبيرة او كنت تستخدم قطع الليكترونية صغيرة حيث يصعب لحماها باليد فانك بحاجة الى استخدام ما يسمى بالستنسل وهي عبارة عن شريحة معدنية او بلاستيكية رقيقة تحتوي على فتحات تطابق تصميم الدائرة تستخدم في وضع معجون اللحام بشكل سهل. هناك عدة طرق لصناعة تلك الشرائح واكثرها شيوعا هو باستخدام الليزر او استخدام طريقة Etching وهي الطريقة التي قمنا بشرحها في الفيديو التالي على قناة “تقنيات بالعربي”:

راوترات منزلية تسمح للهاكرز بالدخول

قام احد الباحثين في أمن المعلومات “HD Moore” بعد اكتشاف ثغرة في بروتوكول UPnP المستخدم في محولات الشبكات Routers خصوصا الشبكات المنزلية، قام بعمل مسح لجميع عناوين الإنترنت في نطاق IPv4 مرة كل أسبوع ولمدة خمسة شهور واكتشف وجود ما بين 40 الى 50 مليون جهاز يحتوي على تلك الثغرة.

يستخدم بروتوكول UPnP للسماح للبرامج والأجهزة الموجودة في الشبكة الداخلية بفتح منافذ في جدار الحماية الخارجي للشبكة حسب الحاجة و بشكل تلقائي دون الحاجة لتدخل مستخدم الشبكة حيث يقوم البرنامج “مثلا خادم لعبة جماعية” بإرسال رسالة من الداخل لجهاز الشبكة وطلب فتح منفذ معين فيقوم جهاز الشبكة بفتح ذلك المنفذ في جدار الحماية مما يمكن اللاعبين بالاتصال من الخارج بالخادم داخل الشبكة، هذه الطريقة لا تمثل مشكلة كبيرة حيث تعتبر الطلبات القادمة من داخل الشبكة المنزلية موثوقة، لكن المشكلة تكمن في إهمال بعض الشركات المصنعة لأجهزة الشبكات حيث سمحو لجهاز الشبكة باستقبال طلبات فتح المنافذ من الداخل ومن خارج الشبكة أيضا! وهذي يعني أن الهاكرز يستطيعون إرسال الطلبات من الإنترنت وفتح منافذ في أجهزة الشبكات وتمكين انفسهم من الوصول للحواسيب داخل الشبكة.

مثال يبين عملية تجاوز جدار الحماية

Continue reading

التجوال الدولي مع موبايلي Mobily Business SoftPhone

تقدم موبايلي باقة “فلة” للطلاب الدارسين في الخارج حيث لا توجد رسوم شهرية والأجمل هو خاصية التجوال الدولي حيث تستقبل المكالمات من السعودية عن طريق بعض مزودي الخدمة بالمجان. ولكن ذلك يتطلب حمل جهازين احدهما لشريحة الهاتف المحلية و الآخر لموبايلي أو جهاز يقبل شريحتين! لكن موبايلي وكشركة سباقة في تقديم الأحدث في عالم التقنية قامت بتقديم خدمة هاتف الإنترنت او ما يسمى ب SIP أو VOIPوهذه الخدمة تمكنك من استخدام رقمك السعودي لإجراء و استقبال المكالمات في أي مكان بالعالم وكأنك موجود في داخل السعودية.

كل ما تحتاج هو أن يكون لديك هاتف أو جهاز حاسب الآلي متصل بالإنترنت وكذلك برنامج موبايلي المسمى ب Roamtalk (تم تغيير الاسم الى) Mobily Business SoftPhone و الحصول على اسم المستخدم والرقم السري عن طريق موقع موبايلي (تمت بعض التغييرات وربما يشترط الاشتراك في باقة للشركات او رجال الاعمال لكنها لا تزال تعمل لدي بباقة فلة القديمة). انا استخدمت البرنامج على عدد من هواتف الاندرويد مثل Nexus S و Samsung Galaxy Note و Galaxy S2 وهو موجود في Google Play وما عليك سوى إدخال اسم المستخدم وكلمة السر وسيعمل البرنامج مباشرة.

Continue reading