Mastodon เป็น เซิร์ฟเวอร์โซเชียลเน็ตเวิร์กโอเพ่นซอร์สฟรี ที่ใช้ ActivityPub ซึ่งผู้ใช้สามารถติดตามเพื่อนและค้นพบเพื่อนใหม่ได้ บน Mastodon ผู้ใช้สามารถเผยแพร่อะไรก็ได้ที่ต้องการ: ลิงก์ รูปภาพ ข้อความ และวิดีโอ เซิร์ฟเวอร์ Mastodon ทั้งหมดสามารถทำงานร่วมกันได้ในรูปแบบเครือข่ายรวม (ผู้ใช้บนเซิร์ฟเวอร์หนึ่งสามารถสื่อสารกับผู้ใช้จากอีกเซิร์ฟเวอร์หนึ่งได้อย่างราบรื่น รวมถึงซอฟต์แวร์ที่ไม่ใช่ Mastodon ที่ใช้ ActivityPub!)
คลิกด้านล่างเพื่อ เรียนรู้เพิ่มเติม ในวิดีโอ:
หน้าแรกของโครงการ ?
สนับสนุนการพัฒนาผ่าน Patreon
ดูผู้สนับสนุน
บล็อก
เอกสารประกอบ
แผนการทำงาน
ภาพนักเทียบท่าอย่างเป็นทางการ
เรียกดูเซิร์ฟเวอร์ Mastodon
เรียกดูแอป Mastodon
ไม่จำเป็นต้องเป็นมาสโตดอน สิ่งใดก็ตามที่ ActivityPub นำไปใช้เป็นส่วนหนึ่งของเครือข่ายโซเชียล! เรียนรู้เพิ่มเติม
การอัพเดตของบุคคลที่คุณกำลังติดตามจะปรากฏแบบเรียลไทม์ใน UI ผ่านทาง WebSockets มีสายดับเพลิงด้วย!
อัปโหลดและดูภาพและวิดีโอ WebM/MP4 ที่แนบมากับการอัปเดต วิดีโอที่ไม่มีแทร็กเสียงจะถือว่าเป็น GIF วิดีโอปกติจะวนซ้ำอย่างต่อเนื่อง!
Mastodon ประกอบด้วยโพสต์ส่วนตัว บัญชีที่ถูกล็อค การกรองวลี การปิดเสียง การบล็อก และฟีเจอร์อื่น ๆ ทุกประเภท พร้อมด้วยระบบการรายงานและการกลั่นกรอง เรียนรู้เพิ่มเติม
Mastodon ทำหน้าที่เป็นผู้ให้บริการ OAuth2 ดังนั้นแอปของบุคคลที่สามจึงสามารถใช้ REST และ Streaming API ได้ ส่งผลให้เกิดระบบนิเวศของแอปที่หลากหลายพร้อมตัวเลือกมากมาย!
Ruby on Rails ขับเคลื่อน REST API และหน้าเว็บอื่นๆ
React.js และ Redux ใช้สำหรับส่วนไดนามิกของอินเทอร์เฟซ
Node.js ขับเคลื่อน API การสตรีม
PostgreSQL 12+
รีดิส 4+
รูบี้ 3.2+
โหนด js 18+
พื้นที่เก็บข้อมูลประกอบด้วยการกำหนดค่าการปรับใช้สำหรับ Docker และ docker-compose รวมถึงแพลตฟอร์มเฉพาะ เช่น Heroku และ Scalingo สำหรับแผนภูมิ Helm ให้อ้างอิงที่เก็บมาสโตดอน/แผนภูมิ คู่มือการติดตั้ง แบบสแตนด์อโลน มีอยู่ในเอกสารประกอบ
การกำหนดค่า Vagrant ถูกรวมไว้เพื่อวัตถุประสงค์ในการพัฒนา หากต้องการใช้งาน ให้ทำตามขั้นตอนต่อไปนี้:
ติดตั้ง Vagrant และ Virtualbox
ติดตั้งปลั๊กอิน vagrant-hostsupdater
: vagrant plugin install vagrant-hostsupdater
วิ่ง vagrant up
เรียกใช้ vagrant ssh -c "cd /vagrant && bin/dev"
เปิด http://mastodon.local
ในเบราว์เซอร์ของคุณ
หากต้องการตั้งค่า macOS สำหรับการพัฒนาแบบเนทีฟ ให้ทำตามขั้นตอนต่อไปนี้:
ติดตั้ง Homebrew และรัน brew install postgresql@14 redis imagemagick libidn nvm
เพื่อติดตั้งการพึ่งพาโปรเจ็กต์ที่จำเป็น
ใช้ตัวจัดการเวอร์ชัน Ruby เพื่อเปิดใช้งาน Ruby ใน .ruby-version
และรัน nvm use
เพื่อเปิดใช้งานเวอร์ชันโหนดจาก .nvmrc
เรียกใช้สคริปต์ bin/setup
ซึ่งจะติดตั้ง Ruby Gems และแพ็คเกจโหนดที่จำเป็น และเตรียมฐานข้อมูลสำหรับการพัฒนาในเครื่อง
สุดท้าย ให้รันสคริปต์ bin/dev
ซึ่งจะเปิดบริการผ่านทาง overmind
(หากติดตั้ง) หรือ foreman
สำหรับการโฮสต์และการปรับใช้จริงด้วย Docker ให้ใช้ Dockerfile
และ docker-compose.yml
ในไดเร็กทอรีรากของโปรเจ็กต์
สำหรับการพัฒนาในเครื่อง ให้ติดตั้งและเปิดใช้ Docker และรัน:
นักเทียบท่าเขียน -f .devcontainer/compose.yaml ขึ้น -d นักเทียบท่าเขียน -f .devcontainer/compose.yaml exec app bin/setup นักเทียบท่าเขียน -f .devcontainer/compose.yaml exec app bin/dev
ภายใน IDE ที่รองรับข้อกำหนดคอนเทนเนอร์การพัฒนา ให้เริ่มคอนเทนเนอร์ "Mastodon บนเครื่องโลคอล" จากตัวแก้ไข คำสั่ง docker compose
ที่จำเป็นเพื่อสร้างและตั้งค่าคอนเทนเนอร์ควรทำงานโดยอัตโนมัติ สำหรับ Visual Studio Code จำเป็นต้องติดตั้งส่วนขยาย Dev Container
GitHub Codespaces มอบ VS Code เวอร์ชันบนเว็บและสภาพแวดล้อมการพัฒนาที่โฮสต์บนคลาวด์ที่กำหนดค่าด้วยซอฟต์แวร์ที่จำเป็นสำหรับโปรเจ็กต์นี้
คลิกปุ่มเพื่อสร้างโค้ดสเปซใหม่และยืนยันตัวเลือก
รอให้สภาพแวดล้อมสร้าง (ใช้เวลาไม่กี่นาที)
เมื่อโปรแกรมแก้ไขพร้อม ให้รัน bin/dev
ในเทอร์มินัล
รอพร้อมท์ เปิดในเบราว์เซอร์ นี่จะเป็นการเปิด Mastodon
ในการตั้งค่าแท็บ พอร์ต "สตรีม" ให้เปลี่ยน การมองเห็นพอร์ต → สาธารณะ
Mastodon เป็น ซอฟต์แวร์โอเพ่นซอร์สฟรี ที่ได้รับอนุญาตภายใต้ AGPLv3
คุณสามารถเปิดปัญหาสำหรับจุดบกพร่องที่คุณพบหรือคุณสมบัติที่คุณคิดว่าขาดหายไปได้ คุณยังสามารถส่งคำขอดึงไปยังพื้นที่เก็บข้อมูลนี้หรือส่งคำแปลโดยใช้ Crowdin ในการเริ่มต้น โปรดดูที่ CONTRIBUTING.md หากการบริจาคของคุณได้รับการยอมรับใน Mastodon คุณสามารถขอชำระเงินผ่าน OpenCollective ของเราได้
ช่อง IRC : #mastodon บน irc.libera.chat
ลิขสิทธิ์ (C) 2016-2024 Eugen Rochko และผู้มีส่วนร่วม Mastodon คนอื่นๆ (ดู AUTHORS.md)
โปรแกรมนี้เป็นซอฟต์แวร์เสรี: คุณสามารถแจกจ่ายซ้ำและ/หรือแก้ไขได้ภายใต้เงื่อนไขของ GNU Affero General Public License ตามที่เผยแพร่โดย Free Software Foundation เวอร์ชัน 3 ของใบอนุญาต หรือ (ตามตัวเลือกของคุณ) เวอร์ชันที่ใหม่กว่า
โปรแกรมนี้เผยแพร่ด้วยความหวังว่าจะมีประโยชน์ แต่ไม่มีการรับประกันใดๆ โดยไม่มีการรับประกันโดยนัยถึงความสามารถในการค้าขายหรือความเหมาะสมสำหรับวัตถุประสงค์เฉพาะ ดู GNU Affero General Public License สำหรับรายละเอียดเพิ่มเติม
คุณควรได้รับสำเนาของ GNU Affero General Public License พร้อมกับโปรแกรมนี้ ถ้าไม่ โปรดดู https://www.gnu.org/licenses/