{"id":15929557,"url":"https://github.com/dan0xe/kunna","last_synced_at":"2025-10-18T20:30:15.672Z","repository":{"id":182859637,"uuid":"668581454","full_name":"Dan0xE/Kunna","owner":"Dan0xE","description":"Go-based synchronization tool","archived":true,"fork":false,"pushed_at":"2024-01-19T14:14:06.000Z","size":19,"stargazers_count":1,"open_issues_count":2,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-29T00:41:34.073Z","etag":null,"topics":["tool"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Dan0xE.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-07-20T06:33:04.000Z","updated_at":"2024-05-09T04:11:06.000Z","dependencies_parsed_at":"2023-07-21T22:17:11.642Z","dependency_job_id":"ec1c60a5-85a1-485c-a2df-986d6f7fc894","html_url":"https://github.com/Dan0xE/Kunna","commit_stats":null,"previous_names":["dan0xe/kunna"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dan0xE%2FKunna","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dan0xE%2FKunna/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dan0xE%2FKunna/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dan0xE%2FKunna/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Dan0xE","download_url":"https://codeload.github.com/Dan0xE/Kunna/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237013245,"owners_count":19241070,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["tool"],"created_at":"2024-10-07T00:04:40.711Z","updated_at":"2025-10-18T20:30:15.318Z","avatar_url":"https://github.com/Dan0xE.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Kunna - GitLab to BunnyCDN Synchronization\n\nKunna is a Go-based synchronization tool that mirrors our projects main branch (regarded as the production branch) from our GitLab instance to our BunnyCDN instance. This makes our projects available for download via our installer.\n\n## Getting Started\n\nClone this repository to any location on your computer.\n\n```bash\ngit clone https://github.com/aeronautical-studios/kunna.git\n```\n\n## Prerequisites\n\nYou will need Go installed on your computer to build and run the application. The Go version used for development is Go ``1.19.3``.\n\n## Configuration\n\nKunna uses a ``config.json`` file for its configuration. Here is an example:\n\n```json\n{\n  \"DiscordWebHook\": \"\",\n  \"TempStoragePath\": \"\",\n  \"GitlabInstanceUrl\": \"\",\n  \"GitLabAPIKey\": \"\",\n  \"BunnyCDNStorageUrl\": \"\",\n  \"BunnyCDNStoragePullZone\": \"\",\n  \"BunnyCDNAPIKey\": \"\",\n  \"BunnyCDNApiUrl\": \"\"\n}\n```\n\n**Note:** Please replace the empty strings with your actual values.\n\n## How to run Kunna\n\nTo run Kunna, use the command:\n\n```bash\ngo run .\n```\n\nTo build an executable, use the command:\n\n```bash\ngo build\n```\n\n## Error logging\n\nKunna includes a logging system that outputs to a file. Log files are named ``log_\u003ctimestamp\u003e.log.`` If an error occurs, an embed will be sent to a Discord channel via a webhook (url specified in the config.json).\\\n\n## Temporary Storage\n\nKunna uses temporary storage to process files before sending them to the BunnyCDN. The location of this storage is specified in the ``config.json`` file.\n\n## File Comparison\n\nFile comparison is used to decide which files need to be uploaded or deleted from BunnyCDN. The decision is based on comparing hashes of files (generated by kushn) from GitLab and BunnyCDN.\n\n## Synchronization\n\nKunna will automatically sync repositories at intervals. The sync operation consists of fetching repositories from GitLab, comparing files, and performing necessary upload or delete operations on BunnyCDN.\n\n## Reporting Bugs\n\nIf you encounter any bugs or issues, feel free to open an issue in this repository.\n\n## Contributing\n\nWe welcome any form of contribution. Please first discuss the change you wish to make via an issue.\n\n## License\n\nPlease see the ``LICENSE`` file for details on the license.\n\n## Contact\n\nFor any inquiries or support, please contact us via dev@aeronauticalstudios.com.\n\n## Acknowledgments\n\n- The Go team for their wonderful programming language\n- The GitLab team for their awesome platform\n- The BunnyCDN team for their robust CDN service\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdan0xe%2Fkunna","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdan0xe%2Fkunna","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdan0xe%2Fkunna/lists"}