Gopher یک پروتکل اینترنتی است که در اوایل دهه 1990 وجود داشت اما در نهایت به HTML و وب جهانی گم شد. هنوز هم وجود دارد و Gemini جانشین معنوی آن است، با امنیت بهبود یافته، و هزاران سرور مستقل (معروف به کپسول) که بر روی سخت افزار کم هزینه کار می کنند.
Gopher یک پروتکل اینترنتی است که در اوایل دهه 1990 وجود داشت اما در نهایت به HTML و وب جهانی گم شد. هنوز هم وجود دارد و Gemini جانشین معنوی آن است، با امنیت بهبود یافته، و هزاران سرور مستقل (معروف به کپسول) که بر روی سخت افزار کم هزینه کار می کنند.
اعداد در مقایسه با وبهایی که میشناسیم و دوستشان داریم ناچیز هستند، اما با کمی تلاش میتوانید رتبههای کپسول را یکبار افزایش دهید. برای اطلاع از نحوه راه اندازی سرور Gemini خود به ادامه مطلب مراجعه کنید.
چگونه Gemini با Gopher متفاوت است
Gopher شکست خورد زیرا فناوری آن انحصاری بود—برخلاف فناوری شبکه جهانی وب. Gemini چنین اشتباهی را مرتکب نمی شود و نرم افزار سرور رایگان و منبع باز است، بنابراین هر کسی می تواند آن را به دلخواه خود استفاده، تطبیق و توزیع کند.
مشابه با بسیاری از پروژه های محاسباتی یکپارچهسازی با سیستمعامل، هم Gopher و هم Gemini از جناس بیش از حد استفاده می کنند. Gopher به این دلیل نامیده می شد که اگر کاربران منبعی را درخواست می کردند، آنها را “به دنبال” می برد. سایت های گوفر را گوفر چاله ها می نامیدند.
موضوع جمینی حول محور اکتشافات فضایی است و نام آن به برنامه فضایی جمینی اشاره دارد. مکانهای Gemini کپسول نامیده میشوند و بندر مورد استفاده در سال 1965 است که به یاد اولین پرواز فضایی جمینی در سال 1965 است.
جمینی همچنین تاکید بیشتری بر امنیت نسبت به Gopher دارد – که برای هر کپسول به گواهینامه های خود امضا نیاز دارد.
راه اندازی کپسول جمینی ارزان است
تقریباً هر رایانه ای که در 30 سال گذشته تولید شده است می تواند میزبان یک کپسول Gemini باشد، به شرطی که قادر به اجرای توزیع لینوکس باشد. Raspberry Pis به دلیل هزینه کم و مصرف کم انرژی محبوبیت خاصی دارد. از آنجایی که منابع استفاده شده توسط Gemini بسیار ناچیز است، یک Pi سطح بالا مانند Raspberry Pi 4B بسیار زیاد است و بهتر است در پروژههای سختتر به کار گرفته شود. Raspberry Pi Zero W عملکرد بسیار خوبی خواهد داشت.
شما همچنین به یک نام دامنه یا یک زیر دامنه یدکی نیاز خواهید داشت. اگر قبلاً یکی ندارید، راهنمای ما در مورد نحوه انتخاب و خرید نام دامنه را بخوانید.
میزبانی یک کپسول Gemini در Pi Zero ساده است
ابتدا به ثبت کننده نام دامنه خود مراجعه کرده و یک رکورد DNS جدید برای نام دامنه خود ایجاد کنید. نوع را به عنوان A، میزبان را به عنوان @، و مقدار را به عنوان آدرس IP عمومی خانه خود تنظیم کنید. ما توضیح دادهایم که در صورت نیاز به کمک چگونه آدرس IP عمومی خود را از یک سیستم لینوکس پیدا کنید. مقدار TTL را تا حد امکان پایین تنظیم کنید.
اکنون به صفحه مدیریت روتر خود بروید. می توانید با اشاره به مرورگر بر روی 192.168.1.1 به این مورد دسترسی داشته باشید. اگر این برای شما کار نکرد، به دفترچه راهنمای روتر خود مراجعه کنید.
به دنبال بخشی به نام Port Forwarding، Port Mapping یا Port Management باشید و یک ورودی جدید برای Gemini ایجاد کنید. آدرس IP محلی باید آدرس IP محلی Pi شما باشد، پروتکل TCP است و هر دو پورت محلی و عمومی باید 1965 باشند.
اگر قبلاً توزیعی را روی Raspberry Pi خود نصب کرده اید، باید SSH را به دستگاه وارد کنید:
ssh user@xxx.xxx.x.xx
… جایی که user نام کاربری شما و xxx.xxx.x.xx آدرس IP محلی رزبری پای شما است.
لیست مخزن و بسته های موجود در سیستم را با تایپ کردن به روز رسانی و ارتقا دهید:
sudo apt update
sudo apt upgrade
اکنون یک دایرکتوری جدید برای Gemini ایجاد کنید:
mkdir gemini
دایرکتوری gemini محتویات کپسول Gemini شما را در خود جای می دهد که مهمترین بخش آن index.gmi است. ادامه دهید و یکی بسازید با:
nano gemini/index.gmi
Gemini از زبان Markdown استفاده می کند. اگر هنوز با این کار راحت نیستید، راهنمای مبتدیان ما برای شروع با Markdown را بخوانید.
صفحه فهرست باید شامل معرفی کپسول Gemini شما و سایر اطلاعات مفید باشد.
فایل را با Ctrl + O سپس Ctrl + X ذخیره کرده و از آن خارج شوید.
یک دایرکتوری جدید به نام bin در دایرکتوری gemini ایجاد کنید و در آن cd کنید:
mkdir gemini/bin
cd gemini/bin
در مرورگر خود، از Agate در GitHub بازدید کنید و در بخش «داراییها»، بسته مناسب برای سختافزار خود را شناسایی کنید. Raspberry Pi 4B 64 بیتی به agate.aarch64-unknown-linux-gnu.gz نیاز دارد، در حالی که یک Pi Zero W 32 بیتی به agate.armv7-unknown-linux-gnueabihf.gz نیاز دارد.
روی نام بسته مناسب کلیک راست کنید تا آدرس پیوند را دریافت کنید و سپس آن را بعد از دستور wget قرار دهید تا بسته در فهرست فعلی شما دانلود شود.
wget https://github.com/mbrubeck/agate/releases/download/v3.2.4%2Bbuild/agate.aarch64-unknown-linux-gnu.gz
استخراج بسته با:
gunzip agate.aarch64-unknown-linux-gnu.gz
به یاد داشته باشید که نام بسته بسته به معماری که برای آن دانلود شده است کمی متفاوت خواهد بود. تغییر نام فایل استخراج شده:
mv agate.aarch64-unknown-linux-gnu.gz agate
آن را قابل اجرا با:
sudo chmod +x agate
سی دی به فهرست اصلی خود برگردید و با استفاده از nano یک پوسته اسکریپت ایجاد کنید:
nano gemini.sh
در فایل، موارد زیر را قرار دهید و مطمئن شوید که “example.com” را به نام دامنه واقعی خود تغییر دهید:
#!/bin/bash
/home/pi/gemini/bin/agate --content /home/pi/gemini/ --addr [::]:1965 --addr 0.0.0.0:1965 --hostname example.com --lang en-US
ذخیره کنید و با Ctrl + X و سپس Ctrl + O ببندید و اسکریپت را قابل اجرا کنید:
sudo chmod +x gemini.sh
کپسول Gemini خود را با موارد زیر شروع کنید:
./gemini.sh
از هر کجا به کپسول Gemini خود دسترسی داشته باشید
Gemini وب نیست و نمی توانید از یک مرورگر وب معمولی برای دسترسی به آن استفاده کنید. با این حال، تعدادی مرورگر وجود دارد که می توانند هم از سوراخ های Gopher و هم از کپسول های Gemini بازدید کنند. ما Kristall را توصیه می کنیم که برای ویندوز، macOS و لینوکس در دسترس است. دانلود و بر روی دستگاه معمولی خود نصب کنید.
شما می توانید با تایپ gemini://example.com در نوار آدرس، جایی که example.com نام دامنه شماست، به کپسول Gemini خود دسترسی پیدا کنید!
کپسول Gemini خود را با صفحات بیشتر گسترش دهید
اکنون می توانید یک کپسول Gemini را روی Raspberry Pi خود ایجاد و اجرا کنید. یک صفحه برای یک سایت اطلاعاتی بسیار ساده کافی است و می توانید با افزودن فایل های gmi به پوشه محتوای خود، موارد بیشتری ایجاد کنید. به این فکر کنید که چه چیزی به شما علاقه دارد و بازدیدکنندگان چه محتوایی را می خواهند بخوانند. به طور مشابه، شما همچنین می توانید حفره های Gopher را در لینوکس ایجاد کرده و به آنها دسترسی داشته باشید.