What is PeerTube?
PeerTube is a self-hosted ActivityPub-federated video streaming platform using P2P directly in your web browser.
It is free and open-source software, under AGPLv3 licence.
For more information, please visit joinpeertube.org.
Developed with ❤ by Framasoft
Code & Translators contributors
- Chocobozzz
- Rigel Kent
- Filip Bengtsson
- josé m
- Александр
- Simon Brosdetzko
- kimsible
- Berto Te
- Jeff Huang
- kontrollanten
- Laurent Ettouati
- Clemens Schielicke
- Phongpanot
- Racida S
- Marcin Mikołajczak
- Kim
- GunChleoc
- Tirifto
- Vodoyo Kamal
- Kimsible
- Felix Ableitner
- Frank Sträter
- Gérald Niel
- Duy
- Slimane Selyan AMIRI
- Zet
- Mark Van den Borre
- x
- John Livingston
- Julien Maulny
- Hồ Nhất Duy
- Jorropo
- Josh Morel
- BO41
- Balázs Meskó
- Eivind Ødegård
- Francesc
- Quentin PAGÈS
- mando laress
- vachan
- Cedric F
- Marc Strange
- Besnik Bleta
- Ihor Hordiichuk
- ButterflyOfFire
- Martin Hoefler
- Xabi
- buoyantair
- Balázs Úr
- DignifiedSilence
- Jan Keromnes
- Luca Calcaterra
- Attila F
- Caroline Chuong
- Porrumentzio
- Siourdakis Thanos
- Thomas Citharel
- Agron Selimaj
- Benjamin Bouvier
- Joe Bill
- Kemal Oktay Aktoğan
- Luc Didry
- Lucas Declercq
- chris@famichiki.tube
- knuxify
- matograine
- Alexander Ivanov
- Daniel Santos
- David Libeau
- Ewald Arnold
- Florent F
- Florian CUNY
- Manuel Viens
- Nassim Bounouas
- NorbiPeti
- Rafael Fontenelle
- Tzafrir Cohen
- Viorel-Cătălin Răpițeanu
- owiox8+1viroxeaziaxw@sharklasers.com
- Adrià Martín
- Ahmed ABERWAG
- Anne-Gaelle Moulun
- Arman
- BRAINS YUM
- Belkacem Mohammed
- Côme 744
- David Soh
- Dimitri Gilbert
- Florent Poinsaut
- Frank Chang
- Green-Star
- Micah Elizabeth Scott
- Poslovitch
- SVNET Libre
- Thomas Kuntz
- William Lahti
- Wirebrass
- Yury Bulka
- boris joeson
- test2a
- 路过是好事
- Ajeje Brazorf
- Andrey
- Angristan
- Ch
- Chris Sakura 佐倉くりす on Youtube
- DontUseGithub
- MahdiTurki
- Maxime Louet
- Mildred
- Okhin
- Pierre-Alain TORET
- Serge Victor
- Théo Le Calvar
- Ugaitz
- Vincent Finance
- aschaap
- clementbrizard
- gohoso9454
- kaiyou
- roberto marcolin
- Ahsan Haris Ahmed
- Alberto Teira
- Aliaksandr Hrankin
- Andréas Livet
- Andrés Maldonado
- Arco
- Asr128
- Aurélien Bertron
- Axel Viala
- Daniele Garau
- Dep Pranata
- Dirk Kelly
- Ehsan Gholami
- Eric Guichaoua
- Girish Ramakrishnan
- Hakim Oubouali
- Hans Meiser
- I_Automne
- Iñigo A
- Jefferson Hernandez
- Joan Montané
- Johan Fleury
- Kiro
- LecygneNoir
- Leopere
- Loukas Stamellos
- Lukas Winkler
- Manuela Silva
- Mélanie Chauvel
- Pedro
- Piotr Sikora
- Sergey Zigachev
- Waazdakka
- Yohan Boniface
- am97
- anotheranonymoususer
- dada
- frankdelange
- iapellaniz
- jonathanraes
- numéro6
- Ömer Faruk Çakmak
- AQR_Rastiq
- Al-Hassan Abdel-Raouf
- Amos Tamam
- Andrew Morgan
- Andy Khit
- Antimidia
- Antonio Pandza
- Arne Uplegger
- Aurélien Béranger
- Average Dude
- BitTube
- Boo Teille
- Dashie
- Diazepan Medina
- EndoGai
- Florent Fayolle
- Florian
- Frank de Lange
- G4dter
- Gaëtan Rizio
- Gopherslol
- HHY
- Hange
- Hjalte
- Jocelyn Jaubert
- Julien Lemaire
- Lucas Teixeira
- Marcel Cramm
- Millicent Billette
- Mondo Xíbaro
- Moritz Warning
- Ms Kimsible
- Nicolai Larsen
- Nojus
- Pierre Jaury
- Pierre-Jean
- Quentin
- ROBERT MCDOWELL
- Ronan
- SerCom_KC
- Stakovicz
- Thai Localization
- Valvin
- YiDai
- Yogesh K S
- ahmadsharifian
- bopol
- framail
- frankstrater
- les
- libertas
- lutangar
- mater
- merty
- plr20
- qwerty
- spf
- taziden
- vancha march
- victor héry
- Àngel Pérez Beroy
- 3risian
- A.D.R.S
- Acid Chicken (硫酸鶏)
- Adam Adamsky
- Adam Gauthier
- Adam Magnier
- Adnane Belmadiaf
- Adrien A
- Agron
- Alejandro Criado-Pérez
- Aleksandr Sokolov
- Alexander F. Rødseth
- Ali Alim
- Aman Sharma
- Andrews Góes Santos
- Antoine Millet
- Anton Latukha
- Armando Lüscher
- Artem Prosvetov
- Arthur Lutz
- Asier Iturralde Sarasola
- Austin Heap
- Autom
- Ben Abbott
- Ben Lubar
- Benjamin EWFT
- Brad Johnson
- Cadence Ember
- Cale
- Charles de Lacombe
- Chris Sakura 佐倉くりす on Youtube - 日本語は第二言語やけ、間違っとったら思いっきり叩いてくださいw つたない日本語ばっかりやけど頑張りまーす♪
- Christoph Geschwind
- Chronos
- Claude
- Clifford Garwood II
- Clément Brizard
- David Dobryakov
- DeeJayBro
- Dimitri DI GUSTO
- Dingzhong Chen
- Edouard SCHWEISGUTH
- Edwin Alberto Amado Baron
- Emmanuel Pret
- Eric Brehault
- Erwan Croze
- Esmail_Hazem
- Fabio Agreles Bezerra
- Fernandez, ReK2
- Florent
- Gabriel Scherer
- Glandos
- Grzesiek11
- Guillaume Pérution-Kihli
- Gérald CHATAGNON
- Haelwenn (lanodan) Monnier
- HesioZ
- Hozan Şahin
- ICabaleiro
- Iker Garaialde
- Ismaël Bouya
- Ivan Ip
- Iván Cabaleiro
- Jacen
- Jacob
- Jacques Foucry
- Jagannath Bhat
- Jan Prunk
- Janey Muñoz
- Jarosław Maciejewski
- Jeena
- Jelle Besseling
- Jessica Fairchild
- Jinn Koriech
- Jonas Sulzer
- Jorge Silva
- Jos
- Julien Le Bras
- Juraj Liso
- Knackie
- Kody
- Konstantinos Agiannis
- Kyâne Pichou
- Leo Mouyna
- Lesterpig
- Levi Bard
- LiPeK
- Lint
- LoveIsGrief
- Lucien A
- Léo Andrès
- ManMade-cube42
- Marco Zehe
- Marian Steinbach
- Markus Richter
- Martin Trigaux
- Mateusz Piotrowski
- Mathieu Agopian
- Mathieu Brunot
- Matthieu De Beule
- Max Rosenfors
- Michael Koppmann
- Michael Williams
- Miguel Mayol Tur
- Mike
- MrGiga
- Mélanie Pin
- Nathanaël J
- Net
- Nicolas Fortin
- Niklas Reimer
- Nitesh Sawant
- Olivier Jolly
- Pablo Joubert
- Paul FLORENCE
- Pedro hates github.com
- PhieF
- Philip Durbin
- Philipp Fischbeck
- Philo van Kemenade
- Predatorix Phoenix
- Quentin Dupont
- Quentí
- ROPEDE
- Ramiellll
- Raphael
- Raphaël Droz
- Ray
- Rebecca
- Rech
- Rep Dolsay
- Robin
- Sankar
- Sebastian Paweł Wolski
- Simon Gilliot
- Simounet
- Stefan Schüller
- Steffen
- Steffen Möller
- Sumit Khanna
- SupC
- TA
- Tanguy BERNARD
- Thavarasa Prasanth
- Theodore R. Smith
- Thomas
- Timo Gurr
- Timothée Grégoire
- Tomás Sebastián Romero
- TrashMacNugget
- Tsuki
- Vagelis F
- Vegard Fjeldberg
- Vincent Stakenburg
- WhiredPlanck
- WingsLikeEagles
- Yann Sionneau
- Yorwba
- Yun
- Zig-03
- [ Bie ] Watcharapong Suriyawan
- anmol26s
- april
- augier
- big gamer
- bikepunk
- bsky
- ctlaltdefeat
- decentral1se
- dingycle
- eduard pintilie
- framabr
- gillux
- jameskimmel
- jomo
- lambdacastix
- libertysoft3
- lsde
- ltsallas
- luz.paz
- luzpaz
- madmath03
- mahdi
- memorybox
- mike stedman
- morteza
- norrist
- osauzet
- philippe lhardy
- pitchum
- potedeo
- saleh oukiki
- sanchis
- smilekison
- tilllt
- tomamplius
- tuxayo
- victor-long
- xcffl
- zacharystenger
- Óscar Fernández Díaz
- Артур Кирпо
- noisawe
- abdhessuk
- abidin24
- aditoo
- alice
- anastasia
- autom
- balaji
- bristow
- butterflyoffire
- claichou
- degrange
- dibek
- edu
- ehsaan
- esoforte
- fkohrt
- giqtaqisi
- goofy
- gorkaazk
- gwendald
- h3zjp
- jfblanc
- jhertel
- jmf
- jorropo
- kairozen
- kedemferre
- kousha
- krkk
- landrok
- leeroyepold48
- m4sk1n
- matograine
- medow
- mhu
- midgard
- nbrucy
- nitai
- noncommutativegeo
- nopsidy
- nvivant
- osoitz
- outloudvi
- quentin
- quentind
- rafaelff
- rigelk
- s8321414
- sato_ss
- sercom_kc
- severo
- silkevicious
- sosha
- spla
- strubbl
- swedneck
- tagomago
- talone
- thibaultmartin
- tirifto
- tuxayo
- unextro
- unzarida
- vincent
- wanhua
- xinayder
- xosem
- zveryok
- 6543
- aasami
- alidemirtas
- alpha
- ariasuni
- bfonton
- c0dr
- canony
- cat
- clerie
- curupira
- dhsets
- digitalkiller
- dwsage
- flauta
- frankstrater
- gillux
- gunchleoc
- jaidedtd
- joss2lyon
- kekkotranslates
- kingu
- kittybecca
- knuxify
- lapor
- laufor
- lstamellos
- lw1
- mablr
- marcinmalecki
- mayana
- mikeorlov
- nin
- norbipeti
- ppnplus
- predatorix
- robin
- rond
- secreet
- sftblw
- sporiff
- tekuteku
- thecatjustmeow
- tmota
- uranix
- wakutiteo
- wonderingdane
- zeynepeliacik
Design
Icons
- Feather Icons (MIT)
- `playlist add`, `history`, `subscriptions`, `miscellaneous-services.svg`, `tip` by Material UI (Apache 2.0)
- `support` by Chocobozzz (CC-BY)
- `language` by Aaron Jin (CC-BY)
- `video-language` by Rigel Kent (CC-BY)
- `peertube-x` by Solen DP (CC-BY)
- `flame` by Freepik (Flaticon License)
- `local` by Larea (CC-BY)
Contributors to our 2020 crowdfunding ❤️
We ran a crowdfunding campaign in 2020 to implement live streaming to the version 3.0.0 of PeerTube. Thanks to everyone who pitched in and shared the news!
Contributors to our 2018 crowdfunding ❤️
We ran a crowdfunding campaign in 2018 to pave the road to the version 1.0.0 of PeerTube, with 1,379 backers. Thanks to everyone who pitched in and shared the news!
P2P & Privacy
PeerTube uses the BitTorrent protocol to share bandwidth between users by default to help lower the load on the server, but ultimately leaves you the choice to switch back to regular streaming exclusively from the server of the video. What follows applies only if you want to keep using the P2P mode of PeerTube.
The main threat to your privacy induced by BitTorrent lies in your IP address being stored in the instance's BitTorrent tracker as long as you download or watch the video.
What are the consequences?
In theory, someone with enough technical skills could create a script that tracks which IP is downloading which video. In practice, this is much more difficult because:
- An HTTP request has to be sent on each tracker for each video to spy. If we want to spy all PeerTube's videos, we have to send as many requests as there are videos (so potentially a lot)
- For each request sent, the tracker returns random peers at a limited number. For instance, if there are 1000 peers in the swarm and the tracker sends only 20 peers for each request, there must be at least 50 requests sent to know every peer in the swarm
- Those requests have to be sent regularly to know who starts/stops watching a video. It is easy to detect that kind of behaviour
- If an IP address is stored in the tracker, it doesn't mean that the person behind the IP (if this person exists) has watched the video
- The IP address is a vague information: usually, it regularly changes and can represent many persons or entities
- Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. When you are in a web browser, you send a signal containing your IP address to the tracker that will randomly choose other peers to forward the information to. See this document for more information
The worst-case scenario of an average person spying on their friends is quite unlikely. There are much more effective ways to get that kind of information.
How does PeerTube compare with YouTube?
The threats to privacy with YouTube are different from PeerTube's. In YouTube's case, the platform gathers a huge amount of your personal information (not only your IP) to analyze them and track you. Moreover, YouTube is owned by Google/Alphabet, a company that tracks you across many websites (via AdSense or Google Analytics).
What can I do to limit the exposure of my IP address?
Your IP address is public so every time you consult a website, there is a number of actors (in addition to the final website) seeing your IP in their connection logs: ISP/routers/trackers/CDN and more. PeerTube is transparent about it: we warn you that if you want to keep your IP private, you must use a VPN or Tor Browser. Thinking that removing P2P from PeerTube will give you back anonymity doesn't make sense.
What will be done to mitigate this problem?
PeerTube wants to deliver the best countermeasures possible, to give you more choice and render attacks less likely. Here is what we put in place so far:
- We set a limit to the number of peers sent by the tracker
- We set a limit on the request frequency received by the tracker
- Allow instance admins to disable P2P from the administration interface
Ultimately, remember you can always disable P2P by toggling it in the video player, or just by disabling WebRTC in your browser.