Proton API library used by Go-based clients and tools
  • Go 99.4%
  • Shell 0.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Claudiu Schuster a020ce71a1
Some checks are pending
Lint and Test / check (push) Waiting to run
Allow manual workflow runs on the fork
2026-09-17 23:38:54 +02:00
.github/workflows Allow manual workflow runs on the fork 2026-09-17 23:38:54 +02:00
server Migrate from gopenpgp/v2 to gopenpgp/v3 2026-05-26 18:27:46 +01:00
testdata Update expired pgp data to fix test (from upstream) 2026-04-30 11:33:05 +01:00
utils feat(GODT-2676): add COPYING_NOTES and script to maintain it. 2023-06-02 11:41:44 +02:00
.gitignore fix(GODT-2242): Don't send any 2fa information if not needed. 2023-01-09 15:31:01 +01:00
address.go This is an aggregated commit from go-proton-api-old repo from henrybear327 2023-09-05 23:09:03 +02:00
address_test.go Update module name to github.com/rclone/go-proton-api 2026-01-27 16:48:21 +00:00
address_types.go feat(godt-2346): add support for address type. 2023-05-05 12:56:06 +02:00
attachment.go Migrate from gopenpgp/v2 to gopenpgp/v3 2026-05-26 18:27:46 +01:00
attachment_interfaces.go refactor(GODT-2500): Reorganise async methods. 2023-04-03 09:50:50 +02:00
attachment_test.go Update module name to github.com/rclone/go-proton-api 2026-01-27 16:48:21 +00:00
attachment_types.go feat: Initial open source commit 2022-11-23 12:03:04 +01:00
auth.go feat: Switch from /core/v4/auth to /auth/v4 2022-12-14 08:22:45 +01:00
auth_test.go Update module name to github.com/rclone/go-proton-api 2026-01-27 16:48:21 +00:00
block.go feat: Drive upload/download foundations 2023-02-13 11:18:39 +01:00
block_types.go feat: Drive upload/download foundations 2023-02-13 11:18:39 +01:00
boolean.go feat: ListChildren ShowAll query parameter 2023-02-27 08:51:24 +01:00
calendar.go feat: Initial open source commit 2022-11-23 12:03:04 +01:00
calendar_event.go feat(GODT-2500): Add panic handlers everywhere. 2023-04-03 09:50:50 +02:00
calendar_event_types.go Migrate from gopenpgp/v2 to gopenpgp/v3 2026-05-26 18:27:46 +01:00
calendar_types.go Migrate from gopenpgp/v2 to gopenpgp/v3 2026-05-26 18:27:46 +01:00
client.go feat: Add handling for net.OpError 2023-02-09 11:55:44 +01:00
contact.go feat(GODT-2500): Add panic handlers everywhere. 2023-04-03 09:50:50 +02:00
contact_card.go Migrate from gopenpgp/v2 to gopenpgp/v3 2026-05-26 18:27:46 +01:00
contact_types.go Migrate from gopenpgp/v2 to gopenpgp/v3 2026-05-26 18:27:46 +01:00
contexts.go feat: Initial open source commit 2022-11-23 12:03:04 +01:00
CONTRIBUTING.md feat: Initial open source commit 2022-11-23 12:03:04 +01:00
COPYING_NOTES.md feat(GODT-2676): add COPYING_NOTES and script to maintain it. 2023-06-02 11:41:44 +02:00
core_settings.go feat(GODT-2554): Implement user settings routes. 2023-04-12 08:23:07 +02:00
core_settings_type.go feat(GODT-2554): Implement user settings routes. 2023-04-12 08:23:07 +02:00
crypto_nonaead_test.go Force the pre-crypto-refresh format for name and xattr encryption 2026-08-01 13:33:25 +01:00
crypto_v3_compat.go Create new files with the pre-crypto-refresh content key format 2026-08-01 18:16:33 +01:00
data.go feat(GODT-2549): Implement metrics routes. 2023-04-11 09:47:33 +02:00
data_type.go feat(GODT-2549): Implement metrics routes. 2023-04-11 09:47:33 +02:00
event.go fix(GODT-2626): Do not merge events 2023-05-16 09:05:48 +02:00
event_drive.go feat: Add share events 2023-02-27 08:51:24 +01:00
event_drive_types.go fix: Change Data to any in LinkEvent 2023-02-27 08:51:24 +01:00
event_test.go Update module name to github.com/rclone/go-proton-api 2026-01-27 16:48:21 +00:00
event_types.go feat(GODT-2871): add user settings to event. 2023-08-21 14:04:27 +02:00
example_test.go Update module name to github.com/rclone/go-proton-api 2026-01-27 16:48:21 +00:00
future.go refactor(GODT-2500): Reorganise async methods. 2023-04-03 09:50:50 +02:00
future_test.go refactor(GODT-2500): Reorganise async methods. 2023-04-03 09:50:50 +02:00
go.mod Migrate from gopenpgp/v2 to gopenpgp/v3 2026-05-26 18:27:46 +01:00
go.sum Migrate from gopenpgp/v2 to gopenpgp/v3 2026-05-26 18:27:46 +01:00
header_types.go feat: Initial open source commit 2022-11-23 12:03:04 +01:00
helper_test.go Update module name to github.com/rclone/go-proton-api 2026-01-27 16:48:21 +00:00
internal.go test(GODT-2181): Fix test server proxy goroutine leaks 2022-12-13 13:12:36 +01:00
job.go feat: Initial open source commit 2022-11-23 12:03:04 +01:00
keyring.go Migrate from gopenpgp/v2 to gopenpgp/v3 2026-05-26 18:27:46 +01:00
keyring_test.go Migrate from gopenpgp/v2 to gopenpgp/v3 2026-05-26 18:27:46 +01:00
keys.go feat: Prefer POST over deprecated PUT for address deletion 2022-12-13 13:41:06 +01:00
keys_types.go Migrate from gopenpgp/v2 to gopenpgp/v3 2026-05-26 18:27:46 +01:00
label.go feat: Initial open source commit 2022-11-23 12:03:04 +01:00
label_types.go feat: Add ParentID to Label 2023-02-28 13:44:41 +01:00
LICENSE feat: Initial open source commit 2022-11-23 12:03:04 +01:00
link.go This is an aggregated commit from go-proton-api-old repo from henrybear327 2023-09-05 23:09:03 +02:00
link_file.go This is an aggregated commit from go-proton-api-old repo from henrybear327 2023-09-05 23:09:03 +02:00
link_file_type_test.go Update module name to github.com/rclone/go-proton-api 2026-01-27 16:48:21 +00:00
link_file_types.go Create new files with the pre-crypto-refresh content key format 2026-08-01 18:16:33 +01:00
link_folder.go This is an aggregated commit from go-proton-api-old repo from henrybear327 2023-09-05 23:09:03 +02:00
link_folder_types.go Migrate from gopenpgp/v2 to gopenpgp/v3 2026-05-26 18:27:46 +01:00
link_types.go Migrate from gopenpgp/v2 to gopenpgp/v3 2026-05-26 18:27:46 +01:00
logger.go Route hardcoded logrus warnings through WithLogger when set 2026-05-04 18:21:31 +01:00
mail_settings.go feat: Initial open source commit 2022-11-23 12:03:04 +01:00
mail_settings_types.go feat: Add basic mail settings support in fake server 2023-02-03 12:22:58 +01:00
main_test.go feat: Initial open source commit 2022-11-23 12:03:04 +01:00
manager.go refactor(GODT-2500): Reorganise async methods. 2023-04-03 09:50:50 +02:00
manager_auth.go Migrate from gopenpgp/v2 to gopenpgp/v3 2026-05-26 18:27:46 +01:00
manager_auth_types.go fix(GODT-2242): Don't send any 2fa information if not needed. 2023-01-09 15:31:01 +01:00
manager_builder.go Route hardcoded logrus warnings through WithLogger when set 2026-05-04 18:21:31 +01:00
manager_domains.go feat(GODT-2181): Implement GetDomains 2022-12-13 13:12:36 +01:00
manager_download.go Migrate from gopenpgp/v2 to gopenpgp/v3 2026-05-26 18:27:46 +01:00
manager_ping.go feat: Initial open source commit 2022-11-23 12:03:04 +01:00
manager_report.go feat: Initial open source commit 2022-11-23 12:03:04 +01:00
manager_report_test.go Update module name to github.com/rclone/go-proton-api 2026-01-27 16:48:21 +00:00
manager_report_types.go feat: Initial open source commit 2022-11-23 12:03:04 +01:00
manager_status.go feat: Initial open source commit 2022-11-23 12:03:04 +01:00
manager_status_test.go Fix lint: unchecked errors on Close() calls 2026-04-30 11:32:49 +01:00
manager_test.go Update module name to github.com/rclone/go-proton-api 2026-01-27 16:48:21 +00:00
manager_user.go refactor: Clean up auth types, add user create/delete quark commands 2022-12-12 10:33:43 +01:00
manager_user_types.go refactor: Clean up auth types, add user create/delete quark commands 2022-12-12 10:33:43 +01:00
message.go feat(GODT-2829): Add MessageGroupCount route 2023-08-17 07:32:21 +02:00
message_build.go Migrate from gopenpgp/v2 to gopenpgp/v3 2026-05-26 18:27:46 +01:00
message_draft_types.go fix(GODT-2170): Create draft should set sysLabel 2022-12-02 13:33:05 +01:00
message_encrypt.go Migrate from gopenpgp/v2 to gopenpgp/v3 2026-05-26 18:27:46 +01:00
message_encrypt_test.go Migrate from gopenpgp/v2 to gopenpgp/v3 2026-05-26 18:27:46 +01:00
message_import.go Migrate from gopenpgp/v2 to gopenpgp/v3 2026-05-26 18:27:46 +01:00
message_import_test.go feat(GODT-2283): Reject message imports for messages > 30MB 2023-02-09 16:00:29 +01:00
message_import_types.go feat(GODT-2283): Limit max import size to 30MB 2023-02-09 16:00:29 +01:00
message_send.go Migrate from gopenpgp/v2 to gopenpgp/v3 2026-05-26 18:27:46 +01:00
message_send_types.go Migrate from gopenpgp/v2 to gopenpgp/v3 2026-05-26 18:27:46 +01:00
message_send_types_test.go Migrate from gopenpgp/v2 to gopenpgp/v3 2026-05-26 18:27:46 +01:00
message_types.go Migrate from gopenpgp/v2 to gopenpgp/v3 2026-05-26 18:27:46 +01:00
message_types_test.go Migrate from gopenpgp/v2 to gopenpgp/v3 2026-05-26 18:27:46 +01:00
netctl.go Fix lint: unchecked errors on Close() calls 2026-04-30 11:32:49 +01:00
netctl_test.go Fix lint: unchecked errors on Close() calls 2026-04-30 11:32:49 +01:00
option.go This is an aggregated commit from go-proton-api-old repo from henrybear327 2023-09-05 23:09:03 +02:00
package.go feat: Initial open source commit 2022-11-23 12:03:04 +01:00
paging.go refactor(GODT-2500): Reorganise async methods. 2023-04-03 09:50:50 +02:00
pool.go feat(GODT-2801): Add names to QueudChannels 2023-07-24 15:54:23 +02:00
pool_test.go refactor(GODT-2500): Reorganise async methods. 2023-04-03 09:50:50 +02:00
README.md Update module name to github.com/rclone/go-proton-api 2026-01-27 16:48:21 +00:00
response.go Migrate from gopenpgp/v2 to gopenpgp/v3 2026-05-26 18:27:46 +01:00
response_test.go Update module name to github.com/rclone/go-proton-api 2026-01-27 16:48:21 +00:00
salt.go feat: Initial open source commit 2022-11-23 12:03:04 +01:00
salt_types.go feat: Initial open source commit 2022-11-23 12:03:04 +01:00
share.go feat: Drive upload/download foundations 2023-02-13 11:18:39 +01:00
share_types.go Migrate from gopenpgp/v2 to gopenpgp/v3 2026-05-26 18:27:46 +01:00
ticker.go refactor(GODT-2500): Reorganise async methods. 2023-04-03 09:50:50 +02:00
undo.go feat: Initial open source commit 2022-11-23 12:03:04 +01:00
undo_types.go feat: Initial open source commit 2022-11-23 12:03:04 +01:00
unlock.go Migrate from gopenpgp/v2 to gopenpgp/v3 2026-05-26 18:27:46 +01:00
user.go refactor: Clean up auth types, add user create/delete quark commands 2022-12-12 10:33:43 +01:00
user_types.go This is an aggregated commit from go-proton-api-old repo from henrybear327 2023-09-05 23:09:03 +02:00
volume.go feat: Add drive volume events 2023-02-16 09:43:16 +01:00
volume_types.go feat: updated Drive's volume & share data types. 2023-06-19 08:53:12 +02:00

Go Proton API

CI Status GoDoc Go Report Card License

This repository holds Go Proton API, a Go library implementing a client and development server for (a subset of) the Proton REST API.

The license can be found in the LICENSE file.

For the contribution policy, see CONTRIBUTING.

Environment variables

Most of the integration tests run locally. The ones that interact with Proton servers require the following environment variables set:

  • GO_PROTON_API_TEST_USERNAME
  • GO_PROTON_API_TEST_PASSWORD

Contribution

This library is forked from go-proton-api which in turn was forked from go-proton-api and in order to support the Proton API Bridge project.

Contribution is welcomed!

The intention to upstream the changes are planned, once the changes to the codebase has stabilised.