Commit Graph

226 Commits

Author SHA1 Message Date
Chocobozzz
a9bfa85d2c
Add ability for admins to set default p2p policy 2021-12-16 10:08:55 +01:00
Chocobozzz
3cf68b869d
Ability for admins to set default upload values 2021-12-14 17:17:01 +01:00
Chocobozzz
0bc53e2029
Add ability to redirect users on external auth 2021-12-03 17:04:47 +01:00
Chocobozzz
c5e53d0e39
cleanup_remote_interactions: true by default 2021-11-29 15:33:08 +01:00
Chocobozzz
51353d9a03 Refactor video views
Introduce viewers attribute for live videos
Count views for live videos
Reduce delay to see the viewer update for lives
Add ability to configure video views buffer interval and view ip
expiration
2021-11-09 15:00:31 +01:00
Chocobozzz
df1db951c5
Support RTMPS 2021-11-05 11:38:17 +01:00
Florian CUNY
8dd754c767
Added 144p encoding (#4492)
* Added 144p encoding

Implements https://github.com/Chocobozzz/PeerTube/issues/4428

* Fixed typo in core-utils

* Increased BitPerPixel for 144p

* Disabled 144p by default in test.yaml

* Another try at fixing tests

* Fixed test in video-transcoder (api-3)

* Fixed test in video-imports (api-4)

* Fixed test in live-constraints (api-2)

* Tried to fix tests in api-3 again

* Revert "Tried to fix tests in api-3 again"

This reverts commit 266e1143fa37f333d149c2c2791c7bd33621ac14.

* Fixed test in config.ts (api-2)

* Try to fix test in video-hls.ts (api-3)

* Fixed test in video-transcoder.ts (api-3)

* Fix tests

Co-authored-by: Chocobozzz <me@florianbigard.com>
2021-11-05 10:23:02 +01:00
Florian CUNY
754b6f5f41
Made the video channels limit (per user) server-wide configurable (#4491)
* Made the video channels limit (per user) server-wide configurable

Implements https://github.com/Chocobozzz/PeerTube/issues/3092

Also added a "quota bar" in the account's settings page

* Fixed lint errors

* Another pass at fixing lint errors

* Applied code suggestions

* Removed 'video channels quota'
2021-10-26 16:42:10 +02:00
Chocobozzz
de7f11143f
Cleanup config 2021-10-22 13:56:45 +02:00
Chocobozzz
62549e6c98
Rewrite youtube-dl import
Use python3 binary
Allows to use a custom youtube-dl release URL
Allows to use yt-dlp (youtube-dl fork)
Remove proxy config from configuration to use HTTP_PROXY and HTTPS_PROXY
env variables
2021-10-22 10:25:24 +02:00
Chocobozzz
97b6428af7
Breaking: fix inconsistencies in configuration 2021-10-20 16:29:41 +02:00
Chocobozzz
cf0c8ee588
Fix admin edition disabling feature 2021-10-14 11:35:43 +02:00
Chocobozzz
e89392d74a
Fix production configuration 2021-10-14 09:37:01 +02:00
Chocobozzz
94fecbc1c7
Config typo 2021-10-13 09:18:48 +02:00
Chocobozzz
80dea8f4d6
Rename config key 2021-10-12 14:25:30 +02:00
kontrollanten
7399a79f73
add option to always show channel display name (#4422)
* add option to always show channel display name

closes #4040

* show avatar in video miniatures

closes #4040

* Revert "show avatar in video miniatures"

This reverts commit 79b1a84140.

* channel display name: fix review comments
2021-10-12 14:23:44 +02:00
kontrollanten
c80e458afb
extend client-overrides with default images (#4392)
* extend client-overrides with default images

Add:
* default-playlist.png
* default-avatar-account.png
* default-avatar-videochannel.png

solves #4108

* Rename to default-avatar-video-channel.png

Co-authored-by: Chocobozzz <me@florianbigard.com>
2021-10-12 13:50:40 +02:00
Jelle Besseling
8d8a037e3f
Allow configuration to be static/readonly (#4315)
* Allow configuration to be static/readonly

* Make all components disableable

* Improve disabled component styling

* Rename edits allowed field in configuration

* Fix CI
2021-10-12 13:33:44 +02:00
Jelle Besseling
0305db28c9
Add support for saving video files to object storage (#4290)
* Add support for saving video files to object storage

* Add support for custom url generation on s3 stored files

Uses two config keys to support url generation that doesn't directly go
to (compatible s3). Can be used to generate urls to any cache server or
CDN.

* Upload files to s3 concurrently and delete originals afterwards

* Only publish after move to object storage is complete

* Use base url instead of url template

* Fix mistyped config field

* Add rudenmentary way to download before transcode

* Implement Chocobozzz suggestions

https://github.com/Chocobozzz/PeerTube/pull/4290#issuecomment-891670478

The remarks in question:
    Try to use objectStorage prefix instead of s3 prefix for your function/variables/config names
    Prefer to use a tree for the config: s3.streaming_playlists_bucket -> object_storage.streaming_playlists.bucket
    Use uppercase for config: S3.STREAMING_PLAYLISTS_BUCKETINFO.bucket -> OBJECT_STORAGE.STREAMING_PLAYLISTS.BUCKET (maybe BUCKET_NAME instead of BUCKET)
    I suggest to rename moveJobsRunning to pendingMovingJobs (or better, create a dedicated videoJobInfo table with a pendingMove & videoId columns so we could also use this table to track pending transcoding jobs)
    https://github.com/Chocobozzz/PeerTube/pull/4290/files#diff-3e26d41ca4bda1de8e1747af70ca2af642abcc1e9e0bfb94239ff2165acfbde5R19 uses a string instead of an integer
    I think we should store the origin object storage URL in fileUrl, without base_url injection. Instead, inject the base_url at "runtime" so admins can easily change this configuration without running a script to update DB URLs

* Import correct function

* Support multipart upload

* Remove import of node 15.0 module stream/promises

* Extend maximum upload job length

Using the same value as for redundancy downloading seems logical

* Use dynamic part size for really large uploads

Also adds very small part size for local testing

* Fix decreasePendingMove query

* Resolve various PR comments

* Move to object storage after optimize

* Make upload size configurable and increase default

* Prune webtorrent files that are stored in object storage

* Move files after transcoding jobs

* Fix federation

* Add video path manager

* Support move to external storage job in client

* Fix live object storage tests

Co-authored-by: Chocobozzz <me@florianbigard.com>
2021-08-17 08:26:20 +02:00
Rigel Kent
37ede348bb
(doc) add note in config that tmp is also used while processing 2021-06-08 11:45:03 +02:00
Poslovitch
1f256e7d3c
Implemented configurable minimum signup age
Implements https://github.com/Chocobozzz/PeerTube/issues/3612

Fixed lint and removed debug

Fixed another lint error

Apply suggestions from code review

Co-authored-by: Chocobozzz <chocobozzz@cpy.re>

Add tests for min signup age config
2021-05-28 13:56:05 +02:00
Chocobozzz
31a911190b
Fix broadcast message log level 2021-05-25 11:35:29 +02:00
Chocobozzz
cb4bab61c1
Fix logger warning level 2021-05-14 14:17:53 +02:00
Chocobozzz
8155db669b
Dissociate frameguard from csp 2021-04-12 15:33:54 +02:00
Chocobozzz
6a882428e1
Enable HLS transcoding by default 2021-04-06 09:52:53 +02:00
Chocobozzz
32a18cbf33
Add new plugin/peertube version notifs 2021-03-24 18:18:41 +01:00
Chocobozzz
74d249bc13
Add ability to cleanup remote AP interactions 2021-03-03 10:08:08 +01:00
Chocobozzz
90a8bd305d Dissociate video file names and video uuid 2021-02-18 13:38:09 +01:00
Chocobozzz
9129b7694d Allow to specify transcoding and import jobs concurrency 2021-02-08 15:38:45 +01:00
Rigel Kent
3d4e112d16 add best trending strategy based on Reddit's best
inspired from https://www.reddit.com/r/changelog/comments/7spgg0/best_is_the_new_hotness/
this implementation only adds freshness, and doesn't personalize based
on subscribed communities yet.
2021-02-04 09:04:47 +01:00
Chocobozzz
3258fa5525
Fix default.yaml and production.yaml inconsistencies 2021-01-29 14:56:40 +01:00
Chocobozzz
1896bca09e
Support transcoding options/encoders by plugins 2021-01-28 15:55:39 +01:00
Rigel Kent
ba5d4a849c move from trending routes to alg param 2021-01-28 15:55:34 +01:00
Rigel Kent
3da68f0a78 add default trending page choice, revert comments count for hot strategy 2021-01-28 15:55:34 +01:00
Chocobozzz
1e743faafe
Disable sql prettifier by default
It adds too much lines, leading to difficulties when reading dev logs
2021-01-26 09:54:32 +01:00
Johan Fleury
12c1e38df2 feat: allow administrator to disable logging of ping requests 2021-01-13 09:14:43 +01:00
Rigel Kent
b7085c7132 add support for 1440p (Quad HD/QHD/WQHD) videos 2021-01-13 09:14:09 +01:00
Chocobozzz
d8658f0f81
Try to improve install doc 2021-01-11 10:09:24 +01:00
Chocobozzz
4f20856ed4
Add more hints regarding live port 2021-01-11 09:20:44 +01:00
Chocobozzz
c9bc850e93
Use -1 for max live duration unlimited 2020-12-15 09:26:37 +01:00
Chocobozzz
2539011cfc
Add unlimited max live duration by default 2020-12-08 10:38:37 +01:00
Chocobozzz
cf3e0d69a6
Enable live transcoding by default
Direct muxing is not robust enough
2020-12-01 15:04:38 +01:00
Chocobozzz
d605328a30
Add missing "supports markdown" config comments 2020-11-30 15:08:01 +01:00
Chocobozzz
acfa2e300d
Remove old video views by default 2020-11-27 15:46:49 +01:00
Chocobozzz
e0409585a7
Fix youtube-dl ipv4 PR 2020-11-18 14:11:15 +01:00
Mark Van den Borre
677012b4ee
default youtube-dl to use ipv4 (#3311)
Co-authored-by: Rigel Kent <sendmemail@rigelk.eu>
2020-11-18 14:06:20 +01:00
Chocobozzz
87568f93e9
BREAKING: do not federate unlisted videos by default 2020-11-10 14:22:13 +01:00
Chocobozzz
3cabf3532b Add live server hooks 2020-11-09 15:33:04 +01:00
Chocobozzz
a056ca4813 Add max lives limit 2020-11-09 15:33:04 +01:00
Chocobozzz
a5cf76afa3 Add watch messages if live has not started 2020-11-09 15:33:04 +01:00
Chocobozzz
c6c0fa6cd8 Live streaming implementation first step 2020-11-09 15:33:04 +01:00
Chocobozzz
b0ce7c39dc
Add ssl support to postgresql 2020-08-24 11:38:57 +02:00
Rigel Kent
fccbbc1a77 add and document new additional video extensions supported at upload 2020-08-10 09:46:59 +02:00
Kim
caf2aaf4f9
Add ability to override client assets : logo - favicon - PWA icons - PWA manifest name and description (#2897)
* Add client-overrides storage to config

* Add static-serve for client overrides

* Move backgroun-image logo from bundle to css tag for runtime content hash

* Add dynamic JSON manifest

* Add content hash for manifest, favicon and logo

Co-authored-by: kimsible <kimsible@users.noreply.github.com>
2020-07-10 10:20:11 +02:00
Girish Ramakrishnan
6ee7221117 Add database.name config option
If database.name is set, we use it as the complete database name.
If unset, we use the "peertube"+database.suffix as the complete database
name.

Fixes #1620
2020-06-25 08:48:44 +02:00
Chocobozzz
5fb2e2888c First implem global search 2020-06-10 14:02:41 +02:00
Levi Bard
3092e9bbb0
Make federation of unlisted videos an instance-level server preference (#2802)
* Add preference for federating unlisted videos

* Connect unlisted video federation with new preference

* Apply pull request feedback

* Fix lint issues

* Remove preference for federating unlisted videos from web admin interface
2020-06-03 09:42:07 +02:00
Chocobozzz
72c33e716f Support broadcast messages 2020-05-29 09:32:12 +02:00
Chocobozzz
95cd31f1fe
Allow to auto follow a specific URL 2020-05-11 10:53:06 +02:00
Chocobozzz
0502e3d0b6
Increase API rate limit 2020-04-17 14:18:24 +02:00
Ismaël Bouya
ed3f089cc7 Add sendmail 2020-04-10 10:20:06 +02:00
Chocobozzz
8c9e787526
Add ability to accept or not remote redundancies 2020-04-07 15:32:20 +02:00
Rigel Kent
482fa503e5 Use grid to organise settings in admin, my-account 2020-03-10 16:23:40 +01:00
Chocobozzz
be7ca0c6b9
Use a proxy for youtube-dl to avoid travis errors 2020-01-21 16:46:59 +01:00
Rigel Kent
96a4a7c332
Add description for sensitive configuration options, reword others 2020-01-15 12:15:31 +01:00
Chocobozzz
04cda1d7a5
Add warning if admin disables webtorrent 2020-01-06 17:10:02 +01:00
Chocobozzz
2f6b5e2d6e
Add max file size, max files and ip anonymize log options 2019-12-12 17:15:38 +01:00
frankdelange
6ad88df896
Comment changed, mostly to kick Travis into rectifying its last silliness 2019-11-25 10:59:49 +01:00
frankdelange
5c7d650827
Add audio-only option to transcoders and player
This patch adds an audio-only option to PeerTube by means of a new transcoding configuration which creates mp4 files which only contain an audio stream. This new transcoder has a resolution of '0' and is presented in the preferences and in the player resolution menu as 'Audio-only' (localised). When playing such streams the player shows the file thumbnail as background and disables controls autohide.

Audio-only files can be shared and streamed just like any other file. They can be downloaded as well, the resulting file will be an mp4 container with a single audio stream.

This patch is a proof of concept to show the feasibility of 'true' audio-only support. There are better ways of doing this which also enable multiple audio streams for a given video stream (e.g. DASH) but as this would entail a fundamental change in the way PeerTube works it is a bridge too far for a simple proof of concept.
2019-11-25 10:59:47 +01:00
Chocobozzz
d7a25329f9
Add ability to disable webtorrent
In favour of HLS
2019-11-25 10:59:43 +01:00
Chocobozzz
5d9e4eaabe
Add ability to enabled HLS in the admin panel 2019-11-05 10:13:37 +01:00
Chocobozzz
be04c6fdab Add hardware information in instance config 2019-09-05 10:17:02 +02:00
Chocobozzz
8ae03c3718 Add creation reason 2019-09-05 10:17:02 +02:00
Chocobozzz
ccc00cb2aa Add more attributes to about page 2019-09-05 10:17:02 +02:00
Chocobozzz
8424c4026a Add auto follow back support for instances 2019-09-04 16:24:58 +02:00
Chocobozzz
aafbc63aae
Consistency between default.yaml and production.yaml 2019-08-29 16:21:19 +02:00
Chocobozzz
916937d7da
email object -> email subject 2019-08-22 10:33:58 +02:00
Chocobozzz
df9a1a1365
Add margin to plugin blocks in admin 2019-07-30 10:18:23 +02:00
Chocobozzz
d133f38582 Check latest plugins version with config interval 2019-07-24 10:58:16 +02:00
Chocobozzz
6702a1b2cc Add ability to search available plugins 2019-07-24 10:58:16 +02:00
Chocobozzz
7cd4d2ba10 WIP plugins: add theme support 2019-07-24 10:58:16 +02:00
Chocobozzz
345da516fa WIP plugins: add ability to register plugins 2019-07-24 10:58:16 +02:00
Chocobozzz
c1340a6ac3
Add rate limit to registration and API endpoints 2019-07-04 16:42:40 +02:00
Nassim Bounouas
fcf4569f2d Feature/logrotation (#1881)
* #1775 Configure the activation or deactivation of winston log rotation

* Winston log rotation enabled by default #1775

* #1775 tslint correction

* #1775 FileTransportOptions typed and configuration files

* #1775 tslint correction

* #1775 log.rotation.enabled configuration binding
2019-06-11 14:30:44 +02:00
Chocobozzz
ad3405d087
Improve 4K video quality after transcoding 2019-06-06 14:45:57 +02:00
Chocobozzz
73b3aa6429
Merge branch 'feature/audio-upload' into develop 2019-05-21 10:05:12 +02:00
Yohan Boniface
b5bfadf0b5 Allow to control emails prefix and signature with config (#1789)
* Allow to control emails prefix and signature with config

* Adapt email config according to @Chocobozzz review
2019-05-17 14:10:19 +02:00
Chocobozzz
536598cfaf
Add audio support in upload 2019-05-16 17:16:47 +02:00
Chocobozzz
2ed67a7dd2
Prepare 1.3 RC1 changelog 2019-05-13 17:33:48 +02:00
Yohan Boniface
c342726ad4 Allow to control RATES_LIMIT from configuration (#1787)
* Allow to control RATES_LIMIT from configuration

* @Chocobozzz review (squash me)
2019-04-26 13:48:55 +02:00
Chocobozzz
cda03765fe
Add ability to delete old remote views 2019-04-12 08:31:06 +02:00
Chocobozzz
8f0bc73d7d
Add ability to limit videos history size 2019-04-11 15:38:53 +02:00
Chocobozzz
31b6ddf866
Add ability to disable tracker 2019-04-10 09:23:18 +02:00
Chocobozzz
14893eb71c
Add ability to manually approves instance followers in REST API 2019-04-08 15:18:04 +02:00
Chocobozzz
5b9c965d5a
Add ability to forbid followers 2019-04-08 14:06:23 +02:00
Josh Morel
7ccddd7b52 add quarantine videos feature (#1637)
* add quarantine videos feature

* increase Notification settings test timeout

to 20000ms. was completing 7000 locally but timing out
after 10000 on travis

* fix quarantine video test issues

-propagate misspelling
-remove skip from server/tests/client.ts

* WIP use blacklist for moderator video approval

instead of video.quarantine boolean

* finish auto-blacklist feature
2019-04-02 11:26:47 +02:00
Chocobozzz
9c6ca37fc1 Rename streaming playlists routes/directories 2019-03-18 11:17:59 +01:00
Chocobozzz
539d3f4faa
BREAKING: update CSP configuration
Disable it by default and add ability to specify a custom report uri
2019-02-21 16:28:53 +01:00
Chocobozzz
f8802489bb
Add isNSFW instance configuration key 2019-02-20 15:36:43 +01:00
Chocobozzz
7f8f8bdb4a
HLS is only supported by ffmpeg 4
Because of c8f625f529
2019-02-12 11:14:36 +01:00