{ "info": { "author": "Paul Landes", "author_email": "landes@mailc.net", "bugtrack_url": null, "classifiers": [], "description": "# Simple program to connect to servers from a list.\n\n[![Travis CI Build Status][travis-badge]][travis-link]\n\nThis is a simple program to load servers from a file, list them, then allow you to login, SSH mount, etc.\n\nFeatures provided by a terse command line syntax:\n\n* Login using a terminal instance on the command line via SSH.\n* Invoke an xterm on a configured host.\n* Mount and unmount a [SSH Fuse] directory.\n* Invoke a [Emacs] session via SSH.\n* Print environment in a [bash] `export` format for scripting.\n* Output a bourne shell script that does what the script would do for a\n particular environment (per `-n` option).\n\nOther commands are easily configurable in [cli.py].\n\n\n## Obtaining\n\nThe easist way to install the command line program is via the `pip` installer:\n```bash\npip install zensols.hostcon\n```\n\nBinaries are also available on [pypi].\n\n\n## Usage\n\nFirst, create a configuration file. Examples used by the test cases are\ngiven [here](test-resources). Below is a simple example that declares an SSH\nhost `jove` on the (default) port 22 with [SSH Fuse] mount options convenient for\na MacOS client.\n\n```ini\n[default]\nhost_name=jove\nssh_port=22\nssh_switches=-X -Y\nmount_options=reconnect,sshfs_sync,no_readahead,sync_read,cache=no,noreadahead,noubc,noappledouble,noapplexattr\n```\n\nSave this example to `~/.hostconrc` or anywhere else specified in environment\nvariable `HOSTCONRC`. Now we can get include this as environment:\n\n```bash\n$ hostcon env\nexport DOMAIN=None\nexport HOST_NAME=jove\nexport SSH_PORT=22\nexport USER_NAME=someuser\n```\n\nStart an XTerm on the host:\n\n```bash\n$ hostcon\ninvoking ssh -X -Y -f -p 22 someuser@jove /usr/bin/xterm\n```\n\nSee the [test cases](test/python/tests.py) for more examples of how to\nconfigure and *alias* host information.\n\n\n### Help\n\nThe usage is given with `-h`:\n\n```sql\n$ hostcon -h\nUsage: hostcon [options]\n\nOptions:\n --version show program's version number and exit\n -h, --help show this help message and exit\n -s, --short short output for list\n -w NUMBER, --whine=NUMBER\n add verbosity to logging\n -n HOST_NAME, --hostname=HOST_NAME\n the host to connect to\n -d, --dryrun dry run to not actually connect, but act like it\n```\n\n\n## Changelog\n\nAn extensive changelog is available [here](CHANGELOG.md).\n\n\n## License\n\nCopyright \u00a9 2018 Paul Landes\n\nApache License version 2.0\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n[http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n\n\n[SSH Fuse]: https://github.com/libfuse/sshfs\n[Emacs]: https://www.gnu.org/software/emacs/\n[bash]: https://www.gnu.org/software/bash/\n[cli.py]: python/zensols/hostcon/cli.py\n[pypi]: https://pypi.org/project/zensols.hostcon/\n\n[travis-link]: https://travis-ci.org/plandes/hostcon\n[travis-badge]: https://travis-ci.org/plandes/hostcon.svg?branch=master\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/plandes/hostcon/releases/download/v0.5.0/zensols.hostcon-0.5.0-py3-none-any.whl", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/plandes/hostcon", "keywords": "tooling", "license": "", "maintainer": "", "maintainer_email": "", "name": "zensols.hostcon", "package_url": "https://pypi.org/project/zensols.hostcon/", "platform": "", "project_url": "https://pypi.org/project/zensols.hostcon/", "project_urls": { "Download": "https://github.com/plandes/hostcon/releases/download/v0.5.0/zensols.hostcon-0.5.0-py3-none-any.whl", "Homepage": "https://github.com/plandes/hostcon" }, "release_url": "https://pypi.org/project/zensols.hostcon/0.5.0/", "requires_dist": [ "zensols.actioncli (>=1.0.9)" ], "requires_python": "", "summary": "Load servers from a file, list, login, and SSH mount", "version": "0.5.0" }, "last_serial": 4291357, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "98eaed00d5c964a33a8f5f9b33b6d405", "sha256": "f6edb08ec92532613e1efdcd56300a1b9828859fa3f47e99a267c74da71b878c" }, "downloads": -1, "filename": "zensols.hostcon-0.1.tar.gz", "has_sig": false, "md5_digest": "98eaed00d5c964a33a8f5f9b33b6d405", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5083, "upload_time": "2018-03-28T16:36:49", "url": "https://files.pythonhosted.org/packages/73/af/9806135ddd1941e208e7a515e802027071cebeff625503a743a306d3bb3f/zensols.hostcon-0.1.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "d623553dfb4bd77aeaf61de8bd2de811", "sha256": "b7540ada00063c249a43f33b8c2b39e9acd7a66bcff8ef57d01549666bfc6a2c" }, "downloads": -1, "filename": "zensols.hostcon-0.3-py3.6.egg", "has_sig": false, "md5_digest": "d623553dfb4bd77aeaf61de8bd2de811", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 13873, "upload_time": "2018-07-21T01:48:53", "url": "https://files.pythonhosted.org/packages/bb/1a/1d3a7b310615df55285629cc33f50f5b6d6f9c302ddbd21055b151e3eff6/zensols.hostcon-0.3-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "65688f6bf654c3941c49202d52b153c2", "sha256": "ef8c203d02bbe51c130146442bf86dd92d16e568d08dbfd186d1e43cf07ac257" }, "downloads": -1, "filename": "zensols.hostcon-0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "65688f6bf654c3941c49202d52b153c2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7312, "upload_time": "2018-07-21T01:48:52", "url": "https://files.pythonhosted.org/packages/22/0b/b8fdeeef4ec7ef8bc94da6c7a83bed08058678de00e05aa7785c2ecb41c2/zensols.hostcon-0.3-py3-none-any.whl" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "24dcf9e0027e014e7297ef947b606d21", "sha256": "3e15b58508ece4da306f57707e572bbfb870090929f5d2c0469f3cf28715c11c" }, "downloads": -1, "filename": "zensols.hostcon-0.4-py3.6.egg", "has_sig": false, "md5_digest": "24dcf9e0027e014e7297ef947b606d21", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 13934, "upload_time": "2018-07-21T21:44:03", "url": "https://files.pythonhosted.org/packages/33/57/75c00fd0b26278440f0b12bd77ab54c51e21f0e98302f7cce26fae82c84d/zensols.hostcon-0.4-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "e9d35a22beac6ecc67d340aa530ee19c", "sha256": "c94424000bfdb6d9fe6c0db6cb8bc3c8837d7ec8ad05fe3844426ea4048a2956" }, "downloads": -1, "filename": "zensols.hostcon-0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "e9d35a22beac6ecc67d340aa530ee19c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7343, "upload_time": "2018-07-21T21:44:03", "url": "https://files.pythonhosted.org/packages/a7/98/13f5741e9f4190fca31b94cecc3652a8a35c085d402397050a57b6a6fbec/zensols.hostcon-0.4-py3-none-any.whl" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "72ede10f02ece6b6d54e0e326fc73a1a", "sha256": "0664dba629b8d7f328913697d762809a47afac55c30cc2da9f946718df7f11de" }, "downloads": -1, "filename": "zensols.hostcon-0.5.0-py3.6.egg", "has_sig": false, "md5_digest": "72ede10f02ece6b6d54e0e326fc73a1a", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 13886, "upload_time": "2018-09-20T05:29:41", "url": "https://files.pythonhosted.org/packages/48/82/8d1cf5ef096abe35f21b156d7c6265fd7abf4bdf068472ac3291c707ec98/zensols.hostcon-0.5.0-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "cba050784f3a42a6e274c4d3a76a8b90", "sha256": "78e6caa117fa60d475857b7c32347661ec250c33018b7678b4a9109bcfef19fe" }, "downloads": -1, "filename": "zensols.hostcon-0.5.0-py3-none-any.whl", "has_sig": false, "md5_digest": "cba050784f3a42a6e274c4d3a76a8b90", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7300, "upload_time": "2018-09-20T05:29:40", "url": "https://files.pythonhosted.org/packages/77/d6/d2d2b1112642f2546a60c815f035f9f40e6efdb15d95da78d27dbc66e46f/zensols.hostcon-0.5.0-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "72ede10f02ece6b6d54e0e326fc73a1a", "sha256": "0664dba629b8d7f328913697d762809a47afac55c30cc2da9f946718df7f11de" }, "downloads": -1, "filename": "zensols.hostcon-0.5.0-py3.6.egg", "has_sig": false, "md5_digest": "72ede10f02ece6b6d54e0e326fc73a1a", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 13886, "upload_time": "2018-09-20T05:29:41", "url": "https://files.pythonhosted.org/packages/48/82/8d1cf5ef096abe35f21b156d7c6265fd7abf4bdf068472ac3291c707ec98/zensols.hostcon-0.5.0-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "cba050784f3a42a6e274c4d3a76a8b90", "sha256": "78e6caa117fa60d475857b7c32347661ec250c33018b7678b4a9109bcfef19fe" }, "downloads": -1, "filename": "zensols.hostcon-0.5.0-py3-none-any.whl", "has_sig": false, "md5_digest": "cba050784f3a42a6e274c4d3a76a8b90", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7300, "upload_time": "2018-09-20T05:29:40", "url": "https://files.pythonhosted.org/packages/77/d6/d2d2b1112642f2546a60c815f035f9f40e6efdb15d95da78d27dbc66e46f/zensols.hostcon-0.5.0-py3-none-any.whl" } ] }