Funkwhale 1.0

рдкреНрд░рдХрд▓реНрдк рдлрдВрдХрд╡реНрд╣реЗрд▓ рдкрд╣рд┐рд▓реА рд╕реНрдерд┐рд░ рдЖрд╡реГрддреНрддреА рдЬрд╛рд░реА рдХреЗрд▓реА. рдЙрдкрдХреНрд░рдорд╛рдЪрд╛ рдПрдХ рднрд╛рдЧ рдореНрд╣рдгреВрди, рд╕рдВрдЧреАрдд рдЖрдгрд┐ рдкреЙрдбрдХрд╛рд╕реНрдЯ рд╣реЛрд╕реНрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЬреЕрдВрдЧреЛ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╡рд╛рдкрд░реВрди рдкрд╛рдпрдереЙрдирдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓реЗрд▓реЗ рдПрдХ рд╡рд┐рдирд╛рдореВрд▓реНрдп рд╕рд░реНрд╡реНрд╣рд░ рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдд рдЖрд╣реЗ, рдЬреЗ рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рд╡рд╛рдкрд░реВрди рдРрдХрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ. Subsonic API рдХрд┐рдВрд╡рд╛ рдореВрд│ Funkwhale API рд╕рд╛рдареА рд╕рдорд░реНрдерди рдЕрд╕рд▓реЗрд▓реЗ рдХреНрд▓рд╛рдпрдВрдЯрдЖрдгрд┐ Funkwhale рдЪреНрдпрд╛ рдЗрддрд░ рдЙрджрд╛рд╣рд░рдгрд╛рдВрдордзреВрдирд╡рд╛рдкрд░рдд рдЖрд╣реЗ ActivityPub рдлреЗрдбрд░реЗрд╢рди рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓.


рд▓рд╛рдпрдмреНрд░рд░реА рдЖрдгрд┐ рдЪреЕрдиреЗрд▓ рд╡рд╛рдкрд░реВрди рдСрдбрд┐рдУрд╕рд╣ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рдж рдШрдбрддреЛ: рд▓рд╛рдпрдмреНрд░рд░реА рд╣реЗ рдЕрдиреЗрдХ рдХрд▓рд╛рдХрд╛рд░рд╛рдВрдЪреЗ рд╕рдВрдЧреНрд░рд╣ рдЕрд╕рддрд╛рдд рдЬреНрдпрд╛рдд рдпрд╛рджреГрдЪреНрдЫрд┐рдХрдкрдгреЗ рдПрдХ рдкрддреНрддрд╛ рдореНрд╣рдгреВрди UUID рддрдпрд╛рд░ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ рдЖрдгрд┐ рдЪреЕрдиреЗрд▓ рдореНрд╣рдгрдЬреЗ рдПрдХрд╛ рдХрд▓рд╛рдХрд╛рд░рд╛рдЪреА рдбрд┐рд╕реНрдХреЛрдЧреНрд░рд╛рдлреА рдЕрд╕рддреЗ, рдЬреНрдпрд╛рд▓рд╛ рдорд╛рдирд╡-рд╡рд╛рдЪрдиреАрдп рдкрддреНрддрд╛ рджрд┐рд▓рд╛ рдЬрд╛рддреЛ; рдкреЙрдбрдХрд╛рд╕реНрдЯ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЪреЕрдиреЗрд▓ рдЙрдкрдпреБрдХреНрдд рдард░реВ рд╢рдХрддрд╛рдд. рд╕рджрд╕реНрдпрддреНрд╡рд╛рдВрд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреЗ рд╣реЗ рджреБрд╕рд░реНтАНрдпрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рд╕рд╛рд░рдЦреЗрдЪ рдЖрд╣реЗ - PeerTube: рддреБрдореНрд╣реА рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЖрдгрд┐ рддреНрдпрд╛рдЪреНрдпрд╛ рд╕реНрд╡рддрдВрддреНрд░рдкрдгреЗ рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рджреЛрдиреНрд╣реА рдЪреЕрдиреЗрд▓рдЪреА рд╕рджрд╕реНрдпрддрд╛ рдШреЗрдК рд╢рдХрддрд╛. рд╕рд░реНрд╡реНрд╣рд░ ActivityPub рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╡рд╛рдкрд░реВрди рдХрд╛рд░реНрдп рдХрд░рдд рдЕрд╕рд▓реНрдпрд╛рдиреЗ, рдЗрддрд░ рд▓реЛрдХрдкреНрд░рд┐рдп рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдВрдордзреВрди рд╕рджрд╕реНрдпрддрд╛ рдШреЗрдгреЗ рд╢рдХреНрдп рдЖрд╣реЗ, рдЬрд╕реЗ рдХреА рдореЕрд╕реНрдЯреЛрдбрди ╨╕ рдкреНрд▓реЗрд░реЛрдорд╛.

рд▓рд╛рдпрдмреНрд░рд░реА рдХрд┐рдВрд╡рд╛ рдЪреЕрдиреЗрд▓ рддрдпрд╛рд░ рдХреЗрд▓реНрдпрд╛рдирдВрддрд░, рддреБрдореНрд╣реА рд╕рдВрдЧреАрдд рдЕрдкрд▓реЛрдб рдХрд░реВ рд╢рдХрддрд╛. Amazon S3 рдкреНрд░реЛрдЯреЛрдХреЙрд▓рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдорд╕рд╛рдареА рдЕрдВрдЧрднреВрдд рд╕рдорд░реНрдерди рд╡рд╛рдкрд░реВрди, рддреНрдпрд╛рд╕рд╛рдареА рдлрд╛рдЗрд▓ рд╕реНрдЯреЛрд░реЗрдЬ рд╕реНрдерд╛рдирд┐рдХ рдХрд┐рдВрд╡рд╛ рд░рд┐рдореЛрдЯ рдЕрд╕реВ рд╢рдХрддреЗ. рддреБрдореНрд╣реА рд▓реЛрдХрдкреНрд░рд┐рдп рдлреЙрд░рдореЕрдЯрдЪреА рдХреЛрдгрддреАрд╣реА рдлрд╛рдИрд▓, рдЕрддрд┐рд░рд┐рдХреНрдд рд░реАрдХреЛрдбрд┐рдВрдЧ рдЖрдгрд┐ рдЧреБрдгрд╡рддреНрддреЗрдЪреА рд╣рд╛рдиреА рди рдХрд░рддрд╛ рдЕрдкрд▓реЛрдб рдХрд░реВ рд╢рдХрддрд╛ (рдЬреЗ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, PeerTube рдХрд░рддреЗ, рдЬреЗ рдСрдбрд┐рдУ рдЕрдкрд▓реЛрдбрд┐рдВрдЧрд▓рд╛ рджреЗрдЦреАрд▓ рд╕рдорд░реНрдерди рджреЗрддреЗ). Funkwhale рдлрд╛рдпрд▓реАрдВрдордзреНрдпреЗ рдПрдореНрдмреЗрдб рдХреЗрд▓реЗрд▓реЗ рд╕рдВрдЧреАрдд рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдЖрдгрд┐ рдХрд╡реНрд╣рд░ рдЖрд░реНрдЯ рд╡рд╛рдЪрддреЗ рдЖрдгрд┐ рддреЗ рдЧрд╣рд╛рд│ рдЕрд╕рд▓реНрдпрд╛рд╕, рддреНрд░реБрдЯреА рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ. рдореНрд╣рдгреВрди, рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдирд╛ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪрд╛ рд╕рд▓реНрд▓рд╛ рджрд┐рд▓рд╛ рдЬрд╛рддреЛ рдореНрдпреБрдЭрд┐рдХрдмреНрд░реЗрдирдЭ рдкрд┐рдХрд╛рд░реНрдб рдЕрдкрд▓реЛрдб рдХрд░рдгреНрдпрд╛рдкреВрд░реНрд╡реА рдпреЛрдЧреНрдп рдЯреЕрдЧ рд▓рд┐рд╣рд╛. рдбрд╛рдЙрдирд▓реЛрдб рдХреЗрд▓реНрдпрд╛рдирдВрддрд░ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЗрдВрдЯрд░рдлреЗрд╕ рджреЗрдЦреАрд▓ рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗ, рдмрджрд▓рд╛рдВрдЪреНрдпрд╛ рджреГрд╢реНрдпрдорд╛рди рдЗрддрд┐рд╣рд╛рд╕рд╛рд╕рд╣ рдкреБрдирд░рд╛рд╡реГрддреНрддреАрдЪреНрдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдд рдХрд╛рд░реНрдп рдХрд░рддреЗ.


рдЖрдзреАрдЪ рдбрд╛рдЙрдирд▓реЛрдб рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕рдВрдЧреАрддрд╛рдкрд╛рд╕реВрди рд▓рд╛рдпрдмреНрд░рд░реА рдЖрдгрд┐ рдЪреЕрдиреЗрд▓рд╡рд░, рддреБрдореНрд╣реА рдкреНрд▓реЗрд▓рд┐рд╕реНрдЯ, рд░реЗрдбрд┐рдУ рд╕реНрдЯреЗрд╢рди рддрдпрд╛рд░ рдХрд░реВ рд╢рдХрддрд╛ рдЖрдгрд┐ рдЯреНрд░реЕрдХ рдЖрд╡рдбрддреЗ рдореНрд╣рдгреВрди рдЪрд┐рдиреНрд╣рд╛рдВрдХрд┐рдд рдХрд░реВ рд╢рдХрддрд╛. рд░рд┐рдореЛрдЯ рд╡рд╛рдкрд░рдХрд░реНрддреЗ рдЖрдкрд▓реНрдпрд╛ рд▓рд╛рдпрдмреНрд░рд░реА рдХрд┐рдВрд╡рд╛ рдЪреЕрдиреЗрд▓рд╡рд░ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╕рд░реНрд╡реНрд╣рд░рдЪреНрдпрд╛ рд╢реЛрдз рдмрд╛рд░рдордзреНрдпреЗ рд▓рд┐рдВрдХ рдкреЗрд╕реНрдЯ рдХрд░реВрди рдкреНрд░рд╡реЗрд╢рд╛рдЪреА рд╡рд┐рдирдВрддреА рдХрд░рдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рдЕрд╕рддреАрд▓. рд╕рд░реНрд╡реНрд╣рд░ рд╕реЗрдЯрд┐рдВрдЧреНрдЬрдордзреНрдпреЗ рдпрд╛рдЪреА рдЕрдиреБрдорддреА рдЕрд╕рд▓реНрдпрд╛рд╕ рдЕрдирд╛рдорд┐рдд рд╡рд╛рдкрд░рдХрд░реНрддреЗ рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕рд╡рд░реВрди рд╕рдВрдЧреАрдд рдРрдХрдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рдЕрд╕рддреАрд▓. рдиреЛрдВрджрдгреАрдХреГрдд рд╕реНрдерд╛рдирд┐рдХ рд╡рд╛рдкрд░рдХрд░реНрддреЗ рдпрд╛рджреНрд╡рд╛рд░реЗ рд▓реЙрдЧ рдЗрди рдХрд░реВрди рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рди рд╡рд╛рдкрд░рддрд╛ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░реАрд▓ рд╕рд░реНрд╡ рд╕рдВрдЧреАрддрд╛рдд рдкреНрд░рд╡реЗрд╢ рдХрд░реВ рд╢рдХрддрд╛рдд рд╕рдмрд╕реЛрдирд┐рдХ API рд╕рдорд░реНрдерди рдЕрд╕рд▓реЗрд▓реЗ рдХреЛрдгрддреЗрд╣реА рдХреНрд▓рд╛рдпрдВрдЯ - рджреБрд╕рд░рд╛ рд╕рдВрдЧреАрдд рд╕рд░реНрд╡реНрд╣рд░, рдЖрддрд╛ рдорд╛рд▓рдХреАрдЪреНрдпрд╛ рдкрд░рд╡рд╛рдиреНрдпрд╛рдЕрдВрддрд░реНрдЧрдд, рдЬреБрдиреНрдпрд╛ рдХреЛрдбрдмреЗрд╕рдЪреНрдпрд╛ рд╕рдорд╛рдВрддрд░ рд╡рд┐рдХрд╕рдирд╢реАрд▓ рд╢рд╛рдЦрд╛рдВрд╕рд╣, рд╡рд┐рдирд╛рдореВрд▓реНрдп рдкрд░рд╡рд╛рдиреНрдпрд╛рдЕрдВрддрд░реНрдЧрдд, - рдХрд┐рдВрд╡рд╛ рдореВрд│ Funkwhale API, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, Android рд╕рд╛рдареА рдСрдЯрд░.

рдХреНрд▓рд╛рдпрдВрдЯ рд╕рд░реНрд╡реНрд╣рд░рдХрдбреВрди рдЯреНрд░реЕрдХрдЪреНрдпрд╛ рдЯреНрд░рд╛рдиреНрд╕рдХреЛрдб рдЖрд╡реГрддреНрддреАрдЪреА рд╡рд┐рдирдВрддреА рджреЗрдЦреАрд▓ рдХрд░реВ рд╢рдХрддрд╛рдд (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдХрдореА рдмрд┐рдЯрд░реЗрдЯрд╕рд╣ FLAC рддреЗ MP3 рдкрд░реНрдпрдВрдд, рдХрдореА рдЗрдВрдЯрд░рдиреЗрдЯ рд░рд╣рджрд╛рд░реА рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ).

RSS рдлреАрдбрдЪреА рд╕рджрд╕реНрдпрддрд╛ рдШреЗрдгреЗ рд╢рдХреНрдп рдЖрд╣реЗ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЖрдзреАрдЪ рдирдореВрдж рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкреЙрдбрдХрд╛рд╕реНрдЯрд╕рд╛рдареА.

рдпрд╛ рдкреНрд░рдХрд╛рд╢рдирд╛рддреАрд▓ рдмрджрд▓:

  • рдХрд┐рдорд╛рди рдЖрд╡рд╢реНрдпрдХ Python рдЖрд╡реГрддреНрддреА 3.6 рд╡рд░ рд╡рд╛рдврд╡рд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ;
  • рдХреНрд▓рд╛рдпрдВрдЯ API рдордзреНрдпреЗ рдмрджрд▓ рдЬреЗ рд╕реБрд╕рдВрдЧрддрддрд╛ рдЦрдВрдбрд┐рдд рдХрд░рддрд╛рдд;
  • OAuth рдЪреНрдпрд╛ рдмрд╛рдЬреВрдиреЗ JSON рдЯреЛрдХрди (JWT) рдЪреЗ рдЕрд╡рдореВрд▓реНрдпрди;
  • рдХрд╡реНрд╣рд░рд╕рд╛рдареА рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрдиреЗ рдирд┐рд░реНрдорд╛рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕реБрдзрд╛рд░рд┐рдд рдЕрд▓реНрдЧреЛрд░рд┐рджрдо;
  • рд╕рд░реНрд╡реНрд╣рд░ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдорд╡рд░реВрди рд╕рдВрдЧреАрдд рдЖрдпрд╛рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕рдордзреНрдпреЗ рдПрдХ рдмрдЯрдг рдЬреЛрдбрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ;
  • рдЯреНрд░реЕрдХ рдЖрдгрд┐ рдЕрд▓реНрдмрдордЪреНрдпрд╛ рдбрд╛рдЙрдирд▓реЛрдбрдЪреНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдЪреЗ рдкреНрд░рджрд░реНрд╢рди рджрд┐рд╕реВрди рдЖрд▓реЗ;
  • рдирд╡реАрди рд╢реЛрдз рдкреГрд╖реНрда;
  • рдЯреНрд░реЕрдХ рдЖрдгрд┐ рдЕрд▓реНрдмрдорд╡рд░реАрд▓ тАЬрдкреНрд▓реЗтАЭ рдмрдЯрдг рдЖрддрд╛ рд░рд╛рдВрдЧреЗрд▓рд╛ рдЯреНрд░реЕрдХ рдЬреЛрдбрдгреНрдпрд╛рдРрд╡рдЬреА рдмрджрд▓рддреЗ;
  • Last.fm API v2 рд╡рд╛рдкрд░реВрди рд╕реНрдХреНрд░реЙрдмрд▓рд┐рдВрдЧ рд╕рдорд░реНрдерди.

рд╕реНрддреНрд░реЛрдд: linux.org.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛