Changelog
- 6109fba A few minor logging fixes
- 4d4f6d0 Add API service
- 14a4184 Add AWS CloudFormation template mxpv#65
- aee6f45 Add Browsersync
- fc952bf Add CI timeouts
- a547647 Add CLI main and TOML configuration
- b92564d Add CloudFormation template for DynamoDB
- 71b3fb4 Add CloudWatch metrics filters
- 49900d9 Add CodeBuild buildspec and linters
- 9aa28ae Add Docker go app
- a89f763 Add Dockerfile
- c282932 Add Dockerfile and Makefile
- 199b213 Add DynamoDB auto scaling
- 98f0b7a Add FAQ
- 0c1a96c Add FAQ
- bcf1f3e Add Github Actions CI script
- b66cf76 Add GoReleaser configuration
- a2ec288 Add LICENSE mxpv#45
- 4d8e727 Add Makefile for updater
- 316af91 Add OPML unit test
- 5332c13 Add Patreon integration
- 1ae7f09 Add Podcast Owner Custom Definitions per mxpv#171
- f34f64e Add QNAP NAS Guide
- 8c2a2f8 Add Redis notes
- 085a225 Add Redis to docker-compose
- 081dfbd Add S3 prefix support (mxpv#498)
- 3aee543 Add TLS support
- 81aeb64 Add Travis
- 538cb3e Add Travis badge
- db29a69 Add Travis test
- f60cf3e Add URL input field
- 194eef2 Add Vimeo tutorial
- dcef9b2 Add YT API calls cost info
- 5254b91 Add YT unit test to cover iTunes compatibility
- 7ac8943 Add YouTube tutorial
- edade8d Add
storage
config section - 6d926a3 Add a few additional test cases for YouTube links
- 5d8ba19 Add a few helpers to Postgres storage to simplify migration
- 79f7369 Add assets
- b2fc06f Add backup script
- f10c993 Add banner
- cdc048a Add build scripts
- 5a50135 Add clean target
- aaf8e09 Add config.toml.example (fix mxpv#269 mxpv#194)
- 3ea416d Add container names
- c39dd14 Add contracts for generating RSS feeds
- 90a5b6f Add database model for feeds
- bc41f49 Add debug flag
- 7617018 Add debug logging and a few minor fixes
- 2522d72 Add dependabot
- 0767f97 Add docker-compose file
- ccaead6 Add error logging in download controller
- d86bf27 Add favicon
- b7a0f10 Add feed caching
- fe0b282 Add feed service tests
- 6759d60 Add font-awesome CDN fallback
- 3eec914 Add google analytics script
- 8cbd235 Add handler tests
- 2783fbd Add input arrow button
- fa9730d Add input switches
- 807be42 Add itunes:order tag
- 81dae47 Add json tags to models
- a1cc468 Add last access time for feeds
- 02676bb Add log events
- d54791e Add make release
- 24166c4 Add max_age filter to skip old episodes
- ae70d98 Add meta tags
- 2552a6c Add min and max duration filter
- ed4d7db Add more logging
- 82b28c2 Add new Angular app
- 0df41a6 Add nginx container
- c9b6f7e Add nginx routing
- 748084d Add nightly build job
- da4b824 Add nil checks to reduce panics
- 106d564 Add one more Redis note
- d871db8 Add option to enable debug mode in config.toml
- eeb3e3a Add pagination support
- 2b0706c Add pagination support for YouTube client
- b7c82cc Add parameter store prefixes for CodeBuild
- 0595068 Add pledge query
- 1afcde6 Add redis notes
- b3b7e00 Add redis notes
- ac8a889 Add release CI
- eb0e2be Add resolve counter
- 34ed952 Add resolver quota
- be36998 Add resolver service Implement youtube-dl wrapper
- 40aeedf Add router
- 2751c4b Add server bind option (mxpv#190)
- 142b0e0 Add server package
- 599b714 Add server tests
- 8080d57 Add shadows
- 7bf68f5 Add static target
- 1865b25 Add temporary workaround for Error -4047 EPIPE broken pipe
- 3edba1a Add tests for fs.S3
- 5d8dca7 Add tooltips
- 959eef1 Add twitter link
- 1b06c7d Add updater mem limit
- 78282f6 Add user info API endpoint
- d76493c Add webhooks secret configuration key
- e40f3ce Add workaroubnd for CERTIFICATE_VERIFY_FAILED error
- 30ab379 Add workers
- 3ba5959 Added detail about go being a dependency
- a6c21e6 Adding public hostname from ec2 to configuration (mxpv#94)
- 5b927fd Allow Badger configuration mxpv#118
- 5a85228 Allow CLI to be hidden behind reverse proxy mxpv#47 mxpv#43
- dbba3f2 Allow HEAD method for ytdl
- 69019d6 Allow XML extension in feed links
- a878c05 Allow additional youtube-dl arguments
- 3690018 Allow custom youtube-dl path
- 2623a30 Allow specify list of API keys in TOML
- 43c44fc Allow specify string as API key
- ab6748c Always restart Docker containers
- 7b395d6 Apply the changes directly in Dockerfile
- 0e4a7a6 Auto update youtube-dl mxpv#119 mxpv#130
- b11080f Basic YouTube feed customization
- 879d35e Better AWS configuration handling
- 75d7c40 Better DynamoDB configuration
- 1836a55 Better audio sorting in ytdl
- 0152591 Better detection of episodes with audios
- 2120a43 Better error response while resolving video link
- f68bf4a Better login handling
- fc1b11d Better mobile support
- 9f87308 Bug fixes in feed generator
- 536d060 Bug fixing
- cf06e60 Build HTML from templates
- 2b0966f Build specific Docker Image with yt-dlp
- 407c33b Bump Go version to 1.18
- 2fdc827 Bump actions/checkout from 1 to 2.4.0
- 5735329 Bump actions/checkout from 2.4.0 to 3
- 49b707c Bump actions/checkout from 3 to 4
- 2b2f6f7 Bump actions/setup-go from 1 to 2.1.5
- b825fea Bump actions/setup-go from 2.1.5 to 2.2.0
- cc6a7ca Bump actions/setup-go from 2.2.0 to 3
- 79634a3 Bump actions/setup-go from 3 to 4
- 719aefa Bump actions/setup-go from 4 to 5
- bc2c910 Bump actions/upload-artifact from 1 to 2.3.1
- 866702a Bump actions/upload-artifact from 2.3.1 to 3
- a043e26 Bump actions/upload-artifact from 3 to 4
- bb584f0 Bump docker/build-push-action from 4 to 5
- 06f4ddc Bump docker/build-push-action from 5 to 6
- 80f5d07 Bump docker/login-action from 1 to 2
- 9cc74a2 Bump docker/login-action from 2 to 3
- dc3f2f7 Bump docker/setup-buildx-action from 2 to 3
- 0c289bd Bump github.com/aws/aws-sdk-go from 1.44.103 to 1.44.109
- 77bbf69 Bump github.com/aws/aws-sdk-go from 1.44.109 to 1.44.114
- d0db54c Bump github.com/aws/aws-sdk-go from 1.44.114 to 1.44.115
- e0e2b9e Bump github.com/aws/aws-sdk-go from 1.44.115 to 1.44.116
- f8d7bb3 Bump github.com/aws/aws-sdk-go from 1.44.116 to 1.44.121
- 6c1ca00 Bump github.com/aws/aws-sdk-go from 1.44.121 to 1.44.122
- 0f25dc3 Bump github.com/aws/aws-sdk-go from 1.44.122 to 1.44.128
- c6ab9f2 Bump github.com/aws/aws-sdk-go from 1.44.128 to 1.44.144
- 4673dfe Bump github.com/aws/aws-sdk-go from 1.44.30 to 1.44.33
- 9107284 Bump github.com/aws/aws-sdk-go from 1.44.33 to 1.44.34
- ddfe534 Bump github.com/aws/aws-sdk-go from 1.44.34 to 1.44.38
- bf1b30e Bump github.com/aws/aws-sdk-go from 1.44.38 to 1.44.41
- 27d5b12 Bump github.com/aws/aws-sdk-go from 1.44.41 to 1.44.50
- d824428 Bump github.com/aws/aws-sdk-go from 1.44.50 to 1.44.60
- c713884 Bump github.com/aws/aws-sdk-go from 1.44.60 to 1.44.97
- f211714 Bump github.com/aws/aws-sdk-go from 1.44.97 to 1.44.103
- 330ac47 Bump github.com/dgraph-io/badger from 1.6.0 to 1.6.2 (mxpv#258)
- 9910373 Bump github.com/golang/mock from 1.4.3 to 1.6.0
- d117800 Bump github.com/hashicorp/go-multierror from 1.0.0 to 1.1.1
- ddca372 Bump github.com/jessevdk/go-flags from 1.4.0 to 1.5.0 (mxpv#257)
- 4428761 Bump github.com/jessevdk/go-flags from 1.5.0 to 1.6.1
- e037e0d Bump github.com/pelletier/go-toml from 1.9.4 to 1.9.5
- 4b305b5 Bump github.com/sirupsen/logrus from 1.2.0 to 1.8.1
- d43a2e9 Bump github.com/sirupsen/logrus from 1.8.1 to 1.9.0
- 31bf0c2 Bump github.com/sirupsen/logrus from 1.9.0 to 1.9.3
- 941fba5 Bump github.com/stretchr/testify from 1.4.0 to 1.7.0
- 870b90b Bump github.com/stretchr/testify from 1.7.0 to 1.7.1
- dc4efff Bump github.com/stretchr/testify from 1.7.1 to 1.7.2
- be19594 Bump github.com/stretchr/testify from 1.7.2 to 1.7.4
- c3abf57 Bump github.com/stretchr/testify from 1.7.4 to 1.7.5
- 6a34ec3 Bump github.com/stretchr/testify from 1.7.5 to 1.8.0
- 75a9690 Bump github.com/stretchr/testify from 1.8.0 to 1.8.1
- b86b8f0 Bump github.com/stretchr/testify from 1.8.1 to 1.8.2
- 92bb248 Bump github.com/stretchr/testify from 1.8.2 to 1.9.0
- 1588c02 Bump github.com/zackradisic/soundcloud-api from 0.1.5 to 0.1.8
- 84b7668 Bump golang.org/x/net from 0.11.0 to 0.17.0
- 0ee0c6e Bump golang.org/x/net from 0.17.0 to 0.23.0 (mxpv#614)
- 2e7d99a Bump golang.org/x/oauth2 from 0.0.0-20180620175406-ef147856a6dd to 0.6.0
- 3010046 Bump golang.org/x/oauth2 from 0.19.0 to 0.20.0
- cd2f2da Bump golang.org/x/oauth2 from 0.20.0 to 0.21.0
- 0e0bfa9 Bump golang.org/x/oauth2 from 0.21.0 to 0.22.0
- 0dfc8f1 Bump golang.org/x/oauth2 from 0.22.0 to 0.23.0
- ebffa3a Bump golang.org/x/oauth2 from 0.6.0 to 0.9.0
- dadc0a5 Bump golang.org/x/oauth2 from 0.9.0 to 0.19.0
- 2500587 Bump golang.org/x/sync from 0.0.0-20220722155255-886fb9371eb4 to 0.1.0
- 33b0204 Bump golang.org/x/sync from 0.1.0 to 0.6.0
- 68e5166 Bump golang.org/x/sync from 0.6.0 to 0.7.0
- 42d9b83 Bump golangci/golangci-lint-action from 2 to 3
- 75873a7 Bump golangci/golangci-lint-action from 3 to 4
- cc144e7 Bump golangci/golangci-lint-action from 4 to 5
- fee523d Bump golangci/golangci-lint-action from 5 to 6
- c478c77 Bump google.golang.org/protobuf from 1.28.0 to 1.33.0
- 90912c2 Bump gopkg.in/natefinch/lumberjack.v2 from 2.0.0 to 2.2.1
- 93c762a Bump goreleaser/goreleaser-action from 1 to 2.8.0
- 89b83f8 Bump goreleaser/goreleaser-action from 2.8.0 to 2.8.1
- aebcdf9 Bump goreleaser/goreleaser-action from 2.8.1 to 2.9.0
- b462280 Bump goreleaser/goreleaser-action from 2.9.0 to 2.9.1
- d9a897b Bump goreleaser/goreleaser-action from 2.9.1 to 3.0.0
- deb3f16 Bump goreleaser/goreleaser-action from 3.0.0 to 3.1.0
- 42011e6 Bump goreleaser/goreleaser-action from 3.1.0 to 3.2.0
- f969164 Bump goreleaser/goreleaser-action from 3.2.0 to 4.1.0
- 92fdff3 Bump goreleaser/goreleaser-action from 4 to 5
- 8c19c32 Bump goreleaser/goreleaser-action from 4.1.0 to 4.2.0
- b823a52 Bump goreleaser/goreleaser-action from 5 to 6
- 0a5dcce Bump lodash from 4.17.11 to 4.17.15 in /ui
- d4dac93 Cache error feed responses
- 460d0de Cache feeds
- 58518f3 Cache feeds
- 1fa9d31 Cache feeds in Redis
- de9a7f4 Cache video URLs
- ec5e444 Change already downloaded message
- 4275b4f Change default update period to 6h
- 1fc4063 Change publication date of a video (pubDate - xml element) to date added to playlist
- 0f6ebc4 Check Redis connection status
- 05de903 Check channel Kind
- 14307dd Check feature level when creating a new feed
- 354795e Check youtube-dl and ffmpeg dependencies before loading configuration
- 53312ee Clean backend code
- 5dc399a Clean docker-compose file
- e57746d Clean up episodes before generating XML feed
- de42b3f Clean up old frontend code
- 814a011 Cleanup unsuded files, use bundle minifier for scripts
- c48df0c Cleanup unused packages
- af5c95f Cleanup vimeo builder
- 6318ad3 Cleanup youtube builder
- aaa96f0 Code cleanup
- d133d8b Code cleanup
- c378ed0 Code style fixes
- e992227 Configure DynamoDB table names
- 617b71a Configure OAuth2 redirect URL
- be3f02d Configure Redis host
- d39e464 Configure download timeouts mxpv#186
- 6fed6da Create how_to_setup_podsync_on_synology_nas.md
- 59de027 Create ASP.NET Core Web application
- fe601f9 Create FUNDING.yml
- c38d427 Create Tests project (xunit)
- 23ea998 Create hash id from feed parameters
- 6c2514b Create index if not exists
- 0ce6e99 Customize subcategories mxpv#161
- 25d7c31 Decompose cron scheduler
- 5483455 Decouple config package
- 960faf9 Decrease resolve quota
- c9124cd Detect RSS builders automatically via reflection
- 4ca6d8b Detect feature level
- b96f484 Detect feature level
- c4097be Detect feature level on page load
- 4afc477 Detect ffmpeg or avconv for youtube-dl mxpv#122
- 1721aec Display 600 for anonymous users
- 6296a2b Do full resync for playlist items
- 59e4f5b Do not fail feed update when unable to get one episode's file size mxpv#58
- 2abcbe3 Do not fail if event is already deleted
- da93686 Dockerfile:add
--no-banner
. - edb64f9 Docs update for storage config
- 5f24489 Don't allow to create audio feeds for Vimeo
- 6005ea7 Don't break feed generation on failed episode donwload
- c6aa18c Don't publish not yet downloaded episodes mxpv#75 mxpv#67
- dd8b137 Don't publish to Github registry anymore
- ef65673 Don't query database if patron id is empty
- f4e92ef Don't return error if unable to save feed to Dynamo
- 764eb11 Don't return zero file size from updater
- be3fe06 Don't skip further video downloads on first error mxpv#54
- e9da67c Downgrade feed if delete pledge
- ccaf9d3 Download youtube-dl automatically
- d79cc87 Drop ID package
- 1f302c1 Drop Redis
- 21ff51f Drop ytdl
- 37e9b9f Eliminate Application Insights
- 4ba44ca Enable AOF
- 26e3ed4 Enable Truncate option mxpv#116
- 10c2de0 Enable back Github docker store
- 2c5e333 Enable builders API testing on CI
- c18b1b0 Enable gzip
- 6a11db7 Enable more linters
- 33c526f Execute youtube-dl asynchronously
- bca16c1 Executee pg.sql on Travis
- 8f5472d Experimental SQS based updater
- 371f4c6 Fix "SyntaxError: Unexpected token ."
- 514af6a Fix CodeBuild
- ab08711 Fix Content-Type
- 4b1249d Fix FAQ footer
- 23fb5ba Fix README markup
- 2174ac1 Fix README typo
- ce6faa4 Fix Redis storage
- 52fe94f Fix S3 setting name in example
- 44ca1da Fix SQL script
- b5b102f Fix SQL script
- 40ad9a4 Fix TOML inline table definition in Tests
- 91397fc Fix TTL updates
- 07e93ca Fix Travis
- 16797c3 Fix YouTube howto link
- 780f944 Fix YouTube pagination mxpv#42
- 3e0bd6c Fix YouTube tests
- 9c30d97 Fix blocked Patreon notifications
- 9cca09d Fix broken alpine dependency
- 87af1d1 Fix broken tests
- 42ee2c6 Fix bug with pagination
- d95385c Fix bug with quality in redis storage
- 290f1ff Fix build directory
- 59ea55d Fix closing feed updates channel too early
- 26f4b2a Fix context import
- 65ffd5b Fix cover art quality config and default being ignored
- 1c2e374 Fix data path in docker compose file
- 8957f70 Fix database version check
- 622b9f4 Fix dependency
- cbcae42 Fix deployment issues
- 7452b8d Fix docker build
- d092710 Fix download links when using custom port mxpv#43
- 372577e Fix durations (use fork with fix)
- 802932c Fix enum parser
- 83eccbd Fix episodes truncation for playlist
- f2d6afd Fix error message
- ce43d49 Fix exception if no video thumbnail
- 01ba37e Fix exception when Vimeo client requests more pages then channel has
- 6e4def0 Fix expiration time field format
- 8805dbf Fix explicit tag
- 22e7165 Fix extension for audio files mxpv#41
- 7ce47b7 Fix faq and downloads routing
- 4daecf4 Fix feed ID
- 1e5b69b Fix feed creation on client side
- 2993190 Fix feed links
- f83602b Fix feeds package
- 908e230 Fix frontend build
- b70e622 Fix go linter
- a0df050 Fix goreleaser config
- 7c1b104 Fix hostname config option
- f99bf1e Fix id generator dependency
- dde0646 Fix id parser
- a48a689 Fix infinite loop when querying video descriptions
- 83ddbe1 Fix issue with missing sound
- 9164833 Fix issues with download links
- 67478ac Fix key not found error mxpv#120
- e3aed44 Fix linter
- a48aab8 Fix linter config and lint problems
- 4baf25f Fix linter errors
- 84a4888 Fix markup for small screens
- ed08543 Fix metadata response for Redis storage
- 355c23b Fix mime type handling
- 366582d Fix minification issue on Unix
- 66150c6 Fix mockgen
- 0679cb8 Fix modal on iPad
- a352f80 Fix nginx SSL certs
- 5c29072 Fix nightly tag
- 7ad62b6 Fix occasional crash mxpv#128 mxpv#129
- d90dd97 Fix page validator
- 5f41d87 Fix page_size limited at 50 on YouTube
- 2c86d6a Fix panic when no thumbnails returned from YouTube
- aba73f7 Fix patreon link on small screens
- b44691e Fix problem with quality while resolving videos, do not allow direct links to video
- 0432ebb Fix problem with videos with no sound
- 6ea3812 Fix resolver Makefile
- 655b57d Fix resolver for audio (return m4a file instead of XML)
- 38486bb Fix resolver for vimeo, choose video quality
- b35548a Fix results popup on small screens
- df7dc56 Fix self update loop
- 68d2082 Fix server tests
- 6ce4dc9 Fix shutdown server context cancel error
- 5cfa291 Fix size calculator
- 81f9894 Fix struct tag for config
storage.local.data_dir
- f0e13ac Fix tests
- 7509ad3 Fix tests
- 087eb1b Fix tests
- 47fe3e4 Fix tests
- 1a4a0a5 Fix tests and linter
- 391489a Fix tests and lints
- 05ed843 Fix timestamp marshaling
- 1fd2d80 Fix timestamp serialization
- 19bea2f Fix title
- 54c78ad Fix underscore titles mxpv#33
- 7614b7d Fix unit test
- c2292f3 Fix unit test
- 01eb8ee Fix update access test
- 163976a Fix updater
- 4a9eafd Fix version tag when releasing docker images
- ac0aa8f Fix vimeo test
- 2644de9 Fix youtube-dl path in Docker file
- 56b0cc5 Fix ytdl for vimeo links
- 7c3d626 Fix ytdl sorting for episodes without 'filesize' field
- 88c6ac4 Fix ytdl sorting for episods without 'filesize' field
- f8f8bd9 Fixed episodes out-of-order in XML mxpv#151 mxpv#133
- 001cdf4 Generate download links inside controller action
- 62b64b6 Get rid of forked podcast package
- 2c3116a HTTPS support
- 0bc117b Handle 'Enter' press
- 7c256fd Handle YouTube URLs in format watch?v=XXX&list=YYY
- ddc1cdf Handle argument exceptions on client side
- 63e8a3c Handle downloads in ytdl
- 8084a81 Handle invalid channel id
- eb3a81a Handle private YouTube channels mxpv#10
- 30214a6 Hide Patreon block on small screens
- da17cbe Hide nginx version
- 7f68ee1 Ignore venv
- 05a1b0f Implement 600 episodes feeds
- f2a8638 Implement Badger storage
- 9d5fbf2 Implement DynamoDB storage, refactor unit tests
- 831f680 Implement HTTP server
- d67bc99 Implement Index page
- df451d9 Implement RSS feed builder
- fdfa304 Implement Redis storage
- 001fd8d Implement URL output
- 0174a32 Implement Vimeo API client
- f7e1e38 Implement Vimeo RSS builder
- 15d58b2 Implement Vimeo builder
- e78fa82 Implement YouTube API client
- 616fac5 Implement basic feed updater
- bf896cb Implement basic frontend
- cb00281 Implement basic metric tracker
- 336e501 Implement basic title matching mxpv#92 mxpv#63
- 520352d Implement catch all handler for feeds, reword error responses
- 36557d2 Implement config package
- c90a9bc Implement create feed backend API
- 23fac97 Implement database layer
- d9dd677 Implement download controller
- 753568b Implement episode downloader
- 344981f Implement feed cache verification
- 2f2c392 Implement hook handler
- 0f52d8d Implement http handler for webhooks
- 69b6cb0 Implement human id generator
- 014d048 Implement incremental YTDL updater with DynamoDB storage
- 535b7db Implement initial feed service
- cce3728 Implement initial static file server
- 7a65e3d Implement key providers
- 3565c8d Implement link service
- c0e8f7a Implement login via Patreon
- 9155af6 Implement redis storage
- 9311937 Implement remote updater
- 0b13bd6 Implement resolver lambda
- 563f7de Implement server handler, add startup logic
- c8d5a20 Implement static files handling
- e8dbb4d Implement switchers
- 9117875 Implement updater lambda prototype
- b47cc9b Implemented negative filters for title and description.
- a43373f Import wwwroot
- 5960023 Import ytdl from master
- e40bece Improve SEO
- c573f3b Improve URL extraction
- c436cf4 Improve YouTube feed rendering
- 257dacc Improve audio sorting, add tests
- f918eef Improve error logging
- f3565b2 Improve feed customizations
- e7cdf23 Improve file size estimation
- 7fd8440 Improve iTunes compatibility
- 522f858 Improve login block style
- 2842cd6 Improve resolve service API
- a2e788f Improve the slices chunking
- dd551d9 Include docker image links in release notes
- ec5eae7 Include tzdata in Dockerfile mxpv#131
- 20bf7c7 Increase cache TTL
- eb86f66 Increase client_max_body_size for Patreon webhooks
- 1a986ef Increase golangci-lint timeout
- cd39872 Increase item_id field size
- dc3dafc Increase wait timeouts for youtube-dl
- 2a7be90 Increse proxy_pass timeout for ytdl
- 06e2796 Initial CloudWatch integration
- c1130f3 Initial SoundCloud playlist support
- 5738607 Initial commit
- 3ca9943 Initial implementation of YouTube builder
- 3b34367 Initial lambda proxy implementation
- e90553f Initial migration to Vue
- 7cbe577 Initial scheduler implementation
- 4a28b12 Integrate incremental lambda updater
- d1bd2c2 Integrate key providers
- 0b0f149 Limit anonymous download
- 4fb66ae Limit for maximum resolution of videos mxpv#74 mxpv#80
- 174557e Log a message when a '429 Too Many Requests' error is detected, in case of another error log the output from youtube-dl. (mxpv#121)
- 344a481 Log failed patreon events
- e1f49c0 Log warning when youtube-dl gets 429 error mxpv#69
- d6e8a22 Looup for youtube-dl binary mxpv#95
- 9b8975c Make case insensitive comparisons
- bb0fb99 Make clarifications about config file in README
- 6eafdc8 Make error messages more descriptive
- 6465152 Make links to feeds backward compatible
- dcfe1f6 Merge constants
- a7a1700 Merge master
- 3f80ab5 Merge new podsync backend
- 28c1d2c Migrate project to VS2017, switch to .NET Core 1.1
- c5473e3 Migrate resolver from lambda to container
- 7c6cdee Migrate to gulp 4
- db4de62 Migrate to pelletier/go-toml
- a97f7d3 Migrate updater from lambda to container
- 2bd28b4 Minify scripts, update docker container
- ce02bb1 Minor Badger refactoring
- b4853aa Minor CloudFormation fix
- 641b352 Minor Makefile fixes
- 8c27301 Minor bug fixing
- fde1c53 Minor code cleanup
- dce590a Minor code cleanup
- fe02f83 Minor code refactoring
- 5997a39 Minor cover art fix
- 4853f57 Minor fixes
- 1393357 Minor improvements in pledge handler
- 8415f6f Minor log fixes
- 3043afc Minor update for webhooks location
- 87782c1 Minor updater improvements
- fe290a1 More logging for webhooks
- 28b362e Mount application credentials file in docker-compose
- 79868dc Move HTTP server to services
- 557b240 Move compose file to the root
- a5c6e2d Move cron section to docs
- fc9942b Move default values to model package
- f69da18 Move feed management to separate service, update RSS contracts
- d2a1100 Move feeds caching logic inside FeedService
- dc7cc47 Move models to api package
- 9878d2f Move scripts to the root
- a7f3870 Move session code to separate package
- cefea36 Move updater to services
- f23b45a Move ytdl to separate Docker container mxpv#7
- 0edf283 Notify when using log file (fix: mxpv#224)
- 315781b Numerous fixes to feed generator
- 0c41b47 Only consider downloaded episodes when cleaning (mxpv#152)
- bb8dc22 Optimize last id check
- 01b2f8d Optional inclusion of feeds into an opml file (mxpv#114)
- 44f4f35 Override the default link
- 18bbaee Parse vimeo links
- e242bfd Pass AWS credentials
- 2c26f6a Pass host header to upstream
- a243cef Port Podsync web UI
- 588d2ef Prepare for production - Add caddy server - Add Docker - Minor fixes in status endpoint
- af09e4c Prevent CI running jobs twice in PRs
- 9c8003a Properly handle deleted videos
- 5b7ddeb Publish nightly builds (fix: mxpv#394)
- e209c9e Pull feed metadata from API server
- ee7f16c Query create feed API from JS
- 272da90 Query metadata directly from DynamoDB
- 7f007db Query youtube-dl version
- 71084f5 Quick fix for anonymous users
- 31cb976 README.md: example config: remove quotes from max_height
- 68891e0 Readme: instructions for local build & debugging
- 453484a Rebase with main
- 7629b42 Redirect from www
- 4cfd7e7 Reduce logging in handler
- 62c2e16 Refactor YouTube feed builder
- acee1d9 Refactor builders
- 8736340 Refactor button switchers CSS
- 35ad8c3 Refactor caching
- 12cdbf6 Refactor code to allow pluggable storages
- 8fcdb6e Refactor code, update namespaces
- 73ee790 Refactor database storage
- e403bd5 Refactor dependencies, fix unit test
- 24c9e79 Refactor feed package
- 3c43f84 Refactor feeds package
- dba98c2 Refactor packages
- e764ab6 Refactor packages
- 813717a Refactor server package
- e0290af Refactor updater
- 9800fea Refactor updater
- c6e602e Refactor ytdl
- bb55caf Release ARM builds
- 89da62b Rely on youtube-dl resolver
- a21f8d9 Remove 'stale' episodes. When cleaning remove title and description to save space.
- b755dfa Remove ASP.NET app
- 52c08fb Remove CF template
- bee5377 Remove Shared folder
- 42d2295 Remove Travis
- f05f338 Remove Travis
- 2dd3b35 Remove caching from nginx
- 4ebdc47 Remove helper
- 08a58e6 Remove not needed packages
- 535623c Remove obsolete files
- eb5a3ca Remove old workaround
- 979baad Remove redirect to HTTPS, add redirect from www to non-www
- 28329de Remove scheduler
- fb9ba8a Remove temporary files and directories.
- 448aa97 Remove unused code, set RequireHeaderSymmetry to false
- 1d56daa Removed file
- b8e97b9 Rename api constants
- 072dccf Rename app to api
- 76be718 Rename builder to feed
- 252f01b Rename cf to aws
- 402ac4c Rename database package
- e9b0e54 Rename function to updater
- f1192a9 Rename function.py to resolver.py
- 2912b0f Rename models package
- 05b7dd5 Rename package
- d865ad7 Rename package webhook to patreon
- 75bd90f Rename patreon package
- 0ef90e1 Rename storage to db
- 6eaa512 Rename update-once to headless
- a546bbf Rename vars
- 7a81903 Replace deprecated function calls
- 12db317 Report metrics to Application Insights
- 0f607dc Require gopkg.in/yaml.v2 v2.2.8
- 40dd2f5 Respect page_size parameter when downloading episodes
- d57f04e Respond to HEAD requests
- da4a6ff Return 404 if YouTube channel not found
- 439883a Return 429 on QuotaExceeded exception
- 7afa78b Return error if broken session
- 10f5265 Reuse AWS credentials for Lambda
- cc9fcb4 Revert "dockerfile: source youtube-dl from alpine repos" mxpv#195
- 51367f6 Rework API implementation to build feed from DynamoDB table
- ab206fb Rework Redis serialization
- 4a33a7d Rework configuration management
- a0d1d7e Rework container builder
- 99cac5f Rework feed creation in Redis
- 03f16b1 Rework id generator
- d446760 Rework lambda resolver return parameters
- 7ef6902 Rework nginx container to host static files only
- 11932bb Rework playlist updates
- 6068afc Rework playlist updates
- 6b0a234 Rework project structure
- 947ac53 Rework release
- 7a8afee Rework resolve formats for Vimeo
- 7e8638f Rewrite bootstrap script
- 9895ae8 Rollback to old ytdl resolver for vimeo
- 8511b86 Run gin in release mode
- 1e721f0 Run updater goroutines
- 3ed2533 SEO improvements
- 9b85498 Save Redis data to disk
- 060ee21 Save cache even if DynamoDB request failed
- 304ae01 Save patreon id to database, use transaction when saving feed
- 57f24bd Save user id (fix error wrong feed data)
- d53a3e2 Serve pages without .html extension
- b88cd90 Server robots.txt via gin
- e724cd1 Server static on nginx
- 61291cc Set somaxconn kernel parameter for Redis
- 3ee9072 Show modal dialog with converter link
- 11b0e4b Simplify YouTube links parser
- 3f33184 Simplify build script for ytdl
- a3738ff Simplify docker-compose file
- 803b93f Simplify feed controller (move serialization to ToString method)
- 5f62b45 Simplify storage interface
- 531ceb7 Small improvement and fix errors reported by golangci-lint
- 937145a Small improvements
- 906a5a6 Some more improvements
- e565446 Sort episodes
- c9c2b80 Support S3-compatible provider as storage backend
- fefeacf Support YouTube mobile link formats
- 7b74630 Support additional fields in storage
- 3572e14 Support cover art quality
- 35dc604 Support episodes cleanup mxpv#44
- f5764e3 Support language tag customization
- f7d0f0b Support log rotation
- 27e41d7 Support overwriting title, author and description of feed (mxpv#177)
- e352aba Support update-and-quit mode
- 16010dc Support video counter queries for YouTube
- 7cff604 Switch to Postgres storage for feeds
- 58239a7 Switch to go modules
- 9e5fa38 Switch to logrus
- fd650fb Switch to release branch for podcast package
- 82bbd02 Switch toml package to github.com/naoina/toml
- 1372c63 Temporary disable Github registry
- 4e02c89 Track resolve exceptions
- 8fa7b30 Track telemetry while login
- 2e45ae3 Track top metrics
- 929041c Truncate long episode descriptions
- cf42d5a Updata Sanic
- ceea6a5 Update .NET packages to 1.1.1, fix nginx redirect issue
- adb5e7d Update .gitignore
- dfb3e95 Update Dockerfile
- 63d3edb Update FUNDING.yml
- beb6d5e Update Go to 1.15 and linter mxpv#141 mxpv#157
- 66f2455 Update Makefile
- 3c96ae1 Update NuGet packages
- cb66970 Update PG tests
- 44b4f30 Update README
- 77e0d00 Update README
- 751b421 Update README
- a34e87d Update README
- 7ca1d03 Update README
- f9a3205 Update README
- e89fd33 Update README
- 278f49b Update README
- 2842960 Update README
- 4064bc8 Update README
- ab8bdde Update README badges
- 0634cb9 Update README.md
- ee7385a Update README.md (mxpv#72)
- dd329e4 Update Redis configuration (add memory limit and disable OOM killer)
- 74df023 Update Redis to 5.0.1
- 995120b Update Vimeo client
- 7168f6e Update and fix linters
- 24aed66 Update badges
- 3f9c059 Update branch names on CI
- 93c7bc8 Update build script and .gitignore
- b461229 Update build.sh for ytdl
- 76985c5 Update cloud_formation.yml
- 0f60f49 Update compose file
- 145abe1 Update dependecines and Go version
- 16315c0 Update docker compose (close: mxpv#270)
- 8ffa3bd Update docker compose configuration
- 906f713 Update docker-compose.yml
- 675845d Update docs/how_to_setup_podsync_on_synology_nas.md
- 70f64c5 Update docs/how_to_setup_podsync_on_synology_nas.md
- 6bdd009 Update docs/how_to_setup_podsync_on_synology_nas.md
- 3dd0e85 Update feed customizations mxpv#125
- a3fcd67 Update go mod
- d8e042a Update golangci-lint
- b217ba8 Update golangci-lint to v1.23.1
- 6f96be1 Update linter
- 795c522 Update next update message based on crontab
- b45f722 Update nginx upstream
- 75be012 Update nginx.conf
- 621c0e8 Update patreon-go dependency
- 796130a Update pledges by patron id
- dc01be6 Update podsync.conf
- ed2b782 Update project structure
- dd25200 Update proxy
- 9f4c926 Update publish script
- f337f6c Update release actions
- cffd002 Update release notes formatting
- 71449db Update resolver in docker-compose
- 11003f4 Update robots.txt (allow root page only to be crawled)
- 005c371 Update to alpine:3.16
- 4d200da Update to latest Youtube Downloader version (mxpv#76)
- 86c56d6 Update user endpoints
- 5046e2d Update youtube-dl
- f288c22 Update youtube-dl
- ef749f9 Update youtube-dl to 2017.01.05
- d8547f8 Update youtube-dl to 2019.06.27
- f4765ab Update youtube-dl to 2019.07.16
- 18fd306 Update youtube-dl to 2019.11.05
- 975bc30 Update youtube-dl, fix resolve issues
- 77f5c50 Update ytdl to 2018.11.23
- 07a1d1c Update ytdl version
- 57d84f7 Upload podsync binaries from CI Build job
- c6715a6 Use CF stack name for prefix instead of parameter
- 7d18be9 Use Env Vars to build and push Docker Images, bump golangci-lint to v1.50.1
- 0170bbf Use Feed model
- 01d74f8 Use H.264 codec first
- 30366da Use HTTPS for download links
- 39f1bd7 Use Kerstrel instead of Caddy
- 30bfd2e Use Makefile
- 1ca0469 Use Redis map for cache data (optimize memory usage)
- f8db8c8 Use cache for error feeds to reduce spamming
- eb166c7 Use compression to fit dynamodb's limits, rework Redis caching
- b22d2dc Use context in YouTube builder
- db66f6c Use cron expression to set update intevals mxpv#88 mxpv#46
- e89c143 Use default database directory
- 0e68bda Use default logging for container
- b1a608c Use fork of podcast library
- 38f5c3c Use fs storage interface to access episodes
- 445394b Use go-opml package
- 1620697 Use golangci-lint github action
- 1f11f74 Use http for download links
- 44292ff Use lambda proxy handler integration
- eb17568 Use latest youtube-dl in Dockerfile mxpv#119
- 1df1783 Use m4a for audio
- 7f24306 Use storage to track episodes
- 395b50b Use syslog
- 3ba98e8 Use youtube-dl output template with extension parameter mxpv#50 mxpv#59
- 44e1f77 Validate go mod on CI
- 0091a8a Validate parameters in _get_updates
- e398a4f Whitelist creator id
- 4b3dba4 Write feed only if updated
- 669d559 add bilibili surpport
- 52293e4 add support for descengind playlists
- e76f43f add support to set feed as private
- 4fa6da6 build podsync inside docker
- d3fe8c6 chore: correct formating
- a0353e4 chore: files formatting
- 7d44946 chore: remove dead code added by mistake
- eb93dd9 consolidate booleans in struct
- d7885eb dockerfile: source youtube-dl from alpine repos
- d15e729 feat: added custom format support
- 861eef5 fix Cron
- 054993d fix YoutubeDL output template
- 9ed861f fix enclosureType for audio
- e9a9d4b fix nil pointer dereference for cron
- c3d2ba3 fix warnning: Variable 'feed' collides with imported package name
- 5f0123d fix: correct enclosure type on custom format
- 3a42d82 fix: correct enclosure type on custom format
- 4d36d4a go mod tidy
- 34c708d readd
WORKDIR /app
config.toml
uses relative path, from the current directory,$PWD
by default is/
. - 8d8832e readme: demonstrate new custom fields in example config.
- b38928e reformat xml.go
- c8b4aa2 run gofmt
- 2882380 ytdl 2018.5.1 introduces strange bug in Vimeo resolver:
Docker images
docker pull ghcr.io/mxpv/podsync:v0.0.1
docker pull ghcr.io/mxpv/podsync:latest