Commit Graph

438 Commits

Author SHA1 Message Date
Chocobozzz db48de8597
Block infohash spammers from tracker 2020-06-25 16:28:07 +02:00
Rigel Kent 1ebddadd07
predefined report reasons & improved reporter UI (#2842)
- added `startAt` and `endAt` optional timestamps to help pin down reported sections of a video
- added predefined report reasons
- added video player with report modal
2020-06-22 13:00:39 +02:00
Chocobozzz 5fb2e2888c First implem global search 2020-06-10 14:02:41 +02:00
Chocobozzz d2a5c4e150
Fix broken migration introduced in 2.2.0-rc.1 2020-05-25 08:59:59 +02:00
Rigel Kent 2158ac9034
Add server plugin filter hooks for import with torrent and url (#2621)
* Add server plugin filter hooks for import with torrent and url

* WIP: pre and post-import filter hooks

* Rebased

* Cleanup filters to accept imports

Co-authored-by: Chocobozzz <me@florianbigard.com>
2020-05-14 11:10:26 +02:00
Chocobozzz 2ca154da93
Fix auto follow index URL 2020-05-12 09:37:39 +02:00
Chocobozzz 3cc665f48f
Add last login date to users 2020-05-07 10:39:09 +02:00
Chocobozzz 298b3fd315
Increase video comments limit 2020-05-05 16:48:30 +02:00
Chocobozzz 4c576aca1c
Fix playlist description length 2020-05-05 16:34:50 +02:00
Rigel Kent 5140edafeb
Fix plugin-auth migration 2020-05-05 13:52:10 +02:00
Chocobozzz 9107d791e2 Add external login tests 2020-05-04 16:21:39 +02:00
Rigel Kent 68d19a0ace Make sure a report doesn't get deleted upon the deletion of its video 2020-05-01 16:41:02 +02:00
Chocobozzz 2fd59d7d89
Add ability to sort by originallyPublishedAt 2020-04-20 14:05:52 +02:00
Chocobozzz d694b19344
Increase fetcher job ttl 2020-04-11 09:07:15 +02:00
Chocobozzz 4d9ae8f7cf
Increase max page value 2020-04-10 09:46:01 +02:00
Chocobozzz 764a965778
Implement pagination for overviews endpoint 2020-03-11 15:02:20 +01:00
Rigel Kent 8319d6ae72
Add video file metadata to download modal, via ffprobe (#2411)
* Add video file metadata via ffprobe

* Federate video file metadata

* Add tests for file metadata generation

* Complete tests for videoFile metadata federation

* Lint migration and video-file for metadata

* Objectify metadata from getter in ffmpeg-utils

* Add metadataUrl to all videoFiles

* Simplify metadata API middleware

* Load playlist in videoFile when requesting metadata
2020-03-10 14:39:40 +01:00
John Livingston 45f1bd72a0
Creating a user with an empty password will send an email to let him set his password (#2479)
* Creating a user with an empty password will send an email to let him set his password

* Consideration of Chocobozzz's comments

* Tips for optional password

* API documentation

* Fix circular imports

* Tests
2020-02-17 10:16:52 +01:00
Chocobozzz c6de3a85ee
Fix remote avatar without AP mediatype field 2020-02-12 10:23:24 +01:00
Chocobozzz 338eb9d33a
Merge branch 'release/2.1.0' into develop 2020-02-07 09:10:59 +01:00
Chocobozzz 26469f9ed8
Correctly fix octet stream fallback for video ext 2020-02-07 09:02:18 +01:00
Chocobozzz 99d362de0c
Support wma and wav audio files 2020-02-07 09:02:04 +01:00
Chocobozzz bc053fb303
Remove octet stream fallback for video extension
It could be a FLAC file for example
2020-02-06 17:22:32 +01:00
Chocobozzz cef4e38f1c
Remove octet stream fallback for video extension
It could be a FLAC file for example
2020-02-06 17:07:29 +01:00
Chocobozzz 4fdeef8125
Fix language list build 2020-02-06 17:06:11 +01:00
Chocobozzz a15871560f
Move to eslint 2020-02-03 08:31:02 +01:00
Chocobozzz ca6d36227a
Add url field in caption and use it for thumbnails 2020-01-30 11:53:38 +01:00
Rigel Kent 06bcfbd9f7 Downsample to the closest divisor standard framerate 2020-01-29 13:42:15 +01:00
Chocobozzz b764380ac2 Add ability to list redundancies 2020-01-28 11:35:26 +01:00
Chocobozzz ab4d4db44a
Avoid follow SQL conflicts 2020-01-10 13:34:20 +01:00
Chocobozzz 6fd8c4da26
Cleanup DB indexes 2020-01-10 13:33:22 +01:00
Chocobozzz e0b56b7495
Return an error on invalid count pagination 2020-01-09 09:36:31 +01:00
Chocobozzz 35f28e94c7
Add infohash cache 2020-01-03 13:47:45 +01:00
Rigel Kent c1125bcadc
Add comment filtering by reply count 2019-12-27 17:02:44 +01:00
Nassim Bounouas f88ee4a952 Feature/password reset link expiration (#2305)
* #1928 Add a sentence indicating the reset time limit on form and email

* #1928 Customizable password reset lifetime

* #1928 Add a route to verify reset link and call it on reset form init

* Revert "#1928 Customizable password reset lifetime"

This reverts commit 0ed97453f8.

* #1928 Reset password lifetime hardcoded to one hour

* Remove useless modifications for #1928
2019-12-18 09:59:00 +01:00
Chocobozzz 2735a154dc
Fix video import with long thumbnail url 2019-12-17 09:55:33 +01:00
Rigel Kent bee29df8a9 autoplay next video support for playlists 2019-12-13 09:13:43 +01:00
Chocobozzz 22a73cb879
Add internal privacy mode 2019-12-12 16:51:59 +01:00
Chocobozzz 566c125d6e
Serve audit logs to client 2019-12-11 14:14:01 +01:00
Chocobozzz c37a52b046
Support m4v videos 2019-12-05 11:07:57 +01:00
Chocobozzz fee47735bd
Fix migrations 2019-12-05 08:38:32 +01:00
Chocobozzz a3ce4ae847
Limit channel numbers
We can't load too much channels in selects and it helps to prevent actor
name squatting
2019-11-29 16:35:27 +01:00
Chocobozzz cb5ce4cb13
Add more filters to admin follows table 2019-11-29 11:16:43 +01:00
Chocobozzz d7a25329f9
Add ability to disable webtorrent
In favour of HLS
2019-11-25 10:59:43 +01:00
Chocobozzz f67d757452
Increase clock skew for HTTP signatures 2019-10-25 14:54:32 +02:00
Chocobozzz 47581df073
Fix federation with some actors
That don't have a shared inbox, or a URL
2019-10-23 11:33:53 +02:00
Chocobozzz fff2183df6
Fix audio uploading without preview 2019-10-18 12:03:32 +02:00
Chocobozzz 2f26030dd2
Support text/plain caption files 2019-10-18 10:36:32 +02:00
Chocobozzz 85c1df6ae8
Add auto play next video migration 2019-09-24 10:35:36 +02:00
Chocobozzz 5faed16653
Fix migrations 2019-09-06 08:59:02 +02:00
Chocobozzz e1b49ee534 Implement auto follow in client 2019-09-04 16:24:58 +02:00
Chocobozzz 6f1b4fa417 Add auto follow instances index support 2019-09-04 16:24:58 +02:00
Chocobozzz 0b5c385b45
Handle reports from mastodon 2019-08-30 09:40:32 +02:00
Chocobozzz 557b13ae24
Lazy load avatars 2019-08-09 11:32:40 +02:00
Chocobozzz 65af03a241
Automatically update playlist thumbnails 2019-08-01 16:54:24 +02:00
Chocobozzz bfbd912886 Fix broken playlist api 2019-08-01 09:11:04 +02:00
Chocobozzz cd4cb177e6
Improve static files cache 2019-07-29 15:20:36 +02:00
Chocobozzz aa3796bda5
Sort on videoQuotaUsed in backend 2019-07-25 11:15:03 +02:00
Chocobozzz 587568e1cc Add plugin table migration table 2019-07-24 10:58:16 +02:00
Chocobozzz 9fa6ca160a Some plugins fixes and doc enhancements 2019-07-24 10:58:16 +02:00
Chocobozzz 66170ca8c6 Use process.env.npm_package_version 2019-07-24 10:58:16 +02:00
Chocobozzz d133f38582 Check latest plugins version with config interval 2019-07-24 10:58:16 +02:00
Chocobozzz e0ce715a1d Check latest plugins version 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 503c6f440a Add peertube plugin index website models 2019-07-24 10:58:16 +02:00
Chocobozzz ad91e7006e WIP plugins: plugin settings on server side 2019-07-24 10:58:16 +02:00
Chocobozzz ffb321bedc WIP plugins: load theme on client side 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
Chocobozzz 3caf77d3b1
Add language filters in user preferences 2019-06-19 15:05:36 +02:00
Chocobozzz d1ab89deb7
Handle email update on server 2019-06-11 14:31:11 +02:00
Chocobozzz 57cfff7885
Remove unused actor uuid field 2019-05-31 14:49:31 +02:00
Chocobozzz 21d141c296
Merge branch 'release/v1.3.0' into develop 2019-05-21 13:32:00 +02:00
Chocobozzz 63dc589865
Fix video views 2019-05-21 13:14:27 +02:00
Chocobozzz b345a8047b
Add audio upload tests 2019-05-17 14:04:54 +02:00
Chocobozzz 536598cfaf
Add audio support in upload 2019-05-16 17:16:47 +02:00
Chocobozzz 241c3357d1
Fix account description error 2019-05-13 14:37:30 +02:00
Chocobozzz d8cfccfbc4
Fix greek label 2019-05-13 09:45:39 +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 9cc8d43e37
Add migrations 2019-04-24 16:26:22 +02:00
Chocobozzz 1eddc9a74f
Add user adminFlags 2019-04-15 14:39:52 +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 74dc3bca2b
Don't expose constants directly in initializers/ 2019-04-11 14:26:41 +02:00
Chocobozzz 6dd9de95df
Move config in its own file 2019-04-11 13:45:39 +02:00
Chocobozzz fd8710b897
Add logs endpoint 2019-04-10 16:38:32 +02:00
Chocobozzz 31b6ddf866
Add ability to disable tracker 2019-04-10 09:23:18 +02:00
Yohan Boniface c100a6142e Add /accounts/:username/ratings endpoint (#1756)
* Add /users/me/videos/ratings endpoint

* Move ratings endpoint from users to accounts

* /accounts/:name/ratings: add support for rating= and sort=

* Restrict ratings list to owner

* Wording and better way to ensure current account
2019-04-09 11:02:02 +02:00
Chocobozzz 8ce1ba6e3e
Add new instance follower notification in client 2019-04-09 10:42:07 +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
Chocobozzz ae9bbed46d
Update P2P media loader peer version 2019-04-08 11:16:14 +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 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