ฟรอนต์เอนด์ Twitter ทางเลือกโอเพ่นซอร์สฟรีที่เน้นความเป็นส่วนตัวและประสิทธิภาพ
แรงบันดาลใจจากโครงการ Invidious
ไม่มี JavaScript หรือโฆษณา
คำขอทั้งหมดดำเนินการผ่านแบ็กเอนด์ ลูกค้าไม่เคยพูดคุยกับ Twitter
ป้องกันไม่ให้ Twitter ติดตามลายนิ้วมือ IP หรือ JavaScript ของคุณ
ใช้ API อย่างไม่เป็นทางการของ Twitter (ไม่มีการจำกัดอัตราหรือบัญชีนักพัฒนาซอฟต์แวร์)
น้ำหนักเบา (สำหรับ @nim_lang, 60KB เทียบกับ 784KB จาก twitter.com)
ฟีด RSS
ธีมส์
การสนับสนุนมือถือ (การออกแบบที่ตอบสนอง)
ได้รับอนุญาตจาก AGPLv3 ไม่อนุญาตให้มีอินสแตนซ์ที่เป็นกรรมสิทธิ์
Liberapay: https://liberapay.com/zedeus
Patreon: https://patreon.com/nitter
BTC: bc1qp7q4qz0fgfvftm5hwz3vy284nue6jedt44kxya
ผลประโยชน์ทับซ้อน: 0x66d84bc3fd031b62857ad18c62f1ba072b011925
LTC: ltc1qhsz5nxw6jw9rdtw9qssjeq2h8hqk2f85rdgpkr
XMR: 42hKayRoEAw4D6G6t8mQHPJHQcXqofjFuVfavqKeNMNUZfeJLJAcNU19i1bGdDvcdN6romiSscWGWJCczFLe9RFhM3d1zpL
ฝัง
ระบบบัญชีพร้อมรองรับไทม์ไลน์
การเก็บถาวรทวีต/โปรไฟล์
นักพัฒนา API
วิกิประกอบด้วยรายการอินสแตนซ์และส่วนขยายเบราว์เซอร์ที่ดูแลโดยชุมชน
เป็นไปไม่ได้ที่จะใช้ Twitter โดยไม่เปิดใช้งาน JavaScript สำหรับผู้ที่คำนึงถึงความเป็นส่วนตัว การป้องกันการวิเคราะห์ JavaScript และการติดตามตาม IP เป็นสิ่งสำคัญ แต่นอกเหนือจากการใช้ VPN และ uBlock/uMatrix แล้ว มันเป็นไปไม่ได้ แม้จะอยู่เบื้องหลัง VPN และใช้งาน adblockers ที่ใช้งานหนัก คุณสามารถติดตามได้อย่างแม่นยำด้วยลายนิ้วมือของเบราว์เซอร์ของคุณ โดยไม่จำเป็นต้องใช้ JavaScript ทั้งหมดนี้มีความสำคัญอย่างยิ่งหลังจากที่ Twitter ลบความสามารถสำหรับผู้ใช้ในการควบคุมว่าจะส่งข้อมูลของตนไปยังผู้ลงโฆษณาหรือไม่
การใช้อินสแตนซ์ของ Nitter (โฮสต์บน VPS เป็นต้น) คุณสามารถเรียกดู Twitter โดยไม่ต้องใช้ JavaScript ในขณะที่ยังคงรักษาความเป็นส่วนตัวของคุณ นอกเหนือจากการเคารพความเป็นส่วนตัวของคุณแล้ว Nitter ยังเบากว่า Twitter โดยเฉลี่ยประมาณ 15 เท่า และในกรณีส่วนใหญ่แสดงหน้าเว็บได้เร็วกว่า (เช่น ไทม์ไลน์โหลดเร็วขึ้น 2-4 เท่า)
ในอนาคต จะมีการเพิ่มระบบบัญชีแบบง่ายที่ให้คุณติดตามผู้ใช้ Twitter ได้ ทำให้คุณมีลำดับเวลาที่ชัดเจนโดยไม่จำเป็นต้องใช้บัญชี Twitter
libpcre
ลิบซัส
ทำซ้ำ
หากต้องการคอมไพล์ Nitter คุณต้องมีการติดตั้ง Nim โปรดดูรายละเอียดที่ nim-lang.org สามารถติดตั้งได้ทั้งระบบหรือในไดเร็กทอรีผู้ใช้ที่คุณสร้างด้านล่าง
ในการคอมไพล์ไฟล์ scss คุณต้องติดตั้ง libsass
บน Ubuntu และ Debian คุณสามารถใช้ libsass-dev
ได้
Redis จำเป็นสำหรับการแคชและในอนาคตสำหรับข้อมูลบัญชี ควรจะพร้อมใช้งานบน distros ส่วนใหญ่เช่น redis
หรือ redis-server
(Ubuntu/Debian) การรันด้วยการกำหนดค่าเริ่มต้นนั้นเป็นเรื่องปกติ การกำหนดค่าเริ่มต้นของ Nitter จะถูกตั้งค่าให้ใช้พอร์ต Redis เริ่มต้นและ localhost
ต่อไปนี้เป็นวิธีสร้างผู้ใช้ nitter
โคลน repo และสร้างโปรเจ็กต์พร้อมกับไฟล์ scss และ md
# useradd -m nitter# su nitter$ git clone https://github.com/zedeus/nitter $ ซีดีผู้เลี้ยง $ บิลด์ว่องไว -d: release $ scss ว่องไว $ MD ว่องไว $ cp nitter.example.conf nitter.conf
ตั้งชื่อโฮสต์ พอร์ต คีย์ HMAC https (ต้องถูกต้องสำหรับคุกกี้) และข้อมูล Redis ใน nitter.conf
หากต้องการรัน Redis ให้รัน redis-server --daemonize yes
หรือ systemctl enable --now redis
(หรือ redis-server ขึ้นอยู่กับ distro) เรียกใช้ Nitter โดยดำเนินการ ./nitter
หรือใช้บริการ systemd ด้านล่าง คุณควรรัน Nitter หลังพร็อกซีย้อนกลับ เช่น Nginx หรือ Apache ด้วยเหตุผลด้านความปลอดภัยและประสิทธิภาพ
หน้าสำหรับอิมเมจ Docker: https://hub.docker.com/r/zedeus/nitter
zedeus/nitter:latest-arm64
หากต้องการเรียกใช้ Nitter ด้วย Docker คุณจะต้องติดตั้งและเรียกใช้ Redis แยกต่างหากก่อนจึงจะเรียกใช้คอนเทนเนอร์ได้ ดูด้านล่างสำหรับวิธีเรียกใช้ Redis โดยใช้ Docker
วิธีสร้างและรัน Nitter ใน Docker:
นักเทียบท่า build -t nitter: ล่าสุด .docker run -v $ (pwd) / nitter.conf: /src/nitter.conf -d -- โฮสต์เครือข่าย nitter: ล่าสุด
หมายเหตุ: สำหรับ ARM64 ให้ใช้ Dockerfile นี้: Dockerfile.arm64
มีการจัดเตรียมอิมเมจ Docker ที่สร้างไว้ล่วงหน้าไว้ด้วย:
นักเทียบท่า run -v $(pwd)/nitter.conf:/src/nitter.conf -d -- โฮสต์เครือข่าย zedeus/nitter: ล่าสุด
การใช้ docker-compose เพื่อรันทั้ง Nitter และ Redis เป็นคอนเทนเนอร์ที่แตกต่างกัน: เปลี่ยน redisHost
จาก localhost
เป็น nitter-redis
ใน nitter.conf
จากนั้นรัน:
นักเทียบท่าเขียนขึ้น -d
โปรดทราบว่าคำสั่ง Docker คาดว่าจะมีไฟล์ nitter.conf
ในไดเร็กทอรีที่คุณเรียกใช้
หากต้องการเรียกใช้ Nitter ผ่าน systemd คุณสามารถใช้ไฟล์บริการนี้:
[หน่วย]คำอธิบาย=Nitter (ส่วนหน้า Twitter ทางเลือก)After=syslog.targetAfter=network.target[บริการ]Type=simple# set user และ groupUser=nitterGroup=nitter# กำหนดค่า locationWorkingDirectory=/home/nitter/nitterExecStart=/ หน้าแรก/nitter/nitter/nitterRestart=alwaysRestartSec=15[ติดตั้ง]WantedBy=multi-user.target
จากนั้นเปิดใช้งานและเรียกใช้บริการ: systemctl enable --now nitter.service
ขณะนี้ Nitter พิมพ์ข้อผิดพลาดบางอย่างไปยัง stdout และไม่มีการบันทึกจริง หากคุณใช้ Nitter ด้วย systemd คุณสามารถตรวจสอบ stdout ได้ดังนี้: journalctl -u nitter.service
(เพิ่ม --follow
เพื่อดูเพียง 15 บรรทัดสุดท้าย) หากคุณเรียกใช้อิมเมจ Docker คุณสามารถทำได้: docker logs --follow *nitter container id*
เข้าร่วมช่อง Matrix ของเราได้ตามสบาย คุณสามารถส่งอีเมลถึงฉันได้ที่ [email protected] หากคุณต้องการติดต่อฉันเป็นการส่วนตัว