{"id":15105681,"url":"https://github.com/bitesinbyte/ferret","last_synced_at":"2025-10-23T01:30:38.460Z","repository":{"id":221726917,"uuid":"755024159","full_name":"bitesinbyte/ferret","owner":"bitesinbyte","description":"Automate the syndication of RSS feed posts to various social media platforms seamlessly with Ferret. Simplify your content distribution process and reach your audience effortlessly.","archived":false,"fork":false,"pushed_at":"2024-10-06T05:52:00.000Z","size":6448,"stargazers_count":8,"open_issues_count":0,"forks_count":10,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-01-30T16:43:24.343Z","etag":null,"topics":["facebook","instagram-threads","linkedin","mastodon","medium","meta-threads","rss-aggregator","rss-feed","twitter"],"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/bitesinbyte.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-09T09:22:32.000Z","updated_at":"2024-12-29T21:12:47.000Z","dependencies_parsed_at":"2024-02-09T18:24:41.999Z","dependency_job_id":"00252c6d-9eac-465b-9855-7e5d27118f97","html_url":"https://github.com/bitesinbyte/ferret","commit_stats":null,"previous_names":["bitesinbyte/ferret"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitesinbyte%2Fferret","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitesinbyte%2Fferret/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitesinbyte%2Fferret/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitesinbyte%2Fferret/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bitesinbyte","download_url":"https://codeload.github.com/bitesinbyte/ferret/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237759101,"owners_count":19361458,"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":["facebook","instagram-threads","linkedin","mastodon","medium","meta-threads","rss-aggregator","rss-feed","twitter"],"created_at":"2024-09-25T20:42:04.362Z","updated_at":"2025-10-23T01:30:38.087Z","avatar_url":"https://github.com/bitesinbyte.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/bitesinbyte\"\u003e\n    \u003cimg src=\"https://github.com/bitesinbyte/ferret/raw/main/.github/images/logo.png\" width=\"256px\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\u003ch1 align=\"center\"\u003eFerret\u003c/h1\u003e\n\nAutomate the syndication of RSS feed posts to various social media platforms seamlessly with Ferret. Simplify your content distribution process and reach your audience effortlessly.\n\nAll updated docs and blog posts related to ferret can be found [here](https://blogs.bitesinbyte.com/categories/ferret/).\n\n## Supported Social Sites\n\n| Site       | Status    |\n| ---------- | --------- |\n| Mastodon   | Supported |\n| LinkedIn   | Supported |\n| Twitter(X) | Supported |\n| Facebook   | Supported |\n| Thread     | Supported |\n\n## Configuration\n\nFollow these steps to configure the project for your use:\n\n1.  #### Fork the GitHub Repository\n\n    To make changes and contribute to the project, fork the GitHub repository by following these steps:\n\n    - Visit the GitHub repository you want to fork.\n    - Click on the \"Fork\" button located at the top-right corner of the page.\n    - Wait for the forking process to complete.\n    - Once forked, you will have your copy of the repository in your GitHub account.\n\n2.  #### Setting Up GitHub Secrets and Variables\n\n    To securely store sensitive information and configure environment variables for your GitHub Actions workflow, follow these steps:\n\n    - Setting Up GitHub Secrets:\n\n      1. Visit your forked repository on GitHub.\n      2. Go to the \"Settings\" tab.\n      3. In the left sidebar, click on \"Secrets\".\n      4. Click on \"New repository secret\".\n      5. Add the following secrets:\n\n      ```\n         MASTODON_ACCESS_TOKEN\n         LINKEDIN_ACCESS_TOKEN\n         TWITTER_CONSUMER_KEY\n         TWITTER_CONSUMER_SECRET\n         TWITTER_ACCESS_TOKEN\n         TWITTER_ACCESS_TOKEN_SECRET\n         USER_EMAIL: GitHub User Email\n         USER_NAME: GitHub User Name\n         FACEBOOK_ACCESS_TOKEN\n         THREAD_ACCESS_TOKEN\n      ```\n\n    - Setting Up GitHub Variables:\n\n      Visit your forked repository on GitHub.\n\n      1. Go to the \"Settings\" tab.\n      2. In the left sidebar, click on \"Secrets\".\n      3. Scroll down to the \"Environment Variables\" section.\n      4. Add the following variables:\n\n      ```\n         MASTODON_INSTANCE_URL\n         FACEBOOK_PAGE_ID\n         THREAD_USER_ID\n      ```\n\n    For detailed instructions on how to add secrets and variables in GitHub, refer to the GitHub documentation: Creating and storing encrypted secrets.\n\n3.  #### Updating config.json\n\n    config.json contains the configurations regarding your connectors.\n\n    ```json\n    {\n    \"last_run_time\": \"2024-02-11T07:07:57.635936+01:00\",\n    \"base_url\": \"https://blogs.bitesinbyte.com\",\n    \"feed_endpoint\": \"/feed.xml\",\n    \"does_meta_og_image_has_relative_path\": true,\n    \"socials\": [\n        \"facebook\",\n        \"linkedin\",\n        \"mastodon\",\n        \"twitter\",\n        \"thread\"\n    ]\n    }\n    ```\n4. #### Enable workflow(GitHub Action)\n    By default, GitHub disables workflows when you fork a repository. Since Ferret depends on GitHub Actions/Workflows, you can enable them by following these steps:\n    - Navigate to the \"Actions\" tab.\n    - Click \"I understand my workflows, go ahead and enable them.\"\n      ![workflow1](.github/images/workflow1.png)\n    - Locate and enable the \"Social Post\" workflow.\n      ![workflow2](.github/images/workflow2.png)\n\n\n\u003cspan style='color: red;'\u003eNote\u003c/span\u003e\n\nEnsure that you've provided the correct values for each secret and variable according to your setup. These configurations are necessary for the smooth functioning of the project and integration with external services.\n\n## Local Development Steps\n\nFollow these steps to set up and run the project locally on your machine:\n\nPrerequisites\nMake sure you have Go version 1.21.5 installed on your system. If not, follow these steps to download and install Go:\n\n1. Visit the official Go website: \u003chttps://golang.org/dl/\u003e\n2. Download the installer for your operating system.\n3. Follow the installation instructions provided on the website.\n\nSetting up Environment Variables\n\nBefore running the application locally, ensure you have a .env file in the root directory of the project. This file should contain the following environment variables:\n\n```\nMASTODON_INSTANCE_URL=\nMASTODON_ACCESS_TOKEN=\nTWITTER_CONSUMER_KEY=\nTWITTER_CONSUMER_SECRET=\nTWITTER_ACCESS_TOKEN=\nTWITTER_ACCESS_TOKEN_SECRET=\nRSS_FEED_URL=\nLINKEDIN_ACCESS_TOKEN=\nFACEBOOK_ACCESS_TOKEN=\nFACEBOOK_PAGE_ID=\nTHREAD_USER_ID=\nTHREAD_ACCESS_TOKEN=\n```\n\nFill in the values for these variables according to your environment.\n\nBuilding the Application\nTo build the application, execute the following command in your terminal:\n\n```bash\ngo build -o bin/ferret ./cmd/ferret\n```\n\nThis command will compile the application and generate an executable file named ferret inside the bin directory.\n\nRunning the Application\nOnce the application is built, you can run it using the following command:\n\n```bash\n./bin/ferret\n```\n\nThis command will execute the compiled ferret binary and start the application locally.\n\n\n\u003cspan style='color: red;'\u003eNote\u003c/span\u003e\n\nEnsure all required environment variables are correctly set in the .env file before running the application.\n\n## License\n\nLicensed under the [MIT license](https://github.com/bitesinbyte/ferret/blob/main/LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbitesinbyte%2Fferret","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbitesinbyte%2Fferret","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbitesinbyte%2Fferret/lists"}