چه طور بفهمیم ایمیلی که فرستادیم باز شده؟

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

در واقع این راه حل رو من اختراع نکردم. یه جایی که یادم نیست کجا بود در باره‌اش خوندم و امروز صبح پیاده‌سازیش کردم. ایده کلی خیلی سادست: شما یه کد HTML تو ایمیلتون می‌ذارین که یه عکسی رو از سرور شما باز می‌کنه. وقتی که دریافت کننده ایمیلش رو باز می‌کنه، یه درخواست برای ارسال عکس میاد و شما که رو سرور گوش به زنگین می‌فهمین ایمیل باز شده. اگه عکسی که فرستادین یه png یه پیکسلی شفاف باشه، کسی که ایمیل رو می‌خونه اساس متوجه نمی‌شه که شما فهمیدین ایمیل رو باز کرد. نه خانی اومده و نه خانی رفته.

پر واضحه که اگه ایمیل با ابزاری خونده بشه که به طور پیش‌فرض عکس‌ها رو باز نمی‌کنه (مثل geary)، شمام از باز شدن عکس مطلع نمی‌شین. یه کلکی هم که جیمیل می‌زنه اینه که عکس‌ها رو روی سرورهای خودش باز می‌کنه و بعد برای خواننده ایمیل می‌فرسته. این کار باعث می‌شه نشه IP خواننده رو فهمید.

خوب، برای انجام این کار من یه اسکریپت کوچیک php نوشتم. البته قبلا هم گفته‌ام که php بلد نیستم و چیزه که نوشته‌ام در واقع سر هم بندی کدهای دیگست. کاری که این کد می‌کنه اینه که درخواستی که براش میاد رو تو یه فایل لاگ می‌کنه و بعد یه عکس بر می‌گردونه.

کافیه این فایل رو تو یه دایرکتوری تو سرور بذاریم و کنارش هم یه عکس ۱×۱ با یه تک پیکسل شفاف به اسم nothing.png. بعد تو ایمیلی که داریم می‌فرستیم، این کد html رو درج می‌کنیم:

دقت کنید که به جای reciept-code باید یه کدی بذارید که بعدا تو فایل لاگ بشه فهمید این کدوم ایمیل بوده که خونده شده.

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

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

برای این که فایل‌هایی که توی راسپبریم دارم رو بتونم راحت روی کامپیوترهای مختلف و یا حتی تلویزیون هوشمند استریم کنم کافیه minidlna رو نصب کنم. تمام تنظیمات لازم هم توی ‪/etc/minidlna.conf‬ قرار داره. ساختار فایل تنظیمات طوریه که به راحتی قابل درکه. و البته بعد از تغییر تنظیمات باید سرویس رو راه‌اندازی مجدد کنیم.

معرفی کوتاه: رابط وب خوب برای گیت

اگر چه گیت خودش با webgit میاد، اما رابط webgit‌ خیلی جذاب نیست. در عوض gitlist خیلی جذاب و خوش‌دسته و به راحتی هم نصب می‌شه.
من برای نصبش رو سیستم دبیانی که داشتم از این لینک استفاده کردم.

معرفی: راه‌اندازی سرور openVPN با چند کلید

از vpn می‌شه برای اهداف مختلفی استفاده کرد. تو کشور ما که یه کاربرد مرسوم داره که همه می‌دونن. علاوه بر اون، وقتی داریم از شبکه‌های عمومی استفاده می‌کنیم (مثل شبکه تو یه کافی‌شاپ یا شبکه دانشگاه یا محل کار) اطلاعاتی که تبادل می‌کنیم خیلی راحت ممکنه شنود بشه. برای جلوگیری از این شنود یکی از راه‌های خوب استفاده از vpn اه.
خود vpn ها انواع مختلف دارن. روش pptp علاوه بر اینکه روی شبکه مخابراتی کشور وصل نمی‌شه، حفره امنیتی هم داره. راه حل جایگزین می‌تونه استفاده از openVPN باشه: هم به شدت امنه، هم برای پلتفرم‌های مختلف کلاینت داره.
اگر احیانا VPS داشتید یا مثلا خواستید روی راسپبریتون سرور این نوع vpn رو راه بندازید، باید تنظیمات زیادی انجام بدید. خوشبختانه به جای همه این تنظیمات حوصله-سربر می‌شه از یه اسکریپت ساده آماده استفاده کرد. کافیه اسکریپت دانلود و اجرا بشه. بعد از اجر خودش کانکشن آماده رو به شکل یه فایل برمی‌گردونه تا کلاینتی که داریم استفاده می‌کنیم درون‌ریزی (import) بشه.

لینک اسکریپت

معرفی کوتاه: transmission به عنوان سرویس

والا من خیلی وقت بود با torrent کار نمی‌کردم. بعد از راه انداختن راسپبریم اما استفاده از torrent خیلی وسوسه‌کننده و روتین شده برام.

برای دانلود torrentها برنامه‌های مختلفی هست. به عنوان مثال تو اوبونتو کلاینت پیش‌فرض برای این کار transmissionه. این کلاینت خوش‌دسته و تا حد خیلی خوبی قابل تنظیمه. داشتم دنبال می‌گشتم که چطور می‌شه کلاینتی برای torrent تو خط فرمان داشت که متوجه شدم همین کلاینت transmission رو می‌شه به شکل daemon هم اجرا کرد. بعد هم می‌شه با استفاده از رابط وب یا نرم‌افزار خط فرمان transmission-remote یا transmission-remote-cli اون رو کنترل کرد. توضیح روش نصب و باقی قضایا هم تو لینک‌های پایین صفحه هست. غرض فقط معرفی بود.

لینک
لینک