开源实时位置共享服务Hauk

news2024/12/22 20:56:14

在这里插入图片描述

【勘误】:在上文 『事务与项目跟踪软件Jira』 一文中,老苏错误的将 4G 内存写成了 4M,感谢网友 纸飞机cwz 的指正。虽然老苏确实用过 4M 内存的机器,但那是20 多年前的事情了。


什么是 Hauk ?

Hauk 是一个完全开源的自托管位置共享服务。在兼容 PHPWeb 服务器上安装后端代码,在手机上安装配套应用程序,然后就可以使用了。

这个和微信的 共享实时位置 ,在功能上是一样的,区别是 Hauk 我们可以自主掌控,不用担心信息泄露,但需要魔法上网才会显示 OpenStreetMap 地图

前期准备

在容器启动时,需要用到 config.php 文件,官方的源代码中提供了样例:https://github.com/bilde2910/Hauk/blob/master/backend-php/include/config-sample.php

# 新建文件夹 hauk 和 子目录
mkdir -p /volume2/docker/hauk/config

# 进入 config 目录
cd /volume2/docker/hauk/config

# 下载并修改 config.php 文件
curl -sSL https://raw.githubusercontent.com/bilde2910/Hauk/master/backend-php/include/config-sample.php -o config.php

# 下不动就加个代理试试
curl -sSL https://ghproxy.com/raw.githubusercontent.com/bilde2910/Hauk/master/backend-php/include/config-sample.php -o config.php

需要进行一些修改和说明:

  1. 保持 memcached 连接细节不变,memcached 已经包含在 Docker 镜像中;
  2. public_url 要根据自己的地址修改,这里只要填局域网地址就可以,但是一定要用反斜杠结束

  1. 认证和密码:默认的 auth_method 采用的是 PASSWORD,默认的 password_hash 后面虽然长长的一串,但是实际上对应的密码是空字符串(无密码)

在这里插入图片描述

如果你要加入自己的密码,有两种方式:

  • 第一种是不安全的方式 MD5 (insecure!),可以通过 SSH 客户端登录到群晖后,在命令行执行 openssl passwd -1 ,输入密码后,生成 password_hash

  • 第二种是安全的方式 bcrypt (secure),使用了开源 http 服务器 apache httpd 的一个命令工具 htpasswd ,不过群晖上并不支持,其他平台的可以试试。在命令行执行 htpasswd -nBC 10 "" | tail -c +2

其他的可以保持不变,各参数具体的含义,有兴趣的可以自己研究

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 hauk ,选择第一个 bilde2910/hauk,版本选择 latest

docker 文件夹中,创建一个新文件夹 hauk,并在其中建一个子文件 config,将我们前面修改的 config.php放入到 config 目录中

文件夹装载路径说明
docker/hauk/config/etc/hauk存放设置

端口

本地端口不冲突就行,不确定的话可以用命令查一下

# 查看端口占用
netstat -tunlp | grep 端口号
本地端口容器端口
518080

在这里插入图片描述

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

# 进入 hauk 目录
cd /volume2/docker/hauk

# 将 config.php 放入到 hauk/config 目录

# 运行容器
docker run -d \
   --restart unless-stopped \
   --name hauk \
   -p 5180:80 \
   -v $(pwd)/config:/etc/hauk \
   bilde2910/hauk

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: '3'

services:
  hauk:
    image: bilde2910/hauk
    container_name: hauk
    restart: unless-stopped
    ports:
      - 5180:80
    volumes:
      - ./config:/etc/hauk

然后执行下面的命令

# 进入 hauk 目录
cd /volume2/docker/hauk

# 将 config.php 放入到 hauk/config 目录

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:5180 就能看到主界面

在这里插入图片描述

反向代理

这一步不是必需的

SSL 还是全部勾选了

移动端

似乎 Hauk 只支持 Android 系统,如果上不了 Google Play 可以在 F-Droid 下载安装 Hauk客户端

下载地址:https://f-droid.org/packages/info.varden.hauk/

在这里插入图片描述

首先、点右上角的小齿轮进行设置

主要就是 Server URL,用户名填不填无所谓,密码如果没改的话,也可以不用管

在这里插入图片描述

现在可以回到主界面,点 Start Sharing 开始共享位置

假如前面网页端安装时,你没有在 config 目录中放入 config.php 文件,客户端会报错

如果设置无误的话,应该是 OK

在这里插入图片描述

你可以把实时位置分享给别人

在这里插入图片描述

在手机上打开位置分享可能是👇这样的

因为使用了 OpenStreetMap 地图服务,需要魔法上网

加入域名黑名单之后,电脑上的效果

为了避免暴露实际地址,老苏移动了位置,所以代表自己实时位置的小黄点就没有了

参考文档

bilde2910/Hauk: Open-source realtime location sharing
地址:https://github.com/bilde2910/Hauk

Hauk
地址:https://apps.varden.info/demo/hauk/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/618546.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mysql数据库入门基础篇--mysql基本了解

【Mysql数据库入门基础篇--mysql基本了解 🔻一、Mysql5.7 VS Mysql8.0 详解1.1 ⛳字符编码1.2 ⛳用户的创建与授权1.3 ⛳ 认证插件1.4 ⛳ 隐藏索引1.5 ⛳ 持久化设置1.6 ⛳ 通用表达式(Common Table Expressions)1.7 ⛳ 性能提升1.8 ⛳ 参数变…

chatgpt赋能python:Python如何输出在同一行

Python如何输出在同一行 在Python编程中,有时候我们需要将多个输出放在同一行中。这篇文章将介绍几种方法来实现这个任务,并给出一些例子来帮助你更好地理解。 方法一:使用print函数 Python中的print函数默认会在每个输出之间换行。但是&a…

【大数据工具】HBase 集群搭建与基本使用

HBase 集群搭建 HBase 安装包下载地址:https://archive.apache.org/dist/hbase/ 安装 HBase 的前提: ZooKeeper 集群 OKHadoop 集群 OK 1. HBase 集群安装 1. 将 HBase 软件包上传至 Hadoop0 解压并重命名 使用 FileZilla 将 hbase-1.3.1-bin.tar.g…

pytorch中Dataloader读取数据太慢的问题

文章目录 pytorch中Dataloader读取数据太慢的问题1. 方法2. 方法3. 解决方法:提取加载数据 pytorch中Dataloader读取数据太慢的问题 数据读取的速度远远大于GPU训练的速度,导致整个训练流程中有大部分时间都在等待数据发送到GPU,在资源管理器…

七年磨一剑!苹果王炸产品Vision Pro诞生,未来已来

这是第一款「不见却可透见」的苹果产品 等了整整七年!2023年6月5日,WWDC23大会上,苹果发布首款头显Vision Pro,Vision Pro 可以算是苹果公司自 2015 年 Apple Watch 首次亮相以来最大的硬件产品发布,或许它会彻底改变数…

【深度学习】BERT变种—百度ERNIE 1.0

ERNIE: Enhanced Representation through Knowledge Integration是百度在2019年4月的时候,基于BERT模型,做的进一步优化,在中文的NLP任务上得到了state-of-the-art的结果。 ERNIE 是百度开创性提出的基于知识增强的持续学习语义理解框架&…

苹果又一黑科技产品 Apple Vision Pro,正式问世!

公众号关注 “GitHubDaily” 设为 “星标”,每天带你逛 GitHub! 在电影《钢铁侠》中,托尼通过简单的手势动作,配合空间中的虚拟界面,成功将贾维斯创造出来。 当时片中的这个镜头,让无数科幻迷为之疯狂&…

pyspark数据输入

学习目标: 现在只需要知道PDD是一个数据集。 【运行实例(1)】: from pyspark import SparkConf, SparkContext # conf:创建对象;Sparkconf:创建入口;setMaster:运行方式&#xff1…

chatgpt赋能python:Python如何输出两个值

Python如何输出两个值 在Python编程中,经常需要输出多个值。下面我们来介绍几种常用的方法。 方法一:使用逗号分隔符 使用逗号分隔符可以在一行代码中输出多个值。例如: a, b 1, 2 print(a, b) # 输出 1 2在输出时,多个值之…

图解未成年人个人信息保护要求(附下载)

未成年人互联网普及率持续提升。据2023年中国互联网络信息中心发布的第51次《中国互联网络发展状况统计报告》数据,2021年我国未成年人互联网普及率达96.8%;截至2022年12月,使用过短视频的青少年群体占比65.6%,未成年人已成网络参…

【Linux:进程间信号】

文章目录 1 生活角度的信号2 技术应用角度的信号3 信号的产生3.1 由系统调用向进程发信号3.1.1 signal3.1.2 kill3.1.3 raise 3.2 由软件条件产生信号3.3 硬件异常产生信号3.4 通过终端按键产生信号3.5 总结思考一下 4 信号的保存4.1信号其他相关常见概念4.2在内核中的表示4.3 …

如何评价 Facebook 发布的数字货币 Libra?

一句话总结:Libra 最大的亮点,在于它是 Facebook 做的。 随着数字货币市场的迅速发展,各类加密货币层出不穷。然而,在这个领域中,Facebook 所推出的 Libra 显得尤为引人关注。那么,Libra 到底有何特点&…

专家助阵!IoTDB X EMQ 智慧工厂主题 Meetup 讲师曝光!

期待已久的智慧工厂主题 Meetup 活动将在 4 天后线下线上同步举办! 天谋科技将联手 EMQ,通过数据基础设施平台的核心技术与实践经验分享,提供流程协同、运营提效、生产质量保障等智能制造目标的可行方案。快来在推文结尾预约直播,…

【大数据工具】Flink集群搭建

Flink 集群安装 1. 单机版 Flink 安装与使用 1、下载 Flink 安装包并上传至服务器 下载 flink-1.10.1-bin-scala_2.11.tgz 并上传至 Hadoop0 /software 下 2、解压 [roothadoop0 software]# tar -zxvf flink-1.10.1-bin-scala_2.11.tgz3、创建快捷方式 [roothadoop0 soft…

100天精通Python(可视化篇)——第90天:Pyecharts可视化神器基础入门

文章目录 专栏导读一、pyecharts 介绍1. 简介2. 版本说明 二、pyecharts 特点三、pyecharts 安装四、基本步骤五、快速开始1. 数据准备1)类别数据2)时间数据3)颜色数据4)地理数据5)世界人口数据6)选择数据7…

Netty核心源码剖析(三)

1.Pipeline,Handler和HandlerContext创建源码剖析 1.1.三者的关系 1>.每当ServerSocket创建一个新的连接,就会创建一个Socket,对应的就是目标客户端; 2>.每一个新创建的Socket都将会分配一个全新的ChannelPipeline(以下简称pipeline); 3>.每一个ChannelPipeline内…

LKY_OfficeTools 一键优雅的安装并激活你的Office

何为优雅? 说到Office办公软件 相信都不陌生,一般包括Word、Excel、PowerPoint默认三件套,和Outlook、OneNote、Access。 几乎每台电脑都会配置的 但大多数的情况下 都是先去软件仓库下载 Office 然后使用激活工具去激活Office 这种操作听起…

国内首款医疗大语言模型MedGPT发布,专业医疗标注数据成关键

5月25日,国内互联网医院、慢病管理平台医联今日正式发布了自主研发的基于Transformer架构的国内首款医疗大语言模型——MedGPT。 与通用型的大语言模型产品不同,MedGPT主要致力于在真实医疗场景中发挥实际诊疗价值,实现从疾病预防、诊断、治疗…

机器学习 day14 ( 神经网络,计算机视觉中的引用:人脸识别和汽车识别)

神经网络的发展 最开始的动机:是通过构建软件来模拟大脑,但今天的神经网络几乎与大脑的学习方式无关 我们依据大脑中的神经网络,来构建人工神经网络模型。左图中:一个神经元可以看作一个处理单元,它有很多的输入/树突…

图论与算法(6)最小生成树

1. 带权图及实现 1.1 带全图概述 带权图是一种图形结构,其中图中的边具有权重或成本。每条边连接两个顶点,并且具有一个与之关联的权重值,表示了两个顶点之间的某种度量、距离或成本。 带权图可以用邻接矩阵或邻接表来表示。邻接矩阵是一个…