{"id":18765195,"url":"https://github.com/illdefined/cloudlog-adifwatch","last_synced_at":"2025-08-30T16:36:32.932Z","repository":{"id":57606173,"uuid":"338689990","full_name":"illdefined/cloudlog-adifwatch","owner":"illdefined","description":"Automatic upload of ADIF log to CloudLog","archived":false,"fork":false,"pushed_at":"2025-03-10T21:20:21.000Z","size":123,"stargazers_count":12,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-26T22:02:39.532Z","etag":null,"topics":["adif","amateur-radio"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/illdefined.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-02-13T23:18:30.000Z","updated_at":"2025-03-10T21:12:10.000Z","dependencies_parsed_at":"2024-11-07T18:50:51.104Z","dependency_job_id":null,"html_url":"https://github.com/illdefined/cloudlog-adifwatch","commit_stats":{"total_commits":78,"total_committers":2,"mean_commits":39.0,"dds":"0.012820512820512775","last_synced_commit":"7f6aa49e9da47ae7c252a84556b6e2879c5210eb"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/illdefined%2Fcloudlog-adifwatch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/illdefined%2Fcloudlog-adifwatch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/illdefined%2Fcloudlog-adifwatch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/illdefined%2Fcloudlog-adifwatch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/illdefined","download_url":"https://codeload.github.com/illdefined/cloudlog-adifwatch/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248665746,"owners_count":21142123,"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":["adif","amateur-radio"],"created_at":"2024-11-07T18:33:07.925Z","updated_at":"2025-04-13T05:11:18.591Z","avatar_url":"https://github.com/illdefined.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Synopsis\n\nThis tool watches an [ADIF](https://adif.org/) log file for changes using the native filesystem\nnotification mechanism and uploads it to a [Cloudlog](https://www.magicbug.co.uk/cloudlog/)\ninstance through the [QSO API](https://github.com/magicbug/Cloudlog/wiki/API#apiqso).\n\n## Usage\n\nOn Linux systems the recommended way to use this tool is through the provided systemd unit. It\nshould be installed to `~/.config/systemd/user/`, the URL of the Cloudlog instance adjusted\nappropriately and then started with `systemctl --user start cloudlog-adifwatch.service`. To start it\nautomatically when the user logs in, enable it with `systemctl --user enable\ncloudlog-adifwatch.service`.\n\nBy default the systemd unit expects the Cloudlog API key to be available in a file at\n`~/.config/cloudlog-adifwatch/key.txt`, uses station profile ID 1 and watches the WSJT-X ADIF log\nfile at `~/.local/share/WSJT-X/wsjtx_log.adi`. These paths can be adjusted as needed in the unit\nfile.\n\nAlternatively, this tool can be started manually.\n\n### Example\n\n```\ncloudlog-adifwatch https://fernschreibstelle.de ~/.config/cloudlog-adifwatch/key.txt 1 ~/.local/share/WSJT-X/wsjtx_log.adi\n```\n\n## Implementation notes\n\nThe log is split into chunks of one ore more complete records which are then uploaded individually.\nPartial writes to the log file are handled gracefully and only complete records are uploaded.\n\nThe log file is kept open for reading and assumed to be appended to only. Truncation of the log file\nor overwriting of data already written to the log file will likely result in undesired behaviour.\n\n## Intellectual property\n\nThis work is dedicated to the public domain under the terms of the\n[CC0 1.0 licence](https://creativecommons.org/publicdomain/zero/1.0/).\n\nThe author holds no patent rights related to this work.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filldefined%2Fcloudlog-adifwatch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Filldefined%2Fcloudlog-adifwatch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filldefined%2Fcloudlog-adifwatch/lists"}