web shell历史记录的web服务器

archelond的Python项目详细描述


这是Archelon的Web服务器端。一旦全部配置完毕 连接到Archelonc可以用来存储你的外壳历史 从你所有的主人那里。

它是一个简单的烧瓶应用程序,通常设计为连接到 一个ElasticSearch主机,提供一个索引良好的shell历史,以及 应该可以在Heroku上使用ElasticSearch插件免费部署。

安装和配置

pip install archelond

显然,安全性对于shell历史和设置 身份验证我们使用基本身份验证,使用apache htpasswd文件 作为用户数据库。为自己添加一个并配置archelond 要使用它,请运行以下命令:

htpasswd -c ~/.htpasswd username
exportARCHELOND_HTPASSWD_PATH=~/.htpasswd

在完成最小的设置之后,我们只需使用简单的命令:

archelond

它将使用内存中的 bash历史数据存储非常健忘。一旦它起来,你 应该可以去http://localhost:8580/,用你的用户名和密码登录 在htpasswd文件中创建,并查看 搜索并删除shell历史记录,类似于:

_static/images/archelond_screen.png

。它还提供了一个简单的 按钮以显示您在Archelonc中需要的令牌,以便将两者连接起来 一起。要直接访问restful api端,可以签出 通过访问示例命令 http://localhost:8580/api/v1/history或获取令牌以供使用 与原型http://localhost:8580/api/v1/token

连接到ElasticSearch

为了让你的历史在初创企业中存活下来,我们可以使用 弹性搜索。您可以在本地安装它,也可以从 Heroku上的附加组件。一旦你有了连接url,我们只需要 添加几个环境变量以指向服务并设置 存储提供程序类,类似于:

exportARCHELOND_ELASTICSEARCH_URL='http://localhost:9200'exportARCHELOND_ELASTICSEARCH_INDEX='history'exportARCHELOND_DATABASE='ElasticData'

可以根据需要更改索引,但它是 将用于存储历史记录的ElasticSearch。

注意

使用ElasticData的archelond可以支持多个用户 使用文档类型中的用户

投产运行

运行archelond命令有助于测试,但要运行 在生产中,您需要通过适当的wsgi运行它 应用服务器。例如,我们在 要求和它可以在生产中运行,例如:

uwsgi --http :8580 -w archelond.web:app

然后像nginx这样的web服务器通过https代理,以便 进一步保护您的shell历史记录。

在Heroku中运行

对于heroku,设置应用程序部分非常容易。只是 在repo的根目录中至少创建一个requirements.txt文件 一行:

archelond

使用以下命令设置procfile:

web: uwsgi uwsgi.ini

还有一个uwsgi.ini,看起来像:

[uwsgi]http-socket=:$(PORT)master=trueprocesses=10die-on-term=truemodule=archelond.web:appmemory-report=true

您还需要使用^{tt3}设置机密$ 命令。弹性搜索需要最小设置的变量 版本为:

ARCHELOND_DATABASE="ElasticData"ARCHELOND_ELASTICSEARCH_INDEX="my_index"ARCHELOND_ELASTICSEARCH_URL="http://example.com/elastic_search"ARCHELOND_FLASK_SECRET="a_very_long_randomized_string"ARCHELOND_HTPASSWD="username:hashfromhtpasswd"ARCHELOND_HTPASSWD_PATH="htpasswd"

注意

我还得加上-egit+https://github.com/elasticsearch/elasticsearch-py.git@master#egg=elasticsearch 因为我的ElasticSearch服务器需要 指定https、用户名和密码。当前版本 版本1.2.0没有该功能,但它在 它们的主分支

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java OutOfMemoryError以及如何使运行继续   java树映射内存使用率   使用带有java spark的javascript获取api的挂起承诺状态(POST请求)   java Android:存储用户单击的CardView   输入了有关拖动的java信息   单元测试中的java DecimalFormat(“·#,##0”)前缀   来自客户端的java超时webservice调用   java未使用的超类变量   如何在Java中的参数提示中强制执行整数限制   启动期间Tomcat中出现java错误:找不到DB名称   java Marshall/Unmarshall地图   一个类在另一个类中的java访问变量   如何在java中对字符数组的文本进行对齐?   从jenkins运行时,使用selenium上传excel文件的java不起作用   java将double转换为BigInteger   java Android键盘问题与按键释放   旋转java在两个旋转矩形之间的碰撞检测   在TestNG中执行时,XML中出现java启动错误无法继续执行测试