{"id":24585756,"url":"https://github.com/nugget/netskel","last_synced_at":"2025-04-28T11:51:48.434Z","repository":{"id":554556,"uuid":"185144","full_name":"nugget/netskel","owner":"nugget","description":"netskel environment synchronizer","archived":false,"fork":false,"pushed_at":"2023-04-07T11:57:38.000Z","size":1497,"stargazers_count":8,"open_issues_count":8,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-30T09:22:56.263Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":false,"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/nugget.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null},"funding":{"github":"nugget"}},"created_at":"2009-04-25T06:11:47.000Z","updated_at":"2025-01-24T05:47:05.000Z","dependencies_parsed_at":"2023-02-15T02:31:40.948Z","dependency_job_id":"ebba6260-a38c-4c85-8c3c-a5e32a3a7642","html_url":"https://github.com/nugget/netskel","commit_stats":{"total_commits":151,"total_committers":9,"mean_commits":16.77777777777778,"dds":0.4304635761589404,"last_synced_commit":"4092251b46fb3fce99cfbb75180f90fb7ab0ff93"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nugget%2Fnetskel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nugget%2Fnetskel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nugget%2Fnetskel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nugget%2Fnetskel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nugget","download_url":"https://codeload.github.com/nugget/netskel/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251311298,"owners_count":21569006,"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":[],"created_at":"2025-01-24T05:14:41.024Z","updated_at":"2025-04-28T11:51:48.417Z","avatar_url":"https://github.com/nugget.png","language":"Go","funding_links":["https://github.com/sponsors/nugget"],"categories":[],"sub_categories":[],"readme":"[![CI](https://github.com/nugget/netskel/workflows/Go/badge.svg)](https://github.com/nugget/netskel/actions)\n[![Go Report Card](https://goreportcard.com/badge/github.com/nugget/netskel)](https://goreportcard.com/report/github.com/nugget/netskel)\n[![codecov](https://codecov.io/gh/nugget/netskel/branch/master/graph/badge.svg)](https://codecov.io/gh/nugget/netskel)\n[![Release](https://img.shields.io/github/release/nugget/netskel.svg)](https://github.com/nugget/netskel/releases)\n\n```text\n                                    _       _        _ \n David McNett            _ __   ___| |_ ___| | _____| |\n                        | '_ \\ / _ \\ __/ __| |/ / _ \\ |\n http://macnugget.org/  | | | |  __/ |_\\__ \\   \u003c  __/ |\n                        |_| |_|\\___|\\__|___/_|\\_\\___|_|\n\n                        netskel environment synchronizer\n```\n# This is a deprecated project\n\nThis is no longer under active development and I no longer use this service.\n\n# INTRODUCTION\n\nnetskel is an ssh based file synchronization tool which can be used to \nmirror a central repository of files to multiple UNIX shell accounts.  It was\nbuilt to create a simple and automated mechanism for users to push out their\nvarious shell environment config files to all the machines where they have\nshell accounts.\n\nIn particular it's useful for pushing out a common .cshrc, .bashrc, or ssh\nauthorized_keys file to all your hosts.  Using netskel will allow you to make\ncentralized changes and updates to your unix enviornment without suffering\nthrough the tedium of applying those changes to the multitude of hosts where\nyou have an account.\n\n# VERSION 3.0 BREAKING CHANGES \n\nIf you are a current Netskel user with a previous version, please be aware\nthe current v3.0 release is a complete and total overhaul of the Netskel\nsystem.  The old releases required Apache web server and used http/https as\nthe deployment mechanism.  This update re-write is entirely ssh-based and \nno longer uses or requires a web server to host the back end service\n\n## SERVER REQUIREMENTS\n\n* [Go](https://golang.org) compiler to build the server binaries\n* A server that can be reached via ssh from your client installations\n* A dedicated user account on that server to operate the backend service\n\n## CLIENT REQUIREMENTS\n\n* A reasonably POSIX-flavoured system that has Bourne shell (`/bin/sh`) and \n  a modest assortment of the usual Unix tools.\n* The `xxd` binary (part of vim, should be on any Linux and macOS box but will\n  require the vim port/package on FreeBSD.  This replaces the older Netskel's\n  reliance on `uuencode` and `uudecode` which is no longer reliably present on\n  modern machines.\n\n# INSTALLATION\n\n* Create a user on your server to hold the server code and your userland\n  database.  This user's homedirectory will be your install path.  Suggested\n  `/usr/local/netskel` with the user's shell as `/usr/local/netskel/bin/server`\n  and no password.\n* Copy your personal `authorized_keys` file to the netskel user's `.ssh` \n  directory with the proper permissions.\n* Run `make \u0026\u0026 make install` from the `server` directory of this repo\n* Place any files and directories you want to deploy in the `./db/` folder of\n  your Netskel installation.  By default this is a git repo so you can use\n  version control to track changes and additions to it.\n* Run `make userzero` from the `server` directory of this repo, which will\n  bootstrap your current login on your host as the first deployment of the\n  client.  Verify that the server info in `~/.netskel/config` makes sense\n  to you.\n\nYou should now be able to use `netskel push \u003chostname\u003e` to deploy the netskel\nclient from your current account to other hosts.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnugget%2Fnetskel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnugget%2Fnetskel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnugget%2Fnetskel/lists"}