关于 Hnet 的修改

index-7a30b4a8.css

index-7a30b4a8.css 文件位于 /app/public/assets/ 文件夹下。

在这个文件夹下主要修改了字体样式和背景图片,删除了自带的图片,添加了一张 bg.webp 作为背景图片。


index-52af0cfd.js

index-52af0cfd.js 文件位于 /app/public/assets/ 文件夹下。

这是一个让我困惑怀疑作者的地方,因为这地方出现了 baidu https://www.fbi.gov 奇怪网站,在作为代理网站时甚至出现了 baidu Cookie

我在这个文件中,将 baidu https://www.fbi.gov 全部设置为空。

1
{icon:"https://api.faviconkit.com/www.youtube.com/",name:"Youtube",link:"https://www.youtube.com"},{icon:"https://store.heytapimage.com/cdo-portal/feedback/202210/17/b9eb8499d97c5ad0f064f5059116c129.png",name:"Add BM",link:"https://hideip.network"}

在起始页面中这里是一个添加自定义网站的功能,和一个跳转到 Youtube 网站的图标。

进行修改, icon 图片将它上传到本地,而不是一个超链接,修复了不显示的问题。

https://store.heytapimage.com/cdo-portal/feedback/202210/17/b9eb8499d97c5ad0f064f5059116c129.png 修改为 /b9eb8499d97c5ad0f064f5059116c129.png 存放地点为内部的 /app/public/ 目录下。

link:"https://hideip.network" 修改为自己网站代理的域名。

下面的代码,一种是搜索功能默认为 Google 进行搜索,一种是自定义进行搜索。将 fs="hideip.network" 参数进行了删除。

1
let us="Search on HNet, or enter a URL",zt="https://www.google.com/search?safe=on&q=",fs="hideip.network";

修改如下 ,下方是二种不同的搜索方式。

1
let us="Search",zt="https://www.google.com/search?q=";
1
let us="Search",zt="https://rahn.top/search?q=";

下面的代码可以对搜索栏上面的文字进行修改,可以设置为空。

1
s=new as({props:{title:"HNet Web"}});
1
s=new as({props:{title:""}});

下面的代码可以取消搜索栏上方文字的跳转功能。

1
const s=()=>{window.open("https://github.com/hideipnetwork/","_blank")};
1
const s=()=>{};

server.config.js

server.config.js 文件位于 /app/public/server/ 文件夹下。

server.config.jsprefix 值可以被修改,为浏览器域名之后的代码。

1
2
prefix: `/aHR0cHM6Ly9naXRodWIuY29tL2hpZGVpcG5ldHdvcms=/`
prefix: `/Lqn4Z4fvhFAKAjj9dpRtVGRXWyGpC43do6fXRodWIug=/`

修改前 —— https://web.rahn.top/aHR0cHM6Ly9naXRodWIuY29tL2hpZGVpcG5ldHdvcms=/

修改后 —— https://web.rahn.top/Lqn4Z4fvhFAKAjj9dpRtVGRXWyGpC43do6fXRodWIug=/

index.html

index.html 文件位于 /app/public/ 文件夹下。

对图标、网站标题进行修改。

就此大致修改完成。


rahn2029/hnet-web:2.0 镜像

将 Hnet 下载到本地

1
git clone -b v2 https://github.com/Hideipnetwork/hideipnetwork-web.git

Hnet1.0 镜像制作

启动容器,将文件导入到容器内部

1
2
docker run -itd --name node18 -p 5120:56559 node:18-alpine
docker cp hnet.zip node18:hnet.zip

进入容器内部

  1. 解压
  2. 删除压缩包
  3. 修改文件名
  4. 进行 Hnet 安装
  5. 开启测试,外部端口是否能够连接
1
2
3
4
5
6
7
8
9
10
11
docker exec -it node18 sh

unzip hnet.zip
rm hnet.zip

mv hideipnetwork-web web
cd web

npm install
npm run start
exit

Ctrl + C 退出 npm run start

docker commit 创建一个新的镜像

1
2
docker ps
docker commit 2360f19a235e hnet1.0

修改 public 文件夹

创建容器

1
docker run -it -d --name hnet -p 5120:56559 hnet1.0

进入容器

  1. 来到容器内部
  2. 进入 Hnet 目录
  3. 删除 public 文件夹下的文件
  4. 退出容器
  5. 将修改好的 public.zip 拷贝到 public 文件夹下
  6. 再次进入容器
  7. 解压 public.zip 完成后,删除
  8. npm run start 查看效果
  9. Ctrl + C 退出 npm run start
  10. 查看容器的id,用 docker commit 进行构建新的镜像
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
docker exec -it hnet sh
cd /web/public
rm -rf *
exit

docker cp public.zip hnet:/web/public/public.zip

docker exec -it hnet sh
cd /web/public
unzip public.zip
rm public.zip

npm run start
exit

docker ps
docker commit 2263313c0027 hnet2.0

Hnet-web:2.0 镜像构建

编写 DockerFile

1
nano DockerFile
1
2
3
4
5
6
7
8
9
FROM hnet2.0
LABEL maintainer="Nome <rainsky512@gmail.com>"

WORKDIR /web
VOLUME /web

EXPOSE 56559

CMD ["npm", "run", "start"]

构建镜像

1
docker build -f DockerFile -t rahn2029/hnet-web:2.0 .

启动

1
docker run -itd --name hnet -p 5120:56559 rahn2029/hnet-web:2.0

将容器内部文件复制到本地,为 docker-compose 挂载做准备

1
docker cp hnet:web $(pwd)/web

停止容器并删除

1
docker stop hnet && docker rm hnet

Docker-Compose

编写 docker-compose.yml

1
nano docker-compose.yml
1
2
3
4
5
6
7
8
9
10
version: '3.3'
services:
hideipnetwork-web:
container_name: hnet
ports:
- 5120:56559
volumes:
- ./web:/web
image: rahn2029/hnet-web:2.0
restart: always
1
docker-compose up -d

打开 5120 端口

1
ufw allow 5120/tcp

总结

rahn2029/hnet-web:1.0

rahn2029/hnet-web:2.0