Commit Graph

7 Commits

Author SHA1 Message Date
Senis
e4c79cd316
Refactor API structure and split IPTV providers
The project structure has been refactored to separate each IPTV provider into its individual module. Also, created a clear interface for the API client. This greatly improves code readability and maintainability by separating concerns based on the provider. Now, it is easier to add or modify a provider. Additionally, the API client interface ensures a standard way to interact with different providers.

Refactor GitHub workflow and add snapshot workflow

In the `release.yml` workflow, `workflow_dispatch` has been removed as it's redundant. Meanwhile, a new file `snapshot.yml` has been added to handle the creation and uploading of snapshots. This workflow includes steps for setup, go releaser and uploading the assets.
2024-01-19 17:46:28 +08:00
Senis
b874888414
Implement GoReleaser for project distribution
Added a '.goreleaser.yml' configuration file to automate the build process across different OS: Linux, Windows, and Darwin. Also, adjusted 'ci.yml' in GitHub Actions for compatibility with GoReleaser. Moreover, made changes to '.gitignore' for ignoring created distributions and altered the Dockerfile. Version information now includes build date and has been incorporated into the .goreleaser.yml configuration.
2024-01-16 00:10:58 +08:00
Senis
d1923d9708
Update controller concurrency and Dockerfile, provide detailed version info
Enhanced the 'controller.go' file to enforce a maximum concurrency limit of 16. Also made changes in Dockerfile including setting a new repository mirror, adding git for using git commit hash at build which can be displayed through 'version.go'. This commit leads to an improved application performance, more streamlined build process and detailed version information.

Update CI/CD workflow in GitHub Actions

Changed the 'ci.yml' configuration file to trigger build process on each push event for any tag. This change optimizes the workflow to ensure code is tested and integrated on every version increment without waiting for a pull request.
2024-01-15 20:02:31 +08:00
Senis
89e6fd6ac0
Refactor controller logic, update Dockerfile and version visuals
Revised the condition statement in 'controller.go' to ensure maximum concurrency doesn't exceed 16. Adjusted the Dockerfile to change the repository mirror, add git, and include the git commit in the build. Updated 'version.go' to present the commit version and enhance the descriptor's detail. These changes aim to optimize the application's operation, build process, and provide more informative version details.
2024-01-12 16:24:31 +08:00
Senis
9b243c5dde
Refactor 'handler' to 'server' and enhance version log
Renamed 'handler' package to 'server' to better reflect its role. Improved version logging by changing it to a string return function, enabling more flexible use of version information. Added version details to the start of the Controller's Start() method.
2024-01-08 20:41:58 +08:00
Senis
fe53df21b7
Update EPG model and parsing mechanisms
This commit revises the EPG model's struct tag to include mapstructure along with json. It also includes an implementation switch from goquery and otto to mapstructure for data parsing. This removes dependencies on PuerkitoBio/goquery and robertkrimen/otto. The commit also includes some minor code refactors for the more efficient handling of EPG data along with a version bump to 0.0.3.
2024-01-05 23:25:33 +08:00
Senis
8b3020e086
Initial commit 2024-01-05 08:47:10 +08:00