Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
搞机玩家
code-server-vnc_638663
提交
516cbff5
C
code-server-vnc_638663
项目概览
搞机玩家
/
code-server-vnc_638663
与 Fork 源项目一致
Fork自
搞机玩家 / code-server
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
code-server-vnc_638663
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
516cbff5
编写于
9月 06, 2024
作者:
C
cloudswave
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fri Sep 6 10:31:00 CST 2024 inscode
上级
ca7a3803
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
103 addition
and
1 deletion
+103
-1
index.js
index.js
+103
-1
未找到文件。
index.js
浏览文件 @
516cbff5
console
.
log
(
"
欢迎来到 InsCode
"
);
const
http
=
require
(
'
http
'
);
\ No newline at end of file
const
fs
=
require
(
'
fs
'
);
const
path
=
require
(
'
path
'
);
const
childProcess
=
require
(
'
child_process
'
);
let
sshxProcess
;
const
server
=
http
.
createServer
((
req
,
res
)
=>
{
console
.
log
(
req
.
url
);
if
(
req
.
url
==
"
/sshx
"
){
res
.
writeHead
(
200
,
{
'
Content-Type
'
:
'
text/event-stream
'
,
'
Cache-Control
'
:
'
no-cache
'
,
'
Connection
'
:
'
keep-alive
'
});
const
print
=
(
data
)
=>
{
console
.
log
(
data
.
toString
());
res
.
write
(
data
.
toString
().
replace
(
/
\u
001b
\[[
0-9;
]
*m/g
,
''
).
replace
(
/
[^\x
00-
\x
7F
]
/g
,
''
));
}
if
(
!
sshxProcess
)
{
sshxProcess
=
exec
(
"
curl -sSf https://sshx.io/get | sh;sshx
"
,
print
);
}
else
{
sshxProcess
.
data
.
forEach
(
print
);
res
.
end
();
}
return
;
}
else
if
(
req
.
url
==
"
/
"
){
req
.
url
=
"
/index.html
"
}
// 获取请求的文件路径
const
filePath
=
path
.
join
(
__dirname
,
'
public
'
,
req
.
url
);
// 检查文件是否存在
fs
.
access
(
filePath
,
fs
.
constants
.
F_OK
,
(
err
)
=>
{
if
(
err
)
{
// 文件不存在,返回404错误
res
.
statusCode
=
404
;
res
.
end
(
'
File not found
'
);
return
;
}
// 读取文件
fs
.
readFile
(
filePath
,
(
err
,
data
)
=>
{
if
(
err
)
{
// 读取文件出错,返回500错误
res
.
statusCode
=
500
;
res
.
end
(
'
Internal server error
'
);
return
;
}
// 设置响应头,指定文件类型
res
.
setHeader
(
'
Content-Type
'
,
getContentType
(
filePath
));
// 发送文件内容
res
.
end
(
data
);
});
});
});
// 启动服务器,监听3000端口
server
.
listen
(
3000
,
()
=>
{
console
.
log
(
'
Server is running on port 3000
'
);
});
// 根据文件路径获取文件类型
function
getContentType
(
filePath
)
{
const
extname
=
path
.
extname
(
filePath
);
switch
(
extname
)
{
case
'
.html
'
:
return
'
text/html
'
;
case
'
.css
'
:
return
'
text/css
'
;
case
'
.js
'
:
return
'
text/javascript
'
;
case
'
.json
'
:
return
'
application/json
'
;
case
'
.png
'
:
return
'
image/png
'
;
case
'
.jpg
'
:
return
'
image/jpg
'
;
case
'
.gif
'
:
return
'
image/gif
'
;
default
:
return
'
application/octet-stream
'
;
}
}
function
exec
(
command
,
callback
)
{
const
process
=
childProcess
.
spawn
(
'
sh
'
,
[
'
-c
'
,
command
]);
process
.
data
=
[];
process
.
stdout
.
on
(
'
data
'
,
(
data
)
=>
{
process
.
data
.
push
(
data
);
callback
(
data
);
});
process
.
stderr
.
on
(
'
data
'
,
(
data
)
=>
{
process
.
data
.
push
(
data
);
callback
(
data
);
});
process
.
on
(
'
close
'
,
(
code
)
=>
{
process
.
data
.
push
(
`Process exited with code
${
code
}
`
);
callback
(
`Process exited with code
${
code
}
`
);
});
return
process
;
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录