From b6de33484d48e1b22482de700ffadce83e7c4061 Mon Sep 17 00:00:00 2001 From: Alex Schroeder Date: Mon, 1 May 2017 22:54:31 +0200 Subject: [PATCH 01/14] Fix various instances of "Maximum number of" The text always specified "Maximum number of accounts" instead of naming the object that was actually being retrieved such as statuses or blocks. --- Using-the-API/API.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/Using-the-API/API.md b/Using-the-API/API.md index 9335817e..093bfcf2 100644 --- a/Using-the-API/API.md +++ b/Using-the-API/API.md @@ -121,7 +121,7 @@ Query parameters: - `max_id` (optional): Get a list of followers with ID less than or equal this value - `since_id` (optional): Get a list of followers with ID greater than this value -- `limit` (optional): Maximum number of accounts to get (Default 40, Max 80) +- `limit` (optional): Maximum number of followers to get (Default 40, Max 80) `max_id` and `since_id` are usually get from the `Link` header. @@ -135,7 +135,7 @@ Query parameters: - `max_id` (optional): Get a list of followings with ID less than or equal this value - `since_id` (optional): Get a list of followings with ID greater than this value -- `limit` (optional): Maximum number of accounts to get (Default 40, Max 80) +- `limit` (optional): Maximum number of followings to get (Default 40, Max 80) `max_id` and `since_id` are usually get from the `Link` header. @@ -151,7 +151,7 @@ Query parameters: - `exclude_replies` (optional): Skip statuses that reply to other statuses - `max_id` (optional): Get a list of statuses with ID less than or equal this value - `since_id` (optional): Get a list of statuses with ID greater than this value -- `limit` (optional): Maximum number of accounts to get (Default 20, Max 40) +- `limit` (optional): Maximum number of statuses to get (Default 20, Max 40) `max_id` and `since_id` are usually get from the `Link` header. @@ -228,7 +228,7 @@ Query parameters: - `max_id` (optional): Get a list of blocks with ID less than or equal this value - `since_id` (optional): Get a list of blocks with ID greater than this value -- `limit` (optional): Maximum number of accounts to get (Default 40, Max 80) +- `limit` (optional): Maximum number of blocks to get (Default 40, Max 80) `max_id` and `since_id` are usually get from the `Link` header. @@ -244,7 +244,7 @@ Query parameters: - `max_id` (optional): Get a list of favourites with ID less than or equal this value - `since_id` (optional): Get a list of favourites with ID greater than this value -- `limit` (optional): Maximum number of accounts to get (Default 20, Max 40) +- `limit` (optional): Maximum number of favourites to get (Default 20, Max 40) `max_id` and `since_id` are usually get from the `Link` header. @@ -260,7 +260,7 @@ Query parameters: - `max_id` (optional): Get a list of follow requests with ID less than or equal this value - `since_id` (optional): Get a list of follow requests with ID greater than this value -- `limit` (optional): Maximum number of accounts to get (Default 40, Max 80) +- `limit` (optional): Maximum number of requests to get (Default 40, Max 80) `max_id` and `since_id` are usually get from the `Link` header. @@ -321,7 +321,7 @@ Query parameters: - `max_id` (optional): Get a list of mutes with ID less than or equal this value - `since_id` (optional): Get a list of mutes with ID greater than this value -- `limit` (optional): Maximum number of accounts to get (Default 40, Max 80) +- `limit` (optional): Maximum number of mutes to get (Default 40, Max 80) `max_id` and `since_id` are usually get from the `Link` header. @@ -337,7 +337,7 @@ Query parameters: - `max_id` (optional): Get a list of notifications with ID less than or equal this value - `since_id` (optional): Get a list of notifications with ID greater than this value -- `limit` (optional): Maximum number of accounts to get (Default 15, Max 30) +- `limit` (optional): Maximum number of notifications to get (Default 15, Max 30) `max_id` and `since_id` are usually get from the `Link` header. @@ -428,7 +428,7 @@ Query parameters: - `max_id` (optional): Get a list of reblogged/favourited with ID less than or equal this value - `since_id` (optional): Get a list of reblogged/favourited with ID greater than this value -- `limit` (optional): Maximum number of accounts to get (Default 40, Max 80) +- `limit` (optional): Maximum number of reblogged/favourited to get (Default 40, Max 80) `max_id` and `since_id` are usually get from the `Link` header. @@ -482,9 +482,9 @@ Returns the target [Status](#status). Query parameters: - `local` (optional; public and tag timelines only): Only return statuses originating from this instance -- `max_id` (optional): Get a list of timelines with ID less than or equal this value -- `since_id` (optional): Get a list of timelines with ID greater than this value -- `limit` (optional): Maximum number of accounts to get (Default 20, Max 40) +- `max_id` (optional): Get a list of statuses on the requested timeline with ID less than or equal this value +- `since_id` (optional): Get a list of statuses on the requested timeline with ID greater than this value +- `limit` (optional): Maximum number of statuses on the requested timeline to get (Default 20, Max 40) `max_id` and `since_id` are usually get from the `Link` header. From d24effb1624db2a0100fa83fd6cd107d456870d9 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 2 May 2017 15:29:23 +0200 Subject: [PATCH 02/14] Sponsors as of May 1st --- Contributing-to-Mastodon/Sponsors.md | 560 +++++++++++++++++++++++++-- 1 file changed, 529 insertions(+), 31 deletions(-) diff --git a/Contributing-to-Mastodon/Sponsors.md b/Contributing-to-Mastodon/Sponsors.md index 9b910143..cf33d13e 100644 --- a/Contributing-to-Mastodon/Sponsors.md +++ b/Contributing-to-Mastodon/Sponsors.md @@ -12,7 +12,38 @@ These people make the development of Mastodon possible through [Patreon](https:/ * Kit Redgrave * Zeipher * Effy Elden -* Mathew Woodyard +* Julie Moronuki +* Ted +* Christoph Witzany +* Philip James +* David Hutchinson +* Martin Seeger +* James Wright +* Jeff Elder +* Chad Arnold +* Jen Savage +* Andreas Zabari +* SDF.ORG +* Ke_Ga +* Leslie Pajuelo +* Alan Rowarth +* Chu Ka-cheong +* Sean Linsley +* Kotaro Kawashima +* Jesse Thomas Alford +* A Dark Room iOS +* Jeremy Banks +* Nolan Lawson +* Gen Knoxx +* Moritz +* Serhii Balbieko +* Hugo Gameiro +* Paco Hope +* Great Scott Gadgets +* slipstream/RoL +* Danny O'Brien +* Steve Johnson +* demon **Thank you to the following people** @@ -22,7 +53,6 @@ These people make the development of Mastodon possible through [Patreon](https:/ * Niels Abildgaard * Leif Halldor Asgeirsson * Ellen Teapot -* Del's Doodles * Josef Kenny * Natalie Weizenbaum * Spex @@ -30,46 +60,143 @@ These people make the development of Mastodon possible through [Patreon](https:/ * Tyler Britten * Jess waldrip * Hbomb -* Mark Wonnacott -* Tim Ashley Jenkins * Yoz Grahame * Jonas R. E. -* Alex May +* Mark Wonnacott +* Tim Ashley Jenkins * Austin Putman -* Jessica Hayley * J. C. Holder +* Alex May +* Mathew Woodyard +* halcy +* Sammie +* Daniel Rosenfeld * A shy person * Jeremy Penner * Scott Hammack -* James Hofmann * Todd Monotony * snorpey -* halcy -* Ted -* Daniel Rosenfeld +* David Yip * Erin Congden * Kevin Grasso * Christina Hendricks -* Irene Knapp -* David Yip -* iris bull -* Nicole Bacon -* Brian Long -* John Parker -* André Koot -* Ernest Samuel Tomlinson * iliana weller * Greg Slepak * Kyle Bishop +* Irene Knapp +* iris bull +* Nicole Bacon +* Crom +* Brian Long +* John Parker +* André Koot +* ティン・ルーフ +* David Hayward * s a * Frank Meeuwsen * Joel -* David Hayward -* Sophia Park -* Jelle -* Syfaro +* Emily Jordan Klassen +* Gabriel Puliatti +* Glenn +* Matt Lee +* nobody +* Jeremy Farnum +* Dmytro Gladkyi +* Hideki Yamamoto +* Emma Humphries +* Pete Keen +* Rufus +* Miki Habryn +* Danielle McLean +* Aaron Williamson +* JantsoP +* DJ Sundog +* Ed Marshall +* Gtom +* Lachlan Collins +* Nemecle +* Manesh Pillai +* C J Silverio +* Micah Elizabeth Scott +* Adam +* Ryan Sipes +* Pierre Vanhulst +* Paul Lindner +* peter hessler +* joshua anderson +* Zac Anger +* 3xv +* Kevin Sonney +* Olivia Mossberg +* Chris Johnson +* Johannes Barre +* Alda +* Jacob Helwig +* Joe McLaughlin +* Takopix +* Michael Kosler +* Michael +* Eramdam +* Andy Pook +* Michel McBride-Charpentier +* Jonathan McDowell +* Maff +* Keisuke Matsuura +* Leo Laporte +* masklayer +* Josephine Pedersen +* q210 +* jemus42 +* Kenneth Larsen +* Rey Tucker +* Andrew Banchich +* hogee +* Bálint Szilakszi +* Richard Minerich +* Christopher James Halse Rogers +* Sajith Sasidharan +* Jesse Vincent +* Benjamin Sonntag +* Matthieu Herrb +* nikq +* Irick Corwal +* Nicolai Schwarz +* Valérianne Lagrange +* Jon +* anon +* Philippe Lemaire +* outofrange +* Ryan Prior +* Jesse Olson +* Sonololo +* Lars Trieloff +* Kenneth Ken Sugar +* USAMI Kenta +* Rick Byers +* Anders Ekbom +* Zaki +* Brophey Wolf +* Stolas +* Bodil +* Mark +* Shinnosuke Iwaki +* Alexander Zillion +* Glen E. Ivey +* James Adney +* Paul Nathan +* Martin Hinrichs +* c +* Jerry Gnarcia +* Mykola Bilokonsky * Karen Cravens * Sonya Mann +* Brian +* Jelle +* Ryan Frederick +* Tom Harris +* Syfaro +* Benjamin Boyer +* hakoai * Maddy T. Henry * Fletcher Cole * Arielle Grimes @@ -83,14 +210,12 @@ These people make the development of Mastodon possible through [Patreon](https:/ * Jim Bradfield * Michelle Shepardson * Simeon -* Brian * Martin Tithonium * Sundi L Richard * BinarySplit * Stephan Okhuijsen * Tyler * ee -* Hani Awni * Andrew Replogle * Andrew Shu * Claus Wahlers @@ -100,16 +225,70 @@ These people make the development of Mastodon possible through [Patreon](https:/ * Daria Ambrose * Sarah Ingram * Pablo Lopez Soriano -* Tom Harris +* K.G. Orphanides +* Colin Mahns +* Caelyn McAulay +* Nicholas Hinds +* AlK +* Jay Shapiro +* Guilhem BLANCHARD +* Filippo Valsorda +* The Watercolor Gallery +* William Hopkins +* Paul Woolcock +* WereK +* Garret Kelly +* Jer Thorp +* August Bigelow +* James Renken +* Jessica Stokes +* s18alg +* Patrick O'Doherty +* Valentin Ouvrard +* Matt Brabbin +* Nathaniel Smith +* Dave Lane +* Justus Seifert +* Wes +* Wladimir +* Jemaleddin Cole +* François Remy +* Mike +* j r conlin +* Ash Furrow +* Les Orchard +* Brian P. +* Christoph Laszlo +* Alexandre Dufournet +* Rachel King +* Joash Lewis +* Tassels +* Patrick Gibson +* Wesley Moore +* Zachary Spector +* Brooke +* Jeremy Stashewsky +* Damien Nicolas +* Alex +* Crow Moore +* Jason Rimmer +* Chris Eppstein +* Parker Higgins +* Shinsaku Chikura +* Alexander * Bitey Ferret * J. Allan Dale * Ickalo -* hoodie kitten -* ティン・ルーフ +* Benoit Maison +* nanoplink +* Mathieu Chappuis +* Chas Emerick +* Joachim +* Erika * Benjamin Beck * Kris Jacque -* Shel R * Modern Modron +* Alin Rautoiu * Mnemonic Light * Bryan Nguyen * Szmozsánszky István "Flaki" @@ -117,18 +296,337 @@ These people make the development of Mastodon possible through [Patreon](https:/ * Fenreliania * Paul Rapoport * Lily -* Niklas * Calvin French * Memetic Hazard * Caitlin Collins * pixelguff +* Emmanuel Jacobs +* Jan-Niklas Braak +* Nathan Howell +* Kai Engert +* Gergo Lippai +* Dirk Eisenacher +* Hiroshi Seki +* Brent P. Newhall +* moult +* Nikki W +* Peter Gravelle +* Toot.Cat +* Will Thompson +* Niclas Darville +* Aaron Brady +* Lurene Grenier +* Ben Hamill +* Michael Myers +* Dale Price +* mkatze +* joachim robert +* Jack Grigg * Alex Dunn * Felix Laurie von Massenbach * Mike Kasprzak +* Gareth Noyce +* Colby Dillion +* Bryan Mitchell +* Sjef +* Christine +* Matija Han +* gasche +* usr_share +* Ryan D +* Michael Castleman +* Jay Flaunts His Ignorance +* Brennen Bearnes +* petit_louis +* Kyle Appelgate +* Jeff +* Algot Runeman +* bastien pelouse +* Katie Collmar +* Derek Gonyeo +* colin mitchell +* Jonathan Doda +* Guillaume HERVIER +* LoovtO +* Kengo Nakajima +* Ashley Fisher +* Toby Pinder +* Muloka +* Y G +* Sam Thompson +* Mark Gordon +* Alex +* Martin Weigert +* pinfort +* Tom Liesenfeld +* Fabian Fabian +* Oreolek +* donnerdrummel +* Root * reacocard * Andrea * J -* Matthew Swank -* Kev * belabor jaql * bunnyhero +* Andrew Schmadel +* Pierre BT +* Stephen Burgess +* Indi Latrani +* MayakoLyyn +* Christopher Armstrong +* Keiji Matsuzaki +* Melanie Kloes +* neguse +* RX14 +* Decio +* Sean M Puckett +* Connor Hudson +* Joona Hoikkala +* David Philipe Gil +* mayoto +* Bartleby +* Richard Malone +* dreid +* Robbie Trencheny +* Takuro Fukuda +* Allen Baker +* Henri Watson +* Tab +* Christien Rioux +* Toby +* Tobias Timpe +* Jamie Bradway +* Jean-Christophe Gatuingt +* Claire Tolan +* Pablo Defendini +* Scott Moore +* Kaylee +* Ben Lee +* Mel Reams +* Supermarine Spitfire +* Klastic +* Matthew Cheely +* koji narazaki +* Soshi Tamura +* fluffy +* tj +* Miguel +* Stephen Lovell +* Benjamin +* Michael Sieradzki +* RW +* James Smith +* Naoki Kosaka +* westantenna +* Iain Cheyne +* Adrian Hon +* Andrew Roach +* Sean Carrick +* Cameron Callahan +* George Ellenburg +* Simon Tesla +* Harald Wagener +* Steve Phillips +* Jon Pincus +* HolyGrail +* Ira Abramov +* Tim and Alexandra Swast +* Richard +* Axel Terizaki +* Nurelin +* Niels Bergervoet +* Henning Krause +* Larry Fine +* Minivet +* Willscire of the Many Tribes +* Juho Makkonen +* Bishnu Bhattacharyya +* Krzysztof Jankowski +* Claire +* Caio Cesar G. Oliveira +* Olivier Auber +* Vancelance +* Takahiro Fujiwara +* simonv3 +* Nozomu Saito +* Paul Houlihan +* Ichigo Mayo +* Gabriel Marcondes +* Frederick Doe +* Jam +* Balthasar Glättli +* Lanicia +* Nicolas Blanco +* Paul Sheprow +* Kota Ouchi +* Serge K. Keller ❦ +* Infocalypse +* James Valleroy +* Kenny K +* Arnaud Berthomier +* Margaret Trauth +* George Edogawa +* Drapher +* Shawn +* Raphaël Bevenot +* Christopher Su +* Holger Durer +* Thomas Stojke +* Decklin Foster +* Julius Heyning +* Casey Kolderup +* Dyedgreen +* Paul Chabane +* Takeshi Umeda +* Esteban Manchado Velázquez +* Lars Kristian Høydal +* Adam Guest +* Jason S. +* Michael Van Vleet +* Chris Palmer +* Rachel Sutton +* Tomoya Matsuura +* Luiz Irber +* Roo Khan +* Shinichi Sato +* Paul Harvey +* K. +* Drew Pope +* Cassian Lotte Lodge +* Nitin Dahyabhai +* Silver Nitrate Kate +* kazuyuki +* Angristan +* D. Moonfire +* Phoenix Veritas +* Patrick L Archibald +* Cait is making it rain slightly +* Sud +* Nathan Wittstock +* VincenTimes +* Anselm Hannemannn +* Bryan Lunduke +* Selena Knight +* Tessa N +* Felipe Martin +* Kazunori Shinozaki +* Jonas Wisser +* Don Crimbchin +* Justin Dorfman +* ZmK +* Katherine A Kearns +* Shigure Yumesaki +* Manu Quadros +* Miroslav Bajtos +* codechemist +* Nicolas Grevet +* Go Saito +* Piers Beckley +* Masafumi Otsune +* Carl Friedrich Bolz +* Jean-Philippe DUFRAIGNE +* Stefan Hayden +* Derek Lewis +* Adam Dispenza +* Lilith Saintcrow +* Stephanie Northway +* Spunkie +* kanna +* Kevin Delgado +* Chris Sakkas +* Christian Ternus +* Diego Islas Ocampo - Hyuchia +* Avi Flax +* Fabricio C Zuardi +* Paul Leonard +* Max Bruckner +* Dave Raftery +* Firebird Fiction +* Akira +* Dmitri Sotnikov +* Kate Cook +* Bastien Remy +* Øyvind Kolås +* Shivian Morgan +* Hirokazu Uzu +* Thibaut +* John McLaughlin +* Emile Neuhaus +* Loïc Guibert +* Mark Davis +* Pierre-Emmanuel Guerton +* Zach Smith +* Alice Voidstar +* Laura Michet +* Shelby Spees +* Michael Brodhead +* t3sserakt +* Hugo Müller-Downing +* Mattias +* Phil Nelson +* LJ +* Braxton Fair +* Warren +* Andy +* Arno Rieux +* Florian Posdziech +* Pierre Rudloff +* Ben Tucci +* Daniel Maxwell-Ross +* Matthew Gregg +* Abe Weishaupt +* Kẏra +* 8zu +* Stephanie Pakrul +* Reilly Grant +* Kurt Mosiejczuk +* Thomas Citharel +* Forrest Oliphant +* Sebastian Morr +* Tim +* umiyuki +* socketwench +* Salomao Becker +* Loïc 'iooner' Keyeux +* Syluban +* geknow +* Alan Love +* Stephen A. Goss +* Bruno Dias +* Christopher Rudolph +* Teslawf +* Tablesaw Tablesawsen +* Brian Moore +* Hans de Wolf +* Enrique Santos +* Yoshitaka Kaneko +* Rob Flickenger +* Maxime Mélinon +* Andrew Louis +* Rajesh Patreon Krishnan +* Javier Jardón +* Dan Shick +* Eric Mill +* maloki / kinkymal +* Karlo Luiten +* Ryan +* Wonderfall +* Neva Nevi +* Adam Frey +* T54r4n1 +* Alexander +* h-izumi +* Helly +* Justin Humm +* Sam Marshall +* Arthur Wang +* Kevin Menzel +* Yamagishi Kazutoshi +* Jennie Schilling +* Maxime Borges +* Bjarni R. Einarsson +* LM +* Pat Rafferty +* Andrew Davis +* Antoine-Frédéric Raquin Strik +* daemoneye From a4f68b91488ebbdac4ab54dc3fb99fdd7ce151dc Mon Sep 17 00:00:00 2001 From: Yeung Yiu Hung Date: Tue, 2 May 2017 21:58:12 +0800 Subject: [PATCH 03/14] Adding Mastodon-iOS to Apps.md --- Using-Mastodon/Apps.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Using-Mastodon/Apps.md b/Using-Mastodon/Apps.md index 3951433c..a24540e5 100644 --- a/Using-Mastodon/Apps.md +++ b/Using-Mastodon/Apps.md @@ -25,6 +25,7 @@ Some people have started working on apps for the Mastodon API. Here is a list of |[Mstdn (Mastodon CLI)](https://github.com/mattn/go-mastodon)|CLI||[@mattn@mstdn.jp](https://mstdn.jp/@mattn)| |[madonctl](https://github.com/McKael/madonctl)|CLI, cross-platform||[@McKael@mamot.fr](https://mamot.fr/@McKael)| |[Twidere](https://play.google.com/store/apps/details?id=org.mariotaku.twidere)|Android||[@twidereproject](https://twitter.com/twidereproject)| +|[Mastodon-iOS](https://itunes.apple.com/us/app/mastodon-ios/id1229531204?l=zh&ls=1&mt=8)|[iOS](https://itunes.apple.com/us/app/mastodon-ios/id1229531204?l=zh&ls=1&mt=8)||[@darkcl@mastodon.cloud](https://mastodon.cloud/@darkcl)| ## Bridges from/to other platforms From a747b23a21035cebcd9409c75b474e7365100576 Mon Sep 17 00:00:00 2001 From: tzmfreedom Date: Wed, 3 May 2017 14:40:18 +0900 Subject: [PATCH 04/14] Add apex salesforce library --- Using-the-API/API.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Using-the-API/API.md b/Using-the-API/API.md index 9335817e..05ce7a71 100644 --- a/Using-the-API/API.md +++ b/Using-the-API/API.md @@ -43,6 +43,7 @@ ___ |-------|--------|------------| | .Net | [Mastodon.Net](https://github.com/Tlaster/Mastodon.Net) | | | .NET Standard | [Mastonet](https://github.com/glacasa/Mastonet) | | +| Apex(Salesforce) | [apex-mastodon](https://github.com/tzmfreedom/apex-mastodon) | | | C# | [mastodon-api-cs](https://github.com/pawotter/mastodon-api-cs) | | | C#(.NET Standard) | [Mastodot](https://github.com/yamachu/Mastodot) | | | Crystal | [mastodon.cr](https://github.com/decors/mastodon.cr) | | From 01c5d5a29cab6c2fb7a0464d52e264f3648508e6 Mon Sep 17 00:00:00 2001 From: ThibG Date: Wed, 3 May 2017 09:32:18 +0200 Subject: [PATCH 05/14] Add note on PuSH issue with Mastodon v1.3.2 --- Running-Mastodon/Serving_a_different_domain.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Running-Mastodon/Serving_a_different_domain.md b/Running-Mastodon/Serving_a_different_domain.md index 46a47047..b1b9a34b 100644 --- a/Running-Mastodon/Serving_a_different_domain.md +++ b/Running-Mastodon/Serving_a_different_domain.md @@ -83,3 +83,4 @@ There are a few known issues with Mastodon: Fortunately, since v1.3.0, Mastodon will reply to `acct:user@WEB_DOMAIN` queries with the account informations for `acct:user@LOCAL_DOMAIN`, effectively working around this issue at the cost of an extra webfinger discovery per interaction. - Mastodon does not actually use `WEB_DOMAIN` everywhere it should and will instead use whatever host it was accessed with. For this reason, your Mastodon instance should only be reachable on `WEB_DOMAIN` and not `LOCAL_DOMAIN` (HTTP redirects are fine, but avoid proxying from `LOCAL_DOMAIN` to `WEB_DOMAIN`) +- Remote Mastodon instances on v1.3.0, v1.3.1 or v1.3.2 from which you are following people won't PuSH new messages to your instance. This is a known bug, see [#2672](https://github.com/tootsuite/mastodon/issues/2672) From 1156ed4cc037e72deac587bc738ae20ad5202297 Mon Sep 17 00:00:00 2001 From: Cassolotl Date: Wed, 3 May 2017 13:58:47 +0100 Subject: [PATCH 06/14] Update for "private" posts info on User-guide.md My understanding is that private is now "followers only" and people on other instances can see those posts now. --- Using-Mastodon/User-guide.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Using-Mastodon/User-guide.md b/Using-Mastodon/User-guide.md index 7e22b55a..1f9201fa 100644 --- a/Using-Mastodon/User-guide.md +++ b/Using-Mastodon/User-guide.md @@ -168,11 +168,11 @@ Toot privacy is handled independently of account privacy, and individually for e **Unlisted** toots are public, except that they do not appear in the public timelines or search results. They are visible to anyone following you and appear on your profile page to the public even without a Mastodon login. Other than not appearing in the public timelines or search results, they function identically to public posts. -**Private** toots do not appear in the public timeline nor on your profile page to anyone viewing it unless they are on your Followers list. The option is of limited use if your account is not also set to require approval of new followers (as anyone can follow you without confirmation and thus see your private toots). However the separation of this means that if you *do* set your entire account to private, you can switch this option off on a toot to make unlisted or even public toots from your otherwise private account. +**Followers-only** toots do not appear in the public timeline nor on your profile page to anyone viewing it unless they are on your Followers list. The option is of limited use if your account is not also set to require approval of new followers (as anyone can follow you without confirmation and thus see your private toots). However the separation of this means that if you *do* set your entire account to private, you can switch this option off on a toot to make unlisted or even public toots from your otherwise private account. Private toots cannot be boosted. If someone you follow makes a private toot, it will appear in your timeline with a padlock icon in place of the Boost icon. **NOTE** that remote instances may not respect this. -Private toots do not federate to other instances, unless you @mention a remote user. In this case, they will federate to their instance, and users on that instance who follow both you and the @mentioned user will see it in their Home timelines. There is no reliable way to check if an instance will actually respect post privacy. Non-Mastodon servers, such as a GNU Social server, do not support Mastodon privacy settings. A user on GNU Social who you @mention in a private post would not even be aware that the post is intended to be private and would be able to boost it, which would undo the privacy setting. There is also no way to guarantee that someone could not just modify the code on their particular Mastodon instance to not respect private post restrictions. A warning will be displayed if you're composing a private toot that will federate to another instance. You should thus think through how much you trust the user you are @mentioning and the instance they are on. +There is no reliable way to check if an instance will actually respect post privacy. Non-Mastodon servers, such as a GNU Social server, do not support Mastodon privacy settings. A user on GNU Social who you @mention in a private post would not even be aware that the post is intended to be private and would be able to boost it, which would undo the privacy setting. There is also no way to guarantee that someone could not just modify the code on their particular Mastodon instance to not respect private post restrictions. A warning will be displayed if you're composing a private toot that will federate to another instance. You should thus think through how much you trust the user you are @mentioning and the instance they are on. Private posts are not encrypted. Make sure you trust your instance admin not to just read your private posts on the back-end. Do not say anything you would not want potentially intercepted. From 38ddc33afc333952cfafa864425972a8574e0ff6 Mon Sep 17 00:00:00 2001 From: Wolfyshy LeLoupe Date: Wed, 3 May 2017 19:28:56 -0500 Subject: [PATCH 07/14] Update Apache configuration a bit This is the configuration we use on https://generous.horse and it includes the Cache-Control and Referrer-Policy headers. --- Running-Mastodon/Alternatives.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/Running-Mastodon/Alternatives.md b/Running-Mastodon/Alternatives.md index 68f6b5bb..bf5e2e1d 100644 --- a/Running-Mastodon/Alternatives.md +++ b/Running-Mastodon/Alternatives.md @@ -191,15 +191,26 @@ Setting up Mastodon behind Apache is possible as well, although you will need to DocumentRoot /home/mastodon/live/public/ - Header add Strict-Transport-Security "max-age=31536000" + Header always set Referrer-Policy "strict-origin-when-cross-origin" + Header always set Strict-Transport-Security "max-age=31536000" + SSLEngine on SSLProtocol -all +TLSv1.2 SSLHonorCipherOrder on SSLCipherSuite EECDH+AESGCM:AES256+EECDH:AES128+EECDH + SSLCompression off + SSLSessionTickets off + SSLStaplingResponderTimeout 5 + SSLStaplingReturnResponderErrors off + SSLUseStapling on SSLCertificateFile example.pem SSLCertificateKeyFile example.key + + Header always set Cache-Control "public, max-age=31536000, immutable" + + ProxyPreserveHost On RequestHeader set X-Forwarded-Proto "https" ProxyPass /500.html ! From efefa29739c9148ed54bed46a962c3adef51588a Mon Sep 17 00:00:00 2001 From: ABCanG Date: Thu, 4 May 2017 16:45:37 +0900 Subject: [PATCH 08/14] update how to launch application with vagrant --- Running-Mastodon/Vagrant-guide.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Running-Mastodon/Vagrant-guide.md b/Running-Mastodon/Vagrant-guide.md index 78c63246..8b3df7c5 100644 --- a/Running-Mastodon/Vagrant-guide.md +++ b/Running-Mastodon/Vagrant-guide.md @@ -26,13 +26,16 @@ Running `vagrant up` for the first time will run provisioning, which will: - Download the Ubuntu 14.04 base image, if there isn't already a copy on your machine - Create a new VirtualBox virtual machine from that image - Run the provisioning script (located inside the Vagrantfile), which installs the system packages, Ruby gems, and JS modules required for Mastodon -- Run the startup script ## Starting the server The Vagrant box will automatically start after provisioning. It can be started in future with `vagrant up` from the mastodon directory. -Once the Ubuntu virtual machine has booted, it will run the startup script, which loads the environment variables from `.env.vagrant` and then runs `rails s -d -b 0.0.0.0`. This will start a Rails server. You can then access your development site at http://mastodon.dev (or at http://localhost:3000 if you haven't installed vagrants-hostupdater). By default, your development environment will have an admin account created for you to use - the email address will be `admin@mastodon.dev` and the password will be `mastodonadmin`. +To start the application: + + vagrant ssh -c "cd /vagrant && foreman start" + +The rails server, streaming server and webpack-dev-server will start up. You can then access your development site at http://mastodon.dev (or at http://localhost:3000 if you haven't installed vagrants-hostupdater). By default, your development environment will have an admin account created for you to use - the email address will be `admin@mastodon.dev` and the password will be `mastodonadmin`. To stop the server, simply run `vagrant halt`. @@ -44,7 +47,7 @@ By default, your instance's ActionMailer will use "Letter Opener Web" for email. ## Making changes/developing -You are able to set environment variables, which are used for Mastodon configuration, by editing the `.env.vagrant` file. Any changes you make will take effect after a Vagrant restart. +You are able to set environment variables, which are used for Mastodon configuration, by editing the `.env.vagrant` file. `.env.vagrant` is loaded when you run `vagrant ssh`. Vagrant has mounted your mastodon folder inside the virtual machine. This means that any change to the files in the folder(e.g. the Rails controllers or the React components in /app) should immediately take effect on the live server. This allows you to make and test changes, and create new commits, without ever needing to access the virtual machine. From a3097c94e51920d8f3cf1ac76b72eec83c287b1b Mon Sep 17 00:00:00 2001 From: Isao Sugimoto Date: Fri, 5 May 2017 04:33:04 +0900 Subject: [PATCH 09/14] Instructions for installing on CentOS related: #13 --- Running-Mastodon/Production-guide.md | 37 ++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/Running-Mastodon/Production-guide.md b/Running-Mastodon/Production-guide.md index 21d4abdf..d0ce6911 100644 --- a/Running-Mastodon/Production-guide.md +++ b/Running-Mastodon/Production-guide.md @@ -113,6 +113,8 @@ It is recommended to create a special user for mastodon on the server (you could ## General dependencies +### Ubuntu / Debian + sudo apt-get install imagemagick ffmpeg libpq-dev libxml2-dev libxslt1-dev nodejs file git curl curl -sL https://deb.nodesource.com/setup_4.x | sudo bash - @@ -120,14 +122,47 @@ It is recommended to create a special user for mastodon on the server (you could sudo npm install -g yarn +### CentOS / RHEL + + sudo yum install libxml2-devel ImageMagick libxslt-devel git curl nodejs file + sudo yum -y install epel-release + sudo rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro + sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm + sudo yum -y install ffmpeg ffmpeg-devel + + sudo yum group install "Development tools" + curl -sL https://rpm.nodesource.com/setup_4.x | sudo bash - + + sudo npm install -g yarn + ## Redis +### Ubuntu / Debian + sudo apt-get install redis-server redis-tools +### CentOS / RHEL + + sudo yum install redis rubygem-redis + ## Postgres +### Ubuntu / Debian + sudo apt-get install postgresql postgresql-contrib +### CentOS / RHEL + + sudo yum install postgresql-server postgresql postgresql-contrib postgresql-devel + +Initial Setup postgres: + + sudo postgresql-setup initdb + sudo systemctl start postgresql + sudo systemctl enable postgresql + +### All Operating Systems: + Set up a user and database for Mastodon: sudo su - postgres @@ -138,6 +173,8 @@ In the prompt: CREATE USER mastodon CREATEDB; \q +### Ubuntu 16.04 + Under Ubuntu 16.04, you will need to explicitly enable ident authentication so that local users can connect to the database without a password: ```sh From 7f5258ce84ce6f9554219d35057bd5592157822e Mon Sep 17 00:00:00 2001 From: suoko Date: Fri, 5 May 2017 21:05:34 +0200 Subject: [PATCH 10/14] Updated Administration-guide.md This way you can assign admininistration priviledges to users on some configurations --- Running-Mastodon/Administration-guide.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Running-Mastodon/Administration-guide.md b/Running-Mastodon/Administration-guide.md index 9941b034..c9bbbcf2 100644 --- a/Running-Mastodon/Administration-guide.md +++ b/Running-Mastodon/Administration-guide.md @@ -8,6 +8,7 @@ So, you have a working Mastodon instance... now what? The following rake task: RAILS_ENV=production bundle exec rails mastodon:make_admin USERNAME=alice + (or docker-compose run --rm web rails mastodon:make_admin USERNAME=alice) Would turn the local user "alice" into an admin. From 04efe7f909717a5781c22c0b838167f7307a226f Mon Sep 17 00:00:00 2001 From: William Pitcock Date: Fri, 5 May 2017 22:35:05 -0500 Subject: [PATCH 11/14] scalingo guide: major improvements - better limitation docs - add instructions for adding custom domains - add upgrading instructions --- Running-Mastodon/Scalingo-guide.md | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/Running-Mastodon/Scalingo-guide.md b/Running-Mastodon/Scalingo-guide.md index 9329f753..91a02ad9 100644 --- a/Running-Mastodon/Scalingo-guide.md +++ b/Running-Mastodon/Scalingo-guide.md @@ -1,6 +1,8 @@ Scalingo guide ============== +## Initial deployment + [![Deploy on Scalingo](https://cdn.scalingo.com/deploy/button.svg)](https://my.scalingo.com/deploy?source=https://github.com/tootsuite/mastodon#master) 1. Click the above button. @@ -9,5 +11,26 @@ Scalingo guide * You will want Amazon S3 for file storage. The only exception is for development purposes, where you may not care if files are not saved. Follow a guide online for creating a free Amazon S3 bucket and Access Key, then enter the details. * If you want your Mastodon to be able to send emails, configure SMTP settings here (or later). Consider using [Mailgun](https://mailgun.com) or similar, who offer free plans that should suit your interests. 3. Deploy! The app should be set up, with a working web interface and database. You can change settings and manage versions from the Scalingo dashboard. +4. Register for an account on your instance, then use the `scalingo` CLI to make yourself admin: `scalingo -a yourapp run -e USERNAME=yourusername rails mastodon:make_admin`. +5. Configure site-specific settings as appropriate in Settings > Administration. +6. Everything is done. -To make yourself an admin, you can use the `scalingo` CLI: `scalingo run -e USERNAME=yourusername rails mastodon:make_admin`. +## Using a custom domain + +> Note: an SSL/TLS certificate will automatically be provisioned by Scalingo using Lets Encrypt. + +1. Set a `CNAME` to the `scalingo.io` subdomain you created for your app. +2. Use the `scalingo` CLI to set up the virtual host: `scalingo -a yourapp domains-add example.com` + +## Upgrading to newer versions of Mastodon + +1. Install an SSH key in your Scalingo account: `scalingo -a yourapp keys-add keynamehere /path/to/key` +2. Check out the git repository Scalingo made for you. For some reason, this will be empty by default. +3. Create a vendor branch in your git repository: `git checkout -b vendor` +4. Import the Mastodon sources of your choice, for example 1.3-stable: `git pull http://github.com/tootsuite/mastodon 1.3-stable` +5. Merge the vendor branch to master: `git checkout master && git merge vendor` +6. Push to Scalingo: `git push`. + > Note: Once the new application is deployed, it will be in an inconsistent state. +7. Run rails database migrations: `scalingo -a yourapp run -e RAILS_ENV=production rails db:migrate` +8. Restart all containers: `scalingo -a yourapp restart` +9. Everything is done. From fd3927b956ba23a69ef6251e1433f152336ea3f5 Mon Sep 17 00:00:00 2001 From: suoko Date: Sat, 6 May 2017 13:53:15 +0200 Subject: [PATCH 12/14] Update Administration-guide.md Update for those using docker --- Running-Mastodon/Administration-guide.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Running-Mastodon/Administration-guide.md b/Running-Mastodon/Administration-guide.md index 9941b034..eb05c565 100644 --- a/Running-Mastodon/Administration-guide.md +++ b/Running-Mastodon/Administration-guide.md @@ -9,6 +9,11 @@ The following rake task: RAILS_ENV=production bundle exec rails mastodon:make_admin USERNAME=alice +or, if using docker: + + docker-compose run --rm web rails mastodon:make_admin USERNAME=alice + + Would turn the local user "alice" into an admin. ## Administration web interface From 0b79565316cc85f78e02c4bc9f4a366dde26134d Mon Sep 17 00:00:00 2001 From: takayamaki Date: Thu, 4 May 2017 00:51:29 +0900 Subject: [PATCH 13/14] fix section "Configuring userlist.txt" of PgBouncer-guide.md fix order of username and password when generating hash with md5sum https://pgbouncer.github.io/config.html#authentication-file-format --- Running-Mastodon/PgBouncer-guide.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Running-Mastodon/PgBouncer-guide.md b/Running-Mastodon/PgBouncer-guide.md index dfa48145..e44237ff 100644 --- a/Running-Mastodon/PgBouncer-guide.md +++ b/Running-Mastodon/PgBouncer-guide.md @@ -48,15 +48,15 @@ PgBouncer has two config files: `pgbouncer.ini` and `userlist.txt` both in `/etc Add the `mastodon` user to the `userlist.txt`: - "mastodon" "md599dff7ae01ae2dc33ae052264bf22bf4" + "mastodon" "md5d75bb2be2d7086c6148944261a00f605" -Here we're using the md5 scheme, where the md5 password is just the md5sum of `username + password` with the string `md5` prepended. For instance, to derive the hash for user `mastodon` with password `password`, you can do: +Here we're using the md5 scheme, where the md5 password is just the md5sum of `password + username` with the string `md5` prepended. For instance, to derive the hash for user `mastodon` with password `password`, you can do: ```bash # ubuntu, debian, etc. -echo -n "mastodonpassword" | md5sum +echo -n "passwordmastodon" | md5sum # macOS, openBSD, etc. -md5 -s "mastodonpassword" +md5 -s "passwordmastodon" ``` Then just add `md5` to the beginning of that. @@ -64,8 +64,8 @@ Then just add `md5` to the beginning of that. You'll also want to create a `pgbouncer` admin user to log in to the PgBouncer admin database. So here's a sample `userlist.txt`: ``` -"mastodon" "md599dff7ae01ae2dc33ae052264bf22bf4" -"pgbouncer" "md509c950063a6cf1b217ee831d0f4c6771" +"mastodon" "md5d75bb2be2d7086c6148944261a00f605" +"pgbouncer" "md5a45753afaca0db833a6f7c7b2864b9d9" ``` In both cases the password is just `password`. From 63cc7d884908991729ba93e4c532d7b52a17c35d Mon Sep 17 00:00:00 2001 From: Tim Miller Date: Sat, 6 May 2017 21:41:57 -0400 Subject: [PATCH 14/14] Add WinMasto to Apps.md --- Using-Mastodon/Apps.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Using-Mastodon/Apps.md b/Using-Mastodon/Apps.md index a24540e5..3e11f944 100644 --- a/Using-Mastodon/Apps.md +++ b/Using-Mastodon/Apps.md @@ -18,6 +18,7 @@ Some people have started working on apps for the Mastodon API. Here is a list of |tootstream|CLI||[@Raccoon@mastodon.social](https://mastodon.social/users/Raccoon)| |toot|CLI||[@ihabunek@mastodon.social](https://mastodon.social/users/ihabunek)| | [Capella](https://github.com/coolstar/Capella) | Windows 7, 8.1, 10 | https://coolstar.org/capella | [@coolstar@mastodon.social](https://mastodon.social/users/coolstar)| +|[WinMasto](https://github.com/drasticactions/WinMasto)|Windows 10||[@drasticactions@mastodon.network](https://mastodon.network/users/drasticactions)| |[Mastodon UWP (beta)](https://github.com/woachk/mastodon/releases)|Windows 10||[@my123@mastodon.social](https://mastodon.social/users/my123)| |[mastodon.el](https://github.com/jdenen/mastodon.el)|Emacs||[@johnson@mastodon.social](https://mastodon.social/users/johnson)| | [Mstdn](https://github.com/rhysd/Mstdn) | macOS, Windows, Linux ||[@Linda_pp@mstdn.jp](https://mstdn.jp/@Linda_pp) or [@inudog@mastodon.social](https://mastodon.social/@inudog) |