mirror of
https://github.com/thrillfall/nextcloud-gpodder.git
synced 2025-01-28 16:19:39 +01:00
dependabot[bot]
515e765e67
Bump phpunit/phpunit from 9.6.12 to 9.6.13
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.6.12 to 9.6.13. - [Changelog](https://github.com/sebastianbergmann/phpunit/blob/9.6.13/ChangeLog-9.6.md) - [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.6.12...9.6.13) --- updated-dependencies: - dependency-name: phpunit/phpunit dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
nextcloud-gpodder
Nextcloud app that replicates basic gpodder.net api to sync podcast consumer apps (podcatchers) like AntennaPod.
Clients supporting sync
client | support status |
---|---|
AntennaPod | Initial purpose for this project, as a synchronization endpoint for this client. Support is available as of version 2.5.1. |
KDE Kasts | Supported since version 21.12 |
Garmin Podcasts | Only for compatible Garmin watches, supported since version 3.3.4 |
Podcast Merlin | Full sync support podcast client for Windows |
Installation
Either from the official Nextcloud app store (link to app page) or by downloading the latest release and extracting it into your Nextcloud apps/ directory.
API
subscription
- get subscription changes:
GET /index.php/apps/gpoddersync/subscriptions
- (optional) GET parameter
since
(UNIX time)
- (optional) GET parameter
- upload subscription changes :
POST /index.php/apps/gpoddersync/subscription_change/create
- returns JSON with current timestamp
The API replicates this: https://gpoddernet.readthedocs.io/en/latest/api/reference/subscriptions.html
Example requests:
GET /index.php/apps/gpoddersync/subscriptions?since=1633240761
{
"add": [
"https://example.com/feed.xml",
"https://example.org/feed/"
],
"remove": [
"https://example.net/feed.rss"
],
"timestamp": 1663540502
}
POST /index.php/apps/gpoddersync/subscription_change/create
{
"add": [
"https://example.com/feed.xml",
"https://example.org/feed/"
],
"remove": [
"https://example.net/feed.rss"
]
}
episode action
- get episode actions:
GET /index.php/apps/gpoddersync/episode_action
- (optional) GET parameter
since
(UNIX time) - fields: podcast, episode, guid, action, timestamp, position, started, total
- (optional) GET parameter
- create episode actions:
POST /index.php/apps/gpoddersync/episode_action/create
- fields: podcast, episode, guid, action, timestamp, position, started, total
- position, started and total are optional, default value is -1
- guid is also optional, but should be sent if available
- identification is done by guid, or episode if guid is missing
- returns JSON with current timestamp
The API replicates this: https://gpoddernet.readthedocs.io/en/latest/api/reference/events.html
Example requests:
GET /index.php/apps/gpoddersync/episode_action?since=1633240761
{
"actions": [
{
"podcast": "http://example.com/feed.rss",
"episode": "http://example.com/files/s01e20.mp3",
"guid": "s01e20-example-org",
"action": "PLAY",
"timestamp": "2009-12-12T09:00:00",
"started": 15,
"position": 120,
"total": 500
},
{
"podcast": "http://example.com/feed.rss",
"episode": "http://example.com/files/s01e20.mp3",
"guid": "s01e20-example-org",
"action": "DOWNLOAD",
"timestamp": "2009-12-12T09:00:00",
"started": -1,
"position": -1,
"total": -1
},
],
"timestamp": 12345
}
POST /index.php/apps/gpoddersync/episode_action/create
[
{
"podcast": "http://example.com/feed.rss",
"episode": "http://example.com/files/s01e20.mp3",
"guid": "s01e20-example-org",
"action": "play",
"timestamp": "2009-12-12T09:00:00",
"started": 15,
"position": 120,
"total": 500
},
{
"podcast": "http://example.org/podcast.php",
"episode": "http://ftp.example.org/foo.ogg",
"guid": "foo-bar-123",
"action": "DOWNLOAD",
"timestamp": "2009-12-12T09:05:21",
}
]
Development
Testing
- mount project into apps-extra of nextcloud environment (https://github.com/juliushaertl/nextcloud-docker-dev)
docker-compose exec nextcloud occ app:enable gpoddersync
enable app so we have database tablesdocker-compose exec nextcloud phpunit9 -c apps-extra/nextcloud-gpodder/tests/phpunit.xml
Description
Applicazione Nextcloud che replica l'API di base di gpodder.net per sincronizzare le applicazioni dei podcast (podcatcher) come AntennaPod.
https://castopod.it
Readme
AGPL-3.0
Languages
PHP
92.3%
Vue
4.9%
Makefile
2%
JavaScript
0.8%