AdGuardHome工程windows下构建遇到的一些问题

举报
Amrf 发表于 2020/01/20 15:29:57 2020/01/20
【摘要】 工程地址:https://github.com/AdguardTeam/AdGuardHome构建中的一些注意点:webpack编译客户端代码时报LF/CRLF错误可以在client/src目录使用for /R %G in (*.js *.css) do dos2unix "%G"批量将CRLF替换为LF更好的办法是在git clone之前先使用git config core.autocrl...

工程地址:

https://github.com/AdguardTeam/AdGuardHome

构建中的一些注意点:

  • webpack编译客户端代码时报LF/CRLF错误

可以在client/src目录使用for /R %G in (*.js *.css) do dos2unix "%G"批量将CRLF替换为LF

更好的办法是在git clone之前先使用git config core.autocrlf查询,如果是true则使用git config --global core.autocrlf false设置,

这样下载下来的文件行结束符格式应该就是LF了;

  • 客户端build-prod编译报NODE_ENV不是内部命令, 这个和windows bat环境语法有关

可以改成SET NODE_ENV=production && .\node_modules\.bin\webpack --config webpack.prod.js

或者直接在控制台进入client目录,手动输入上面两条指令,独立编译客户端

  • 如果有build\static文件夹创建失败的错误,提示可以手动创建出这两个文件夹后,重新构建

  • GOPROXY设置

image.png

  • 代理设置

image.png

同理可设置https_proxy,http://userName:password@proxy.com:proxyPort,注意password特殊字符需要转义,例如@=>%40

  • makefile中PATH=$(GOPATH)/bin:$(PATH),可能会由于路径中包含括号导致错误

处理办法去除后,临时将$(GOPATH)/bin添加到环境path变量中

  •  执行make构建,如果有客户端编译的报错则可以不在make中编译客户端

  • 服务端和客户端分别编译成功后,目录下会生成AdGuardHome.exe服务端程序,build\static目录下会生成客户端文件

  • 双击AdGuardHome.exe则服务运行,可通过访问localhost:3000访问设置;

/*-------------------------------------------------------------------------------------------*/

题外话:

这个项目只是我希望将crates.io的dns解析为本机的一个尝试,发现在host中设置后,在命令行里解析确实生效了,但是浏览器始终不生效,于是就想是不是直接运行一个dns服务器就好了,结果还不行=>使用chrome.storage.local.set('DNShosts'..也不行,额....实际上犯了一个愚蠢的错误,忘了代理了设置了;

浏览器中可以方便的使用Proxy SwitchyOmega切换直连和代理,IPvFoo插件可以看到当前tab的域名解析,Siderite's DNS Resolver可以看到当前的浏览器dns缓存;

此外,AdGuardHome的前端采用react后端采用go,框架结构和整体设计是值得学习的;


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。