分类目录归档:Tools

开源CRM/ERP比较

名称 语言 协议 提供外部API 项目地址
悟空 PHP/JAVA 商业 否(但是管理后台采用rest) https://gitee.com/wukongcrm/72crm
PSI PHP GPLv3 插件化ERP https://gitee.com/crm8000/PSI
SugarCRM PHP GPLv3 开源版本已不更新 https://sourceforge.net/projects/sugarcrm/
SuiteCRM PHP GPLv3 基于SugarCRM,目前仍在更新 https://github.com/salesagility/SuiteCRM
VtigerCRM PHP GPLv3 基于SugarCRM,开源版本已不更新
Odoo Python GPLv3 插件化ERP https://github.com/odoo/odoo
OFBiz Java Apache 未知 https://ofbiz.apache.org/

最后得出,
CRM完全免费用SuiteCRM,悟空收费中文支持好。
小型ERP选择Odoo,大公司ERP选择OFBiz。

Appwrite介绍:开源的移动和WEB后端服务

Appwrite是面向前端和移动开发人员的新型开源端到端后端服务器,可让您更快地构建应用程序。

Appwrite的目标是抽象和简化REST API和工具背后的常见开发任务,以帮助开发人员更快地构建高级应用程序。

在这篇文章中,我将简要介绍一些主要的Appwrite服务,并解释它们的主要功能以及它们的设计方式,以帮助您比从头开始编写所有后端API时更快地构建下一个项目。

Appwrite服务器打包为docker容器,您可以使用本地计算机或云提供商终端上的简单docker-compose命令轻松设置。

mkdir appwrite-ce && \
cd appwrite-ce && \
curl -o docker-compose.yml https://appwrite.io/docker-compose.yml && \
docker-compose up -d --remove-orphans

Appwrite身份验证

您可以轻松地将OAuth提供程序集成为应用程序的新登录方法

通过Appwrite身份验证服务,您可以轻松管理用户注册并登录您的应用。Auth服务还提供与多个OAuth提供商的内置集成,如Facebook,Github,LinkedIn等。

除了管理对您的应用及其不同资源的访问控制之外,Auth服务还抽象其他重复任务,例如管理用户电子邮件确认和密码恢复。

使用Auth服务可以节省构建稳定安全的用户身份验证和授权系统所带来的大量时间和顾虑,同时还必须与多个第三方登录方法集成。

Appwrite帐户

file

Appwrite Account服务向您的客户端公开了一个API,允许您与当前登录的用户帐户进行交互。

Appwrite帐户服务可让您管理用户活动会话。

帐户服务允许您的用户更新其帐户相关信息,并保存他们的私人偏好,如用户界面语言,时区或喜爱的主题。您可以使用您希望的任何偏好设置用户。

您还可以使用API获取用户活动会话的列表,包括有关会话位置,设备,操作系统和用户代理的信息。使用API安全日志端点,您可以让用户查看其最新登录,密码恢复和其他安全敏感事件。

Appwrite数据库

file

Appwrite数据库仪表板允许您轻松浏览项目集合和文档。

Appwrite数据库服务允许您直接从客户端应用程序集成您的用户和应用程序数据,无论是浏览器还是本机应用程序。数据库中的每个文档都能够嵌套其他子文档。使用Appwrite数据库筛选器,您可以应用高级查询并筛选嵌套文档集合。

每个文档都可以为特定用户,用户团队,API密钥或用户角色设置读写权限。使用Appwrite数据库,简单而灵活的权限机制,您可以为您的应用程序管理复杂和复杂的访问控制逻辑。

Appwrite数据库还可以灵活地选择结构化数据收集或灵活的收集,以便随时管理数据。使用Appwrite,简单而强大的数据集合,您可以为集合中的每个文档强制执行数据结构和验证规则。

Appwrite存储

Appwrite Storage服务是让您或您的应用用户安全,简单地上传和管理文件的最简单方法。

Appwrite Storage API利用了Appwrite数据库使用的相同的简单读写权限机制。这使您可以轻松确定所有用户,特定用户甚至用户团队是否可以访问您的文件。

var appwrite = new window.Appwrite();

appwrite
    .setEndpoint('https://localhost/v1')
    .setProject('[PROJECT-ID]')
;

var file  = document.getElementById('file-input').files[0];
let read  = ['*']; // wildecard read access
let write = ['user:self']; // write access only to me

appwrite.storage.createFile(file, read, write)
    .then(function (response) {
        console.log('file uploaded successfully');
    }, function (error) {
          console.log(error);
    });

Appwrite Storage API允许您轻松地在应用程序中集成安全文件上载。

Appwrite Storage服务还提供与自动更新的防病毒服务器的内置集成。所有上传到您系统的新文件都会进行扫描和验证,以确保您和您的用户的安全。

Appwrite Storage服务提供的最有用的功能之一是能够预览文件内容并在应用程序或网站中将其显示为缩略图。您还可以动态更改缩略图的大小,在不同的图像格式之间进行转换(支持webp!)并更改其质量以提高网络性能。

Appwrite Teams

Appwrite Teams服务允许您和您的用户创建团队并共享不同API资源(如文件或文档)的权限。这是为您的产品实施复杂访问控制要求的一种非常简单的方法。

每个团队成员也可以被授予不同的角色,以便您获得更大的灵活性。

Appwrite Task

file

Appwrite Task 服务是设置定期计划作业的好方法。

而不是使用复杂的crontabs或长时间运行的守护进程处理并担心容错,监视和错误记录等问题,您需要做的就是提交一个表单,其中您的任务作为HTTP端点和类似cron的语法来指示如何经常应该执行。就这么简单。

您还可以使用任务高级选项向请求添加不同的HTTP标头,或使用基本HTTP身份验证对其进行保护。不用说,所有敏感的HTTP密码都在Appwrite内部数据库中安全加密。

Appwrite Webhooks

file

您可以从Appwrite控制台轻松注册新的webhook。

Appwrite Webhooks旨在让您轻松方便地集成后端的自定义行为。

想要在新用户注册到您的应用时收到短信?想要在您的某个应用文档获得更新时清除缓存吗?只需添加一个新的webhook,当特定的Appwrite事件触发时,该webhook会触发您端点的HTTP端点。使用Appwrite Webhooks你只会受到想象力的限制。

Appwrite Github

https://github.com/appwrite/appwrite

Arch linux / manjaro开启bbr

查看内核版本号

uname -r

如果内核版本大于等于4.9可以直接开启

检查bbr模块是否存在

然后使用命令modinfo tcp_bbr查看内核模块是否存在。

modinfo tcp_bbr

开启bbr模块

sudo  modprobe tcp_bbr

下次自动开启

默认没有开启,自动开启

echo "tcp_bbr" > /etc/modules-load.d/80-bbr.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.d/80-bbr.conf
echo "net.core.default_qdisc=fq" >> /etc/sysctl.d/80-bbr.conf

立即加载

sysctl -p 

检查是否成功

sysctl net.ipv4.tcp_congestion_control

内网穿透工具比较(ngrok,frp,lanproxy,goproxy,nps)

从是否有API,客户端单独key,子域名,收费模式,采用语言,github stars多个维度比较了ngrok, frp, lanproxy, goproxy, nps几款内网穿透工具

file

ngrok

https://github.com/inconshreveable/ngrok

frp

https://github.com/fatedier/frp

lanproxy

https://github.com/ffay/lanproxy

goproxy

https://github.com/snail007/goproxy

nps

https://github.com/cnlh/nps

综合比较后发现nps比较符合需求,但是目前版本(0.23)存在稳定性问题,作者打算在未来版本收费

centos下supervisor安装和使用

安装

dnf update -y
dnf install supervisor
sytemctl enable supervisord

配置

vim /etc/supervisor/xxx.conf

    [program:testprogram]
    directory = /root/go/src/test
    command = /root/go/src/test/bin/server
    autostart = true
    startsecs = 5
    autorestart = true
    startretries = 3
    user = root
    redirect_stderr = true
    stdout_logfile = /var/log/supervisor/test.log

使用

supervisorctl reload
supervisorctl start xxx
supervisorctl status

nginx access log 记录cgi执行时间

log_format combined_with_time '$remote_addr - $remote_user [$time_local]  '
                     '$request $status $body_bytes_sent '
                     '$http_referer $http_user_agent '
                     '$request_time $upstream_response_time';

access_log  /data/wwwroot/xxxx/vagrant/nginx/log/frontend-access.log combined_with_time;

letsencrypt https证书自动更新和续期(支持泛域名)

https://github.com/tengattack/certbot-dns-aliyun

获取证书

certbot certonly -a certbot-dns-aliyun:dns-aliyun \
    --certbot-dns-aliyun:dns-aliyun-credentials aliyun.ini \
    -d c4ys.com \
    -d *.c4ys.com

更新证书

certbot renew

自动重新加载nginx(需要更新成功后,所以等前一个任务进行几分钟之后再执行)

nginx -s reload

基于微信的一些开源工具

Android -Xposed

项目地址:https://github.com/weechatfly/wtoolsdkrobot

项目简介:有趣的微信机器人,基于Xposed

开发语言:Java

项目地址:https://github.com/weechatfly/wtoolsdkroomlive/

项目简介:有趣的微信转发程序,用于微信群直播

开发语言:Java

项目地址:https://github.com/chaojimiaomiao/colorful_wechat

项目简介:微信美化插件,开发者是个大美女

项目地址:https://github.com/geeeeeeeeek/WeChatLuckyMoney

项目简介:微信抢红包外挂插件

开发语言:Java

WEB

项目地址:https://github.com/lu4kyd0y/WeChat-Cloud-Robot

项目简介:基于网页版的微信机器人

开发语言/框架:python

项目地址:https://github.com/sjdy521/Mojo-Weixin

项目简介:基于网页版的微信WEB版协议框架,可用于IRC转发

开发语言:Python

IOS-TWEAK

项目地址:https://github.com/cocos543/WeChatTimeLineRobot

项目简介:朋友圈自动点赞评论机器人

开发语言:C++

MacOSX-Tweak

项目地址:https://github.com/Sunnyyoung/WeChatTweak-macOS

项目简介:Mac微信多开及防撤回插件

开发语言:Objective-C

协议

Tencent/mars

Mars is a cross-platform network component developed by WeChat.

https://github.com/Tencent/mars

WeChatXY

微信ipad协议源码,可实现微信80%功能。支持62数据登录、扫码登录、收发朋友圈、查看朋友圈、微信建群、微信拉人进群、微信公众号阅读、微信消息收发、微信附近的人定位、微信添加好友、微信红包接收、微信防撤回、分享小程序、微信加粉、微信收藏、微信标签等。请联系qq:929918989

https://github.com/weixinbao/WeChatXY

PadChat-SDK

永久免费 微信ipad、微信mac协议,可实现微信80%功能;支持62数据登录、扫码登录、收发朋友圈、查看朋友圈、微信建群、微信拉人进群、微信公众号阅读、微信消息收发、微信附近的人定位、微信添加好友、微信红包接收、微信防撤回、分享小程序、微信加粉、微信收藏、微信标签等

https://github.com/AvengersWeChat/PadChat-SDK

PyMicroChat

https://github.com/fatesinger/PyMicroChat

MicroChat

使用腾讯微信Mars跨平台通信库实现模拟微信App通信

https://github.com/FlyingGlass/MicroChat

WeChatProtocolStudy

微信协议研究,实现基于Android/MAC/IPAD协议的PC客户端

https://github.com/214175590/WeChatProtocolStudy

SDK

Chatie/wechaty

wechaty-puppet-puppeteer - Angular Hook for Web Wechat <- This is the DEFAULT
wechaty-puppet-wechat4u - HTTP API for Web Wechat
wechaty-puppet-padchat - iPad App Protocol
wechaty-puppet-ioscat - iPhone App Hook
wechaty-puppet-mock - Mock for Testing

https://github.com/Chatie/wechaty

WSL 服务自启动脚本

支持在Windows启动时启动WSL中的Linux服务.

安装

  • 使用 git clone 到任意目录 (e.g C:\wsl-autostart)
git clone https://github.com/troytse/wsl-autostart
  • 在注册表中加入启动项 run-regedit

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run下新增字符串项目 (e.g WSLAutostart) regedit-new-item

  • 设定脚本的路径 (e.g C:\wsl-autostart\start.vbs) regedit-set-path

使用

  • 修改在WSL中/etc/sudoers文件,为需要自启动的服务指定为免密码. 如:
%sudo ALL=NOPASSWD: /etc/init.d/cron
%sudo ALL=NOPASSWD: /etc/init.d/ssh
%sudo ALL=NOPASSWD: /etc/init.d/mysql
%sudo ALL=NOPASSWD: /etc/init.d/apache2
  • 修改commands.txt文件指定需要自启动的服务. 如:
/etc/init.d/cron
/etc/init.d/ssh
/etc/init.d/mysql
/etc/init.d/apache2

来源:WSL服务自启动脚本