Peergos sedang membangun web berikutnya - web pribadi, di mana pengguna akhir memegang kendali. Bayangkan aplikasi web aman secara default dan tidak dapat melacak Anda. Bayangkan bisa mengontrol dengan tepat data pribadi apa yang dapat dilihat oleh setiap aplikasi web. Bayangkan Anda tidak perlu lagi masuk ke suatu aplikasi. Anda adalah pemilik data Anda dan memutuskan di mana data tersebut disimpan dan siapa yang dapat melihatnya. Di Peergos, kami percaya bahwa privasi adalah hak asasi manusia yang mendasar dan kami ingin memudahkan semua orang berinteraksi online dengan cara yang menghormati hak ini.
Fondasi Peergos adalah sistem file global terenkripsi peer-to-peer dengan kontrol akses terperinci yang dirancang agar tahan terhadap pengawasan konten data atau grafik pertemanan. Ia memiliki pengirim pesan yang aman, klien dan jembatan email terenkripsi, dan jaringan sosial yang sepenuhnya pribadi dan aman, di mana pengguna dapat mengontrol siapa yang melihat apa (dieksekusi secara kriptografis). Moto kami di Peergos adalah, "Kontrol data Anda, kendalikan nasib Anda."
Nama Peergos berasal dari kata Yunani Πύργος (Pyrgos), yang berarti benteng atau menara, tetapi secara fonetis dieja dengan koneksi yang bagus untuk menjadi peer-to-peer. Pengucapan: peer-goss (seperti dalam gosip).
Lihat tangkapan layar lainnya di repositori web-ui https://github.com/Peergos/web-ui.
Ingin mencobanya sekarang? Berikut tautan rahasia read-only ke sebuah folder;
Kami menjalankan server di https://peergos.net/. Ada sejumlah akun gratis yang tersedia. Anda dapat meningkatkan ke akun berbayar untuk mendapatkan lebih banyak penyimpanan.
Anda dapat membaca lebih detail tentang fitur dan arsitektur kami di buku teknologi kami.
Untuk melihat perkembangan terkini, baca catatan rilis terbaru atau lihat rilis repo web-ui kami.
Slide pembicaraan yang memperkenalkan Peergos ada di sini
Menyelami lebih dalam di IPFS Camp 2024
Menyelam lebih dalam di Devstaff Crete:
Ikhtisar di IPFS Thing:
Aplikasi di Peergos:
Aplikasi mendalami:
Pembicaraan arsitektur di IPFS Lab Day:
Pendahuluan dan pembaruan tahun 2020:
Perkenalan:
Jika Anda ingin mendukung pengembangan Peergos, silakan buat a
donasi berulang kurang dari 100 EUR per minggu
atau a
sumbangan yang lebih besar atau satu kali saja.
Cure53 melakukan audit terhadap Peergos pada Juni 2019. Laporan akhir ada di sini.
Ada ruang obrolan publik untuk Peergos di Matrix.
1.0 Lapisan arsitektur
2.0 Bahasa
3.0 Node
4.0 Kepercayaan
4.0 Masuk
5.0 Enkripsi
5.1 Enkripsi pasca-kuantum
6.0 Jaringan teman
7.0 Berbagi file (dengan pengguna lain, melalui tautan rahasia, atau secara publik)
Gunakan metode ini untuk masuk ke akun peergos di instans lain tanpa bergantung pada DNS atau otoritas sertifikat TLS.
Unduh rilis dari https://peergos.net/public/peergos/releases
Instal Java - Anda perlu menginstal Java >= 17.
Jalankan Peergos dengan:
java -jar Peergos.jar daemon
Semua data peergos akan disimpan di ~/.peergos secara default, yang dapat diganti dengan var atau arg lingkungan - PEERGOS_PATH.
Anda kemudian dapat mengakses antarmuka web dan login melalui http://localhost:8000.
Dalam mode operasi ini, semua penulisan Anda diproksi langsung ke server rumah Anda. Instance lokal menyimpan cache setiap blok yang Anda akses untuk akses selanjutnya yang lebih cepat.
Gunakan metode ini untuk menjalankan server rumah baru (yang terbaik adalah dengan IP yang dapat dirutekan secara publik, dan selalu di mesin) untuk membuat akun atau memigrasikan akun.
Unduh rilis dari https://peergos.net/public/peergos/releases
Instal Java - Anda perlu menginstal Java >= 17.
Jalankan Peergos dengan:
java -jar Peergos.jar daemon -generate-token true
Pastikan Anda dapat mendengarkan pada alamat IP publik
Beberapa host cloud tidak menambahkan ip publik Anda ke antarmuka jaringan secara default. Untuk kasus ini, Anda mungkin perlu menjalankan sesuatu seperti
sudo ip address add MY.PUBLIC.IP dev eth0
Semua data peergos akan disimpan di ~/.peergos secara default, yang dapat diganti dengan lingkungan var atau arg - PEERGOS_PATH
Anda kemudian dapat mengakses antarmuka web dan mendaftar melalui alamat localhost yang dicetak, yang mencakup token pendaftaran sekali pakai.
Konfigurasi disimpan di $PEERGOS_PATH/config, jadi untuk proses selanjutnya Anda cukup menggunakan yang berikut ini kecuali Anda ingin mengganti konfigurasi apa pun
java -jar Peergos.jar daemon
Perhatikan bahwa server Peergos mana pun yang Anda gunakan untuk mendaftar (server rumah Anda) akan menyimpan data Anda, jadi jika Anda tidak bermaksud membiarkan server Peergos Anda berjalan secara permanen, kami sarankan untuk mendaftar di https://peergos.net lalu Anda dapat masuk melalui instance Peergos lokal dan semua data Anda secara ajaib akan berakhir di server peergos.net. Peergos dapat bekerja di belakang NAT dan firewall, namun kami merekomendasikan penggunaan server dengan IP publik. Jika Anda ingin mengekspos antarmuka web Anda secara publik, Anda perlu mengatur nama domain dan sertifikat TLS (sebaiknya gunakan nginx dan letsencrypt).
Jika Anda tidak menyiapkan nama domain dan TLS, Anda masih dapat masuk ke akun Anda dari instance Peergos lain, misalnya yang Anda jalankan secara lokal di laptop Anda - koneksi dirutekan dengan aman melalui aliran P2P TLS1.3 ke server rumah Anda. Dalam hal ini, setiap penulisan diproksikan ke server rumah Anda sehingga data Anda selalu disimpan di sana. Jika Anda mengekspos instans Anda melalui nama DNS dan sertifikat TLS, Anda perlu menambahkan parameter ini:
-server publik benar
Jika Anda juga menggunakan proxy terbalik seperti nginx untuk mengakhiri TLS, Anda perlu memberi tahu peergos domain mana yang Anda gunakan dengan argumen berikut:
-domain publik $DOMAIN_ANDA
Dan sertifikat TLS juga perlu mencakup subdomain wildcard agar aplikasi (seperti penampil PDF, editor teks, kalender, dan aplikasi pihak ketiga khusus) dapat berfungsi. Misalnya, ia harus memiliki data A yang mencakup $YOUR_DOMAIN dan *.$YOUR_DOMAIN
Jika Anda menggunakan proxy terbalik seperti nginx untuk menghentikan TLS, berikut adalah contoh file konfigurasi nginx yang bagus (ganti $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;
}
}
Ikuti petunjuk untuk hosting mandiri tetapi tambahkan parameter berikut (baik di baris perintah, atau di file .peergos/config setelah dijalankan pertama kali):
-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 tampaknya memiliki beberapa masalah, jadi dengan penggunaan Minio: -authed-s3-reads false -direct-s3-writes false
Anda juga perlu menyetel cors.xml untuk bucket sebagai berikut:
<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>
Ikuti petunjuk untuk hosting mandiri tetapi tambahkan parameter berikut (baik di baris perintah, atau di file .peergos/config setelah dijalankan pertama kali):
-use-postgres true
-postgres.database $DATABASE
-postgres.host $HOST
-postgres.password $PASSWORD
-postgres.username $USERNAME
Ada berbagai perintah yang tersedia dari baris perintah. Anda dapat menjalankan -help untuk menemukan perintah atau detail yang tersedia pada perintah atau sub-perintah apa pun. Sebagian besar pengguna hanya memerlukan perintah daemon dan shell , dan mungkin identitas atau sekering . Anda dapat menggunakan perintah migrasi untuk memindahkan semua data Anda ke server baru (tempat perintah dijalankan).
>> 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
atau
>> 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.
Untuk mencerminkan semua data Anda di server lain, pertama-tama jalankan perintah berikut (dalam kasus apa pun):
java -jar Peergos.jar mirror init -nama pengguna $nama pengguna
Ini akan meminta kata sandi Anda dan kemudian mencetak tiga parameter yang perlu Anda berikan ke daemon mirror.
Kemudian jalankan daemon, jika Anda ingin mencerminkan data Anda, dengan argumen tambahan berikut disediakan oleh perintah init.
java -jar daemon Peergos.jar -mirror.nama pengguna $nama pengguna -mirror.bat $mirrorBat -login-keypair $loginKeypair
Ini kemudian akan terus mencerminkan data pengguna tersebut pada instance ini.
Untuk bermigrasi ke server lain, pertama-tama pastikan Anda memiliki kuota yang cukup, lalu jalankan perintah migrasi di server tersebut.
java -jar Peergos.jar bermigrasi
Ini akan meminta nama pengguna dan kata sandi Anda, mencerminkan semua data Anda secara lokal, dan kemudian memperbarui PKI untuk menjadikannya server rumah Anda.
Setelah migrasi, identitas Anda tidak berubah, semua tautan ke data Anda tetap berfungsi, dan Anda menyimpan grafik sosial Anda tanpa perlu memberi tahu siapa pun.
Berbagai operasi dapat dilakukan dengan menggunakan shell.
java -jar Peergos.jar shell
Untuk terhubung ke server Anda perlu memberikan alamat Server (termasuk http/https), Nama Pengguna dan Kata Sandi.
Enter Server address
> https://peergos.net
Enter username
> demo
Enter password for ' demo '
> **************************************
Generating keys
Logging in
Retrieving Friends
demo@https://peergos.net >
Untuk menampilkan semua perintah yang tersedia
demo@https://peergos.net > help
Petunjuk: Perintah berikut mungkin berguna untuk melakukan unggahan awal untuk folder yang lebih besar.
put local_path remote_path
Ada klien sinkronisasi dua arah yang memungkinkan Anda menyinkronkan direktori asli dengan direktori peergos (atau beberapa pasang direktori). Untuk mengaturnya, jalankan pertama kali:
>> java -jar Peergos.jar sync init -peergos-url https://peergos.net
Dan ikuti petunjuk untuk memasukkan nama pengguna, kata sandi, dan direktori peergos yang ingin Anda sinkronkan. Ini akan menghasilkan sesuatu seperti:
>> Run the sync dir command with the following args: -links secret/z59vuwzfFDomTEuyeEw7rkofcd2vt5EnVffmAy5fnQe9V9MG36ZiBVY/3615659421#QUq6mf4gz8uk -local-dirs $LOCAL_DIR
Kemudian untuk menjalankan klien sinkronisasi dengan:
>> java -jar Peergos.jar sync dir -peergos-url https://peergos.net -links secret/z59vuwzfFDomTEuyeEw7rkofcd2vt5EnVffmAy5fnQe9V9MG36ZiBVY/3615659421#QUq6mf4gz8uk -local-dirs /path/to/local/dir
Anda dapat memasang ruang Peergos Anda dengan perintah berikut
>> java -Djava.library.path=native-lib -jar Peergos.jar fuse -peergos-url https://peergos.net -username $username -password $password
Instal osxfuse dengan
>> brew install --cask osxfuse
Instal winfsp dengan
>> choco install winfsp
Anda dapat menjalankan jembatan webdav lokal yang memungkinkan Anda mengakses file Peergos dengan klien apa pun yang kompatibel dengan webdav. Jalankan perintah berikut (pilih nama pengguna dan kata sandi webdav yang sewenang-wenang):
>> 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
Membutuhkan jdk17 dan ant untuk membangun. Gunakan yang berikut ini untuk menginstal dependensi:
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
Perhatikan bahwa ini tidak termasuk ui web apa pun, untuk versi lengkap termasuk versi antarmuka web https://github.com/peergos/web-ui
ant dist
ant gwtc
Anda harus menginstal ant-opsional:
sudo apt-get install ant-optional
Tidak diperlukan tambahan apa pun untuk paket ant di macOS.
Pengujian yang berjalan akan menginstal dan mengkonfigurasi versi IPFS yang benar secara otomatis, menjalankan daemon, dan menghentikannya setelahnya.
ant test
Target ant compile
hanya akan mengkompilasi sumber di folder src/peergos/{client,server,shared}.