# Hack Chat

>一个相对安全、匿名的聊天的网站程序。
>
>它不会保存任何数据到服务器，并且会在我们退出后清除所有聊天数据。
>
>支持Markdown和LaTeX，但LaTeX可能有时不生效；仅支持Imgur图床

> **LINK / 链接**
>
> - [hack.chat](https://hack.chat)
> - 资料
> 	- 贴吧 [作为hack.chat的常驻用户，我来给大家分享一些指令吧](https://tieba.baidu.com/p/6833224084)
> 	- 博客 [浅谈hack.chat]( https://www.luogu.com.cn/blog/TianLuen/qian-tan-hackchat)
>



## 1.如何使用

用户需要自己创建一个房间去交流。首页已经有几个创建好的房间了，但里面应该都是一些大佬和外国友人，我这种菜鸡只能跟其他同学/朋友开房间聊。

浏览器地址栏 `https://hack.chat?[roomname]`

**说明：**

- `[roomname]` 表示你想要的房间名称

**实例：**

- `https://hack.chat?helloworld`



**提示：**输入名称时在名称后面加 `#` 即可增加密码，并且可以得到一个随机的识别码，用于防伪，防止别人冒充自己 / 实例: `longjie#admin`

**按键说明：**

Enter 发送

Shift + Enter 换行 *(仅支持电脑)*

**右边的设置栏：**

- Pin sidebar / 固定右侧栏
- Sound notifications / 声音提醒
- Screen notifications / 屏幕提醒
- Join/left notify / 进出通知
- Allow LaTeX / 允许LaTeX
- Allow Highlight / 允许高亮
- Allow Imgur / 允许Imgur图床
- Color scheme / 选择配色方案
- Highlight scheme / 选择高亮方案
- Clear all messages / 清空聊天记录
- Users online / 在场人员名单（点击名字可以邀请对方到一个新的房间）



## 2.命令使用

**使用方法：**在聊天框输入

*(把 " <> " 当成一个整体)*

| Command / 命令 | Usage / 用法 | Content / 说明 | Example / 实例 |
| -------------- | -------------- | -------------- | -------------- |
| /nick          | /nick <name> | 更改名称       | /nick longjie |
| /whisper 或 /w | /w <username> <message> | 私聊某人 | /nick longjie Are you OK? |
| /r | /r <message> | 向最后一个向你发私信的人回复信息 | /r Yes,I'm OK now. |
| /shrug | /shrug <message> | 奇怪的命令 |  |
| /me | /me <message> | 神奇的命令，自己跟自己说话 |  |
| /stats | /stats | 输出整个服务器的统计信息[2.a1] |  |
| *[需要管理权限]* /color | /color <color> | 更改自己名字颜色，16进制颜色值 |  |
| *[需要管理权限]* /forcecolor | /forcecolor <name> <color> | 理论上是强制对方更改名字颜色，但实测时并没有效果 |  |

[2.a1] 内容续：

```bash
current-connections: 273		//目前正在用HC的人数
current-channels: 110			//目前的房间数
users-joined: 2697684			//总共加入的人数
invites-sent: 20033				//总共发送的邀请数
messages-sent: 8259443			//总共发出的信息数
users-banned: 0					//被禁的用户数
users-kicked: 372				//被踢出的用户数
stats-requested: 3547713		//发出统计的次数
server-uptime: 200d 5h 22m 37s	//服务器响应时间
```

*(以上表格内容摘自链接 - 资料-博客，少部分自己实践得到)*



## I/O.搭建HackChat

#### S1.装备环境

- nodejs ≥ 8.10.0
- npm ≥ 5.7.1

安装完后，先检查一下有没有成功安装 `node -v` 查询node版本  `npm -v`  查询npm版本

然后更换一下npm的镜像源，因为官方源很慢，除非说你在国外

- 临时使用 `npm --registry https://registry.npm.taobao.org install express`

- 长久使用 `npm config set registry https://registry.npm.taobao.org`

检查*(非必需)*

- 临时 `npm info express`
- 长久 `npm config get registry`



#### S2.开始搭建

1. 下载源码 `git clone https://github.com/hack-chat/main.git`
	- 如果你安装了Git环境，没有就去下载zip吧，把 `git clone` 和 `.git` 删掉就能打开该项目的GitHub了
2. 进入解压后的文件夹
3. 安装 `npm install`
4. 启动 `npm start` / 关闭 `npm stop` 按Ctrl + C 也能关闭



安装时会提示以下内容：

```bash
You will now be asked for the following:
-        Salt, the salt for username trip
-  Admin Name, the initial admin username
-  Admin Pass, the initial admin password
-        Port, the port for the websocket
```

这是翻译后：

```bash
You will now be asked for the following:
-        Salt, the salt for username trip
-  Admin Name, 初始的管理员用户名
-  Admin Pass, 初始的管理员密码
-        Port, websocket端口
```



......
