Skip to content

Commit 2129d77

Browse files
committed
v1.1.4
1 parent a649d10 commit 2129d77

File tree

5 files changed

+28
-8
lines changed

5 files changed

+28
-8
lines changed

README.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,22 @@ demo演示:https://fagedongxi.com
2626

2727
### 二进制方式
2828
* 下载对应平台的可执行文件,直接执行即可
29-
* 房间的配置文件应放在应用同级目录,文件名必须是 `room_pwd.json`,具体内容格式参考 `.room_pwd.json`
3029
* 默认监听 `8081` 端口,可通过参数指定端口,例如 `./internal-chat-linux 8082`
3130
* 如果你用windows,可参考 https://v.douyin.com/CeiJahpLD/ 注册成服务
3231

32+
## 房间配置
33+
* 配置文件名:`room_pwd.json`
34+
* 存放目录:应用同级目录
35+
* 格式:参考样例 `.room_pwd.json`
36+
37+
## 常见问题:
38+
在线列表看见对方,但一直处于断开的状态且无法发送消息:
39+
* 原因一:浏览器不支持WebRTC(目前最新版已经在用户打开后自动检测并加入提示),旧版没有检测功能可以临时用这个进行测试:https://space.coze.cn/s/qDNpw1y7MJw/
40+
* 原因二:网络环境不支持互相访问,详见:https://v.douyin.com/IPoHlTBzngg/
41+
> 解决方案:
42+
> 1. 私有部署「发个东西」+「TURN中转服务coturn」
43+
> 2. 配置房间增加TURN支持( `.room_pwd.json` 样例文件中有TURN的配置格式)
44+
3345
### nginx代理配置样例
3446
```
3547
server

www/favicon.ico

4.19 KB
Binary file not shown.

www/index.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
<title>发个东西 - 局域网文字/文件P2P传输工具</title>
77
<meta name="description" content="一个简单易用的局域网文件传输工具,基于WebRTC实现点对点连接,支持文本和文件快速传输,无需中转服务器,安全高效。" />
88
<meta name="keywords" content="局域网传输, 点对点传输, 文件分享工具, WebRTC传输, 局域网文件传输, P2P传输工具, 无中转传输" />
9-
<script src="./xchatuser.js?v=20"></script>
10-
<link rel="stylesheet" href="./style.css?v=20">
9+
<script src="./xchatuser.js?v=22"></script>
10+
<link rel="stylesheet" href="./style.css?v=22">
1111
</head>
1212
<body>
1313
<div class="dragtip">
@@ -94,6 +94,6 @@ <h3>请输入房间密码</h3>
9494
</div>
9595
</div>
9696

97-
<script src="./index.js?v=20"></script>
97+
<script src="./index.js?v=22"></script>
9898
</body>
9999
</html>

www/index.js

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,12 @@ var MD5 = function(d){var r = M(V(Y(X(d),8*d.length)));return r.toLowerCase()};f
1515

1616
// 初始化页面
1717
function initPage() {
18+
// 检测WebRTC支持
19+
if (!window.RTCPeerConnection && !window.webkitRTCPeerConnection) {
20+
addChatItem('system', '您的浏览器不支持WebRTC,请使用Chrome、Firefox、Safari等现代浏览器访问。');
21+
return;
22+
}
23+
1824
const roomId = window.location.pathname.split('/')[1];
1925
if (roomId) {
2026
// 如果有roomId,显示密码输入框并隐藏主界面
@@ -680,7 +686,7 @@ document.querySelector('.send-btn').addEventListener('click', () => {
680686
function showNicknameModal() {
681687
const modal = document.getElementById('nicknameModal');
682688
const input = document.getElementById('nicknameInput');
683-
input.value = currentNickname;
689+
input.value = currentNickname.replace(/&amp;/g, '&').replace(/&lt;/g, '<').replace(/&gt;/g, '>');
684690
modal.style.display = 'block';
685691

686692
// 自动获取焦点
@@ -706,9 +712,10 @@ function closeNicknameModal() {
706712

707713
function saveNickname() {
708714
const input = document.getElementById('nicknameInput');
709-
const nickname = input.value.trim();
715+
let nickname = input.value.trim();
710716

711717
if (nickname) {
718+
nickname = nickname.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
712719
currentNickname = nickname;
713720
document.cookie = `nickname=${encodeURIComponent(nickname)}; path=/; max-age=31536000`; // 保存一年
714721

www/style.css

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
body, html {
22
margin: 0;
33
padding: 0;
4-
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
4+
font-family: monospace, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
55
background-color: #1a1a1a;
66
color: #e0e0e0;
77
display: flex;
@@ -33,7 +33,7 @@ body.dragover .dragtip h1 {
3333
}
3434
pre {
3535
margin: 0;
36-
font-family: "Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif;
36+
font-family: monospace, "Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif;
3737
}
3838
.left {
3939
flex: 1;
@@ -368,6 +368,7 @@ pre {
368368
width: 100%;
369369
padding: 8px;
370370
border: 1px solid #363636;
371+
box-sizing: border-box;
371372
background: #2a2a2a;
372373
color: #e0e0e0;
373374
border-radius: 4px;

0 commit comments

Comments
 (0)