{"id":15099184,"url":"https://github.com/dozenlimestone/simplegithubapi","last_synced_at":"2026-01-29T10:02:49.762Z","repository":{"id":213341512,"uuid":"733600154","full_name":"DozenLimeStone/SimpleGithubAPI","owner":"DozenLimeStone","description":"Simple Github API made with C. Requires cURL installed. Includes Base64 encryption, little JSON support, GithubAPI ( that needs cURL to work ) and strnstr function.","archived":false,"fork":false,"pushed_at":"2025-08-29T07:26:14.000Z","size":26,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-29T11:17:46.445Z","etag":null,"topics":["api","base64","c","github-api","json","libcurl"],"latest_commit_sha":null,"homepage":"","language":"C","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/DozenLimeStone.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-12-19T17:34:44.000Z","updated_at":"2025-08-29T07:26:17.000Z","dependencies_parsed_at":"2023-12-20T14:46:15.639Z","dependency_job_id":"39c1c57c-4907-49e7-9c73-f3ed74620969","html_url":"https://github.com/DozenLimeStone/SimpleGithubAPI","commit_stats":null,"previous_names":["dozenlimestone/simplegithubapi"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DozenLimeStone/SimpleGithubAPI","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DozenLimeStone%2FSimpleGithubAPI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DozenLimeStone%2FSimpleGithubAPI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DozenLimeStone%2FSimpleGithubAPI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DozenLimeStone%2FSimpleGithubAPI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DozenLimeStone","download_url":"https://codeload.github.com/DozenLimeStone/SimpleGithubAPI/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DozenLimeStone%2FSimpleGithubAPI/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28875446,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-29T09:47:23.353Z","status":"ssl_error","status_checked_at":"2026-01-29T09:47:19.357Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["api","base64","c","github-api","json","libcurl"],"created_at":"2024-09-25T17:07:20.997Z","updated_at":"2026-01-29T10:02:49.740Z","avatar_url":"https://github.com/DozenLimeStone.png","language":"C","readme":"### Simple Github API made with C language.\n##### _Please do not do pull requests, rather comment in issues._\n##### _The code is in pretty bad structure. If you find any better solutions, do pull requests_\n\nIt works briefly for now.\n\n\n**JSON support**: \\\n  - is in jsonfind.h header file \\\n  - for now contains only two functions: \\\n    - _int jsonfindpairindex(const char* data, const char* key)_ \\\n      - it finds pair index of given pair key \\\n      - returns -1 if it can't find \\\n    - _char* jsongetpairvalue(const char* data, const int pairindex)_ \\\n      - it finds pair value based on pair index \\\n      - returns NULL if it doesn't succeed \\\n  - I will add more function to jsonfind.h soon.\n\n**Base64 encryption**: \\\n  - is in base64.h header file \\\n  - got from https://nachtimwald.com/2017/11/18/base64-encode-and-decode-in-c/, slightly modified \\\n  - offers you some functions, important two are *base64_encode()* and *base64_decode()*, both accept _char*_ as input. \\\n\n**Github API**: \\\n  - is in githubapi.h header file \\\n  - requires linking curl to work. if you want to lecture me on how to make a library out of my project, \\\n    do comment in issues. \\\n  - every function you need to pass a _struct requestdata_ data type \\\n    - _struct requestdata_ contains: \\\n      - _char* token_ \\\n      - _char* link_ \\\n  - provides you with some basic functions: \\\n    - init ones: \\\n      - _void initrequest()_ initialization \\\n      - _void settoken(struct requestdata* data, const char ntoken[])_ sets the authentication token, \\\n        https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens \\\n      - _void setlink(struct requestdata* data, const char nowner[], const char nrepo[])_ sets owner and repo to write in \\\n    - freeing ones: \\\n      - _void cleanrequest()_ cleans curl \\\n      - _void freetoken()_ frees token \\\n      - _void freelink()_ frees repo and owner \\\n    - usage ones: \\\n      - _char* getfile(struct requestdata* data,const char* path)_ \\\n      - _char* createfile(struct requestdata* data, const char* path, const char* message, const char* content)_ \\\n      - _char* updatefile(struct requestdata* data, const char* path, const char* message, const char* content, const char* sha)_ \\\n      - _char* deletefile(struct requestdata* data, const char* path, const char* message, const char* sha)_ \\\n      - additional sha argument is needed, you get it by using getfile() and then obtaining the sha value \\\n        using jsonfind.h functions. it is shown in example main file\n\n**Strnstr**: \\\n  - we should not forget about that! it is licensed, I got it from somewhere \\\n  - details in strnstr.h header file\n\nThat was it! Farther details are shown in example main file. \\\nThis project will get updated, fixed over time.\n\n\n\n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdozenlimestone%2Fsimplegithubapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdozenlimestone%2Fsimplegithubapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdozenlimestone%2Fsimplegithubapi/lists"}