Commit Graph

344 Commits

Author SHA1 Message Date
Chocobozzz a0327eedb0
Rename video-file job to video-transcoding 2019-03-19 17:00:08 +01:00
Chocobozzz d85798c4e7
Better videos redundancy config error handling 2019-03-19 16:33:40 +01:00
Chocobozzz d74d29ad9e
Limit user tokens cache 2019-03-19 14:30:43 +01:00
Chocobozzz 9f79ade627
Refresh playlists 2019-03-19 14:13:53 +01:00
Chocobozzz 0e0c745b62
Increase refresh interval to 2 days 2019-03-19 11:15:42 +01:00
Chocobozzz f0a3988066 Add to playlist dropdown 2019-03-18 11:17:59 +01:00
Chocobozzz 830b4faff1 Add/update/delete/list my playlists 2019-03-18 11:17:59 +01:00
Chocobozzz d4c9f45b31 Add server migrations 2019-03-18 11:17:59 +01:00
Chocobozzz 9c6ca37fc1 Rename streaming playlists routes/directories 2019-03-18 11:17:59 +01:00
Chocobozzz df0b219d36 Add playlist rest tests 2019-03-18 11:17:59 +01:00
Chocobozzz 418d092afa Playlist server API 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 92bf2f6299
Improve channel and account SEO 2019-02-21 14:06:10 +01:00
Chocobozzz f8802489bb
Add isNSFW instance configuration key 2019-02-20 15:36:43 +01:00
Chocobozzz e5fc7811ae
Increase thumbnails size 2019-02-20 13:59:31 +01:00
Chocobozzz b718fd2237
Merge branch 'develop' into pr/1285 2019-02-11 14:09:23 +01:00
Chocobozzz 25451e08c7
Update migration version for download enabled 2019-02-11 11:55:11 +01:00
Chocobozzz b426edd485
Cleanup reset user password by admin
And add some tests
2019-02-11 10:37:27 +01:00
Chocobozzz 0920929696 Add hls support on server 2019-02-11 09:13:02 +01:00
Chocobozzz 307902e2b3
Try to fix Mac video upload 2019-01-24 15:23:06 +01:00
Chocobozzz 0c5892764e
Youtube DL update every 24 hours 2019-01-21 16:22:15 +01:00
Chocobozzz ebff55d8d6
Fix tests 2019-01-21 15:58:07 +01:00
Chocobozzz 1506307f2f
Increase abuse length to 3000
And correctly handle new lines
2019-01-14 16:48:38 +01:00
Chocobozzz 5abb9fbbd1
Add ability to unfederate a local video (on blacklist) 2019-01-10 15:39:51 +01:00
Chocobozzz a4101923e6
Implement contact form on server side 2019-01-10 11:32:37 +01:00
Chocobozzz e8d246d526 Add notification settings migration 2019-01-09 11:15:15 +01:00
Chocobozzz cef534ed53 Add user notification base code 2019-01-09 11:15:15 +01:00
Chocobozzz 439b1744f5
Optimize index sizes 2018-12-20 15:25:49 +01:00
Chocobozzz 2f5c6b2fc6
Optimize actor follow scores modifications 2018-12-20 14:31:11 +01:00
Chocobozzz 56b13bd193
Fix federation of some videos
If we don't transcode additional resolutions, and user decided to wait
transcoding before publishing the video
2018-12-19 13:41:47 +01:00
Chocobozzz 8b9a525a18
Add history on server side
Add ability to disable, clear and list user videos history
2018-12-18 11:35:50 +01:00
Chocobozzz 9f7a195363
Keep old channel/user name constraints
In order to avoid compatibility issues
2018-12-13 16:26:47 +01:00
Rigel Kent 5e755fff9d add Content Security Policy (#1252)
* add Content Security Policy

* remove reflect-metadata on production builds to get rid of unsafe-eval

* fix baseCSP usage

* add SRI to CSP

* add blob: to media-src

* remove SRI

* CSP set to reportOnly

* adding data: to connect-src CSP

* remove block-all-mixed-content

* add report-uri support
2018-12-13 09:49:45 +01:00
Chocobozzz 14e2014acc Support additional video extensions 2018-12-11 15:11:09 +01:00
BRAINS YUM d0ce42c1c1 username/display_name/video_channel_name min length 1 and max length 50 (#1265)
* make username, display_name and video_channel_name min length 1 and max length 50; (fixes #1263);
    ! still some bug on the frontend complains but if you remove the disabled property it creates the account just fine;
allow for usernames to start with a number;
fix test, since username can be 1 char now make test check empty;
fix test, Should fail with a too long username;
fix test, Should fail with a too small username;
fix regular expression for username and videoChannel;
change username, videoChannel to be lowercase and fix message;

* change 1 characters to 1 character
2018-12-07 14:54:33 +01:00
Chocobozzz 2feebf3e6a
Add sitemap 2018-12-05 17:44:34 +01:00
Chocobozzz b9fffa297f
Create redundancy endpoint 2018-12-04 17:08:55 +01:00
Chocobozzz 6040f87d14
Add tmp and redundancy directories 2018-12-04 16:04:15 +01:00
Chocobozzz f9a971c671
Update dependencies 2018-12-04 10:08:45 +01:00
Chocobozzz 04b8c3fba6
Delete invalid or deleted remote videos 2018-11-20 10:44:48 +01:00
Chocobozzz 5c6d985fae
Check activities host 2018-11-14 16:32:27 +01:00
Chocobozzz df66d81583
Add compatibility with other Linked Signature algorithms 2018-11-14 16:32:27 +01:00
Chocobozzz 41f2ebae4f
Add HTTP signature check before linked signature
It's faster, and will allow us to use RSA signature 2018 (with upstream
jsonld-signature module) without too much incompatibilities in the
peertube federation
2018-10-19 12:26:37 +02:00
BRAINS YUM d23e6a1c97 Feature/description support fields length 1000 (#1267)
* fix migrations to not use config constant values as it can introduce bugs later when they change; (fixes #1259)
remove constant fields imports from migrations

* add migrations to update description and support fields to 1000 (fixes #1258)

* fix client/server account and video_channel description/support fields to be max len 1000 (fixes #1258);
fix test Should fail with a too long description;
fix test Should fail with a long description;
fix test Should fail with a long description;
Remove USER.SUPPORT from constants since that field no longer exists;
null not false, in migrations/0280-description-support.ts;
video support field 1000, oops;

* rename migration 0280-description-support.ts -> 0285-description-support.ts;
update video support maxlength text
2018-10-19 08:54:01 +02:00
Chocobozzz bb5d90e62f
Merge branch 'feature/webtorrent-disabling' into develop 2018-10-17 10:48:56 +02:00
Chocobozzz 7ad9b9846c Add ability for users to block an account/instance on server side 2018-10-16 16:41:36 +02:00
Adnane Belmadiaf 6f2ae7a1aa rename News category into News & Politics (#1261) 2018-10-14 19:43:17 +02:00
Rigel Kent ed638e5325
move to boolean switch 2018-10-13 11:53:48 +02:00
Rigel Kent 64cc5e8575
add webtorrent opt-out settings
- add a key in localstorage to remember the opt-out
- add a user setting
2018-10-13 11:53:42 +02:00
BRAINS YUM 0e5ff97f6f add parseBytes utility function and tests (#1239)
* add parseBytes utility function and tests
make it parse TB MB
fix parseBytes; * 1024
test bytes too, and make parseByte to parse quotas
add test in travis.sh in misc

* fix parseBytes and test to pass linting
2018-10-13 08:43:55 +02:00
Felix Ableitner edb4ffc7e0 Set bitrate limits for transcoding (fixes #638) (#1135)
* Set bitrate limits for transcoding (fixes #638)

* added optimization script and test, changed stuff

* fix test, improve docs

* re-add optimize-old-videos script

* added documentation

* Don't optimize videos without valid UUID, or redundancy videos

* move getUUIDFromFilename

* fix tests?

* update torrent and file size, some more fixes/improvements

* use higher bitrate for high fps video, adjust bitrates

* add test video

* don't throw error if resolution is undefined

* generate test fixture on the fly

* use random noise video for bitrate test, add promise

* shorten test video to avoid timeout

* use existing function to optimize video

* various fixes

* increase test timeout

* limit test fixture size, add link

* test fixes

* add await

* more test fixes, add -b:v parameter

* replace ffmpeg wiki link

* fix ffmpeg params

* fix unit test

* add test fixture to .gitgnore

* add video transcoding fps model

* add missing file
2018-10-08 16:26:04 +02:00
Chocobozzz cf9166cf2f
Add timeout on youtube dl to cleaup files 2018-10-01 12:00:05 +02:00
Chocobozzz 2e7cf5ae0c
Fix video files duplicated when fps is null
Null values are not considered equal in a UNIQUE index
2018-09-26 14:08:35 +02:00
Chocobozzz 4a08f66927
Only duplicate public videos 2018-09-25 18:05:54 +02:00
Chocobozzz cfaf819c38
Reduce video import TTL 2018-09-25 17:49:49 +02:00
Chocobozzz e5565833f6
Improve redundancy: add 'min_lifetime' configuration 2018-09-24 13:38:39 +02:00
Chocobozzz f9f899b9f8
Add redundancy check interval in config 2018-09-19 16:21:30 +02:00
Chocobozzz d9bdd007d7
Put config redundancy strategies in "strategies" subkey 2018-09-19 16:12:07 +02:00
Chocobozzz c07b604111
Fix checker if we don't have redundancy strategies 2018-09-17 11:28:33 +02:00
Chocobozzz 860cfb31e3
Fix "no results" on overview page 2018-09-17 10:28:38 +02:00
Chocobozzz 743164fed1
Fix overviews tests 2018-09-17 10:13:54 +02:00
Chocobozzz 4b5384f6e7
Add redundancy stats 2018-09-14 14:57:59 +02:00
Chocobozzz 7348b1fd84
Speed up overviews route 2018-09-14 11:52:23 +02:00
Chocobozzz 3f6b6a565d
Add recently added redundancy strategy 2018-09-14 11:05:38 +02:00
Chocobozzz c48e82b5e0 Basic video redundancy implementation 2018-09-13 14:05:49 +02:00
Austin Heap 5447516b9a draft "security.txt" spec integration (#1020) 2018-09-06 14:23:46 +02:00
Chocobozzz db6d617dd2
Fix occitan label 2018-09-05 15:59:43 +02:00
Chocobozzz 9a629c6efb
Trending by interval 2018-08-31 17:22:01 +02:00
Chocobozzz 1a47109144
Add channel avatar to overviews 2018-08-31 14:32:37 +02:00
Chocobozzz 288fe38590
Use custom rate limiter when asking verif email 2018-08-31 11:44:44 +02:00
Chocobozzz 2d3741d6d9 Videos overview page: first version 2018-08-31 09:19:58 +02:00
Josh Morel d9eaee3939 add user account email verificiation (#977)
* add user account email verificiation

includes server and client code to:

* enable verificationRequired via custom config
* send verification email with registration
* ask for verification email
* verify via email
* prevent login if not verified and required
* conditional client links to ask for new verification email

* allow login for verified=null

these are users created when verification not required
should still be able to login when verification is enabled

* refactor email verifcation pr

* change naming from verified to emailVerified
* change naming from askVerifyEmail to askSendVerifyEmail
* undo unrelated automatic prettier formatting on api/config
* use redirectService for home
* remove redundant success notification on email verified

* revert test.yaml smpt host
2018-08-31 09:18:19 +02:00
Chocobozzz 6b6168606b
Bufferize videos views in redis 2018-08-30 15:03:18 +02:00
Chocobozzz bfcef50db9
Fix oauth server module 2018-08-28 10:56:09 +02:00
Felix Ableitner bee0abffff Implement daily upload limit (#956)
* Implement daily upload limit (ref #652)

* remove duplicate code

* review fixes

* fix tests?

* whitespace fixes, finish leftover todo

* fix tests

* added some new tests

* use different config value for tests

* remove todo
2018-08-28 09:01:35 +02:00
Chocobozzz f5b0af50c8 Search video channel handle/uri 2018-08-27 09:41:54 +02:00
Chocobozzz f37dc0dd14 Add ability to search video channels 2018-08-27 09:41:54 +02:00
Chocobozzz 240085d005 Fix tests 2018-08-27 09:41:54 +02:00
Chocobozzz 1297eb5db6 Add refresh video on search 2018-08-27 09:41:54 +02:00
Chocobozzz f6eebcb336 Add ability to search a video with an URL 2018-08-27 09:41:54 +02:00
Chocobozzz 06a05d5f47 Add subscriptions endpoints to REST API 2018-08-27 09:41:54 +02:00
Chocobozzz 59c76ffa8f
Flat shared module directory 2018-08-14 15:00:01 +02:00
Chocobozzz 26b7305a23
Add blacklist reason field 2018-08-14 09:27:18 +02:00
Chocobozzz 268eebed92
Add state and moderationComment for abuses on server side 2018-08-10 16:54:01 +02:00
Chocobozzz eacb25c436
Add reason when banning a user 2018-08-08 17:44:22 +02:00
Chocobozzz e69219184b
Implement user blocking on server side 2018-08-08 15:22:58 +02:00
Chocobozzz a84b8fa5cf Add import.video.torrent configuration 2018-08-08 09:30:31 +02:00
Chocobozzz 990b6a0b0c Import torrents with webtorrent 2018-08-08 09:30:31 +02:00
Chocobozzz ce33919c24 Import magnets with webtorrent 2018-08-08 09:30:31 +02:00
Rigel Kent aad0ec24e8 advertising PeerTube's rather simple DNT policy 2018-08-08 09:22:15 +02:00
Chocobozzz 5d08a6a74e Add import http enabled configuration 2018-08-06 11:19:16 +02:00
Chocobozzz 2b86fe7274 Add job ttl 2018-08-06 11:19:16 +02:00
Chocobozzz ed31c05985 Add ability to list video imports 2018-08-06 11:19:16 +02:00
Chocobozzz ce32426be9 Auto update youtube-dl 2018-08-06 11:19:16 +02:00
Chocobozzz fbad87b047 Add ability to import video with youtube-dl 2018-08-06 11:19:16 +02:00
Jorropo 80bc88c133 Nice ffmpeg to 15 and 2
Niceness 15 for video conversionNiceness 2 for image generation
(niceness 2 doesn't make it slower, just don't block servers and other
app)
2018-08-01 10:57:13 +02:00
Rigel Kent 1c3386e87f adding ORM pool configuration 2018-07-31 15:38:08 +02:00
Chocobozzz 7a93e28110
Delete old indexes 2018-07-27 17:22:20 +02:00
Chocobozzz 1194e8b46f
Add max count in pagination 2018-07-24 18:03:38 +02:00
Rigel Kent 3f6d68d967 adding initial support for nodeinfo 2018-07-24 14:08:44 +02:00
Chocobozzz 8cd72bd377 Optimize SQL queries 2018-07-24 14:04:05 +02:00
Chocobozzz d525fc399a Add videos list filters 2018-07-24 14:04:05 +02:00
Chocobozzz 57c36b277e Begin advanced search 2018-07-24 14:04:05 +02:00
Chocobozzz e032aec9b9
Render CSS/title/description tags on server side 2018-07-18 10:00:37 +02:00
Chocobozzz 1d94c15468
Add esperanto, lojban, klingon and kotava (audio/subtitle) languages 2018-07-17 19:22:03 +02:00
Chocobozzz 57a81ff649
Fix static avatars/thumbnails cache 2018-07-17 19:04:41 +02:00
Chocobozzz f4001cf408
Handle .srt subtitles 2018-07-16 14:31:40 +02:00
Chocobozzz 40e87e9ecc Implement captions/subtitles 2018-07-16 11:50:08 +02:00
Rigel Kent 19f7b248d8 adding redis unix connection 2018-07-14 15:00:56 +02:00
Chocobozzz 94831479f5 Migrate to bull 2018-07-11 14:00:17 +02:00
Chocobozzz 3a6f351b25
Handle higher FPS for high resolution (test) 2018-06-29 17:10:54 +02:00
Chocobozzz 8244c85ad6
Fix npm run dev:server 2018-06-29 09:33:36 +02:00
Chocobozzz 9b67da3d9b
Add tracker rate limiter 2018-06-26 16:53:43 +02:00
Chocobozzz bbe0f0645c
Add ability to schedule video publication 2018-06-15 18:20:56 +02:00
Chocobozzz 2baea0c77c
Add ability for uploaders to schedule video update 2018-06-14 18:06:56 +02:00
Chocobozzz 3cd0734fd9
Improve tests when waiting pending jobs 2018-06-13 10:22:53 +02:00
Chocobozzz 2186386cca
Add concept of video state, and add ability to wait transcoding before
publishing a video
2018-06-12 20:37:51 +02:00
Chocobozzz ff193d5e3f
Increase access_token lifetime 2018-06-08 08:17:41 +02:00
Chocobozzz 28be89161a
Improve create import file job
Fix federation of .ogv videos
2018-06-07 09:43:18 +02:00
Florent Fayolle 0138af9237 Add create-import-video-file-job command 2018-06-07 08:57:48 +02:00
Chocobozzz 7ce44a74a3
Add server localization 2018-06-06 16:48:41 +02:00
Chocobozzz 02756fbd11
Improve torrent/video download 2018-05-29 18:30:11 +02:00
Rigel Kent ff2c1fe813 feature: IP filtering on signup page
disable registration form on IP not in range
checking the CIDR list before filtering with it
placing the cidr filters as an attribute object in the config
2018-05-22 19:44:34 +02:00
Rigel Kent 30c82f0d2e feature: db selection in redis
resolves #579
2018-05-21 17:49:56 +02:00
Rigel Kent ac235c37e2 robots.txt config and route 2018-05-16 10:50:55 +02:00
Chocobozzz 136cce4d67
Use publishedAt by default in videos sort 2018-05-15 08:47:47 +02:00
Chocobozzz 9675333dec
Decrease AP video cache 2018-05-11 15:25:51 +02:00
Chocobozzz fd4484f19e
Cache AP video route for 5 seconds 2018-05-11 15:24:17 +02:00
Chocobozzz 8be1afa12b
Add ability to embed a video in Twitter
The instance should be whitelisted first
2018-05-11 08:48:20 +02:00
Chocobozzz a10fc78bb0
Fix video channel description/support max length 2018-05-09 13:32:44 +02:00
Chocobozzz 71e3dfda4e
Add timeout and TTL to request jobs 2018-05-09 09:08:22 +02:00
Chocobozzz ed56ad1193
Add ability to update the user display name/description 2018-04-26 10:03:40 +02:00
Chocobozzz 9d3ef9fe05
Use ISO 639 for languages 2018-04-23 14:39:52 +02:00
Chocobozzz 81e504b34e
Better file name for torrent 2018-04-19 15:13:41 +02:00
Chocobozzz 2243730c8e
Add information concerning video privacy in my videos list 2018-04-19 14:52:10 +02:00
Chocobozzz 0883b3245b
Add ability to choose what policy we have for NSFW videos
There is a global instance setting and a per user setting
2018-04-19 11:01:34 +02:00
Chocobozzz f55e5a7bf8
Process broadcast requests in parallel 2018-04-18 16:04:49 +02:00
Chocobozzz 5350fd8e5b
Move server follow in the job queue
It helps to track follow errors
2018-04-18 15:32:40 +02:00
Chocobozzz 4195cd2bc5
Add redis cache to feed route 2018-04-17 14:04:34 +02:00
Pierre-Alain TORET cff8b272b1 Support hostname binding in config
* Add basic support for hostname binding

Signed-off-by: Pierre-Alain TORET <pierre-alain.toret@protonmail.com>

* Make production example a bit more secure

Signed-off-by: Pierre-Alain TORET <pierre-alain.toret@protonmail.com>

* Make example config files compatible with hostname binding modification

Signed-off-by: Pierre-Alain TORET <pierre-alain.toret@protonmail.com>

* Fix typo

Signed-off-by: Pierre-Alain TORET <pierre-alain.toret@protonmail.com>

* Bind on 127.0.0.1 by default

Signed-off-by: Pierre-Alain TORET <pierre-alain.toret@protonmail.com>

* Update Docker configuration with hostname binding

Signed-off-by: Pierre-Alain TORET <pierre-alain.toret@protonmail.com>
2018-04-17 11:14:32 +02:00
Julien Le Bras 2922e048de Add publishedAt field for video model.
* New field added in the `video` table + migration script

* `publishedAt` updated to NOW when privacy changes from private to
  public/unlisted (default = NOW)

* Models updated to handle the new attribute

* Client interface updated to use `publishedAt` instead of `createdAt`
  except in My Account > My Videos view
2018-03-30 08:52:58 +02:00
Chocobozzz 09becad8e8
Add reverse proxy test in travis 2018-03-29 11:39:53 +02:00
Chocobozzz 490b595a01
Prevent brute force login attack 2018-03-29 11:03:30 +02:00
Rigel Kent 761fc1ddfe Add sign language to the index of languages (#420) 2018-03-27 11:06:18 +02:00
Aurélien Bertron b32b782718 Limit comment length to 1 character, fixes #394 (#399) 2018-03-24 19:40:48 +01:00
Chocobozzz bebf2d89d3
Add option to disable starttls 2018-03-22 16:12:52 +01:00
Chocobozzz a797728009
Fix video_share_url duplicate key in transcoding job 2018-03-19 15:22:18 +01:00
Chocobozzz 2e3a0215d0
Add short description in config 2018-03-15 14:34:47 +01:00
Chocobozzz 901637bb87
Add ability to change the homepage 2018-03-01 13:57:29 +01:00
Chocobozzz 73c695919c
Add 30 fps limit in transcoding 2018-02-26 11:08:38 +01:00