تقوم شركة Peergos ببناء شبكة الويب التالية - شبكة الويب الخاصة، حيث يتحكم المستخدمون النهائيون. تخيل أن تطبيقات الويب آمنة افتراضيًا وغير قادرة على تتبعك. تخيل أنك قادر على التحكم بالضبط في البيانات الشخصية التي يمكن لكل تطبيق ويب رؤيتها. تخيل أنك لن تضطر أبدًا إلى تسجيل الدخول إلى أحد التطبيقات مرة أخرى. أنت تملك بياناتك وتقرر مكان تخزينها ومن يمكنه رؤيتها. في Peergos، نؤمن بأن الخصوصية هي حق أساسي من حقوق الإنسان ونريد أن نسهل على الجميع التفاعل عبر الإنترنت بطرق تحترم هذا الحق.
أساس Peergos هو نظام ملفات عالمي مشفر من نظير إلى نظير مع تحكم دقيق في الوصول مصمم ليكون مقاومًا لمراقبة محتوى البيانات أو الرسوم البيانية للصداقة. يحتوي على برنامج مراسلة آمن، وعميل بريد إلكتروني مشفر وجسر، وشبكة اجتماعية خاصة وآمنة تمامًا، حيث يتحكم المستخدمون في من يرى ماذا (يتم تنفيذه بطريقة مشفرة). شعارنا في Peergos هو "تحكم في بياناتك، تحكم في مصيرك".
يأتي اسم Peergos من الكلمة اليونانية Πύργος (Pyrgos)، والتي تعني المعقل أو البرج، ولكن يتم تهجئتها صوتيًا مع الارتباط اللطيف بكونك نظير إلى نظير. النطق: القيل والقال (كما في القيل والقال).
شاهد المزيد من لقطات الشاشة في مستودع واجهة المستخدم على الويب https://github.com/Peergos/web-ui.
هل تريد تجربتها الآن؟ إليك رابط سري للقراءة فقط لمجلد ما؛
نقوم بتشغيل خادم على https://peergos.net/. هناك عدد محدود من الحسابات المجانية المتاحة. يمكنك الترقية إلى حساب مدفوع للحصول على المزيد من السعة التخزينية.
يمكنك قراءة المزيد من التفاصيل حول ميزاتنا وبنيتنا في كتابنا التقني.
لرؤية التطورات الأخيرة، اقرأ أحدث ملاحظات الإصدار أو راجع إصدارات مستودع واجهة المستخدم على الويب الخاصة بنا.
شرائح الحديث الذي يقدم Peergos موجودة هنا
الغوص العميق في IPFS Camp 2024
الغوص العميق في ديفستاف كريت:
نظرة عامة على IPFS Thing:
التطبيقات على بيرجوس:
تطبيقات الغوص العميق:
حديث الهندسة المعمارية في يوم مختبر IPFS:
مقدمة وتحديث 2020:
مقدمة:
إذا كنت ترغب في دعم تطوير Peergos، فيرجى تقديم طلب
التبرع المتكرر أقل من 100 يورو في الأسبوع
أو أ
تبرع أكبر أو لمرة واحدة.
أجرت Cure53 مراجعة لـ Peergos في يونيو 2019. التقرير النهائي موجود هنا.
توجد غرفة دردشة عامة لـ Peergos على Matrix.
1.0 طبقات العمارة
2.0 اللغة
3.0 العقد
4.0 الثقة
4.0 تسجيل الدخول
5.0 التشفير
5.1 تشفير ما بعد الكم
6.0 شبكة الأصدقاء
7.0 مشاركة ملف (مع مستخدم آخر، من خلال رابط سري، أو بشكل عام)
استخدم هذه الطريقة لتسجيل الدخول إلى حساب Peergos على مثيل آخر دون الاعتماد على DNS أو سلطات شهادات TLS.
قم بتنزيل الإصدار من https://peergos.net/public/peergos/releases
تثبيت Java - ستحتاج إلى تثبيت Java >= 17.
قم بتشغيل Peergos باستخدام:
java -jar Peergos.jar daemon
سيتم تخزين جميع بيانات Peergos في ~/.peergos افتراضيًا، والتي يمكن تجاوزها باستخدام البيئة var أو arg - PEERGOS_PATH.
يمكنك بعد ذلك الوصول إلى واجهة الويب وتسجيل الدخول عبر http://localhost:8000.
في وضع التشغيل هذا، يتم نقل جميع كتاباتك مباشرة إلى الخادم المنزلي الخاص بك. يقوم المثيل المحلي بتخزين أي كتل يمكنك الوصول إليها مؤقتًا للوصول اللاحق بشكل أسرع.
استخدم هذه الطريقة لتشغيل خادم منزلي جديد (وهو الأفضل باستخدام عنوان IP قابل للتوجيه بشكل عام، ودائمًا على الجهاز) لإنشاء حسابات عليه أو ترحيل الحسابات إليها.
قم بتنزيل الإصدار من https://peergos.net/public/peergos/releases
تثبيت Java - ستحتاج إلى تثبيت Java >= 17.
قم بتشغيل Peergos باستخدام:
java -jar Peergos.jar daemon -generate-token true
تأكد من أنه يمكنك الاستماع على عنوان IP عام
لا يضيف بعض المضيفين السحابيين عنوان IP العام الخاص بك إلى واجهات الشبكة بشكل افتراضي. في هذه الحالات قد تحتاج إلى تشغيل شيء مثل
sudo ip address add MY.PUBLIC.IP dev eth0
سيتم تخزين جميع بيانات Peergos في ~/.peergos افتراضيًا، والتي يمكن تجاوزها باستخدام البيئة var أو arg - PEERGOS_PATH
يمكنك بعد ذلك الوصول إلى واجهة الويب والاشتراك عبر عنوان المضيف المحلي المطبوع، والذي يتضمن رمزًا مميزًا للتسجيل للاستخدام مرة واحدة.
يتم تخزين التكوين في $PEERGOS_PATH/config، لذا يمكنك فقط استخدام ما يلي لعمليات التشغيل اللاحقة إلا إذا كنت تريد تجاوز أي تكوين
java -jar Peergos.jar daemon
لاحظ أن أي خادم Peergos تقوم بالتسجيل من خلاله (خادم منزلك) سيقوم بتخزين بياناتك، لذلك إذا كنت لا تنوي ترك خادم Peergos الخاص بك يعمل بشكل دائم، فإننا نوصي بالتسجيل على https://peergos.net ثم يمكنك تسجيل الدخول من خلال مثيل Peergos المحلي وستنتهي جميع بياناتك بطريقة سحرية على خادم Peergos.net. يمكن لـ Peergos العمل خلف NAT وجدران الحماية، لكننا نوصي باستخدام خادم بعنوان IP عام. إذا كنت تريد الكشف عن واجهة الويب الخاصة بك علنًا، فستحتاج إلى ترتيب اسم النطاق وشهادات TLS (نوصي باستخدام nginx وletsencrypt).
إذا لم تقم بإعداد اسم نطاق وTLS، فلا يزال بإمكانك تسجيل الدخول إلى حسابك من مثيل Peergos آخر، على سبيل المثال، مثيل تقوم بتشغيله محليًا على الكمبيوتر المحمول الخاص بك - يتم توجيه الاتصالات بشكل آمن عبر تدفقات P2P TLS1.3 إلى الخادم المنزلي الخاص بك. في هذه الحالة، يتم إرسال أي عمليات كتابة إلى خادم منزلك بحيث تظل بياناتك موجودة دائمًا هناك. إذا كشفت عن مثيلك عبر اسم DNS وشهادة TLS، فستحتاج إلى إضافة هذه المعلمة:
-الخادم العام صحيح
إذا كنت تستخدم أيضًا وكيلًا عكسيًا مثل nginx لإنهاء TLS، فستحتاج إلى إخبار Peergos بالمجال الذي تستخدمه باستخدام الوسيطة التالية:
-المجال العام $YOUR_DOMAIN
وستحتاج شهادة TLS أيضًا إلى تغطية نطاق البدل الفرعي للتطبيقات (مثل عارض PDF ومحرر النصوص والتقويم وتطبيقات الجهات الخارجية المخصصة) حتى تعمل. على سبيل المثال، يجب أن يحتوي على سجلات A تغطي $YOUR_DOMAIN و*.$YOUR_DOMAIN
إذا كنت تستخدم وكيلًا عكسيًا مثل nginx لإنهاء TLS، فإليك مثال جيد لملف تهيئة nginx (استبدل $YOUR_DOMAIN_NAME):
# Peergos server config
server {
listen 80 default_server;
listen [::]:80 default_server;
location ^~ /.well-known {
allow all;
proxy_pass http://127.0.0.1:8888;
}
# redirect all HTTP requests to HTTPS with a 301 Moved Permanently response.
return 301 https://$host$request_uri;
}
server {
# SSL configuration
listen 443 ssl http2;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_ciphers TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:!TLS_AES_128_GCM_SHA256;
ssl_certificate /etc/letsencrypt/live/$YOUR_DOMAIN_NAME/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/$YOUR_DOMAIN_NAME/privkey.pem;
add_header Strict-Transport-Security "max-age=31536000" always;
server_name $YOUR_DOMAIN_NAME;
client_max_body_size 2M;
location / {
proxy_pass http://localhost:8000;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
allow all;
}
# pass through for letsencrypt
location ^~ /.well-known {
allow all;
proxy_pass http://127.0.0.1:8888;
}
}
اتبع تعليمات الاستضافة الذاتية ولكن قم بإضافة المعلمات التالية (إما في سطر الأوامر، أو في ملف .peergos/config بعد التشغيل لأول مرة):
-use-s3 true
-authed-s3-reads true
-direct-s3-writes true
-s3.accessKey $ACCESS_KEY
-s3.bucket $BUCKET
-s3.region $REGION
-s3.region.endpoint $ENDPOINT (e.g. us-east-1.linodeobjects.com)
-s3.secretKey #SECRET_KEY
يبدو أن NB Minio لديه بعض المشكلات، لذلك مع استخدام Minio: -authed-s3-reads false -direct-s3-writes false
ستحتاج أيضًا إلى تعيين cors.xml للحاوية على ما يلي:
<CORSConfiguration>
<CORSRule>
<AllowedOrigin>https://$YOUR_DOMAIN</AllowedOrigin>
<AllowedMethod>HEAD</AllowedMethod>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<AllowedHeader>*</AllowedHeader>
<ExposeHeader>ETag</ExposeHeader>
<ExposeHeader>Content-Length</ExposeHeader>
<MaxAgeSeconds>3600</MaxAgeSeconds>
</CORSRule>
</CORSConfiguration>
اتبع تعليمات الاستضافة الذاتية ولكن قم بإضافة المعلمات التالية (إما في سطر الأوامر، أو في ملف .peergos/config بعد التشغيل لأول مرة):
-use-postgres true
-postgres.database $DATABASE
-postgres.host $HOST
-postgres.password $PASSWORD
-postgres.username $USERNAME
هناك مجموعة من الأوامر المتاحة من سطر الأوامر. يمكنك تشغيل -help للعثور على الأوامر أو التفاصيل المتاحة لأي أمر أو أمر فرعي. يجب أن يحتاج معظم المستخدمين فقط إلى أوامر البرنامج الخفي و Shell ، وربما الهوية أو الصمامات . يمكنك استخدام أمر الترحيل لنقل جميع بياناتك إلى خادم جديد (حيث يتم تشغيل الأمر).
>> java -Djava.library.path=native-lib -jar Peergos.jar -help
Main: Run a Peergos command
Sub commands:
daemon: The user facing Peergos server
shell: An interactive command-line-interface to a Peergos server
fuse: Mount a Peergos user's filesystem natively
quota: Manage quota of users on this server
server-msg: Send and receive messages to/from users of this server
gateway: Serve websites directly from Peergos
migrate: Move a Peergos account to this server
identity: Create or verify an identity proof
ipfs: Install, configure and start IPFS daemon
pki: Start the Peergos PKI Server that has already been bootstrapped
pki-init: Bootstrap and start the Peergos PKI Server
أو
>> java -Djava.library.path=native-lib -jar Peergos.jar identity -help
identity: Create or verify an identity proof
Sub commands:
link: Link your Peergos identity to an account on another service.
verify: Verify an identity link post from another service.
لعكس جميع بياناتك على خادم آخر، قم أولاً بتشغيل الأمر التالي (في أي حالة):
java -jar Peergos.jar مرآة init -username $username
سيطلب كلمة المرور الخاصة بك ثم يطبع ثلاثة معلمات تحتاج إلى توفيرها لبرنامج المرآة الخفي.
ثم قم بتشغيل البرنامج الخفي، في المثيل الذي تريد عكس بياناتك، باستخدام الوسيطات الإضافية التالية المقدمة بواسطة أمر init.
java -jar Peergos.jar daemon -mirror.username $username -mirror.bat $mirrorBat -login-keypair $loginKeypair
سيؤدي هذا بعد ذلك إلى عكس بيانات المستخدم بشكل مستمر في هذه الحالة.
للترحيل إلى خادم آخر، تأكد أولاً من أن لديك حصة كافية عليه، ثم قم بتشغيل أمر الترحيل عليه.
جافا -jar Peergos.jar ترحيل
سيطلب اسم المستخدم وكلمة المرور الخاصين بك، ويعكس جميع بياناتك محليًا، ثم يقوم بتحديث PKI لجعل هذا الخادم المنزلي الخاص بك.
بعد الترحيل، لن تتغير هويتك، وتستمر جميع الروابط المؤدية إلى بياناتك في العمل، وتحتفظ برسمك البياني الاجتماعي دون الحاجة إلى إخبار أي شخص.
يمكن إجراء عمليات مختلفة باستخدام الصدفة.
java -jar Peergos.jar shell
للاتصال بخادم، ستحتاج إلى توفير عنوان الخادم (بما في ذلك http/https) واسم المستخدم وكلمة المرور.
Enter Server address
> https://peergos.net
Enter username
> demo
Enter password for ' demo '
> **************************************
Generating keys
Logging in
Retrieving Friends
demo@https://peergos.net >
لإظهار كافة الأوامر المتاحة
demo@https://peergos.net > help
تلميح: قد يكون الأمر التالي مفيدًا لإجراء تحميل أولي للمجلدات الأكبر حجمًا.
put local_path remote_path
يوجد عميل مزامنة ثنائي الاتجاه يتيح لك مزامنة الدليل الأصلي مع دليل Peergos (أو عدة أزواج من الدلائل). لإعداد هذا التشغيل لأول مرة:
>> java -jar Peergos.jar sync init -peergos-url https://peergos.net
واتبع المطالبات لإدخال اسم المستخدم وكلمة المرور وPergos dir الذي تريد المزامنة معه. سيؤدي هذا إلى إخراج شيء مثل:
>> Run the sync dir command with the following args: -links secret/z59vuwzfFDomTEuyeEw7rkofcd2vt5EnVffmAy5fnQe9V9MG36ZiBVY/3615659421#QUq6mf4gz8uk -local-dirs $LOCAL_DIR
ثم لتشغيل عميل المزامنة مع:
>> java -jar Peergos.jar sync dir -peergos-url https://peergos.net -links secret/z59vuwzfFDomTEuyeEw7rkofcd2vt5EnVffmAy5fnQe9V9MG36ZiBVY/3615659421#QUq6mf4gz8uk -local-dirs /path/to/local/dir
يمكنك تركيب مساحة Peergos الخاصة بك باستخدام الأمر التالي
>> java -Djava.library.path=native-lib -jar Peergos.jar fuse -peergos-url https://peergos.net -username $username -password $password
قم بتثبيت osxfuse مع
>> brew install --cask osxfuse
قم بتثبيت برنامج Winfsp باستخدام
>> choco install winfsp
يمكنك تشغيل جسر webdav المحلي الذي يسمح لك بالوصول إلى ملفات Peergos الخاصة بك مع أي عميل متوافق مع webdav. قم بتشغيل الأمر التالي (اختر اسم مستخدم وكلمة مرور عشوائيين لـ webdav):
>> java -Djava.library.path=native-lib -jar Peergos.jar webdav -peergos-url https://peergos.net -username $username -PEERGOS_PASSWORD $password -webdav.username $webdav-username -PEERGOS_WEBDAV_PASSWORD $webdav-password
يتطلب jdk17 وant للبناء. استخدم ما يلي لتثبيت التبعيات:
sudo apt-get install ant
sudo apt-get install openjdk-17-jdk
brew install ant # installs openjdk as a dependency
ant -version
Apache Ant(TM) version 1.10.8 compiled on May 10 2020
لاحظ أن هذا لا يتضمن أي واجهة مستخدم ويب، للإصدار الكامل بما في ذلك إنشاء واجهة الويب https://github.com/peergos/web-ui
ant dist
ant gwtc
تحتاج إلى تثبيت النمل الاختياري:
sudo apt-get install ant-optional
ليست هناك حاجة إلى أي شيء إضافي لحزمة النمل على نظام التشغيل macOS.
سيؤدي تشغيل الاختبارات إلى تثبيت الإصدار الصحيح من IPFS وتكوينه تلقائيًا، وتشغيل البرنامج الخفي، وإنهائه بعد ذلك.
ant test
سيقوم هدف ant compile
فقط بتجميع المصادر في مجلدات src/peergos/{client,server,shared}.