درد کے بغیر آئی پی ایف ایس (لیکن یہ درست نہیں ہے)

درد کے بغیر آئی پی ایف ایس (لیکن یہ درست نہیں ہے)

اس حقیقت کے باوجود کہ Habré پہلے سے ہی تھا۔ آئی پی ایف ایس کے بارے میں ایک سے زیادہ مضامین.

میں ابھی واضح کروں گا کہ میں اس شعبے کا ماہر نہیں ہوں، لیکن میں نے اس ٹیکنالوجی میں ایک سے زیادہ بار دلچسپی ظاہر کی ہے، لیکن اس کے ساتھ کھیلنے کی کوشش کرنے سے اکثر کچھ تکلیف ہوتی ہے۔ آج میں نے دوبارہ تجربہ کرنا شروع کیا اور کچھ نتائج ملے جو میں شیئر کرنا چاہوں گا۔ مختصراً، آئی پی ایف ایس کی تنصیب کا عمل اور کچھ خصوصیات بیان کی جائیں گی (سب کچھ اوبنٹو پر کیا گیا تھا، میں نے اسے دوسرے پلیٹ فارمز پر نہیں آزمایا)۔

اگر آپ نے یاد کیا کہ آئی پی ایف ایس کیا ہے، تو اسے یہاں کچھ تفصیل سے لکھا گیا ہے: habr.com/en/post/314768

تنصیب

تجربے کی پاکیزگی کے لیے، میں اسے فوری طور پر کسی بیرونی سرور پر انسٹال کرنے کا مشورہ دیتا ہوں، کیونکہ ہم لوکل موڈ اور ریموٹ میں کام کرنے میں کچھ خامیوں پر غور کریں گے۔ پھر اگر چاہیں تو زیادہ دیر تک اسے گرایا نہیں جائے گا، زیادہ نہیں ہے۔

گو انسٹال کریں۔

سرکاری دستاویزات
موجودہ ورژن پر دیکھیں golang.org/dl

نوٹ: آئی پی ایف ایس کو اس صارف کی جانب سے انسٹال کرنا بہتر ہے جو اسے اکثر استعمال کرتا ہے۔ حقیقت یہ ہے کہ ذیل میں ہم کے ذریعے بڑھتے ہوئے کے اختیار پر غور کریں گے فیوز اور باریکیاں ہیں.

cd ~
curl -O https://dl.google.com/go/go1.12.9.linux-amd64.tar.gz
tar xvf go1.12.9.linux-amd64.tar.gz
sudo chown -R root:root ./go
sudo mv go /usr/local
rm go1.12.9.linux-amd64.tar.gz

پھر آپ کو ماحول کو اپ ڈیٹ کرنے کی ضرورت ہے (مزید تفصیلات یہاں: golang.org/doc/code.html#GOPATH).

echo 'export GOPATH=$HOME/work' >> ~/.bashrc
echo 'export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin' >> ~/.bashrc
source ~/.bashrc

چیک کر رہا ہے کہ گو انسٹال ہے۔

go version

آئی پی ایف ایس انسٹال کریں۔

مجھے تنصیب کا طریقہ سب سے زیادہ پسند آیا ipfs اپ ڈیٹ.

اسے کمانڈ کے ساتھ انسٹال کریں۔

go get -v -u github.com/ipfs/ipfs-update

اس کے بعد، آپ درج ذیل کمانڈز چلا سکتے ہیں۔

آئی پی ایف ایس اپ ڈیٹ ورژن - ڈاؤن لوڈ کے لیے دستیاب تمام ورژن دیکھنے کے لیے۔
آئی پی ایف ایس اپ ڈیٹ ورژن - موجودہ انسٹال شدہ ورژن کو دیکھنے کے لیے (جب تک کہ ہمارے پاس آئی پی ایف ایس انسٹال نہ ہو، یہ کوئی نہیں ہوگا)۔
ipfs-update تازہ ترین انسٹال کریں۔ - IPFS کا تازہ ترین ورژن انسٹال کریں۔ تازہ ترین کے بجائے، بالترتیب، آپ دستیاب کی فہرست میں سے کسی بھی مطلوبہ ورژن کی وضاحت کر سکتے ہیں۔

ipfs انسٹال کرنا

ipfs-update install latest

چیک کریں

ipfs --version

عام شرائط میں ہر چیز کی تنصیب کے ساتھ براہ راست.

آئی پی ایف ایس شروع کریں۔

ابتداء۔

سب سے پہلے آپ کو شروع کرنے کی ضرورت ہے.

ipfs init

جواب میں، آپ کو کچھ اس طرح ملے گا:

 ipfs init
initializing IPFS node at /home/USERNAME/.ipfs
generating 2048-bit RSA keypair...done
peer identity: QmeCWX1DD7HnXXXXXXXXXXXXXXXXXXXXXXXXxxx
to get started, enter:
	ipfs cat /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme

آپ تجویز کردہ کمانڈ چلا سکتے ہیں۔

ipfs cat /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme

نتیجہ

Hello and Welcome to IPFS!

██╗██████╗ ███████╗███████╗
██║██╔══██╗██╔════╝██╔════╝
██║██████╔╝█████╗  ███████╗
██║██╔═══╝ ██╔══╝  ╚════██║
██║██║     ██║     ███████║
╚═╝╚═╝     ╚═╝     ╚══════╝

If you're seeing this, you have successfully installed
IPFS and are now interfacing with the ipfs merkledag!

 -------------------------------------------------------
| Warning:                                              |
|   This is alpha software. Use at your own discretion! |
|   Much is missing or lacking polish. There are bugs.  |
|   Not yet secure. Read the security notes for more.   |
 -------------------------------------------------------

Check out some of the other files in this directory:

  ./about
  ./help
  ./quick-start     <-- usage examples
  ./readme          <-- this file
  ./security-notes

یہاں، میری رائے میں، دلچسپ شروع ہوتا ہے. تنصیب کے مرحلے پر لوگ پہلے ہی اپنی ٹیکنالوجیز استعمال کرنا شروع کر رہے ہیں۔ مجوزہ ہیش QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv خاص طور پر آپ کے لیے تیار نہیں کیا گیا ہے، لیکن اسے ریلیز میں سلایا گیا ہے۔ یعنی، ریلیز سے پہلے، انہوں نے ایک خوش آمدید متن تیار کیا، اسے آئی پی ایف ایس میں ڈالا اور انسٹالر میں ایڈریس شامل کیا۔ مجھے لگتا ہے کہ یہ بہت اچھا ہے۔ اور یہ فائل (زیادہ واضح طور پر، پورا فولڈر) اب نہ صرف مقامی طور پر بلکہ سرکاری گیٹ وے پر بھی دیکھی جا سکتی ہے۔ ipfs.io/ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv. اس کے ساتھ ساتھ، آپ یقین کر سکتے ہیں کہ فولڈر کے مواد میں کسی بھی طرح سے کوئی تبدیلی نہیں آئی ہے، کیونکہ اگر یہ تبدیل ہوتا تو ہیش بھی بدل جاتا۔

ویسے، اس معاملے میں، آئی پی ایف ایس کے ورژن کنٹرول سرور کے ساتھ کچھ مماثلتیں ہیں۔ اگر آپ فولڈر کی سورس فائلوں میں تبدیلی کرتے ہیں اور فولڈر کو دوبارہ آئی پی ایف ایس میں ڈالتے ہیں، تو اسے ایک نیا پتہ ملے گا۔ اس کے ساتھ ہی پرانا فولڈر اس طرح کہیں نہیں جائے گا اور اپنے پچھلے ایڈریس پر دستیاب ہوگا۔

براہ راست لانچ

ipfs daemon

آپ کو اس طرح کا جواب موصول ہونا چاہئے:

ipfs daemon
Initializing daemon...
go-ipfs version: 0.4.22-
Repo version: 7
System version: amd64/linux
Golang version: go1.12.7
Swarm listening on /ip4/x.x.x.x/tcp/4001
Swarm listening on /ip4/127.0.0.1/tcp/4001
Swarm listening on /ip6/::1/tcp/4001
Swarm listening on /p2p-circuit
Swarm announcing /ip4/127.0.0.1/tcp/4001
Swarm announcing /ip6/::1/tcp/4001
API server listening on /ip4/127.0.0.1/tcp/5001
WebUI: http://127.0.0.1:5001/webui
Gateway (readonly) server listening on /ip4/127.0.0.1/tcp/8080
Daemon is ready

انٹرنیٹ کے دروازے کھولنا

ان دو سطروں پر توجہ دیں:

WebUI: http://127.0.0.1:5001/webui
Gateway (readonly) server listening on /ip4/127.0.0.1/tcp/8080

اب، اگر آپ نے مقامی طور پر آئی پی ایف ایس انسٹال کیا ہے، تو آپ مقامی پتوں کا استعمال کرتے ہوئے آئی پی ایف ایس انٹرفیس تک رسائی حاصل کریں گے اور ہر چیز آپ کے لیے دستیاب ہوگی (مثال کے طور پر، localhost:5001/webui/)۔ لیکن ایکسٹرنل سرور پر انسٹال ہونے پر، بطور ڈیفالٹ، گیٹ ویز انٹرنیٹ کے لیے بند ہو جاتے ہیں۔ گیٹ ویز دو:

  1. webui ایڈمن (گاٹہوبپورٹ 5001 پر۔
  2. پورٹ 8080 پر بیرونی API (صرف پڑھنے کے لیے)۔

اب تک، دونوں بندرگاہوں (5001 اور 8080) کو تجربات کے لیے کھولا جا سکتا ہے، لیکن ایک جنگی سرور پر، یقیناً، پورٹ 5001 کو فائر وال سے بند کیا جانا چاہیے۔ پورٹ 4001 بھی ہے، جس کی ضرورت ہے تاکہ دوسرے ساتھی آپ کو تلاش کر سکیں۔ اسے باہر کی درخواستوں کے لیے کھلا چھوڑ دیا جانا چاہیے۔

ترمیم کے لیے ~/.ipfs/config کھولیں اور اس میں یہ لائنیں تلاش کریں:

"Addresses": {
  "Swarm": [
    "/ip4/0.0.0.0/tcp/4001",
    "/ip6/::/tcp/4001"
  ],
  "Announce": [],
  "NoAnnounce": [],
  "API": "/ip4/127.0.0.1/tcp/5001",
  "Gateway": "/ip4/127.0.0.1/tcp/8080"
}

127.0.0.1 کو اپنے سرور کے آئی پی میں تبدیل کریں اور فائل کو محفوظ کریں، پھر ipfs کو دوبارہ شروع کریں (Ctrl+C کے ساتھ چلنے والی کمانڈ کو روکیں اور اسے دوبارہ شروع کریں)۔

ملنا چاہیے۔

...
WebUI: http://ip_вашего_сервера:5001/webui
Gateway (readonly) server listening on /ip4/ip_вашего_сервера/tcp/8080

اب بیرونی انٹرفیس دستیاب ہونے چاہئیں۔

چیک کریں

http://домен_или_ip_сервера:8080/ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme

اوپر کی ریڈمی فائل کو کھلنا چاہیے۔

http://домен_или_ip_сервера:5001/webui/

ویب انٹرفیس کھلنا چاہئے۔

اگر webui آپ کے لیے کام کرتا ہے، تو آئی پی ایف ایس کی ترتیبات کو براہ راست اس میں تبدیل کیا جا سکتا ہے، بشمول اعداد و شمار دیکھنا، لیکن ذیل میں میں کنفیگریشن کے اختیارات کو براہ راست کنفگ فائل کے ذریعے غور کروں گا، جو عام طور پر اہم نہیں ہوتا ہے۔ یہ ٹھیک طور پر یاد رکھنا بہتر ہے کہ کنفیگریشن کہاں ہے اور اس کے ساتھ کیا کرنا ہے، بصورت دیگر اگر ویب چہرہ کام نہیں کرتا ہے تو یہ زیادہ مشکل ہوگا۔

اپنے سرور کے ساتھ کام کرنے کے لیے ایک ویب انٹرفیس ترتیب دینا

یہاں پہلا نقصان ہے، جس میں تقریباً تین گھنٹے لگے۔

اگر آپ نے ایک بیرونی سرور پر آئی پی ایف ایس انسٹال کیا ہے، لیکن مقامی طور پر آئی پی ایف ایس کو انسٹال یا نہیں چلایا ہے، تو جب آپ ویب انٹرفیس میں /webui پر جائیں گے، تو آپ کو کنکشن کی خرابی نظر آئے گی۔

درد کے بغیر آئی پی ایف ایس (لیکن یہ درست نہیں ہے)

حقیقت یہ ہے کہ webui، میری رائے میں، بہت مبہم کام کرتا ہے۔ سب سے پہلے، یہ سرور کے API سے جڑنے کی کوشش کرتا ہے جہاں انٹرفیس کھلا ہوتا ہے (یقیناً براؤزر میں ایڈریس کی بنیاد پر)۔ اور اگر یہ وہاں کام نہیں کرتا ہے، تو یہ مقامی گیٹ وے سے جڑنے کی کوشش کرتا ہے۔ اور اگر آپ کے پاس مقامی طور پر IPFS چل رہا ہے، تو webui آپ کے لیے ٹھیک کام کرے گا، صرف آپ مقامی IPFS کے ساتھ کام کریں گے، اور بیرونی نہیں، حالانکہ آپ نے ایک بیرونی سرور پر webui کھولا ہے۔ پھر آپ فائلیں اپ لوڈ کرتے ہیں، لیکن کسی وجہ سے آپ انہیں بیرونی سرور پر اس طرح نہیں دیکھتے ہیں…

اور اگر یہ مقامی طور پر نہیں چل رہا ہے، تو ہمیں کنکشن کی خرابی ملتی ہے۔ ہمارے معاملے میں، غلطی کا امکان زیادہ تر CORS کی وجہ سے ہے، جس کی نشاندہی webui کے ذریعہ بھی کی گئی ہے، جس میں ایک تشکیل شامل کرنے کا مشورہ دیا گیا ہے۔

ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["http://ip_вашего сервера:5001", "http://127.0.0.1:5001", "https://webui.ipfs.io"]'
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods '["PUT", "GET", "POST"]'

میں نے ابھی وائلڈ کارڈ رجسٹر کیا ہے۔

ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["*"]'

شامل کردہ ہیڈر اسی ~/.ipfs/config میں مل سکتے ہیں۔ میرے معاملے میں یہ ہے۔

  "API": {
    "HTTPHeaders": {
      "Access-Control-Allow-Origin": [
        "*"
      ]
    }
  },

ہم ipfs کو دوبارہ شروع کرتے ہیں اور ہم دیکھتے ہیں کہ webui کامیابی کے ساتھ جڑ گیا ہے (کسی بھی صورت میں، اگر آپ نے باہر سے درخواستوں کے لیے گیٹ وے کھولے ہیں، جیسا کہ اوپر بیان کیا گیا ہے)۔

اب آپ ویب انٹرفیس کے ذریعے فولڈرز اور فائلیں براہ راست اپ لوڈ کر سکتے ہیں اور ساتھ ہی اپنے فولڈر بھی بنا سکتے ہیں۔

FUSE فائل سسٹم کو لگانا

یہاں ایک بہت ہی دلچسپ خصوصیت ہے۔

فائلیں (نیز فولڈرز)، ہم نہ صرف ویب انٹرفیس کے ذریعے، بلکہ براہ راست ٹرمینل میں بھی شامل کر سکتے ہیں، مثال کے طور پر

ipfs add test -r
added QmfYuz2gegRZNkDUDVLNa5DXzKmxxxxxxxxxx test/test.txt
added QmbnzgRVAP4fL814h5mQttyqk1aURxxxxxxxxxxxx test

آخری ہیش روٹ فولڈر کی ہیش ہے۔

اس ہیش کا استعمال کرتے ہوئے، ہم کسی بھی ipfs نوڈ پر ایک فولڈر کھول سکتے ہیں (جو ہمارے نوڈ کو تلاش کر سکتا ہے اور مواد حاصل کر سکتا ہے)، ہم پورٹ 5001 یا 8080 پر ویب انٹرفیس میں، یا ہم مقامی طور پر ipfs کے ذریعے کر سکتے ہیں۔

ipfs ls QmbnzgRVAP4fL814h5mQttyqk1aUxxxxxxxxxxxxx
QmfYuz2gegRZNkDUDVLNa5DXzKmKVxxxxxxxxxxxxxx 10 test.txt

لیکن آپ پھر بھی اسے باقاعدہ فولڈر کی طرح کھول سکتے ہیں۔

آئیے جڑ میں دو فولڈر بنائیں اور اپنے صارف کو ان کے حقوق دیں۔

sudo mkdir /ipfs /ipns
sudo chown USERNAME /ipfs /ipns

اور --mount پرچم کے ساتھ ipfs کو دوبارہ شروع کریں۔

ipfs daemon --mount

آپ دوسری جگہوں پر فولڈر بنا سکتے ہیں اور ipfs ڈیمون پیرامیٹرز -mount -mount-ipfs /ipfs_path -mount-ipns /ipns_path کے ذریعے ان تک جانے کا راستہ بتا سکتے ہیں۔

اب اس فولڈر سے پڑھنا کچھ غیر معمولی ہے۔

ls -la /ipfs
ls: reading directory '/ipfs': Operation not permitted
total 0

یعنی اس فولڈر کی جڑ تک براہ راست رسائی نہیں ہے۔ لیکن آپ ہیش کو جانتے ہوئے مواد حاصل کر سکتے ہیں۔

ls -la /ipfs/QmbnzgRVAP4fL814h5mQttyqxxxxxxxxxxxxxxxxx
total 0
-r--r--r-- 1 root root 10 Aug 31 07:03 test.txt

cat /ipfs/QmbnzgRVAP4fL814h5mQttyqxxxxxxxxxxxxxxxxx/test.txt 
test
test

ایک ہی وقت میں، یہاں تک کہ خودکار تکمیل فولڈر کے اندر کام کرتی ہے جب راستے کی وضاحت کی جاتی ہے۔

جیسا کہ میں نے اوپر کہا، اس طرح کے ماؤنٹنگ میں باریکیاں ہیں: پہلے سے طے شدہ طور پر، نصب FUSE فولڈر صرف موجودہ صارف کے لیے دستیاب ہیں (یہاں تک کہ روٹ بھی ایسے فولڈر سے نہیں پڑھ سکے گا، سسٹم میں دوسرے صارفین کا ذکر نہیں کرنا)۔ اگر آپ ان فولڈرز کو دوسرے صارفین کے لیے دستیاب کرانا چاہتے ہیں، تو کنفیگریشن میں آپ کو "FuseAllowOther": false کو "FuseAllowOther" میں تبدیل کرنا ہوگا: true۔ لیکن یہ سب کچھ نہیں ہے۔ اگر آپ آئی پی ایف ایس کو روٹ کے طور پر چلاتے ہیں، تو سب کچھ ٹھیک ہے۔ اور اگر کسی باقاعدہ صارف کی طرف سے (حتی کہ sudo) بھی، تو آپ کو ایک ایرر ملے گا۔

mount helper error: fusermount: option allow_other only allowed if 'user_allow_other' is set in /etc/fuse.conf

اس صورت میں، آپ کو #user_allow_other لائن کو غیر تبصرہ کرکے /etc/fuse.conf میں ترمیم کرنے کی ضرورت ہے۔

اس کے بعد، ipfs دوبارہ شروع کریں.

FUSE کے ساتھ معلوم مسائل

یہ مسئلہ ایک سے زیادہ بار دیکھا گیا ہے کہ ipfs کو ماؤنٹنگ کے ساتھ دوبارہ شروع کرنے کے بعد (اور شاید دوسرے معاملات میں)، /ipfs اور /ipns ماؤنٹ پوائنٹس دستیاب نہیں ہوتے ہیں۔ ان تک رسائی نہیں ہے، اور ls -la /ipfs دکھاتا ہے؟؟؟؟ حقوق کی فہرست میں

یہ حل ملا:

fusermount -z -u /ipfs
fusermount -z -u /ipns

پھر ipfs کو دوبارہ شروع کریں۔

سروس شامل کرنا

بلاشبہ، ٹرمینل میں دوڑنا صرف ابتدائی ٹیسٹوں کے لیے موزوں ہے۔ جنگی موڈ میں، ڈیمون کو سسٹم کے آغاز پر خود بخود شروع ہونا چاہیے۔

sudo کی جانب سے، فائل بنائیں /etc/systemd/system/ipfs.service اور اس پر لکھیں:

[Unit]
Description=IPFS Daemon
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=simple
ExecStart=/home/USERNAME/work/bin/ipfs daemon --mount
User=USERNAME
Restart=always

[Install]
WantedBy=multi-user.target

USERNAME، یقیناً، آپ کے صارف سے تبدیل ہونا چاہیے (اور شاید آپ کے لیے ipfs پروگرام کا پورا راستہ مختلف ہو گا (آپ کو مکمل راستہ بتانا ہوگا))۔

ہم سروس کو چالو کرتے ہیں۔

sudo systemctl enable ipfs.service

ہم سروس شروع کرتے ہیں۔

sudo service ipfs start

سروس کی حیثیت کی جانچ کر رہا ہے۔

sudo service ipfs status

تجربے کی پاکیزگی کے لیے، مستقبل میں سرور کو ریبوٹ کرنا ممکن ہو گا تاکہ یہ چیک کیا جا سکے کہ ipfs خود بخود کامیابی سے شروع ہوتا ہے۔

ہمارے لئے مشہور دعوتوں کو شامل کرنا

ایسی صورت حال پر غور کریں جہاں ہمارے پاس بیرونی سرور اور مقامی طور پر آئی پی ایف ایس نوڈس نصب ہیں۔ ایک بیرونی سرور پر، ہم کچھ فائل شامل کرتے ہیں اور اسے مقامی طور پر CID کے ذریعے IPFS کے ذریعے حاصل کرنے کی کوشش کرتے ہیں۔ کیا ہو گا؟ بلاشبہ، مقامی سرور غالباً ہمارے بیرونی سرور کے بارے میں کچھ نہیں جانتا ہے اور وہ صرف سی آئی ڈی کے ذریعہ اس کے پاس دستیاب تمام آئی پی ایف ایس ساتھیوں سے "پوچھ" کر فائل تلاش کرنے کی کوشش کرے گا (جس کے ساتھ وہ پہلے ہی "جاننے" میں کامیاب ہو چکا ہے)۔ وہ باری باری دوسروں سے پوچھیں گے۔ اور اسی طرح جب تک فائل نہ مل جائے۔ دراصل، ایسا ہی ہوتا ہے جب ہم سرکاری گیٹ وے سے فائل حاصل کرنے کی کوشش کرتے ہیں۔ ipfs.io. اگر آپ خوش قسمت ہیں تو فائل چند سیکنڈ میں مل جائے گی۔ اور اگر نہیں تو چند منٹوں میں بھی نہیں ملے گا جس سے کام کا سکون بہت متاثر ہوتا ہے۔ لیکن ہم جانتے ہیں کہ یہ فائل پہلے کہاں ظاہر ہوگی۔ تو ہم فوری طور پر اپنے مقامی سرور کو کیوں نہیں بتاتے کہ "پہلے وہاں تلاش کریں"؟ بظاہر، یہ کیا جا سکتا ہے.

1. ہم ریموٹ سرور پر جاتے ہیں اور ~/.ipfs/config تشکیل میں دیکھتے ہیں۔

"Identity": {
    "PeerID": "QmeCWX1DD7HnPSuMHZSh6tFuxxxxxxxxxxxxxxxx",

2. sudo service ipfs اسٹیٹس چلائیں اور اس میں Swarm اندراجات تلاش کریں، مثال کے طور پر:

Swarm announcing /ip4/ip_вашего_сервера/tcp/4001

3. ہم اس سے فارم کا عمومی پتہ شامل کرتے ہیں "/ip4/ip_your_server/tcp/4001/ipfs/$PeerID"۔

4. بھروسے کے لیے، ہم اس ایڈریس کو اپنے مقامی ویبوئی کے ذریعے ساتھیوں میں شامل کرنے کی کوشش کریں گے۔

درد کے بغیر آئی پی ایف ایس (لیکن یہ درست نہیں ہے)

5. اگر سب کچھ ٹھیک ہے تو، لوکل کنفیگریشن ~ / .ipfs/config کھولیں، اس میں "بوٹسٹریپ" تلاش کریں: [...
اور پہلے موصولہ ایڈریس کو صف میں شامل کریں۔

آئی پی ایف ایس کو دوبارہ شروع کریں۔

اب آئیے فائل کو بیرونی سرور میں شامل کریں اور اسے مقامی سرور پر درخواست کرنے کی کوشش کریں۔ تیز پرواز کرنی چاہیے۔

لیکن یہ فعالیت ابھی تک مستحکم نہیں ہے۔ جہاں تک میں سمجھتا ہوں، یہاں تک کہ اگر ہم بوٹسٹریپ میں کسی پیر کا پتہ بتاتے ہیں، ipfs آپریشن کے دوران ساتھیوں کے ساتھ فعال رابطوں کی فہرست کو تبدیل کرتا ہے۔ بہر حال، اس اور خواہشات پر مستقل دعوتوں کی تصریح کے امکان کے بارے میں بحث جاری ہے۔ یہاں اور ایسا لگتا ہے ہونا چاہئے میں کچھ فعالیت شامل کریں۔ [ای میل محفوظ]+

موجودہ ساتھیوں کی فہرست webui اور ٹرمینل دونوں میں دیکھی جا سکتی ہے۔

ipfs swarm peers

اور یہاں اور وہاں آپ اپنی دعوت کو دستی طور پر شامل کرسکتے ہیں۔

ipfs swarm connect "/ip4/ip_вашего_сервера/tcp/4001/ipfs/$PeerID"

جب تک اس فعالیت کو بہتر نہیں کیا جاتا، آپ مطلوبہ ساتھی سے کنکشن کی جانچ کرنے کے لیے اور اگر نہیں، تو کنکشن شامل کرنے کے لیے ایک ٹول لکھ سکتے ہیں۔

استدلال۔

ان لوگوں میں جو پہلے سے ہی آئی پی ایف ایس سے واقف ہیں، آئی پی ایف ایس کے حق اور خلاف دونوں دلائل موجود ہیں۔ بنیادی طور پر، کل بحث اور مجھے دوبارہ آئی پی ایف ایس میں کھودنے کا اشارہ کیا۔ اور مذکورہ بحث کے حوالے سے: میں یہ نہیں کہہ سکتا کہ میں بولنے والوں کی کسی دلیل کی سختی سے مخالفت کرتا ہوں (میں صرف اس حقیقت سے متفق نہیں ہوں کہ ڈیڑھ پروگرامرز آئی پی ایف ایس استعمال کرتے ہیں)۔ عام طور پر، دونوں اپنے اپنے طریقے سے درست ہیں (خاص طور پر چیک کے بارے میں تبصرہ آپ کو سوچنے پر مجبور کرتا ہے)۔ لیکن اگر ہم اخلاقی اور قانونی تشخیص کو ترک کر دیں تو اس ٹیکنالوجی کا تکنیکی جائزہ کون دے گا؟ ذاتی طور پر، مجھے ایک قسم کا اندرونی احساس ہے کہ "یہ غیر واضح طور پر کیا جانا چاہیے، اس کے کچھ امکانات ہیں۔" لیکن کیوں بالکل، کوئی واضح تشکیل نہیں ہے۔ جیسے، اگر آپ موجودہ سنٹرلائزڈ ٹولز پر نظر ڈالیں، تو وہ بہت سے معاملات میں بہت آگے ہیں (استحکام، رفتار، انتظام، وغیرہ)۔ اس کے باوجود، میرے پاس ایک خیال ہے جو بظاہر معنی خیز لگتا ہے اور جو اس طرح کے وکندریقرت نظاموں کے بغیر شاید ہی لاگو کیا جا سکتا ہے۔ بلاشبہ، میں بہت مشکل سے جھوم رہا ہوں، لیکن میں اسے اس طرح ترتیب دوں گا: انٹرنیٹ پر معلومات کو پھیلانے کے اصول کو تبدیل کیا جانا چاہیے۔

مجھے وضاحت کا موقع دیں. اگر آپ اس کے بارے میں سوچتے ہیں تو، اب ہمارے پاس اس اصول کے مطابق معلومات تقسیم کی گئی ہیں "مجھے امید ہے کہ جس کو میں نے یہ دیا ہے وہ اس کی حفاظت کرے گا اور یہ ان لوگوں کے ذریعہ ضائع یا وصول نہیں کی جائے گی جن کو اس کا ارادہ نہیں تھا۔" مثال کے طور پر، مختلف میل سروسز، کلاؤڈ اسٹوریج وغیرہ پر غور کرنا آسان ہے۔ اور ہم آخر کیا کرتے ہیں؟ Habré ہب پر معلومات کی حفاظت پہلی لائن پر ہے اور تقریباً ہر روز ہمیں ایک اور عالمی لیک کی خبریں موصول ہوتی ہیں۔ اصولی طور پر، تمام دلچسپ چیزیں <irony> شاندار میں درج ہیں۔ مضمون موسم گرما تقریباً ختم ہو چکا ہے۔ تقریباً کوئی غیر ظاہر شدہ ڈیٹا باقی نہیں ہے۔. یعنی انٹرنیٹ کے اہم جنات بڑے ہوتے جا رہے ہیں، وہ زیادہ سے زیادہ معلومات جمع کر رہے ہیں، اور اس طرح کی لیک ایک قسم کی معلومات کے ایٹمی دھماکے ہیں۔ ایسا پہلے کبھی نہیں ہوا تھا، اور یہاں یہ پھر ہے۔ ایک ہی وقت میں، اگرچہ بہت سے لوگ سمجھتے ہیں کہ خطرات ہیں، لیکن وہ تیسرے فریق کی کمپنیوں کو اپنے ڈیٹا پر بھروسہ کرتے رہیں گے۔ اول، اس کے پاس زیادہ متبادل نہیں ہے، اور دوسرا، وہ وعدہ کرتے ہیں کہ انہوں نے تمام سوراخوں کو ٹھیک کر دیا ہے اور ایسا دوبارہ کبھی نہیں ہوگا۔

مجھے کیا آپشن نظر آتا ہے؟ مجھے لگتا ہے کہ ابتدائی طور پر ڈیٹا کو کھلے عام تقسیم کیا جانا چاہئے۔ لیکن اس معاملے میں کھلے پن کا مطلب یہ نہیں کہ ہر چیز کو پڑھنا آسان ہو۔ میں اسٹوریج اور ڈسٹری بیوشن کی کشادگی کے بارے میں بات کر رہا ہوں، لیکن پڑھنے میں مکمل کشادگی نہیں۔ میں فرض کرتا ہوں کہ معلومات کو عوامی چابیاں کے ساتھ تقسیم کیا جانا چاہئے۔ سب کے بعد، عوامی / نجی چابیاں کا اصول پہلے سے ہی پرانا ہے، تقریبا انٹرنیٹ کی طرح. اگر معلومات خفیہ نہیں ہے اور اس کا مقصد ایک وسیع دائرے کے لیے ہے، تو اسے فوری طور پر ایک عوامی کلید کے ساتھ رکھا جاتا ہے (لیکن پھر بھی خفیہ کردہ شکل میں، کوئی بھی دستیاب کلید کے ساتھ اسے ڈکرپٹ کر سکتا ہے)۔ اور اگر نہیں، تو اسے عوامی کلید کے بغیر رکھا جاتا ہے، اور کلید خود ہی منتقل کردی جاتی ہے جس کو اس معلومات تک رسائی ہونی چاہیے۔ ایک ہی وقت میں، جس کو اسے پڑھنا چاہیے اس کے پاس صرف ایک کلید ہونی چاہیے، اور یہ معلومات کہاں سے حاصل کرنی ہے، اسے واقعی نہیں بڑھنا چاہیے - وہ اسے صرف نیٹ ورک سے کھینچتا ہے (یہ مواد کے لحاظ سے تقسیم کا نیا اصول ہے، نہ کہ پتہ)۔

اس طرح، بڑے پیمانے پر حملے کے لیے، حملہ آوروں کو بڑی تعداد میں پرائیویٹ کیز حاصل کرنے کی ضرورت ہوگی، اور یہ ایک جگہ پر ہونے کا امکان نہیں ہے۔ یہ کام، جیسا کہ میں دیکھ رہا ہوں، کسی خاص سروس کو ہیک کرنے سے زیادہ مشکل ہے۔

اور یہاں ایک اور مسئلہ بند ہے: تصنیف کی تصدیق۔ اب انٹرنیٹ پر آپ کو ہمارے دوستوں کے لکھے ہوئے بہت سے اقتباسات مل سکتے ہیں۔ لیکن اس بات کی گارنٹی کہاں ہے کہ انہی نے لکھا تھا؟ اب، اگر اس طرح کے ہر ریکارڈ کے ساتھ ڈیجیٹل دستخط ہوتے تو یہ بہت آسان ہوتا۔ اور اس سے کوئی فرق نہیں پڑتا کہ یہ معلومات کہاں ہیں، سب سے اہم چیز دستخط ہے، جو یقیناً جعل سازی کرنا مشکل ہے۔

اور یہاں جو دلچسپ ہے وہ یہ ہے: آئی پی ایف ایس پہلے سے ہی انکرپشن ٹولز رکھتا ہے (آخر یہ بلاک چین ٹیکنالوجی پر بنایا گیا ہے)۔ پرائیویٹ کلید کو فوری طور پر تشکیل میں بیان کیا جاتا ہے۔

  "Identity": {
    "PeerID": "QmeCWX1DD7HnPSuMHZSh6tFuMxxxxxxxxxxxxxx",
    "PrivKey": "CAASqAkwggSkAgEAAoIBAQClZedVmj8JkPvT92sGrNIQmofVF3ne8xSWZIGqkm+t9IHNN+/NDI51jA0MRzpBviM3o/c/Nuz30wo95vWToNyWzJlyAISXnUHxnVhvpeJAbaeggQRcFxO9ujO9DH61aqgN1m+JoEplHjtc4KS5
pUEDqamve+xAJO8BWt/LgeRKA70JN4hlsRSghRqNFFwjeuBkT1kB6tZsG3YmvAXJ0o2uye+y+7LMS7jKpwJNJBiFAa/Kuyu3W6PrdOe7SqrXfjOLHQ0uX1oYfcqFIKQsBNj/Fb+GJMiciJUZaAjgHoaZrrf2b/Eii3z0i+QIVG7OypXT3Z9JUS60
KKLfjtJ0nVLjAgMBAAECggEAZqSR5sbdffNSxN2TtsXDa3hq+WwjPp/908M10QQleH/3mcKv98FmGz65zjfZyHjV5C7GPp24e6elgHr3RhGbM55vT5dQscJu7SGng0of2bnzQCEw8nGD18dZWmYJsE4rUsMT3wXxhUU4s8/Zijgq27oLyxKNr9T7
2gxqPCI06VTfMiCL1wBBUP1wHdFmD/YLJwOjV/sVzbsl9HxqzgzlDtfMn/bJodcURFI1sf1e6WO+MyTc3.................

میں سیکیورٹی کا ماہر نہیں ہوں اور میں اسے صحیح طریقے سے استعمال کرنے کا طریقہ نہیں جانتا ہوں، لیکن مجھے لگتا ہے کہ یہ کیز آئی پی ایف ایس نوڈس کے درمیان تبادلے کی سطح پر استعمال ہوتی ہیں۔ اور بھی js-ipfs اور مثال کے طور پر منصوبوں مدار ڈی بیجس پر یہ کام کرتا ہے۔ orbit.chat. یعنی نظریاتی طور پر، ہر ڈیوائس (موبائل اور نہ صرف) آسانی سے اپنی انکرپشن-ڈیکرپشن مشینوں سے لیس ہوسکتی ہے۔ اس صورت میں، یہ صرف ہر ایک کے لیے باقی ہے کہ وہ اپنی نجی کلیدوں کو محفوظ کرنے کا خیال رکھیں، اور ہر کوئی اپنی حفاظت کے لیے خود ذمہ دار ہوگا، اور انٹرنیٹ کے کسی انتہائی مقبول ادارے پر کسی دوسرے انسانی عنصر کا یرغمال نہیں بننا چاہیے۔

سروے میں صرف رجسٹرڈ صارفین ہی حصہ لے سکتے ہیں۔ سائن ان، برائے مہربانی.

کیا آپ نے پہلے آئی پی ایف ایس کے بارے میں سنا ہے؟

  • میں نے IPFS کے بارے میں کبھی نہیں سنا، لیکن یہ دلچسپ لگتا ہے۔

  • نہیں سنا اور سننا نہیں چاہتا

  • سنا ہے لیکن دلچسپی نہیں ہے۔

  • سنا تھا، لیکن سمجھ نہیں آیا، لیکن اب دلچسپ لگتا ہے۔

  • میں ایک طویل عرصے سے فعال طور پر آئی پی ایف ایس کا استعمال کر رہا ہوں۔

69 صارفین نے ووٹ دیا۔ 13 صارفین غیر حاضر رہے۔

ماخذ: www.habr.com

نیا تبصرہ شامل کریں