安装

npm i -g tkserver

配置环境

执行一下代码,根据自己情况自行修改TWIKOO_DATA,TWIKOO_PORT,TWIKOO_THROTTLE后面的内容。PS:TWIKOO_DATA是干嘛的我也不知道,实际也没见他生效

echo " ">>/etc/profile
echo "# Made for tikoo env by chenqi on $(date +%F)">>/etc/profile
echo 'export TWIKOO_DATA=/home/twikoo'>>/etc/profile
echo 'export TWIKOO_PORT=7654'>>/etc/profile
echo 'export TWIKOO_THROTTLE=20000'>>/etc/profile
tail -4 /etc/profile
source /etc/profile
echo $PATH

启动服务

nohup tkserver >> tkserver.log 2>&1 &

可能存在的问题

如果无法启动,报找不到db.json,那么手动去/root中新建/data/db.json如下图。

image-20220812144813503

如果创建后报Collection xxxxxxxx之类的错误,那么手动去db.json中添加代码后重新启动即可

Collection: []

配置Twikoo环境

首次需要配置密码

image-20220812145031615

image-20220812145133454

配置企业微信接收通知

注册企业微信(网页即可)

创建用于接收消息通知的应用

image-20220812145317022

配置服务器白名单

点开应用后拉到最底部,配置部署Twikoo的服务器ip

image-20220812145414707

配置管理工具->通讯录同步中的白名单ip

image-20220812145533157

期间需要配置企业微信桌面程序配合,需要下载使用

获取企业ID

image-20220812145759104

获取用于接收消息的应用的AgentId和Secret,Secert需要使用企业微信桌面版授权查看

image-20220812145904734

使用微信关注该应用(扫下图的码)

image-20220812150040327

配置Twikoo即时消息

PUSHOO_TOKEN内容为: 企业ID # 上方创建的应用Secret # 上方创建应用的AgentId

image-20220812150144789

效果

image-20220812150421711

配置邮箱接收通知

以163邮箱为例,发送短信开启SMTP,记录下生成的密码

image-20220812150545987

Twikoo配置邮箱推送

image-20220812150805580

效果

image-20220812150846572

Twikoo 配置https

云服务器安全组开启上方TWIKOO_PORT的端口

image-20220812151045769

DNS解析

image-20220812151333960

nginx配置,http节点下配置

http {
    upstream  twikoo {  #可以指定多个项目 
       server  127.0.0.1:7654  weight=1; # 这个端口即为上方Twikoo的服务端口
    }
   server {
   
    listen 443 ssl;
    server_name twikoo.allbs.cn; #修改为申请证书绑定的域名
    
    root html;
    index index.html index.htm;
    ssl_certificate      /usr/local/nginx/ssl/twikoo.allbs.cn_bundle.crt;  # 修改自己服务器证书的真实位置
	ssl_certificate_key  /usr/local/nginx/ssl/twikoo.allbs.cn.key;  # 修改自己服务器证书的真实位置
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    location / {
            proxy_pass http://twikoo; 
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header   X-Forwarded-Proto https;  # 转发时使用https协议
			proxy_max_temp_file_size 0;

			# This is the maximum upload size
			client_max_body_size       20m;
			client_body_buffer_size    128k;

			proxy_connect_timeout      90;
			proxy_send_timeout         90;
			proxy_read_timeout         90;

			proxy_temp_file_write_size 64k;

			# Required for new HTTP-based CLI
			proxy_http_version 1.1;
			proxy_request_buffering off;
			proxy_buffering off; # Required for HTTP-based CLI to work over SSL
    }
    
}