Commit Graph

534 Commits

Author SHA1 Message Date
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 41a676db39
Add features table on signup 2018-08-28 17:39:29 +02:00
Chocobozzz 9ee92651f6
Fix tests 2018-08-28 11:32:03 +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 62689b942b
Correctly migrate to fs-extra 2018-08-27 16:23:34 +02:00
Rigel Kent c9d5c64f98 replace fs by fs-extra to prevent EMFILE error 2018-08-27 16:03:57 +02:00
Chocobozzz 687d638c2b Fetch outbox when searching an actor 2018-08-27 09:41:54 +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 99492dbc0d Add get subscription endpoint 2018-08-27 09:41:54 +02:00
Chocobozzz 8a19bee1a1 Add ability to set a name to a channel 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 d03cd8bb20 Split users controller 2018-08-27 09:41:54 +02:00
Chocobozzz 06215f15e0
Cleanup utils helper 2018-08-14 15:28:30 +02:00
Chocobozzz cc43831a90
Filter tracker based on infohash 2018-08-14 11:00:03 +02:00
Chocobozzz 191764f30b
Improve blacklist management 2018-08-14 09:27:18 +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 92b9d60c00
Add ability to delete our account 2018-08-08 10:55:27 +02:00
Chocobozzz 3e17515e29 Add torrent tests 2018-08-08 09:30:31 +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 b2977eecb8 Fix fps federation 2018-08-06 11:19:16 +02:00
Chocobozzz 590fb50690 Add tests regarding video import 2018-08-06 11:19:16 +02:00
Chocobozzz 5d08a6a74e Add import http enabled configuration 2018-08-06 11:19:16 +02:00
Chocobozzz 7e5f9f001d Add audit logs for video import 2018-08-06 11:19:16 +02:00
Chocobozzz 516df59b3b Remove ability to delete video imports
Users should remove the linked video instead
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 299474e827 Add ability to remove a video import 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
Aurélien Bertron 80e36cd9fa Add audit logs in various modules
- Videos
- Videos comments
- Users
- Videos channels
- Videos abuses
- Custom config
2018-07-31 15:40:29 +02:00
Chocobozzz 0588221107
Remove kue migration 2018-07-30 16:34:47 +02:00
Chocobozzz d73c98884e
Hack 459 regarding Angular & i18n 2018-07-25 09:57:52 +02:00
Chocobozzz a8bf1d826e
404 on unknown thumbnail 2018-07-24 18:03:40 +02:00
Chocobozzz 98d3324db3
Fix nodeinfo endpoint 2018-07-24 14:36:25 +02:00
Rigel Kent 3f6d68d967 adding initial support for nodeinfo 2018-07-24 14:08:44 +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 7279b45581 Speed up populate database script 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 57a81ff649
Fix static avatars/thumbnails cache 2018-07-17 19:04:41 +02:00
Chocobozzz 62945f067b
Add cors for static paths too 2018-07-17 15:04:54 +02:00
Rigel Kent d00e2393d4 selective route permission to use embeds with x-frame-deny 2018-07-17 12:03:31 +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
Chocobozzz 94831479f5 Migrate to bull 2018-07-11 14:00:17 +02:00
William Lahti 999417328b Ability to programmatically control embeds (#776)
* first stab at jschannel based player api

* semicolon purge

* more method-level docs; consolidate definitions

* missing definitions

* better match peertube's class conventions

* styling for embed tester

* basic docs

* add `getVolume`

* document the test-embed feature
2018-07-10 17:47:56 +02:00
Chocobozzz 3a6f351b25
Handle higher FPS for high resolution (test) 2018-06-29 17:10:54 +02:00
Rigel Kent b81eb8fdc6 (feed) adding thumbnail support for RSS feed 2018-06-29 14:58:57 +02:00
Chocobozzz 4bbfc6c606
API: Add ability to update video channel avatar 2018-06-29 11:29:23 +02:00
William Lahti 12daa83784 move CORS allowance to the REST API router 2018-06-29 09:46:44 +02:00
Chocobozzz 8afc19a612
Add ability to choose the language 2018-06-28 15:53:12 +02:00
PhieF 61b909b9bf Filter by category (#720)
* get videos with specific category (api)

* update api doc with category

* add url parameter to filter by category

* fix lint issues
2018-06-27 14:24:49 +02:00
Chocobozzz 49799b165e
Add author_url in oembed response 2018-06-27 09:08:34 +02:00
Chocobozzz 9b67da3d9b
Add tracker rate limiter 2018-06-26 16:53:43 +02:00
Chocobozzz e94fc29706
Fix removing scheduled update 2018-06-18 10:26:20 +02:00
Chocobozzz 2baea0c77c
Add ability for uploaders to schedule video update 2018-06-14 18:06:56 +02:00
Chocobozzz 4dae00e68b
Use local object URLs for feeds 2018-06-14 11:25:19 +02:00
Chocobozzz 749c7247ae
Fix bad RSS descriptions when filtering videos by account or channel 2018-06-13 15:07:45 +02:00
Chocobozzz 90d4bb8125
Refractor retry transaction function 2018-06-13 14:27:40 +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 6ccdf3a23e
Fix import with when the imported file has the same extension than an
already existing file
2018-06-11 19:16:00 +02:00
Rigel Kent 7754034641 (embed) sandbox the iframe 2018-06-11 17:18:04 +02:00
Chocobozzz fe3a55b071
Add video comments RSS 2018-06-08 20:34:37 +02:00
Chocobozzz 74b7c6d48e
Little i18n refractoring 2018-06-06 17:37:13 +02:00
Chocobozzz 7ce44a74a3
Add server localization 2018-06-06 16:48:41 +02:00
Chocobozzz e945b184a0
Localize player 2018-06-06 16:48:40 +02:00
Chocobozzz f8b4475386
Disable auto language 2018-06-05 08:43:02 +02:00
Chocobozzz 989e526abf
Prepare i18n files 2018-06-05 08:43:01 +02:00
Chocobozzz 0c948c1659
Add ability to manually run transcoding job 2018-05-30 10:49:56 +02:00
Chocobozzz 9118bca307
Fix static function name 2018-05-29 18:35:01 +02:00
Chocobozzz 02756fbd11
Improve torrent/video download 2018-05-29 18:30:11 +02:00
Chocobozzz e3d5ea4f82
Fix actor outbox 2018-05-28 12:13:00 +02:00
Chocobozzz 8fffe21a7b
Refractor and optimize AP collections
Only display urls in general object, and paginate video comments, shares, likes and
dislikes
2018-05-25 16:21:16 +02:00
Chocobozzz e251f170b0
Split files in activitypub server 2018-05-25 11:33:04 +02:00
Chocobozzz ad9e39fb81
Only use account name in routes 2018-05-25 10:41:07 +02:00
Chocobozzz a00a8f09f9
Don't render opengraph tags of private videos 2018-05-24 15:34:16 +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
Chocobozzz 6200d8d917
Fix video channel update with an admin account 2018-05-17 10:55:49 +02:00
Chocobozzz 5fcbd89841
Fix typings 2018-05-16 11:06:33 +02:00
Rigel Kent ac235c37e2 robots.txt config and route 2018-05-16 10:50:55 +02:00
Chocobozzz 2efd32f697
Fix updating video tags to empty field 2018-05-16 09:42:56 +02:00
Rigel Kent 82ddca10b7 making the feed fulltext 2018-05-12 09:52:09 +02:00
Chocobozzz 0f320037e6
Add ability to update a video channel 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 08c1efbe32
Add video channel management 2018-04-26 16:18:01 +02:00
Chocobozzz ed56ad1193
Add ability to update the user display name/description 2018-04-26 10:03:40 +02:00
Chocobozzz e0ea4b1d55
Implement video channel feeds 2018-04-25 17:30:56 +02:00
Chocobozzz cc918ac3f4
Update video-channel routes (again)
Use /video-channels now, it's more simple for clients
2018-04-25 16:16:21 +02:00
Chocobozzz 6b738c7a31
Video channel API routes refractor 2018-04-25 13:50:48 +02:00
Chocobozzz 48dce1c90d
Update video channel routes 2018-04-24 17:12:57 +02:00
Chocobozzz 0626e7af82
Add account view 2018-04-24 15:13:19 +02:00
Chocobozzz 9309c3df8f
Update changelog 2018-04-23 15:44:00 +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 5350fd8e5b
Move server follow in the job queue
It helps to track follow errors
2018-04-18 15:32:40 +02:00
Chocobozzz 66dc590764
Add ability to click on the account in watch page 2018-04-17 15:11:12 +02:00
Chocobozzz 4195cd2bc5
Add redis cache to feed route 2018-04-17 14:04:34 +02:00
Chocobozzz 7b87d2d514
Handle sort in rss 2018-04-17 10:56:27 +02:00
Rigel Kent 244e76a552
feature: initial syndication feeds support
Provides rss 2.0, atom 1.0 and json 1.0 feeds for videos (instance and account-wide) on listings and video-watch views.

* still lacks redis caching
* still lacks lastBuildDate support
* still lacks channel-wide support
* still lacks semantic annotation (for licenses, NSFW warnings, etc.)
* still lacks love ( ˘ ³˘)

* RSS: has MRSS support for torrent lists!
* RSS: includes the first torrent in an enclosure
* JSON: lists all torrents in the 'attachments' object
* ATOM: lacking torrent listing support

Advances #23
Partial implementation for the accountId generation in the client, which will need a hotfix to add a way to get the proper account id.
2018-04-17 01:09:06 +02:00
Chocobozzz 94ff4c2335
Add auth documentation 2018-04-16 17:27:00 +02:00
Chocobozzz ee28cdf1c4
Upgrade server dependencies 2018-04-06 14:39:19 +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 490b595a01
Prevent brute force login attack 2018-03-29 11:03:30 +02:00
Chocobozzz e33e7fc89e
Fix views system behind a proxy 2018-03-28 14:51:50 +02:00
Chocobozzz be1fc4bc50
Fix custom server configuration numbers 2018-03-27 15:46:36 +02:00
Chocobozzz 4b8f09fa01
Fix content type response for ActivityPub 2018-03-27 14:29:22 +02:00
Rigel Kent 1869c87535 show quota in stats, display quota on the about page, fixes #405 (#421)
move videoQuota under a user object, use byte PipeTransform
2018-03-27 13:42:57 +02:00
Chocobozzz 07197db4c5
Try to refractor activities sending
There is still a need for work on this part though
2018-03-27 13:33:56 +02:00
Chocobozzz d5b7d9110d
Fix error logging 2018-03-26 16:04:14 +02:00
Chocobozzz 296c090563
Add activity route to video and video comment objects 2018-03-22 17:12:25 +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 066e94c538
Add "local" videos in menu 2018-03-13 10:24:28 +01:00
Chocobozzz 901637bb87
Add ability to change the homepage 2018-03-01 13:57:29 +01:00
Chocobozzz 09cababd79
Add stats route 2018-02-28 18:04:55 +01:00
Chocobozzz 2ad429529c
Add indentation in json configuration file generated by the admin
interface
2018-02-28 09:55:00 +01:00
Chocobozzz acbffe9c0f
Add max video height on mobile 2018-02-28 09:39:08 +01:00
Chocobozzz 509cd56aca
Add warning in production.yaml
To avoid confusion with the local-production.json file
2018-02-27 17:19:22 +01:00
Chocobozzz 2c29ad4f3b
Fix job panel sorting in administration 2018-02-27 16:57:53 +01:00
Chocobozzz 056aa7f2b4
Fix resolution for portrait videos 2018-02-27 15:57:43 +01:00
Chocobozzz 0a8ae68459
Add log when fetching the outbox 2018-02-27 11:06:43 +01:00
Chocobozzz b5c0e95544
Avoids easy cheating on vidoe views 2018-02-23 16:44:37 +01:00
Chocobozzz 285fe7c930
Detect posting request in our own inbox 2018-02-23 15:09:12 +01:00
Chocobozzz 1ee48d1903
Don't follow ourselves 2018-02-23 14:48:30 +01:00
Chocobozzz 1f30a1853e
Add confirm when admin use custom js/css 2018-02-22 15:29:32 +01:00
Chocobozzz 78967fca4c
Register service worker 2018-02-22 14:15:23 +01:00
Chocobozzz 93df58cc48
Fix service worker registration 2018-02-22 11:54:24 +01:00
Chocobozzz 00b5556c18
Add ability to add custom css/javascript 2018-02-22 10:22:53 +01:00
Chocobozzz e8cb44090e
Add links to comment mentions 2018-02-21 16:44:43 +01:00
Chocobozzz 6de3676898
Add ability to update thumbnail and preview on client 2018-02-16 16:35:32 +01:00
Chocobozzz 2422c46b27
Implement support field in video and video channel 2018-02-15 15:29:07 +01:00
Chocobozzz 82815eb670
Fix concurrency issue on video upload 2018-02-14 18:40:39 +01:00
Chocobozzz e3a682a877
Handle thumbnail update 2018-02-14 16:03:09 +01:00
Chocobozzz ac81d1a06d
Add ability to set video thumbnail/preview 2018-02-14 16:03:09 +01:00
Chocobozzz 7193ad1044
Add service worker 2018-02-08 17:31:05 +01:00
Chocobozzz 5980a252a7
Server the manifest too 2018-02-08 10:09:41 +01:00
Chocobozzz 0bc22f8d7e
Correctly set the activity audience in outbox 2018-02-07 10:03:11 +01:00
Chocobozzz 36f9424ff1
Add about page 2018-01-31 17:51:04 +01:00
Chocobozzz 66b16cafb3
Add new name/terms/description config options 2018-01-31 16:42:40 +01:00