From 4df8a5baaf6f48947f4ea722b4cc97bc92f65780 Mon Sep 17 00:00:00 2001 From: okxlin Date: Fri, 1 Dec 2023 19:13:39 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=B7=BB=E5=8A=A0tailscale=E5=88=B0?= =?UTF-8?q?=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/tailscale/1.54/.env.sample | 13 ++++ apps/tailscale/1.54/data.yml | 86 ++++++++++++++++++++++ apps/tailscale/1.54/docker-compose.yml | 28 ++++++++ apps/tailscale/README.md | 88 +++++++++++++++++++++++ apps/tailscale/data.yml | 20 ++++++ apps/tailscale/latest/.env.sample | 13 ++++ apps/tailscale/latest/data.yml | 86 ++++++++++++++++++++++ apps/tailscale/latest/docker-compose.yml | 28 ++++++++ apps/tailscale/logo.png | Bin 0 -> 2869 bytes 9 files changed, 362 insertions(+) create mode 100644 apps/tailscale/1.54/.env.sample create mode 100644 apps/tailscale/1.54/data.yml create mode 100644 apps/tailscale/1.54/docker-compose.yml create mode 100644 apps/tailscale/README.md create mode 100644 apps/tailscale/data.yml create mode 100644 apps/tailscale/latest/.env.sample create mode 100644 apps/tailscale/latest/data.yml create mode 100644 apps/tailscale/latest/docker-compose.yml create mode 100644 apps/tailscale/logo.png diff --git a/apps/tailscale/1.54/.env.sample b/apps/tailscale/1.54/.env.sample new file mode 100644 index 00000000..210603f5 --- /dev/null +++ b/apps/tailscale/1.54/.env.sample @@ -0,0 +1,13 @@ +CONTAINER_NAME="tailscale" +TS_ACCEPT_DNS=false +TS_AUTH_ONCE=false +TS_AUTHKEY="tskey-auth-ab1CDE2CNTRL-0123456789abcdef" +TS_DEST_IP="" +TS_KUBE_SECRET=tailscale +TS_HOSTNAME=my-tailscale-node +TS_OUTBOUND_HTTP_PROXY_LISTEN="" +TS_ROUTES="192.168.1.0/24,10.0.0.0/16" +TS_SOCKET=/var/run/tailscale/tailscaled.sock +TS_SOCKS5_SERVER="" +TS_STATE_DIR=/var/lib/tailscale +TS_USERSPACE=true diff --git a/apps/tailscale/1.54/data.yml b/apps/tailscale/1.54/data.yml new file mode 100644 index 00000000..93598bad --- /dev/null +++ b/apps/tailscale/1.54/data.yml @@ -0,0 +1,86 @@ +additionalProperties: + formFields: + - default: tskey-auth-ab1CDE2CNTRL-0123456789abcdef + edit: true + envKey: TS_AUTHKEY + labelEn: Tailscale Auth Key + labelZh: Tailscale 认证密钥 + required: true + type: text + - default: 192.168.1.0/24,10.0.0.0/16 + edit: true + envKey: TS_ROUTES + labelEn: Advertise Subnet Routes + labelZh: 广播子网路由 + required: true + type: text + - default: 'false' + edit: true + envKey: TS_ACCEPT_DNS + labelEn: Accept DNS configuration (true/false) + labelZh: 是否接受 DNS 配置 (true/false) + required: false + type: text + - default: 'false' + edit: true + envKey: TS_AUTH_ONCE + labelEn: Attempt to log in once (true/false) + labelZh: 尝试仅登录一次 (true/false) + required: false + type: text + - default: '' + edit: true + envKey: TS_DEST_IP + labelEn: Destination IP + labelZh: 目标 IP + required: false + type: text + - default: tailscale + edit: true + envKey: TS_KUBE_SECRET + labelEn: Kubernetes Secret Name + labelZh: Kubernetes 密钥名称 + required: false + type: text + - default: my-tailscale-node + edit: true + envKey: TS_HOSTNAME + labelEn: Node Hostname + labelZh: 节点主机名 + required: false + type: text + - default: '' + edit: true + envKey: TS_OUTBOUND_HTTP_PROXY_LISTEN + labelEn: HTTP Proxy Address and Port (127.0.0.1:1081) + labelZh: HTTP代理地址和端口 (127.0.0.1:1081) + required: false + type: text + - default: /var/run/tailscale/tailscaled.sock + edit: true + envKey: TS_SOCKET + labelEn: Tailscale Socket Path + labelZh: Tailscale Socket 路径 + required: false + type: text + - default: '' + edit: true + envKey: TS_SOCKS5_SERVER + labelEn: SOCKS5 Proxy Address and Port (127.0.0.1:1080) + labelZh: SOCKS5代理地址和端口 (127.0.0.1:1080) + required: false + type: text + - default: /var/lib/tailscale + edit: true + envKey: TS_STATE_DIR + labelEn: Tailscale State Directory + labelZh: Tailscale 状态目录 + required: false + type: text + - default: 'true' + edit: true + envKey: TS_USERSPACE + labelEn: Enable Userspace Networking (true/false) + labelZh: 启用用户空间网络 (true/false) + required: false + type: text diff --git a/apps/tailscale/1.54/docker-compose.yml b/apps/tailscale/1.54/docker-compose.yml new file mode 100644 index 00000000..bfe9d73a --- /dev/null +++ b/apps/tailscale/1.54/docker-compose.yml @@ -0,0 +1,28 @@ +version: '3' +services: + tailscale: + container_name: ${CONTAINER_NAME} + restart: always + network_mode: host + volumes: + - /var/lib:/var/lib + - /dev/net/tun:/dev/net/tun + cap_add: + - NET_ADMIN + - NET_RAW + environment: + - TS_ACCEPT_DNS=${TS_ACCEPT_DNS} + - TS_AUTH_ONCE=${TS_AUTH_ONCE} + - TS_AUTHKEY=${TS_AUTHKEY} + - TS_DEST_IP=${TS_DEST_IP} + - TS_KUBE_SECRET=${TS_KUBE_SECRET} + - TS_HOSTNAME=${TS_HOSTNAME} + - TS_OUTBOUND_HTTP_PROXY_LISTEN=${TS_OUTBOUND_HTTP_PROXY_LISTEN} + - TS_ROUTES=${TS_ROUTES} + - TS_SOCKET=${TS_SOCKET} + - TS_SOCKS5_SERVER=${TS_SOCKS5_SERVER} + - TS_STATE_DIR=${TS_STATE_DIR} + - TS_USERSPACE=${TS_USERSPACE} + image: tailscale/tailscale:v1.54 + labels: + createdBy: "Apps" diff --git a/apps/tailscale/README.md b/apps/tailscale/README.md new file mode 100644 index 00000000..ee6fcf5d --- /dev/null +++ b/apps/tailscale/README.md @@ -0,0 +1,88 @@ +# Tailscale + +https://tailscale.com + +Private WireGuard® networks made easy + +## Overview + +This repository contains the majority of Tailscale's open source code. +Notably, it includes the `tailscaled` daemon and +the `tailscale` CLI tool. The `tailscaled` daemon runs on Linux, Windows, +[macOS](https://tailscale.com/kb/1065/macos-variants/), and to varying degrees +on FreeBSD and OpenBSD. The Tailscale iOS and Android apps use this repo's +code, but this repo doesn't contain the mobile GUI code. + +Other [Tailscale repos](https://github.com/orgs/tailscale/repositories) of note: + +* the Android app is at https://github.com/tailscale/tailscale-android +* the Synology package is at https://github.com/tailscale/tailscale-synology +* the QNAP package is at https://github.com/tailscale/tailscale-qpkg +* the Chocolatey packaging is at https://github.com/tailscale/tailscale-chocolatey + +For background on which parts of Tailscale are open source and why, +see [https://tailscale.com/opensource/](https://tailscale.com/opensource/). + +## Using + +We serve packages for a variety of distros and platforms at +[https://pkgs.tailscale.com](https://pkgs.tailscale.com/). + +## Other clients + +The [macOS, iOS, and Windows clients](https://tailscale.com/download) +use the code in this repository but additionally include small GUI +wrappers. The GUI wrappers on non-open source platforms are themselves +not open source. + +## Building + +We always require the latest Go release, currently Go 1.21. (While we build +releases with our [Go fork](https://github.com/tailscale/go/), its use is not +required.) + +``` +go install tailscale.com/cmd/tailscale{,d} +``` + +If you're packaging Tailscale for distribution, use `build_dist.sh` +instead, to burn commit IDs and version info into the binaries: + +``` +./build_dist.sh tailscale.com/cmd/tailscale +./build_dist.sh tailscale.com/cmd/tailscaled +``` + +If your distro has conventions that preclude the use of +`build_dist.sh`, please do the equivalent of what it does in your +distro's way, so that bug reports contain useful version information. + +## Bugs + +Please file any issues about this code or the hosted service on +[the issue tracker](https://github.com/tailscale/tailscale/issues). + +## Contributing + +PRs welcome! But please file bugs. Commit messages should [reference +bugs](https://docs.github.com/en/github/writing-on-github/autolinked-references-and-urls). + +We require [Developer Certificate of +Origin](https://en.wikipedia.org/wiki/Developer_Certificate_of_Origin) +`Signed-off-by` lines in commits. + +See `git log` for our commit message style. It's basically the same as +[Go's style](https://github.com/golang/go/wiki/CommitMessage). + +## About Us + +[Tailscale](https://tailscale.com/) is primarily developed by the +people at https://github.com/orgs/tailscale/people. For other contributors, +see: + +* https://github.com/tailscale/tailscale/graphs/contributors +* https://github.com/tailscale/tailscale-android/graphs/contributors + +## Legal + +WireGuard is a registered trademark of Jason A. Donenfeld. \ No newline at end of file diff --git a/apps/tailscale/data.yml b/apps/tailscale/data.yml new file mode 100644 index 00000000..3bf56dbd --- /dev/null +++ b/apps/tailscale/data.yml @@ -0,0 +1,20 @@ +name: Tailscale +tags: + - 工具 +title: 使用 WireGuard 和 2FA 的最简单、最安全的方式 +type: 工具 +description: 使用 WireGuard 和 2FA 的最简单、最安全的方式 +additionalProperties: + key: tailscale + name: Tailscale + tags: + - Tool + shortDescZh: 使用 WireGuard 和 2FA 的最简单、最安全的方式 + shortDescEn: The easiest, most secure way to use WireGuard and 2FA + type: tool + crossVersionUpdate: true + limit: 0 + recommend: 0 + website: https://tailscale.com + github: https://github.com/tailscale/tailscale + document: https://tailscale.com/kb/1017/install diff --git a/apps/tailscale/latest/.env.sample b/apps/tailscale/latest/.env.sample new file mode 100644 index 00000000..210603f5 --- /dev/null +++ b/apps/tailscale/latest/.env.sample @@ -0,0 +1,13 @@ +CONTAINER_NAME="tailscale" +TS_ACCEPT_DNS=false +TS_AUTH_ONCE=false +TS_AUTHKEY="tskey-auth-ab1CDE2CNTRL-0123456789abcdef" +TS_DEST_IP="" +TS_KUBE_SECRET=tailscale +TS_HOSTNAME=my-tailscale-node +TS_OUTBOUND_HTTP_PROXY_LISTEN="" +TS_ROUTES="192.168.1.0/24,10.0.0.0/16" +TS_SOCKET=/var/run/tailscale/tailscaled.sock +TS_SOCKS5_SERVER="" +TS_STATE_DIR=/var/lib/tailscale +TS_USERSPACE=true diff --git a/apps/tailscale/latest/data.yml b/apps/tailscale/latest/data.yml new file mode 100644 index 00000000..93598bad --- /dev/null +++ b/apps/tailscale/latest/data.yml @@ -0,0 +1,86 @@ +additionalProperties: + formFields: + - default: tskey-auth-ab1CDE2CNTRL-0123456789abcdef + edit: true + envKey: TS_AUTHKEY + labelEn: Tailscale Auth Key + labelZh: Tailscale 认证密钥 + required: true + type: text + - default: 192.168.1.0/24,10.0.0.0/16 + edit: true + envKey: TS_ROUTES + labelEn: Advertise Subnet Routes + labelZh: 广播子网路由 + required: true + type: text + - default: 'false' + edit: true + envKey: TS_ACCEPT_DNS + labelEn: Accept DNS configuration (true/false) + labelZh: 是否接受 DNS 配置 (true/false) + required: false + type: text + - default: 'false' + edit: true + envKey: TS_AUTH_ONCE + labelEn: Attempt to log in once (true/false) + labelZh: 尝试仅登录一次 (true/false) + required: false + type: text + - default: '' + edit: true + envKey: TS_DEST_IP + labelEn: Destination IP + labelZh: 目标 IP + required: false + type: text + - default: tailscale + edit: true + envKey: TS_KUBE_SECRET + labelEn: Kubernetes Secret Name + labelZh: Kubernetes 密钥名称 + required: false + type: text + - default: my-tailscale-node + edit: true + envKey: TS_HOSTNAME + labelEn: Node Hostname + labelZh: 节点主机名 + required: false + type: text + - default: '' + edit: true + envKey: TS_OUTBOUND_HTTP_PROXY_LISTEN + labelEn: HTTP Proxy Address and Port (127.0.0.1:1081) + labelZh: HTTP代理地址和端口 (127.0.0.1:1081) + required: false + type: text + - default: /var/run/tailscale/tailscaled.sock + edit: true + envKey: TS_SOCKET + labelEn: Tailscale Socket Path + labelZh: Tailscale Socket 路径 + required: false + type: text + - default: '' + edit: true + envKey: TS_SOCKS5_SERVER + labelEn: SOCKS5 Proxy Address and Port (127.0.0.1:1080) + labelZh: SOCKS5代理地址和端口 (127.0.0.1:1080) + required: false + type: text + - default: /var/lib/tailscale + edit: true + envKey: TS_STATE_DIR + labelEn: Tailscale State Directory + labelZh: Tailscale 状态目录 + required: false + type: text + - default: 'true' + edit: true + envKey: TS_USERSPACE + labelEn: Enable Userspace Networking (true/false) + labelZh: 启用用户空间网络 (true/false) + required: false + type: text diff --git a/apps/tailscale/latest/docker-compose.yml b/apps/tailscale/latest/docker-compose.yml new file mode 100644 index 00000000..441ced9f --- /dev/null +++ b/apps/tailscale/latest/docker-compose.yml @@ -0,0 +1,28 @@ +version: '3' +services: + tailscale: + container_name: ${CONTAINER_NAME} + restart: always + network_mode: host + volumes: + - /var/lib:/var/lib + - /dev/net/tun:/dev/net/tun + cap_add: + - NET_ADMIN + - NET_RAW + environment: + - TS_ACCEPT_DNS=${TS_ACCEPT_DNS} + - TS_AUTH_ONCE=${TS_AUTH_ONCE} + - TS_AUTHKEY=${TS_AUTHKEY} + - TS_DEST_IP=${TS_DEST_IP} + - TS_KUBE_SECRET=${TS_KUBE_SECRET} + - TS_HOSTNAME=${TS_HOSTNAME} + - TS_OUTBOUND_HTTP_PROXY_LISTEN=${TS_OUTBOUND_HTTP_PROXY_LISTEN} + - TS_ROUTES=${TS_ROUTES} + - TS_SOCKET=${TS_SOCKET} + - TS_SOCKS5_SERVER=${TS_SOCKS5_SERVER} + - TS_STATE_DIR=${TS_STATE_DIR} + - TS_USERSPACE=${TS_USERSPACE} + image: tailscale/tailscale:latest + labels: + createdBy: "Apps" diff --git a/apps/tailscale/logo.png b/apps/tailscale/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..bde213bae0a142ec28a03770c3eddc492afce4eb GIT binary patch literal 2869 zcmV-53(E9~P) z@bB&I?R2cJR)Ak z#a~?1jITFlt+h5b_pjIRTfE~p_KL^>HFw;$Ok{YCa{eA%a!UKA1s+~s#{4t0dlV^BLInE))GY!dR#2i=*E8@!)W_Tvi)&nw2iM3F-_0MY$k%kOtwLV5 zE|np)2UWzuYf;+9vNK0zFW*MNJn)l1`#e_fhjZC_H_tt{=hHnC7p3Kh{3Hq{{e-vf zl;^IMIj?6>XE^rqV$qEUej2ngZ!Qoxgf7P|61Z=~wW1e=l!eLHm~HRiYMo zt?7WAkWSgL(~CmVLT48y0VnuyspR$p{r?|(`W7_>oHW#> zCoWIOb+`c{-LoSpyDO4YCw{h%74zetC z9haJa^Ge5sb~1gdbCs^8C_*wV#SS3WeZ}D85C9!AxA>+Xc79Npv`A7oq}?(}huKrZPo5`+Ct_hX~$QT2?2IQ+VNW}N&%Sj%VM9coF1^s_*89YdUSwbek3!1CK>D!1Sh2U39v2V z=T?WY-fx`teORnbuR`zju5Rlwd{zpvwIF`Q)T2UGRkTnk#BP$@Ahfs>qI&Ce7n;$f zoVvHZ_-d?;H~_1g`AN8lch^>7|X&zr^MfeD>fwv7g! zobI=?D4K2eQ|Se?ayV2M>|wIlJV)_-xNdnNA?RXfyX9H$T?hUKKgCNS&8iZaKiQ4o zBct8KXB8U6lwuh_;Sb#DzFS^{UTSSiIcNj8*f4PVbJNTCCvT7vXS2iC-3-Sm-|g{^ ziAtOs-jDcjW`?&1LfRMhSy&Nh7-Q`t=@tBbV=aPC;k3gC;1=*yWKd#_NQ=F-K`Y=I zJX_L67dTUKKL!VDg%~ajnNHBDK8qPRhJrgV6Q`^Z(b*6*1;-AI?*&B{INzntni>Pc zP#|(F(czn{#Jt9acTN>4egQT#HL3MoZEHlO)dfR44#vqAU zpTG_1TC%1!Y4zusgt8$k;*(>Etk0_Tno;$5|7rzB2|gDsQcK$G_Z%&gPDl-Ze%TKws5PYBcYT0wAr+xM(mEJEdOi~T|^bq zuDf7$q*4F1aH@K2`&QCI=k}mg1ok{X87gnvg&NhKy!KIzMu*ogfXk%~=rKFTn|!O( zs90<{&EdBCzEk((Y{OZ#^ek+WoV51{j#eSP%GT)|>E-wn zX`Yid{UoZwF+_=P=A`*2(&Od-DgCFNv)fG@2%@l?u^3k-crmuKj@)t)QN>^aRz!XT z1yU3xY5M-pQxg)cFnG;&8k2}U*9gr8W<6)m`CK@JpGWC~Sj#<#cKL(o2%2Bgpy1CqILh*s}End(fK z>hx;I+^@XE$ec`@cUwo#EB3NA%>5z(+mX?;5)}94`?yGR0Co{0) z<6Q%?;J7UGBHxd^khu=*DIja9M3K?%`n)sznQ7SJe%D4)6qz3S{!$kD2E%Uq&F5a< zd{Mvm-1OV70lS92e~8d`W$}7I;KpjFY-L*QeBc3sV!Xb}A_LaF;cPi^t+raOmvaw> zypB~C87!sB2(rw`2wFMsWtp^KSY2fV45e}oWHSq|Mz}TE)Sz0kEFU@ z54BhhwSrAAyMyab3cY z&Ih1Q)D6YxL={7yDnLmvjuZLMBZ*_ALP_ZOm-RCdqp^JGafEBqG^JhTSs}@YxIxopm=}O}|TkXy2@A&~xZzA%x<12v&ohGnf+O51H31ica)A z3oC&9so)evK4f8T+Y!yh_WVYjj8mk8E5YUGBayZfQQFZtcYy}3q$5IwF|k?K7`#Ox zL~&(Mm^rbG4gnELg|UjMo8y)l1dZB@8bM&T#!WG^0*sX;ri8tiq5 zR>I!a-vKZTR!Kf2jZY_!53{SQ*~8=HG)|cfawf6_FiaX7c1Aga;T(ridU7+J-khXS zc#H-RP|lS>vk?)xUZyS}BH`<+7TTH6_+$dm=?yI{EiElAEiElAEiElAt-b0m{Q@?F T@A9lD00000NkvXXu0mjfGj3`e literal 0 HcmV?d00001