Giter Club home page Giter Club logo

Comments (34)

qingyuan0o0 avatar qingyuan0o0 commented on June 10, 2024

非常感谢楼主分享,总算知道这个东西是不包含headscale的功能的,类似外部管理器,我想请问能否实现https://github.com/luislavena/homelab-headscale/blob/main/compose.yaml这样一个配置合并2个功能?实现一个容器就可以完成以上的操作?

from headscale-webui.

stazeng avatar stazeng commented on June 10, 2024

非常感谢楼主分享,总算知道这个东西是不包含headscale的功能的,类似外部管理器,我想请问能否实现https://github.com/luislavena/homelab-headscale/blob/main/compose.yaml这样一个配置合并2个功能?实现一个容器就可以完成以上的操作?

如果你对docker-compose了解话,完全可以在一个yaml配置文件实现2个容器运行的。

from headscale-webui.

qingyuan0o0 avatar qingyuan0o0 commented on June 10, 2024

请问楼主,这headscale-webui,运行下来,内存使用大概维持在多少呢?我想问一下,看下是否部署到paas平台上,是否超过免费配额。。

from headscale-webui.

iFargle avatar iFargle commented on June 10, 2024

CONTAINER ID   NAME                   CPU %     MEM USAGE / LIMIT     MEM %     NET I/O           BLOCK I/O         PIDS
97cf135729d3   headscale-webui        0.00%     63.46MiB / 62.51GiB   0.10%     25.1MB / 44.9MB   778kB / 0B        14

from headscale-webui.

qingyuan0o0 avatar qingyuan0o0 commented on June 10, 2024

CONTAINER ID   NAME                   CPU %     MEM USAGE / LIMIT     MEM %     NET I/O           BLOCK I/O         PIDS
97cf135729d3   headscale-webui        0.00%     63.46MiB / 62.51GiB   0.10%     25.1MB / 44.9MB   778kB / 0B        14

谢谢,我正在尝试把3个容器给做成一个compose.yaml(minio+headscale+headscale-webui),请问headscale-webui是否支持在线使用webui修改使用外部derp的配置并刷新配置?我打算把headscale-webui搭建在fly.io平台,但是fly.io没办法使用udp/3478的端口,所以我打算在openwrt路由器上转发这个3478/udp端口,这一点相对于使用公共节点更给力一些。

from headscale-webui.

threerog avatar threerog commented on June 10, 2024

CONTAINER ID   NAME                   CPU %     MEM USAGE / LIMIT     MEM %     NET I/O           BLOCK I/O         PIDS
97cf135729d3   headscale-webui        0.00%     63.46MiB / 62.51GiB   0.10%     25.1MB / 44.9MB   778kB / 0B        14

谢谢,我正在尝试把3个容器给做成一个compose.yaml(minio+headscale+headscale-webui),请问headscale-webui是否支持在线使用webui修改使用外部derp的配置并刷新配置?我打算把headscale-webui搭建在fly.io平台,但是fly.io没办法使用udp/3478的端口,所以我打算在openwrt路由器上转发这个3478/udp端口,这一点相对于使用公共节点更给力一些。

headscale自带derp容器,也支持第三方derp独立服务 参考这儿
如果你打算在自己本地部署derp中继服务,我认为需要有动态公网ipv4或者固定公网ipv4才行,如果只有ipv6的话可能无法中继不支持ipv6设备的流量

from headscale-webui.

threerog avatar threerog commented on June 10, 2024

metrics_listen_addr9090没必要暴露出来吧,不太了解这个端口用来干嘛的
按照config.yaml注释来说grpc_listen_addr50443也应该暴露出来

from headscale-webui.

qingyuan0o0 avatar qingyuan0o0 commented on June 10, 2024

CONTAINER ID   NAME                   CPU %     MEM USAGE / LIMIT     MEM %     NET I/O           BLOCK I/O         PIDS
97cf135729d3   headscale-webui        0.00%     63.46MiB / 62.51GiB   0.10%     25.1MB / 44.9MB   778kB / 0B        14

谢谢,我正在尝试把3个容器给做成一个compose.yaml(minio+headscale+headscale-webui),请问headscale-webui是否支持在线使用webui修改使用外部derp的配置并刷新配置?我打算把headscale-webui搭建在fly.io平台,但是fly.io没办法使用udp/3478的端口,所以我打算在openwrt路由器上转发这个3478/udp端口,这一点相对于使用公共节点更给力一些。

headscale自带derp容器,也支持第三方derp独立服务 参考这儿 如果你打算在自己本地部署derp中继服务,我认为需要有动态公网ipv4或者固定公网ipv4才行,如果只有ipv6的话可能无法中继不支持ipv6设备的流量

我知道headscale自带derp,在免费的网页平台虽然支持docker部署,但是只有443可用,3478/udp没办法利用,想知道界面是否支持配置或者在线更新可用的,如果可以在线更新,那就很NEWB了。接下来找朋友用他的FRPS转发下3478/udp。

from headscale-webui.

threerog avatar threerog commented on June 10, 2024

@iFargle I always don't quite understand whether the 5000 port number in the DOMAIN-NAME field must be written, or under what circumstances it must be written

from headscale-webui.

threerog avatar threerog commented on June 10, 2024

CONTAINER ID   NAME                   CPU %     MEM USAGE / LIMIT     MEM %     NET I/O           BLOCK I/O         PIDS
97cf135729d3   headscale-webui        0.00%     63.46MiB / 62.51GiB   0.10%     25.1MB / 44.9MB   778kB / 0B        14

谢谢,我正在尝试把3个容器给做成一个compose.yaml(minio+headscale+headscale-webui),请问headscale-webui是否支持在线使用webui修改使用外部derp的配置并刷新配置?我打算把headscale-webui搭建在fly.io平台,但是fly.io没办法使用udp/3478的端口,所以我打算在openwrt路由器上转发这个3478/udp端口,这一点相对于使用公共节点更给力一些。

headscale自带derp容器,也支持第三方derp独立服务 参考这儿 如果你打算在自己本地部署derp中继服务,我认为需要有动态公网ipv4或者固定公网ipv4才行,如果只有ipv6的话可能无法中继不支持ipv6设备的流量

我知道headscale自带derp,在免费的网页平台虽然支持docker部署,但是只有443可用,3478/udp没办法利用,想知道界面是否支持配置或者在线更新可用的,如果可以在线更新,那就很NEWB了。接下来找朋友用他的FRPS转发下3478/udp。

界面上修改3478的可能性几乎为零,因为headacale没有提供相关接口,直接在config.yaml里修改derp的3478端口就可以了呀
headscale-webui是基于headscale提供有限api接口实现的界面化操作,具体完整的api接口可访问HS_SERVER/swagger,比如http://xxx.xxx.xx:8080/swagger

from headscale-webui.

ywycd avatar ywycd commented on June 10, 2024

早点看到这个issue,就不用折腾好几天的headscale和webui才成功。
补充:命令用
docker exec headscale headscale ns list
docker exec -it headscale /bin/bash,当你选择-debug镜像时才加-it,这样会进入bash,接着用headscale ns list。没弄好webui时用debug删除节点的。
用docker没配置mynet,默认bridge填对SERVER和domain可以连接。
headscale-webui
key填openssl rand -base64 32的值,加密本地保存的apikey。- DOMAIN_NAME填xx.x.x:5000,删除- SCRIPT_NAME=/admin。访问xx.x.x:5000输入user和PASS可以登录。

volumes:
      - ./volume:/data                      
      - ./headscale/config/:/etc/headscale/:ro

注意要运行chown 1000:1000 ./volume,不然会提示权限不够无法保存。第二个 ./headscale/config/换成自己headscale配置文件的路径。
api-key复制到webui界面的Server Information下点save,会自动判断是否正确。开始点test提示错误,选save测试通过。

from headscale-webui.

ywycd avatar ywycd commented on June 10, 2024

二合一的docker-compose.yaml,示例 https://raw.githubusercontent.com/ywycd/My-actions/master/docker-compose.yaml
根据实际情况修改。
headscale配置看的 http://www.putianhui.cn/posts/2ac21da921f0 。headscale新版用user替换namespace。

from headscale-webui.

qingyuan0o0 avatar qingyuan0o0 commented on June 10, 2024

二合一的docker-compose.yaml,示例 https://raw.githubusercontent.com/ywycd/My-actions/master/docker-compose.yaml 根据实际情况修改。 headscale配置看的 http://www.putianhui.cn/posts/2ac21da921f0 。headscale新版用user替换namespaces。

感谢,我看看,你发的那个博客里面的代码只能显示9行10行。。拖动不成功。

from headscale-webui.

ywycd avatar ywycd commented on June 10, 2024

二合一的docker-compose.yaml,示例 https://raw.githubusercontent.com/ywycd/My-actions/master/docker-compose.yaml 根据实际情况修改。 headscale配置看的 http://www.putianhui.cn/posts/2ac21da921f0 。headscale新版用user替换namespaces。

感谢,我看看,你发的那个博客里面的代码只能显示9行10行。。拖动不成功。

有帮助就好。那个博客长代码默认收起,底下中间有闪烁的朝下箭头,按下显示全部。或者右上角复制再修改。
headscale config.yaml里的enabled: true 启用自带derp。urls去 https://github.com/juanfont/headscale/blob/main/config-example.yaml 复制,注意格式。
翻了下前面,你可以看看自建derp。想整合在一起,可以看这个 https://www.jinnsblog.com/2020/12/docker-compose-tutorial.html 。测试单独docker-compose通过,services下添加。

from headscale-webui.

qweapple avatar qweapple commented on June 10, 2024

请问各位有遇到节点rename的时候一直卡loading吗?我用的nginx反代
image

from headscale-webui.

iotbi avatar iotbi commented on June 10, 2024

我headscale是二进制文件部署的,正常使用!
但是docker部署webbi时报错(这个文件地址绝对没错的)
Error - /etc/headscale/config.yaml not readable
/etc/headscale/config.yaml not readable. Please ensure your headscale configuration file resides in /etc/headscale and is named "config.yaml" or "config.yml"

from headscale-webui.

qingyuan0o0 avatar qingyuan0o0 commented on June 10, 2024

关于整合版本我的想法是,里面包含了headscale和headscale-webui两个应用。
在headscale的配置文件中有这样一段代码是自定义derp服务的

#/etc/headscale/config.yaml
derp:
  server:
    enabled: false  # 这里开启的话是使用自身的derp服务,因为我部署在fly.io上面,这个需要另外购买独立ip,我就不开了
  urls:
    - https://controlplane.tailscale.com/derpmap/default
  auto_update_enabled: true
  update_frequency: 24h

这个设想中derp服务是使用外部derp地址的
默认是使用 https://controlplane.tailscale.com/derpmap/default 如果这里改写成获取官方的json后加入自己的自定义地址
如果这个地址是http://127.0.0.1:5000/derpmap,这样可以实现修改并且不影响客户端使用默认的derp列表。
再者由于docker使用caddy做为监听443,只要caddy做好配置,可以设置访问管理入口为/admin,端口复用双应用。

from headscale-webui.

hausen1012 avatar hausen1012 commented on June 10, 2024

结合各位大佬的经验整理的教程,https://www.amjun.com/1957.html

from headscale-webui.

EarthBugs avatar EarthBugs commented on June 10, 2024

我在管理员权限的cmd中使用tailscale login --login-server http://..* --authkey ***** 来登录的时候,命令行在这里卡住了,但右下角win10消息弹窗提示TailscaIe Authentication Needed CIick the Tailscale icon to log in. 我按提示点击ts图标或者右键图标选择login也没有反应,全程没有打开浏览器跳转到登录界面,我还尝试了安卓端的ts客户端,也没法完成登录。
我在docker容器中将8080和9090端口暴露出来了,config.yaml中将serverurl替换成域名:8080,其余的127.0.0.1也都替换为了0.0.0.0,端口不变,portainer中查看logs也并无error,还能怎么排查下问题呢,和各位大佬请教下。

from headscale-webui.

hausen1012 avatar hausen1012 commented on June 10, 2024

这个没遇到过,浏览器直接访问8080端口是什么情况,还有一个会不会是客户端版本问题

from headscale-webui.

EarthBugs avatar EarthBugs commented on June 10, 2024

这个没遇到过,浏览器直接访问8080端口是什么情况,还有一个会不会是客户端版本问题

访问8080/windows是可以看到提示页面的,但我用安卓端和windows端都没办法连上去。
服务端的版本是latest(我以为是github release的0.22.3,但刚才查了一下docker hub上的0.22.3已经是4个月前的了),win客户端是1.48.1(最新的),安卓端没法看版本号,但也同样连不上自建服务器……(win和安卓端都可以连上ts官方服务器)

from headscale-webui.

hausen1012 avatar hausen1012 commented on June 10, 2024

那这个就很奇怪,因为我这是搭建有一段时间了,所以我怀疑是不是tailscale官方做了限制

from headscale-webui.

EarthBugs avatar EarthBugs commented on June 10, 2024

方便说下你docker image和win客户端的版本吗

from headscale-webui.

hausen1012 avatar hausen1012 commented on June 10, 2024

0.22.3 和 1.44.0

from headscale-webui.

wolfcdd avatar wolfcdd commented on June 10, 2024

Headscale-WebUI访问输入用户名和密码后

页面报错:
Internal Server Error
The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.

后台提示这个:
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='xxx.yyy.com', port=443): Max retries exceeded with url: /health (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate (_ssl.c:1002)')))
During handling of the above exception, another exception occurred:
Traceback (most recent call last)

不能使用self-signed certificate的证书吗?zerossl的也不行吗

from headscale-webui.

wolfcdd avatar wolfcdd commented on June 10, 2024

0.22.3 和 1.44.0

Headscale-WebUI访问输入用户名和密码后

页面报错:
Internal Server Error
The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.

后台提示这个:
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='xxx.yyy.com', port=443): Max retries exceeded with url: /health (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate (_ssl.c:1002)')))
During handling of the above exception, another exception occurred:
Traceback (most recent call last)

不能使用self-signed certificate的证书吗?zerossl的也不行吗

from headscale-webui.

yijiangchengming avatar yijiangchengming commented on June 10, 2024

这个没遇到过,浏览器直接访问8080端口是什么情况,还有一个会不会是客户端版本问题

访问8080/windows是可以看到提示页面的,但我用安卓端和windows端都没办法连上去。 服务端的版本是latest(我以为是github release的0.22.3,但刚才查了一下docker hub上的0.22.3已经是4个月前的了),win客户端是1.48.1(最新的),安卓端没法看版本号,但也同样连不上自建服务器……(win和安卓端都可以连上ts官方服务器)

一样的问题,但是不知道哪里出错了。

from headscale-webui.

hausen1012 avatar hausen1012 commented on June 10, 2024

大概率配置问题,昨天有人博客给我留言也是这样

from headscale-webui.

yijiangchengming avatar yijiangchengming commented on June 10, 2024

大概率配置问题,昨天有人博客给我留言也是这样

你现在解决了吗?使用默认配置都有问题

from headscale-webui.

wolfcdd avatar wolfcdd commented on June 10, 2024

经过几天的摸索,从各种错误 一步一步排查,最终解决了,现提供参考:

适应场景:
1、有自己的域名,却没有稳定的真正的公网IP地址
2、已经跟运营商申请了动态公网地址,并通过类似DDNS-GO的工具做了自动解析
3、证书通过zeroSSL等类似的工具实现了自动更新
4、自己的路由器支持端口转发
5、已经部署好nginx
6、按照headscale官网教程完成了db.sqlite的创建及config-example.yaml的获取(https://headscale.net/running-headscale-container/#configure-and-run-headscale)
7、客户端下载安装好Tailscale,直接用官方的就行,不需要用第三方修改的。(https://tailscale.com/download/)

符合以上场景的,可以直接无脑抄下述作业:

一、配置:

1、Docker Compose:

headscale的:

version: '3.6'
services:
    headscale:
        container_name: headscale
        restart: always
        volumes:
            - '/dockermnt/headscale/config:/etc/headscale/' #按需更改自己的挂载目录
            - '/dockermnt/headscale/data:/var/lib/headscale' #按需更改自己的挂载目录
        ports:
            - '4050:8080' #自己喜欢映射到哪个端口就用哪个端口,对应的防火墙请放行
            - '9090:9090'
            - '3478:3478/udp'
        command: 'headscale serve'
        networks:
            headscale: #自己定义的网络名,提前用docker network create 命令创建,自行查阅官网说明创建即可
                ipv4_address: 172.32.0.11 #自己定义的静态ip地址,请注意:此地址为容器内地址
        image: 'headscale/headscale:latest' #用最新版本即可
#        image: 'headscale/headscale:0.22.3'
        cap_add:
            - NET_ADMIN
            - SYS_MODULE
        sysctls:
            - net.ipv4.ip_forward=1

#声明已有网络
networks: 
    headscale: 
        external: true 

headscale-webui的:

version: '3.3'
services:    
    headscale-webui:
        container_name: headscale-webui
        restart: always
        volumes:
            - '/dockermnt/headscale/config:/etc/headscale/:ro' #按需更改自己的挂载目录
            - '/dockermnt/headscale/web-ui/data:/data:rw' #按需更改自己的挂载目录
        user: root
        networks:
            headscale:
                ipv4_address: 172.32.0.22  #自己定义的静态ip地址,请注意:此地址为容器内地址,且与headscale共用同一个网络
        ports:
            - '5000:5000' #自己喜欢映射到哪个端口就用哪个端口,对应的防火墙请放行
        environment:
            - TZ=Asia/Shanghai
            - 'HS_SERVER=http://172.32.0.11:8080' #此处请指定headscale容器中配置的静态地址
            - 'DOMAIN_NAME=https://aaa.bbb.com' #自己的域名
            - SCRIPT_NAME=/admin
            - AUTH_TYPE=Basic
            - BASIC_AUTH_USER=xxx #登录用户
            - BASIC_AUTH_PASS=xxxx #登录密码
            - KEY=xxx #通过openssl rand -base64 32生成
        image: 'ifargle/headscale-webui:latest'
networks:
    headscale:
        external: true

2、Nginx Config:

headscale的nginx反代配置:

server {	
#自己定义一个ssl端口,不能与前面headscale容器映射出去的一样,在防火墙放行,同时在路由器做端口转发
		listen 4051 ssl;
#证书路径
		ssl_certificate /etc/nginx/ssl/*.bbb.com.cer; 
		ssl_certificate_key /etc/nginx/ssl/*.bbb.com.key;
		server_name  bbb.com;
		ssl_session_cache shared:SSL:1m;
		ssl_session_timeout  10m;
		ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
		ssl_prefer_server_ciphers on;

		client_max_body_size 10M;
		location / {
#headscale容器所在宿主机的地址及容器映射出去的端口
			proxy_pass http://10.0.0.111:4050;
			proxy_redirect https:// https://;
			proxy_set_header X-Real-IP $remote_addr;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
			proxy_set_header Host $server_name;
			proxy_set_header Upgrade $http_upgrade;
			proxy_set_header Connection $connection_upgrade;
			proxy_http_version 1.1;
        		proxy_buffering off;
        		proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto;
                }

        }

headscale-webui的nginx反代配置:

server {	
#自己定义一个ssl端口,不能与前面headscale-webui容器映射出去的一样,在防火墙放行,同时在路由器做端口转发	
		listen 5100 ssl;
#证书路径
		ssl_certificate /etc/nginx/ssl/*.bbb.com.cer; 
		ssl_certificate_key /etc/nginx/ssl/*.bbb.com.key;
		server_name  bbb.com;

		ssl_session_cache shared:SSL:1m;
		ssl_session_timeout  10m;
		ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
		ssl_prefer_server_ciphers on;

		client_max_body_size 10M;
		location /admin/ {
#headscale-webui容器所在宿主机的地址及容器映射出去的端口
			proxy_pass http://10.0.0.111:5000/admin/;
			proxy_set_header X-Real-IP $remote_addr;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                }

        }

3、config.yaml(不要直接拷贝粘贴,对照名称逐项修改,我只列出来修改的项):

# 改成自己的域名+路由器转发的外网端口
server_url: https://aaa.bbb.com:4051

# 改成0.0.0.0:8080
listen_addr: 0.0.0.0:8080

# 改成0.0.0.0:9090
metrics_listen_addr: 0.0.0.0:9090


# 改成0.0.0.0:50443
grpc_listen_addr: 0.0.0.0:50443

ip_prefixes:
  - fd7a:115c:a1e0::/48
#改成自己喜欢的网络地址
  - 10.77.0.0/24

derp:
  server:
# 改成true
    enabled: true
    region_id: 999
    region_code: "headscale"
    region_name: "Headscale Embedded DERP"
# 改成0.0.0.0:3478
    stun_listen_addr: "0.0.0.0:3478"
  urls:
    - https://controlplane.tailscale.com/derpmap/default

  # List of DNS servers to expose to clients.
  # 改成自己喜欢的DNS
  nameservers:
    - 223.5.5.5
    - 114.114.114.114

  # Defines the base domain to create the hostnames for MagicDNS.
  # 改成自己的域名
  base_domain: aaa.bbb.com

# 改成true
randomize_client_port: true

二、使用

1、启动headscale后,执行命令创建用户、生成apikey、生成key

#创建用户
docker exec -it headscale headscale users create 自己的名字

#创建apikey
#10000d 表示过期时间,尽量长点
docker exec -it headscale headscale apikeys create -e 10000d

#创建preauthkeys
#reusable 表示可以重复使用
docker exec -it headscale headscale preauthkeys create -e 10000d --reusable -u 自己的名字

2、网页端访问headscale-webui容器对应的域名地址,输入创建的apikey,点击Save验证

3、登录/注册设备
Windows端:

先按照官网文档修改注册表(https://headscale.net/windows-client/)

再在tailscale安装目录中执行命令行(powershell和cmd以及win11的终端都行,不需要管理员权限):

tailscale login --login-server https://headscale容器对应的域名:headscale端口 --authkey 前面创建的preauthkeys --accept-dns=false --accept-routes

Android:

运行Tailscale后,点右上角那三个点,一直点,直到出现Change server(https://headscale.net/android-client/)
然后点击Change server 修改server url为:config.yaml中的server_url,保存。再回到开始页点击Sign in

from headscale-webui.

wolfcdd avatar wolfcdd commented on June 10, 2024

大概率配置问题,昨天有人博客给我留言也是这样

你现在解决了吗?使用默认配置都有问题

跟我的现象一模一样,你可以看看客户端的日志(C:\ProgramData\Tailscale\Logs\),里面应该是类似这样的错误:

error: fetch control key: Get "https://xxx/key?v=74": http: server gave HTTP response to HTTPS client

按照我上面写的内容操作就不会有问题,大概率是反代的端口跟容器映射出去的端口冲突了

from headscale-webui.

yijiangchengming avatar yijiangchengming commented on June 10, 2024

大概率配置问题,昨天有人博客给我留言也是这样

你现在解决了吗?使用默认配置都有问题

跟我的现象一模一样,你可以看看客户端的日志(C:\ProgramData\Tailscale\Logs\),里面应该是类似这样的错误:

error: fetch control key: Get "https://xxx/key?v=74": http: server gave HTTP response to HTTPS client

按照我上面写的内容操作就不会有问题,大概率是反代的端口跟容器映射出去的端口冲突了

没有发生端口冲突,访问https://xxx.xxx.com/windows可以访问,headscale-webui也可以连接到headscale,唯独https://xxx.xxx.com无效。

from headscale-webui.

qooboy avatar qooboy commented on June 10, 2024

安装了几个ui都连不上headscale,Docker和nginx安装都不得要领,能付费提供一下咨询吗?

from headscale-webui.

hausen1012 avatar hausen1012 commented on June 10, 2024

安装了几个ui都连不上headscale,Docker和nginx安装都不得要领,能付费提供一下咨询吗?

可以的哈,v: aman-jun

from headscale-webui.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.