Commit graph

460 commits

Author SHA1 Message Date
Michael Mayer
02a1b12edb Config: Update CORS header defaults and add /api/v1/echo endpoint #3931
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-16 14:36:08 +01:00
Michael Mayer
239708f00f Config: Add options to configure CORS origin, headers and methods #3931
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-16 12:14:06 +01:00
Michael Mayer
c5f6a28448 Config: Add PHOTOPRISM_HTTP_CORS option for CDN users #3931 #3940
In addition, the Access-Control-Allow-Origin header is set to the same
URL if an Origin header is found in the request (experimental).

Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-15 13:06:27 +01:00
Michael Mayer
fed1d8ad95 Auth: Accept access token as passwd with fail rate limit #782 #808 #3943
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-14 18:28:17 +01:00
Michael Mayer
9586a9ec69 Auth: Refactor API to allow auth secrets to be used as tokens #808 #3943
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-14 12:01:26 +01:00
Michael Mayer
e21e462f00 Auth: Improve "auth add" and "client add" CLI commands #808 #3943
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-13 16:27:05 +01:00
Michael Mayer
7d78ee803a Use human-friendly secrets & names for personal access tokens #808 #3943
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-10 17:23:08 +01:00
Michael Mayer
94e361a8fd WebDAV: Add authorization check based on auth tokens #782 #808 #3943
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-10 16:54:13 +01:00
Michael Mayer
7a05c5553b OAuth2: Add "POST /api/v1/oauth/revoke" API endpoint #782 #808 #3943
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-10 12:21:43 +01:00
Michael Mayer
3e924b70c7 API: Move handling of HTTP auth headers to pkg/header #808 #3943 #3959
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-09 10:58:47 +01:00
Michael Mayer
0e4d81853c API: Add .well-known/oauth-authorization-server route handler #808 #3943
This commit also adds an /api/v1/oauth/logout endpoint that allows
clients to delete their sessions (access tokens) as needed.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-08 14:53:39 +01:00
Michael Mayer
f8e0615cc8 Auth: Ensure backwards compatibility for existing API clients #808 #3943
These changes ensure that the new (SHA256) session ID is returned in the
"session_id" field, so that developers have time to update their client
implementations to use the new "access_token" field.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-07 12:25:56 +01:00
Michael Mayer
0d2f8be522 Auth: Use hashed auth tokens for enhanced security #3943 #808 #782
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-06 17:35:19 +01:00
Michael Mayer
0ca37b2c92 Docs: Update year in backend and frontend package file headers
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-05 16:38:36 +01:00
Michael Mayer
713593da4e Auth: Add CLI command to create access tokens for apps #782 #808 #3943
You can now run "photoprism auth add" to create new client access tokens
that allow external applications to use the built-in REST API.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-05 16:31:07 +01:00
Michael Mayer
0fd3c1790c Search: Add inline documentation to sortby.RandomExpr()
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-01 16:22:09 +01:00
Michael Mayer
8e81f78c12 Metadata: Add "TV" to list of special terms in specialwords.go
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-12-14 16:11:32 +01:00
Michael Mayer
a29ac670f7 Metadata: Update list of special terms in specialwords.go
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-12-13 22:09:31 +01:00
Michael Mayer
467f7b1585 OAuth2: Add Client Credentials Authentication #213 #782 #808 #3730 #3943
This adds standard OAuth2 client credentials and bearer token support as
well as scope-based authorization checks for REST API clients. Note that
this initial implementation should not be used in production and that
the access token limit has not been implemented yet.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-12-12 18:42:50 +01:00
Michael Mayer
e80b07795c Metadata: Update list of special terms in specialwords.go
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-12-11 17:55:22 +01:00
Michael Mayer
dbe525b99a Metadata: Update list of special terms in specialwords.go
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-12-11 09:25:16 +01:00
Michael Mayer
2dc680adc9 Metadata: Update list of special terms in specialwords.go
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-12-09 16:37:15 +01:00
Michael Mayer
99b3af1863 Metadata: Update list of special terms in specialwords.go
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-12-09 15:49:33 +01:00
graciousgrey
55d5e7a732 Videos: Add file info for .mxf files #3935 2023-12-06 12:02:13 +01:00
graciousgrey
3507f5ef55 Add support for .mxf files #3935 2023-12-06 11:59:53 +01:00
Michael Mayer
ab491c3032 2FA: Add generator for random 16-digit app passwords #808
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-11-27 19:43:53 +01:00
Michael Mayer
fe182d78f4 Metadata: Add tests to pkg/txt/file_title_test.go
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-11-01 12:04:37 +01:00
Michael Mayer
29be637d62 Metadata: Update pkg/txt/specialwords.go
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-10-31 14:06:52 +01:00
Michael Mayer
6123ddf4af Metadata: Update pkg/txt/specialwords.go
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-10-31 11:38:57 +01:00
Michael Mayer
09f8a58404 Library: Stack sidecar files with vendor specific naming schemes #2983
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-10-21 15:02:16 +02:00
Michael Mayer
67bd054f7b Metadata: Improve handling of local time values #3780
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-10-21 02:31:27 +02:00
Michael Mayer
60efc86649 Metadata: Use UTC offset if actual time zone is unknown #3780
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-10-21 00:11:11 +02:00
Michael Mayer
54f281a425 FS: Improve matching of related media files #2983
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-10-20 16:02:52 +02:00
Michael Mayer
8975c781c5 Live Photos: Default to MP4 for Google HVC1 Motion Photos Playback #3814
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-10-12 15:20:54 +02:00
Michael Mayer
6a452bcf43 Search: Add Filters for ISO, FNumber and Focal Length Range #3818
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-10-12 14:53:40 +02:00
Raymond
63515f84d7
Map VP09 to codec vp9 (#3792) 2023-10-06 04:09:07 +02:00
Michael Mayer
604849e92c Search: Include RAW files in results by default #2040
With these changes the size and type of the RAW file as well as other
details can be displayed in the Cards View. This also improves the
indexing of camera and lens metadata.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-10-06 02:22:48 +02:00
Michael Mayer
a0904c4008 Docs: Update pkg/live/README.md and pkg/video/README.md
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-10-05 09:37:25 +02:00
Michael Mayer
26ca084699 Videos: Cache embedded media to allow streaming and transcoding #3764
This is a follow-up improvement for the following feature requests that
have already shipped with our stable release:

- Live Photos: Add support for Samsung Motion Photos #439
- Live Photos: Add support for Google Camera Motion Photos #1739

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-24 17:13:06 +02:00
Michael Mayer
20407452f0 UX: Prefer original media files for cards view details #2040
This also adds camera lens information to the cards view details.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-24 14:11:52 +02:00
Michael Mayer
e59851350b Video: Update README.md
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-23 17:00:40 +02:00
Michael Mayer
c38ab232fc Video: Update README.md
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-23 16:57:14 +02:00
Michael Mayer
2339197311 Live Photos: Add support for playing videos embedded in HEIC images #439
Related Issues:
- Samsung: Initial support for Motion Photos (#439)
- Google: Initial support for Motion Photos (#1739)
- Metadata: Flag Samsung/Google Motion Photos as Live Photos (#2788)

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-23 11:27:20 +02:00
Michael Mayer
529103462c Index: Add native support for MP4 and Samsung/Google Motion Photos #439
Related Issues:
- Samsung: Initial support for Motion Photos (#439)
- Google: Initial support for Motion Photos (#1739)
- Metadata: Flag Samsung/Google Motion Photos as Live Photos (#2788)

Related Pull Requests:
- Live Photos: Add Support for Samsung Motion Photos (#3588)
- Samsung: Improved support for Motion Photos (#3660)
- Google: Initial support for Motion Photos (#3709)
- Google: Add support for Motion Photos (#3722)

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-22 23:59:56 +02:00
graciousgrey
0f1106eb3b Tests: Add unit tests 2023-09-20 21:48:55 +02:00
Michael Mayer
33bf0cede6 Places: Support sub-km distances when searching for locations #3558
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-20 18:37:41 +02:00
Michael Mayer
295fe0e6fa Search: improve radius approximation for "lat" and "lng" filters #3558
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-20 17:42:38 +02:00
Michael Mayer
c2e38f942b Library: Trim "~" at the beginning and end of path names #3695
On Unix-like OS, this is a placeholder for the user's home directory.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-20 17:31:01 +02:00
Michael Mayer
8957462672 Library: Allow "#" at the beginning of path names #3695
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-20 17:13:25 +02:00
Michael Mayer
4d1003846c Search: Refactor "lat", "lng", and "dist" filters #1187 #3558
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-20 16:56:38 +02:00